{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/Pf1FzzRHmwQXGf4LNhaF/s9p8RFeEhxPhUxkjsxJp/Inputgo.js"],
  "sourcesContent": ["// Fill-in-the-blank style input that redirects based on user input\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,startTransition,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Check if we're in Framer environment\nfunction isInFramer(){if(typeof window===\"undefined\")return false;return!!window.__framer||!!window.FramerAPI;}/**\n * FillInTheBlankInput\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function FillInTheBlankInput(props){const{questionText,placeholder,style,textColor=\"#333\",inputBorderColor=\"#ccc\",inputBackgroundColor=\"#fff\",inputTextColor=\"#111\",inputPlaceholderColor=\"#888888\",fontSize=18}=props;const[value,setValue]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const[inputWidth,setInputWidth]=useState(\"1ch\");const measureRef=useRef(null);// Generate a unique className for placeholder color\nconst inputClassName=\"framer-input-\"+Math.random().toString(36).substr(2,8);// Only use Framer navigation if we're actually in Framer\nconst inFramer=isInFramer();let navigation=null;if(inFramer){try{const{useNavigation}=require(\"framer\");navigation=useNavigation();}catch(error){console.log(\"Could not load Framer navigation:\",error);navigation=null;}}// Measure text width to size input correctly\nuseEffect(()=>{if(measureRef.current){const text=value||placeholder;measureRef.current.textContent=text;const width=measureRef.current.offsetWidth;// Add a small buffer for cursor visibility\nsetInputWidth(`${width+2}px`);}},[value,placeholder,fontSize]);function handleChange(e){const v=e.target.value;startTransition(()=>setValue(v));}function doRedirect(val){if(!props.redirects||!Array.isArray(props.redirects))return;const inputValue=val.trim().toLowerCase();const match=props.redirects.find(r=>(r.input||\"\").trim().toLowerCase()===inputValue);if(!match){if(typeof window!==\"undefined\"){// @ts-ignore\nwindow.framerRedirectDebug=`No match for input: ${inputValue}`;}return;}let url=(match.url||\"\").trim();const isExternal=url.startsWith(\"http://\")||url.startsWith(\"https://\");if(!isExternal&&!url.startsWith(\"/\")){url=\"/\"+url;}if(typeof window!==\"undefined\"){// @ts-ignore\nwindow.framerRedirectDebug=`Redirecting to: ${url} (external: ${isExternal}, inFramer: ${inFramer})`;}// For Framer environment with navigation API\nif(inFramer&&navigation&&!isExternal&&typeof navigation.push===\"function\"){try{navigation.push(url);return;}catch(error){console.log(\"Framer navigation failed:\",error);}}// Fallback: use standard navigation\nif(typeof window!==\"undefined\"){if(!isExternal){let base=\"\";if(props.rootUrl&&props.rootUrl.trim()!==\"\"){base=props.rootUrl.trim().replace(/\\/$/,\"\");}else{base=window.location.origin;}url=base+url;}window.location.href=url;}}function handleKeyDown(e){if(e.key===\"Enter\"){doRedirect(value);}}function handleSubmit(e){e.preventDefault();doRedirect(value);}// Split question text by underscore to create fill-in-the-blank effect\nconst parts=questionText.split(\"_\");const hasBlank=parts.length>1;const inputStyle={display:\"inline-block\",width:inputWidth,padding:0,margin:0,fontSize:\"inherit\",fontWeight:\"inherit\",fontFamily:\"inherit\",lineHeight:\"inherit\",backgroundColor:\"transparent\",color:inputTextColor,border:\"none\",borderBottom:`2px solid ${isFocused?\"#007AFF\":inputBorderColor}`,borderRadius:0,outline:\"none\",textAlign:\"left\",verticalAlign:\"baseline\",transition:\"border-color 0.1s ease\",boxShadow:\"none\"};return /*#__PURE__*/_jsx(\"form\",{style:{...style,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:\"20px\",fontFamily:\"'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif\"},onSubmit:handleSubmit,children:/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline\",fontSize:fontSize,color:textColor,lineHeight:1.4,textAlign:\"left\",fontFamily:\"inherit\",fontWeight:\"inherit\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`.${inputClassName}::placeholder { color: ${inputPlaceholderColor}; opacity: 1; }`}),/*#__PURE__*/_jsx(\"span\",{ref:measureRef,style:{position:\"absolute\",visibility:\"hidden\",whiteSpace:\"pre\",fontSize:fontSize,fontFamily:\"inherit\",fontWeight:\"inherit\"},\"aria-hidden\":\"true\"}),hasBlank?// Render question with blank\n/*#__PURE__*/_jsx(_Fragment,{children:parts.map((part,index)=>/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline\"},children:[part,index<parts.length-1&&/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:value,onChange:handleChange,placeholder:placeholder,onKeyDown:handleKeyDown,onFocus:()=>setIsFocused(true),onBlur:()=>setIsFocused(false),className:inputClassName,style:inputStyle,\"aria-label\":\"Fill in the blank\"})]},index))}):// Fallback: show question with input below\n/*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline\"},children:[questionText,/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:value,onChange:handleChange,placeholder:placeholder,onKeyDown:handleKeyDown,onFocus:()=>setIsFocused(true),onBlur:()=>setIsFocused(false),className:inputClassName,style:inputStyle,\"aria-label\":\"Answer input\"})]})]})});}addPropertyControls(FillInTheBlankInput,{questionText:{type:ControlType.String,title:\"Question Text\",defaultValue:\"Enter the access code _ to continue\",description:\"Use underscore (_) to create a blank that users fill in. Example: 'The secret word is _'\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"type here...\"},fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:18,min:12,max:36,step:1},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},inputBorderColor:{type:ControlType.Color,title:\"Input Border Color\",defaultValue:\"#cccccc\"},inputBackgroundColor:{type:ControlType.Color,title:\"Input Background\",defaultValue:\"#ffffff\"},inputTextColor:{type:ControlType.Color,title:\"Input Text Color\",defaultValue:\"#111111\"},inputPlaceholderColor:{type:ControlType.Color,title:\"Placeholder Color\",defaultValue:\"#888888\"},rootUrl:{type:ControlType.String,title:\"Root URL\",defaultValue:\"\",placeholder:\"https://example.com\",description:\"Base URL for relative redirects like /about\"},redirects:{type:ControlType.Array,title:\"Redirects\",control:{type:ControlType.Object,controls:{input:{type:ControlType.String,title:\"Input Value\",defaultValue:\"123\"},url:{type:ControlType.String,title:\"Redirect URL\",defaultValue:\"/about\"}}},defaultValue:[{input:\"UNLOCK\",url:\"/secret\"},{input:\"ADMIN\",url:\"/dashboard\"}]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FillInTheBlankInput\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Inputgo.map"],
  "mappings": "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",
  "names": ["init_ssg_sandbox_shims", "init_jsx_runtime", "init_npm_react_18_2", "init_framer_4LIH3HZD", "isInFramer", "window", "FillInTheBlankInput", "props", "questionText", "placeholder", "style", "textColor", "inputBorderColor", "inputBackgroundColor", "inputTextColor", "inputPlaceholderColor", "fontSize", "value", "setValue", "ye", "isFocused", "setIsFocused", "inputWidth", "setInputWidth", "measureRef", "pe", "inputClassName", "inFramer", "navigation", "useNavigation", "error", "ue", "text", "width", "handleChange", "v", "Z", "doRedirect", "val", "inputValue", "match", "r", "url", "isExternal", "base", "handleKeyDown", "handleSubmit", "parts", "hasBlank", "inputStyle", "p", "u", "l", "part", "index", "addPropertyControls", "ControlType"]
}
