{"version":3,"file":"Input.CCbdzeO8.mjs","names":["useQuery","useId"],"sources":["https:/framerusercontent.com/modules/U32JRYBcPmO9IzIRP4Rj/GrFKLNDUaXKzMFWb6e2Q/License_cache.js","https:/framerusercontent.com/modules/pKQXtSIFOkUZHJ1ZIH57/X6CkLXeLqgDgwtNFbI7Q/Env.js","https:/framerusercontent.com/modules/b3e85pFcNFtqTX3XSv9e/nErKWAE4LAMWcFEioYB8/Backend_client.js","https:/framerusercontent.com/modules/JhvDT64z5Z8fFnafHobq/4HoXh8VPjlFxdL1CUNkU/Licence_service.js","https:/framerusercontent.com/modules/kGyAHPbQwKZr1zBe6pP6/7xP3DD50frYyeaii40ln/Use_license.js","https:/framerusercontent.com/modules/CgNesoEVhclZxcf3DGoV/KiFqdjKmxFukmUMhyMDX/Plus.js","https:/framerusercontent.com/modules/rg6FA2ZzLed1GXAPqbZS/mzbz3S2bGl9kzIhDyRAM/Minus.js","https:/framerusercontent.com/modules/8tTWwqu9i87Vk9zESDn0/wFbi1XHqJACWlU9Zlwrv/Input.js"],"sourcesContent":["function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}class LicenseCache{// Get cached license data\nget(){// First check in-memory cache (fastest)\nif(this.memoryCache&&this.memoryCacheTime&&Date.now()-this.memoryCacheTime<this.cacheDuration){return this.memoryCache;}// Then check localStorage (cross-tab persistence)\ntry{const stored=localStorage.getItem(this.cacheKey);if(stored){const parsed=JSON.parse(stored);if(parsed.data&&parsed.timestamp&&Date.now()-parsed.timestamp<this.cacheDuration){// Update memory cache\nthis.memoryCache=parsed.data;this.memoryCacheTime=parsed.timestamp;return parsed.data;}}}catch(error){console.warn(\"Error reading license cache from localStorage:\",error);}return null;}// Set license data in cache\nset(data){const cacheData={data:data,timestamp:Date.now()};// Update memory cache\nthis.memoryCache=data;this.memoryCacheTime=cacheData.timestamp;// Update localStorage\ntry{localStorage.setItem(this.cacheKey,JSON.stringify(cacheData));}catch(error){console.warn(\"Error saving license cache to localStorage:\",error);}}// Clear cache\nclear(){this.memoryCache=null;this.memoryCacheTime=null;try{localStorage.removeItem(this.cacheKey);}catch(error){console.warn(\"Error clearing license cache from localStorage:\",error);}}// Check if cache is valid\nisValid(){const cached=this.get();return cached!==null;}constructor(cacheDuration=6e4){_define_property(this,\"cacheDuration\",void 0);_define_property(this,\"cacheKey\",void 0);_define_property(this,\"memoryCache\",void 0);_define_property(this,\"memoryCacheTime\",void 0);// 1 minute default\nthis.cacheDuration=cacheDuration;this.cacheKey=\"frameship-license-cache\";this.memoryCache=null;this.memoryCacheTime=null;}}// Export singleton instance\nexport const licenseCache=new LicenseCache(6e4);\nexport const __FramerMetadata__ = {\"exports\":{\"licenseCache\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LicenseCacheData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./License_cache.map","export const ENV={ENVIRONMENT:{development:\"localReact\",staging:\"framer\",production:\"framer\"},BACKEND_URL:{development:\"http://localhost:8787\",staging:\"https://frameship-backend-staging.account-ba7.workers.dev\",production:\"https://frameship-backend.account-ba7.workers.dev\"},BACKEND_API_KEY:{development:\"9692aec79a1b5ad3546e7fa02e1046195a85ff2dee60c1fdecf95d446ff16789\",staging:\"58b5bdccbf6f33a5f381fcfbe85bfa5e242bf5d62fadcb5fc30029290434142d\",production:\"9c170a2a758c830a7b191139343767cea3734f5e8c499e8f21d0dcc3a7979805\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"ENV\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Env.map","import{ENV}from\"https://framerusercontent.com/modules/pKQXtSIFOkUZHJ1ZIH57/X6CkLXeLqgDgwtNFbI7Q/Env.js\";export async function backendClient(props){const{method,endpoint,params,body}=props;const queryString=new URLSearchParams(params).toString();const url=params?`${ENV.BACKEND_URL.production}${endpoint}?${queryString}`:`${ENV.BACKEND_URL.production}${endpoint}`;const response=await fetch(url,{method,headers:{\"Content-Type\":\"application/json\",\"X-API-Key\":ENV.BACKEND_API_KEY.production},body});if(!response.ok){throw new Error(`Backend API request failed: ${response.status} ${response.statusText}`);}const data=await response.json();return data;}\nexport const __FramerMetadata__ = {\"exports\":{\"backendClient\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{licenseCache}from\"https://framerusercontent.com/modules/U32JRYBcPmO9IzIRP4Rj/GrFKLNDUaXKzMFWb6e2Q/License_cache.js\";import{getLicenseId}from\"https://framerusercontent.com/modules/TgekT24FCXsp3m1M9KnX/51KiLjOfRPpzwxhbKXBD/Get_shopify_config.js\";import{backendClient}from\"https://framerusercontent.com/modules/b3e85pFcNFtqTX3XSv9e/nErKWAE4LAMWcFEioYB8/Backend_client.js\";export async function fetchLicense(){// Check cache first\nconst cached=licenseCache.get();if(cached){return cached;}// Cache miss - make API call\n// console.log(\"License cache miss - fetching from API\");\n// Check if we're in a browser environment\nif(typeof window===\"undefined\"){throw new Error(\"License check requires browser environment\");}// Get license ID from script tag\nconst licenseId=getLicenseId();if(!licenseId){// If no license ID, assume free license\nreturn{free:true};}// Get current URL\nconst currentUrl=encodeURIComponent(window.location.href);// Make request to backend license endpoint using backendClient\nconst licenseData=await backendClient({method:\"GET\",endpoint:\"/license-check\",params:{url:currentUrl,license_id:licenseId}});// Cache the response\nlicenseCache.set(licenseData);return licenseData;}\nexport const __FramerMetadata__ = {\"exports\":{\"fetchLicense\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Licence_service.map","import{useQuery}from\"https://framerusercontent.com/modules/EsOvuK0xi7z7RIQRkokm/o6ldhcInFD0f6tYPAqS1/Tanstack_query.js\";import{licenseCache}from\"https://framerusercontent.com/modules/U32JRYBcPmO9IzIRP4Rj/GrFKLNDUaXKzMFWb6e2Q/License_cache.js\";import{fetchLicense}from\"https://framerusercontent.com/modules/JhvDT64z5Z8fFnafHobq/4HoXh8VPjlFxdL1CUNkU/Licence_service.js\";export const LICENSE_QUERY_KEYS={all:[\"license\"]};export const useLicense=()=>{const{data,isLoading,error}=useQuery({queryKey:LICENSE_QUERY_KEYS.all,queryFn:fetchLicense,staleTime:6e4,gcTime:5*60*1e3,retry:1});// If API fails, try to use cached data as fallback\nconst cachedData=licenseCache.get();const licenseData=data||cachedData;return{isFree:licenseData?.free===true,isLoading,error:error||null};};\nexport const __FramerMetadata__ = {\"exports\":{\"LICENSE_QUERY_KEYS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useLicense\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","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,useId}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 generatedId=useId();const{inputStyle:inputStyleProp,placeholder=InputContentControlsDefaultValues.placeholder,type=InputContentControlsDefaultValues.inputType,disabled=InputContentControlsDefaultValues.disabled,onChange,value,id,className,...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\",textAlign:\"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:id??generatedId,className:[\"frameship-input\",className].filter(Boolean).join(\" \"),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;}if(controls.inputStyle?.textAlign!==undefined){style.textAlign=controls.inputStyle.textAlign;}return style;}// ------------------------------------------------------------ //\n// DEFAULT VALUES\n// ------------------------------------------------------------ //\nexport const 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\"},textAlign:\"center\"}};export const InputContentControlsDefaultValues={placeholder:\"\",inputType:\"text\",disabled:false};// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\nexport const InputStyleControls={inputStyle:{title:\"Input Style\",buttonTitle:\"Padding, Border, Colors, etc.\",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},textAlign:{title:\"Text Align\",type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],// optionTitles: [\"Left\", \"Center\", \"Right\"],\noptionIcons:[\"align-left\",\"align-center\",\"align-right\"],defaultValue:InputStyleControlsDefaultValues.inputStyle.textAlign,displaySegmentedControl:true}}}};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\"}},\"InputContentControlsDefaultValues\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputStyleControlsDefaultValues\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputStyleControlsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputContentControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputStyleControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"InputComponentWithCSS\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input.map"],"mappings":"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"}