{"version":3,"file":"Input.CMHtHyDB.mjs","names":[],"sources":["https:/framerusercontent.com/modules/CgNesoEVhclZxcf3DGoV/KiFqdjKmxFukmUMhyMDX/Plus.js","https:/framerusercontent.com/modules/rg6FA2ZzLed1GXAPqbZS/mzbz3S2bGl9kzIhDyRAM/Minus.js","https:/framerusercontent.com/modules/8tTWwqu9i87Vk9zESDn0/JvolLw5lM3r2nbPCngIy/Input.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";export default function PlusSvg({style}){return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"32\",height:\"32\",fill:\"currentColor\",viewBox:\"0 0 256 256\",style:style,children:/*#__PURE__*/_jsx(\"path\",{d:\"M228,128a12,12,0,0,1-12,12H140v76a12,12,0,0,1-24,0V140H40a12,12,0,0,1,0-24h76V40a12,12,0,0,1,24,0v76h76A12,12,0,0,1,228,128Z\"})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PlusSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Plus.map","import{jsx as _jsx}from\"react/jsx-runtime\";export default function MinusSvg({style}){return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"32\",height:\"32\",fill:\"currentColor\",viewBox:\"0 0 256 256\",style:style,children:/*#__PURE__*/_jsx(\"path\",{d:\"M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z\"})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MinusSvg\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Minus.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef}from\"react\";import{ControlType,withCSS}from\"framer\";import{SHARED_COLORS,SHARED_STYLES}from\"https://framerusercontent.com/modules/Nrs4jz2AAEOfEZRQEQij/7Ao2SBt1Ssf683HHXgzl/Shared_styles.js\";// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\nconst InputComponent=/*#__PURE__*/forwardRef((props,ref)=>{const{inputStyle:inputStyleProp,placeholder=InputContentControlsDefaultValues.placeholder,type=InputContentControlsDefaultValues.inputType,disabled=InputContentControlsDefaultValues.disabled,onChange,value,...restProps}=props;// Merge inputStyle with defaults to ensure defaults are always applied\nconst inputStyle={...InputStyleControlsDefaultValues.inputStyle,...inputStyleProp||{}};// Merge font with defaults\nconst font={...InputStyleControlsDefaultValues.inputStyle.font,...inputStyleProp?.font||{}};const handleChange=event=>{if(onChange){onChange(event);}};const combinedStyle={// Default input styles\nfontFamily:\"inherit\",fontSize:\"16px\",lineHeight:\"1.4\",width:\"100%\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",justifyItems:\"center\",// Apply input style controls\n...mapInputControlsToStyle({inputStyle}),// Override with font prop if provided\n...font};// Add CSS custom property for focus outline color if provided\nif(inputStyle?.focusOutlineColor){combinedStyle[\"--focus-outline-color\"]=inputStyle.focusOutlineColor;}return /*#__PURE__*/_jsx(\"input\",{id:\"frameship-input\",ref:ref,type:type,placeholder:placeholder,disabled:disabled,value:value,onChange:handleChange,style:combinedStyle,...restProps});});// ------------------------------------------------------------ //\n// STYLE MAPPER\n// ------------------------------------------------------------ //\nfunction mapInputControlsToStyle(controls){if(!controls)return{};const style={width:\"100%\",boxSizing:\"border-box\"};if(controls.inputStyle?.padding){style.padding=controls.inputStyle.padding;}// Border can be a shorthand string (e.g., \"1px solid #000\") or an object\nif(typeof controls.inputStyle?.border===\"string\"){style.border=controls.inputStyle.border;}else if(controls.inputStyle?.border){const b=controls.inputStyle.border;// Handle Framer's Border control structure\nif(b.borderWidth!==undefined)style.borderWidth=b.borderWidth;if(b.borderStyle!==undefined)style.borderStyle=b.borderStyle;if(b.borderColor!==undefined)style.borderColor=b.borderColor;// Handle shorthand border property if it exists\nif(b.border!==undefined)style.border=b.border;// Handle individual border widths\nif(b.borderTopWidth!==undefined)style.borderTopWidth=b.borderTopWidth;if(b.borderRightWidth!==undefined)style.borderRightWidth=b.borderRightWidth;if(b.borderBottomWidth!==undefined)style.borderBottomWidth=b.borderBottomWidth;if(b.borderLeftWidth!==undefined)style.borderLeftWidth=b.borderLeftWidth;}if(controls.inputStyle?.borderRadius!==undefined){style.borderRadius=controls.inputStyle.borderRadius;}if(controls.inputStyle?.textColor!==undefined){style.color=controls.inputStyle.textColor;}if(controls.inputStyle?.backgroundColor!==undefined){style.backgroundColor=controls.inputStyle.backgroundColor;}return style;}// ------------------------------------------------------------ //\n// DEFAULT VALUES\n// ------------------------------------------------------------ //\nconst InputStyleControlsDefaultValues={inputStyle:{padding:\"8px 12px 8px 12px\",border:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.2)\"},borderRadius:SHARED_STYLES.borderRadius,textColor:SHARED_COLORS.foreground,backgroundColor:SHARED_COLORS.background,focusOutlineColor:SHARED_COLORS.backgroundMuted,font:{fontFamily:\"inherit\",fontSize:\"16px\",lineHeight:\"1.2\"}}};const InputContentControlsDefaultValues={placeholder:\"\",inputType:\"text\",disabled:false};// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\nexport const InputStyleControls={inputStyle:{title:\"Input Style\",type:ControlType.Object,controls:{padding:{// @ts-expect-error - Padding is not a valid control type in this Framer npm version\ntype:ControlType.Padding,title:\"Padding\",defaultValue:InputStyleControlsDefaultValues.inputStyle.padding},border:{// @ts-expect-error - Border is not a valid control type in this Framer npm version\ntype:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:InputStyleControlsDefaultValues.inputStyle.border.borderWidth,borderStyle:InputStyleControlsDefaultValues.inputStyle.border.borderStyle,borderColor:InputStyleControlsDefaultValues.inputStyle.border.borderColor}},borderRadius:{// @ts-expect-error - BorderRadius is not a valid control type in this Framer npm version\ntype:ControlType.BorderRadius,title:\"Border Radius\",defaultValue:InputStyleControlsDefaultValues.inputStyle.borderRadius},textColor:{title:\"Text Color\",type:ControlType.Color,defaultValue:InputStyleControlsDefaultValues.inputStyle.textColor},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:InputStyleControlsDefaultValues.inputStyle.backgroundColor},focusOutlineColor:{title:\"Focus Outline Color\",type:ControlType.Color,defaultValue:InputStyleControlsDefaultValues.inputStyle.focusOutlineColor},font:{title:\"Font\",type:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:InputStyleControlsDefaultValues.inputStyle.font}}}};export const InputContentControls={placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:InputContentControlsDefaultValues.placeholder},inputType:{title:\"Input Type\",type:ControlType.Enum,options:[\"text\",\"email\",\"password\",\"number\",\"tel\",\"url\"],optionTitles:[\"Text\",\"Email\",\"Password\",\"Number\",\"Phone\",\"URL\"],defaultValue:InputContentControlsDefaultValues.inputType},disabled:{title:\"Disabled\",type:ControlType.Boolean,defaultValue:InputContentControlsDefaultValues.disabled}};// ------------------------------------------------------------ //\n// CSS STYLES FOR NUMBER INPUT SPINNERS\n// ------------------------------------------------------------ //\nconst InputComponentWithCSS=withCSS(InputComponent,[// Hide number input spinner buttons\n`input[type=\"number\"] {\n      -webkit-appearance: none;\n      -moz-appearance: textfield;\n    }`,`input[type=\"number\"]::-webkit-outer-spin-button,\n     input[type=\"number\"]::-webkit-inner-spin-button {\n      -webkit-appearance: none;\n      margin: 0;\n    }`,// Focus outline style\n`#frameship-input:focus, #frameship-input:focus-visible {\n      outline: 2px solid var(--focus-outline-color, #007bff);\n      outline-offset: 0px;\n    }`],\"\");// ------------------------------------------------------------ //\n// EXPORT\n// ------------------------------------------------------------ //\nexport default InputComponentWithCSS;InputComponent.displayName=\"Input\";\nexport const __FramerMetadata__ = {\"exports\":{\"InputContentControlsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputStyleControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputContentControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputStyleControlsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"InputComponentWithCSS\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}