{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framer.com/m/framer/utils.js@^0.9.0", "ssg:https://framerusercontent.com/modules/bKbq7LPnXlKphdBV6Fka/dMkAzN1dvujYXrPbXjac/Input.js"],
  "sourcesContent": ["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map", "import{jsx as _jsx}from\"react/jsx-runtime\";// @ts-ignore\nimport{ControlType,addPropertyControls,withCSS}from\"framer\";import{useCallback,useEffect,useRef,useMemo}from\"react\";import{fontStack,fontControls,fontSizeOptions,useOnEnter,useFontControls,useIsInPreview,usePadding,useRadius,paddingControl,borderRadiusControl,useControlledState}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useIsomorphicLayoutEffect}from\"https://framer.com/m/framer/useIsomorphicLayoutEffect.js@0.2.0\";/**\n * INPUT\n *\n * @framerIntrinsicWidth 260\n * @framerIntrinsicHeight 50\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */export const Input=withCSS(function Input(props){const{placeholder,backgroundColor,textColor,border,borderWidth,password,onSubmit,onFocus,onBlur,value,textAlign,multiLine,placeholderColor,focused,inputStyle,caretColor,fontFamily,blurOnSubmit,disabled,keyboard,truncate,onChange,onValueChange,maxLength,lineHeight,enableLimit,isRTL,style}=props;const[inputValue,setValue]=useControlledState(value);const inputEle=useRef();const Tag=useMemo(()=>multiLine?\"textarea\":\"input\",[multiLine]);const inPreview=useIsInPreview();const fontStyles=useFontControls(props);const paddingValue=usePadding(props);const borderRadius=useRadius(props);const handleChange=useCallback(event=>{const element=multiLine?event.nativeEvent.target:event.nativeEvent.target;const value=element.value;setValue(value);if(onChange)onChange(value);if(onValueChange)onValueChange(value);},[onChange,multiLine]);useOnEnter(()=>{if(inPreview&&focused)inputEle.current.focus();});useEffect(()=>{if(inPreview&&focused)inputEle.current.focus();},[focused]);useIsomorphicLayoutEffect(()=>{// I only want to control my own height is auto-sizing is enabled\nif(multiLine&&props.style.height!==\"100%\"){// Autosizing hack for multi-line textareas, may have perf impact\ninputEle.current.style.height=\"auto\";inputEle.current.style.height=inputEle.current.scrollHeight+\"px\";}},[inputValue,multiLine,style===null||style===void 0?void 0:style.height,placeholder]);return /*#__PURE__*/_jsx(Tag,{onChange:handleChange,ref:inputEle,value:inputValue,placeholder:placeholder,onKeyDown:e=>{if(e.keyCode===13){if(blurOnSubmit&&inputEle.current)inputEle.current.blur();if(onSubmit)onSubmit();}},disabled:disabled,onFocus:()=>{if(onFocus)onFocus();},onBlur:()=>{if(onBlur)onBlur();},maxLength:enableLimit?maxLength:524288,autoFocus:inPreview&&focused,className:\"framer-default-input\",rows:1,style:{\"--framer-default-input-border-width\":`${props.borderWidth}px`,\"--framer-default-input-border-color\":props.focusColor,\"--framer-default-input-placeholder-color\":props.placeholderColor,...baseInputStyles,color:textColor,backgroundColor,borderRadius,textAlign,lineHeight,caretColor,margin:0,display:\"flex\",height:\"auto\",padding:paddingValue,direction:isRTL?\"rtl\":\"ltr\",overflow:\"show\",textOverflow:truncate?\"ellipsis\":\"unset\",boxShadow:!inPreview&&focused?`inset 0 0 0 ${props.borderWidth}px ${props.focusColor}`:`inset 0 0 0 ${borderWidth}px ${border}`,...inputStyle,...style,...fontStyles},type:password?\"password\":\"text\",inputMode:keyboard});},[\".framer-default-input { --framer-default-input-border-width: 1px; --framer-default-input-border-color: #09f; --framer-default-input-placeholder-color: #aaa; }\",\".framer-default-input:focus { box-shadow: inset 0 0 0 var(--framer-default-input-border-width) var(--framer-default-input-border-color) !important; }\",\".framer-default-input::placeholder { color: var(--framer-default-input-placeholder-color) !important; }\"]);Input.defaultProps={value:\"\",placeholder:\"Type something\u2026\",width:260,height:50,backgroundColor:\"#EBEBEB\",textColor:\"#333\",focusColor:\"#09F\",fontSize:16,fontWeight:400,borderRadius:8,lineHeight:1.4,padding:15,border:\"rgba(0,0,0,0)\",placeholderColor:\"#aaa\",borderWidth:1,truncate:false,alignment:\"left\",caretColor:\"#333\",multiLine:false,maxLength:10,password:false,keyboard:\"\"};addPropertyControls(Input,{placeholder:{type:ControlType.String,title:\"Placeholder\"},value:{type:ControlType.String,title:\"Value\"},textColor:{type:ControlType.Color,title:\"Text\"},caretColor:{type:ControlType.Color,title:\"Caret\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\"},backgroundColor:{type:ControlType.Color,title:\"Background\"},border:{type:ControlType.Color,title:\"Border\"},borderWidth:{type:ControlType.Number,title:\" \",min:1,max:5,displayStepper:true},focusColor:{type:ControlType.Color,title:\"Focus\"},focused:{type:ControlType.Boolean,title:\"Focused\",defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\"},...fontControls,fontSize:{...fontSizeOptions},lineHeight:{type:ControlType.Number,min:0,step:.1,max:2,displayStepper:true},...paddingControl,...borderRadiusControl,textAlign:{title:\"Text Align\",type:ControlType.Enum,displaySegmentedControl:true,optionTitles:[\"Left\",\"Center\",\"Right\"],options:[\"left\",\"center\",\"right\"]},isRTL:{type:ControlType.Boolean,title:\"Direction\",enabledTitle:\"RTL\",disabledTitle:\"LTR\",defaultValue:false},disabled:{type:ControlType.Boolean,title:\"Disabled\",defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\"},multiLine:{type:ControlType.Boolean,title:\"Text Area\",defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\"},truncate:{type:ControlType.Boolean,title:\"Truncate\",defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\",hidden:({multiLine})=>multiLine},password:{type:ControlType.Boolean,title:\"Password\",hidden:({multiLine})=>multiLine,defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\"},enableLimit:{title:\"Limit\",type:ControlType.Boolean,displayStepper:true,defaultValue:false,disabledTitle:\"No\",enabledTitle:\"Yes\"},maxLength:{title:\" \",type:ControlType.Number,// @ts-ignore\ndefaultValue:Input.defaultProps.maxLength,displayStepper:true,min:1,hidden:({enableLimit})=>!enableLimit},keyboard:{type:ControlType.Enum,title:\"Keyboard\",defaultValue:\"\",options:[\"\",\"numeric\",\"tel\",\"decimal\",\"email\",\"url\",\"search\"],optionTitles:[\"Default\",\"Numeric\",\"Phone\",\"Decimal\",\"Email\",\"URL\",\"Search\"]},onChange:{type:ControlType.EventHandler},onSubmit:{type:ControlType.EventHandler},onFocus:{type:ControlType.EventHandler},onBlur:{type:ControlType.EventHandler}});const baseInputStyles={pointerEvents:\"auto\",border:\"none\",width:\"100%\",boxSizing:\"border-box\",outline:\"none\",resize:\"none\",margin:0,fontFamily:fontStack,WebkitTapHighlightColor:\"rgba(0, 0, 0, 0)\",WebkitAppearance:\"none\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"reactComponent\",\"name\":\"Input\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"260\",\"framerIntrinsicHeight\":\"50\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input.map"],
  "mappings": "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",
  "names": ["createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "centerContent", "defaultContainerStyles", "centerContent", "Input", "withCSS", "props", "placeholder", "backgroundColor", "textColor", "border", "borderWidth", "password", "onSubmit", "onFocus", "onBlur", "value", "textAlign", "multiLine", "placeholderColor", "focused", "inputStyle", "caretColor", "fontFamily", "blurOnSubmit", "disabled", "keyboard", "truncate", "onChange", "onValueChange", "maxLength", "lineHeight", "enableLimit", "isRTL", "style", "inputValue", "setValue", "useControlledState", "inputEle", "pe", "Tag", "se", "inPreview", "useIsInPreview", "fontStyles", "useFontControls", "paddingValue", "usePadding", "borderRadius", "useRadius", "handleChange", "te", "event", "useOnEnter", "ue", "useIsomorphicLayoutEffect", "p", "e", "baseInputStyles", "addPropertyControls", "ControlType", "fontControls", "fontSizeOptions", "paddingControl", "borderRadiusControl", "fontStack"]
}
