{"version":3,"file":"script_main.CmfQI3A0.mjs","names":["addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","useRef","className","css","VERSION","Input","useState","useCallback","email","Input","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","useRef","className","css","e","log","time","timeEnd","e","splitWordsRegex","useRef","useCallback","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","p","useState","useTransition","SearchResultTitleType","useRef","useState","useDeferredValue","useCallback","Input","ResultRow","useMemo","ScrollView","React","useState","x","Overlay","EntryPoint","useRef","useState","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","useRef","className","css","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","Variants","humanReadableVariantMap","getProps","createLayoutDependency","Component","useRef","className","css","NavigationHamburger","NavItems","CTAButton","Search","serializationHash","variantClassNames","transition1","humanReadableVariantMap","getProps","Component","useRef","className","css","NavigationNavbar","Footer","FooterCopyright","useRef","className","PropertyOverrides","Navigation","breakpoints"],"sources":["https:/framerusercontent.com/modules/AgTGhPj1tCSKOHIcL5Nk/ZfZctrC3qttovNvtLjEN/f4wi8mavv.js","https:/framer.com/m/framer/InputSites.js@1.12.0","https:/framerusercontent.com/modules/0dfzTKPSzK8b138I1Gsl/PH4CFyFMG7CUSDQ9vm89/Input_Waitlist.js","https:/framerusercontent.com/modules/8fMERTYtD2bK9rwgqg5n/jQglXIoqyhQfzpC06bGf/nr4UGyIqQ.js","https:/framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js","https:/framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js","https:/framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16","https:/framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js","https:/framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js","https:/framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js","https:/framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js","https:/framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js","https:/framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js","https:/framerusercontent.com/modules/nLCydWYnOUOe7bu9F8cB/ZicBIrI10RdrypocCgx3/okGLtXIaN.js","https:/framerusercontent.com/modules/o6RX3GkcUWSjfiwhp884/DchVsro85JLkmg6KjqAt/VMeXd8NFH.js","https:/framerusercontent.com/modules/pCBwwiIFeBNX0lFGlml4/QUMobwBgBnas7UTvrOx5/tU8Kt3zaL.js","https:/framerusercontent.com/modules/vQjFc0e7iAbZkmecOJ93/L3Ytv5lpsGO5omM99PFS/pNjiZiXVn.js","framer:toplevel/main"],"sourcesContent":["// Generated by Framer (84a2f33)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/fCi1qWZVIizcZR3KlfXO/kFhok3CiQ4nMO48LBRAO/D1fS_zrfW.js\";const cycleOrder=[\"lmYNnZCr1\",\"rCHd_9yGU\"];const serializationHash=\"framer-aU5eF\";const variantClassNames={lmYNnZCr1:\"framer-v-1ht9hyc\",rCHd_9yGU:\"framer-v-1w3sw9z\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Desktop:\"lmYNnZCr1\",mobile:\"rCHd_9yGU\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"lmYNnZCr1\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"lmYNnZCr1\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ht9hyc\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"lmYNnZCr1\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-313dd4d6-9859-4bdd-889b-954a849d13e3, rgb(34, 34, 34))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",...style},...addPropertyOverrides({rCHd_9yGU:{\"data-framer-name\":\"mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-cv3g46\",\"data-framer-name\":\"content\",layoutDependency:layoutDependency,layoutId:\"dhdO6RQUa\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-x6ge9v\",\"data-styles-preset\":\"D1fS_zrfW\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75)))\"},children:\"\\xa9 All right reserved\"})}),className:\"framer-1cosqh5\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Wi6YW6Nu7\",style:{\"--extracted-r6o4lv\":\"var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({rCHd_9yGU:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-x6ge9v\",\"data-styles-preset\":\"D1fS_zrfW\",style:{\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75)))\"},children:\"\\xa9 All right reserved\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-aU5eF.framer-1lo3fzx, .framer-aU5eF .framer-1lo3fzx { display: block; }\",\".framer-aU5eF.framer-1ht9hyc { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 60px; height: min-content; justify-content: center; overflow: hidden; padding: 25px 40px 25px 40px; position: relative; width: 1200px; }\",\".framer-aU5eF .framer-cv3g46 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-aU5eF .framer-1cosqh5 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-aU5eF.framer-v-1w3sw9z.framer-1ht9hyc { width: 390px; }\",\".framer-aU5eF.framer-v-1w3sw9z .framer-cv3g46 { flex-direction: column; gap: 8px; justify-content: center; }\",\".framer-aU5eF.framer-v-1w3sw9z .framer-1cosqh5 { white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",...sharedStyle.css,'.framer-aU5eF[data-border=\"true\"]::after, .framer-aU5eF [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 67\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"rCHd_9yGU\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerf4wi8mavv=withCSS(Component,css,\"framer-aU5eF\");export default Framerf4wi8mavv;Framerf4wi8mavv.displayName=\"Footer/Copyright\";Framerf4wi8mavv.defaultProps={height:67,width:1200};addPropertyControls(Framerf4wi8mavv,{variant:{options:[\"lmYNnZCr1\",\"rCHd_9yGU\"],optionTitles:[\"Desktop\",\"mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framerf4wi8mavv,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerf4wi8mavv\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"rCHd_9yGU\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"67\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./f4wi8mavv.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useCallback,useState}from\"react\";import{addPropertyControls,ControlType,withCSS,useRouter,inferInitialRouteFromPath}from\"framer\";import{motion,useAnimationControls}from\"framer-motion\";const emailRegex=/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;const mailchimpRegex=/^https?:\\/\\/([^\\/]+)[^\\?]+\\??(.+)$/;const validateEmail=email=>{return emailRegex.test(String(email).toLowerCase());};const parseMailChimpUrl=url=>{var _url_replace_match;const[,domain,parameters]=(_url_replace_match=url.replace(\"&amp;\",\"&\").match(mailchimpRegex))!==null&&_url_replace_match!==void 0?_url_replace_match:[null,null,null];return[domain,parameters?new URLSearchParams(parameters):null];};function safeURL(url){console.log(url);try{new URL(url);return url;}catch{try{new URL(`https://${url}`);return`https://${url}`;}catch{}}return undefined;}function isInternalURL(href){if(href===undefined)return false;if(href.startsWith(\"#\")||href.startsWith(\"/\")||href.startsWith(\".\"))return true;return false;}/**\n * Increment the number whenever shipping a new version to customers.\n * This will ensure that multiple versions of this component can exist\n * in the same project without css rules overlapping. Only use valid css class characters.\n */const VERSION=\"v1\";/**\n * INPUT\n * By Benjamin den Boer\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */const Input=withCSS(function Input({service,redirectAs,mailchimpURL,loopsID,loopsUserGroup,formsparkID,getwaitlistAPI,convertkitAPI,convertkitFormID,input,button,font,layout,link,gap,style,onSubmit}){const[email,setEmail]=useState(\"\");const[isError,setError]=useState(false);const[isLoading,setLoading]=useState(false);const[isFocus,setFocus]=useState(false);// Padding\nconst{paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,padding,borderRadius,borderObject,focusObject,shadowObject,height,fixedHeight}=input;const{buttonPaddingPerSide,buttonPaddingTop,buttonPaddingRight,buttonPaddingBottom,buttonPaddingLeft,buttonPadding}=button;const paddingValue=paddingPerSide?`${paddingTop}px ${button.isDocked?paddingRight+button.widthWhenDocked:paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px ${button.isDocked?padding+button.widthWhenDocked:padding}px ${padding}px ${padding}px`;const buttonPaddingValue=buttonPaddingPerSide?`${button.isDocked?0:buttonPaddingTop}px ${buttonPaddingRight}px ${button.isDocked?0:buttonPaddingBottom}px ${buttonPaddingLeft}px`:`${button.isDocked?0:buttonPadding}px ${buttonPadding}px ${button.isDocked?0:buttonPadding}px ${buttonPadding}px`;const router=useRouter();const onSuccess=()=>{/* Reset */setLoading(false);setFocus(false);setEmail(\"\");if(redirectAs===\"link\"&&link&&!isError){const[path,hash]=link.split(\"#\");const{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,path);if(routeId){router.navigate(routeId,hash,pathVariables);}if(!isInternalURL(link)){const url=safeURL(link);if(url)window.open(url,\"_blank\");}}};const validateForm=useCallback(email=>{if(email===\"\"||!validateEmail(email)){setError(true);formControls.start(\"error\");return false;}return true;},[validateEmail]);const handleChange=useCallback(event=>{setError(false);setEmail(event.target.value);},[]);const handleFocus=useCallback(event=>{setFocus(true);},[]);const handleBlur=useCallback(event=>{setFocus(false);setError(false);},[]);const handleSubmit=useCallback(event=>{event.preventDefault();// Prevent submitting while submitting\nif(isLoading)return;setLoading(true);if(service===\"mailchimp\"){const[domain,parameters]=parseMailChimpUrl(mailchimpURL);if(!validateForm(email)||!domain||!parameters){setLoading(false);return;}// MERGE0 is Mailchimp’s email field name\nparameters.set(\"MERGE0\",email);fetch(`https://${domain}/subscribe/post`,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded;charset=UTF-8\"},body:parameters.toString()}).then(response=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"loops\"){if(!validateForm(email)){setLoading(false);return;}const emailBody=`email=${encodeURIComponent(email)}`;const userGroupBody=`userGroup=${encodeURIComponent(loopsUserGroup)}`;const hasUserGroup=!!loopsUserGroup&&loopsUserGroup!==\" \";const formBody=hasUserGroup?emailBody+\"&\"+userGroupBody:emailBody;fetch(`https://app.loops.so/api/newsletter-form/${loopsID}`,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:formBody}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"formspark\"){if(!validateForm(email)){setLoading(false);return;}const data=new FormData(event.target);const entries=Object.fromEntries(data.entries());fetch(`https://api.formspark.io/${formsparkID}`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(entries)}).then(()=>{onSuccess();onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"getwaitlist\"){if(!validateForm(email)){setLoading(false);return;}const formData=new FormData(event.target);const data=Object.fromEntries(formData.entries());data.referral_link=document.URL;fetch(`https://api.getwaitlist.com/api/v1\n/waiter/`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(data)}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}if(service===\"convertkit\"){if(!validateForm(email)){setLoading(false);return;}const formData=new FormData(event.target);const data=Object.fromEntries(formData.entries());data.referral_link=document.URL;data.api_key=convertkitAPI;fetch(`https://api.convertkit.com/v3/forms/${convertkitFormID}/subscribe`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(data)}).then(()=>{onSuccess();if(redirectAs===\"overlay\")onSubmit===null||onSubmit===void 0?void 0:onSubmit();}).catch(error=>{console.error(error);setLoading(false);setError(true);formControls.start(\"error\");});}},[mailchimpURL,formsparkID,convertkitFormID,email,onSubmit,validateForm,isLoading]);// Animation\nconst formControls=useAnimationControls();// Input Box Shadow Stylees\nconst focusStylesFrom=input.focusObject?`inset 0 0 0 ${focusObject.focusWidthFrom}px ${focusObject.focusColor}`:null;const focusStylesTo=input.focusObject?`inset 0 0 0 ${focusObject.focusWidthTo}px ${focusObject.focusColor}`:null;const shadowStyles=input.shadowObject?`${shadowObject.shadowX}px ${shadowObject.shadowY}px ${shadowObject.shadowBlur}px ${shadowObject.shadowColor}`:null;const borderStyles=input.borderObject?`inset 0 0 0 ${borderObject.borderWidth}px ${borderObject.borderColor}`:null;// Shake or wiggle as error\nconst formVariants={default:{x:0},error:{x:[0,-4,4,0],transition:{duration:.2}}};const inputVariants={default:{boxShadow:dynamicBoxShadow(focusStylesFrom,shadowStyles,borderStyles)},focused:{boxShadow:dynamicBoxShadow(focusStylesTo,shadowStyles,borderStyles)}};return /*#__PURE__*/_jsx(motion.div,{style:{...style,...containerStyles,\"--framer-custom-placeholder-color\":input.placeholderColor},variants:formVariants,animate:formControls,children:/*#__PURE__*/_jsxs(\"form\",{style:{width:\"100%\",height:\"auto\",display:\"flex\",position:\"relative\",flexDirection:layout===\"vertical\"?\"column\":\"row\",color:button.color,gap:button.isDocked?0:gap},onSubmit:handleSubmit,method:\"POST\",children:[service===\"getwaitlist\"&&/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:\"api_key\",value:getwaitlistAPI}),service===\"convertkit\"&&/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:\"api_key\",value:convertkitAPI}),/*#__PURE__*/_jsx(motion.input,{type:\"email\",name:\"email\",placeholder:input.placeholder,value:email,className:`${VERSION} framer-custom-input`,onChange:handleChange,onFocus:handleFocus,onBlur:handleBlur,autoComplete:\"off\",autoCapitalize:\"off\",autoCorrect:\"off\",spellCheck:\"false\",style:{...defaultStyle,padding:paddingValue,borderRadius,fontSize:16,...font,background:input.fill,height:height?\"auto\":fixedHeight,color:input.color,boxShadow:dynamicBoxShadow(focusStylesFrom,shadowStyles,borderStyles)},variants:inputVariants,initial:false,animate:isFocus?\"focused\":\"default\",transition:{duration:.3},\"data-1p-ignore\":true}),!button.shouldAppear&&isLoading&&/*#__PURE__*/_jsx(Spinner,{shouldAppear:button.shouldAppear,paddingPerSide:paddingPerSide,paddingTop:paddingTop,paddingRight:paddingRight,padding:padding,color:input.color}),button.shouldAppear&&/*#__PURE__*/_jsxs(\"div\",{style:{position:button.isDocked?\"absolute\":\"relative\",top:button.isDocked?button.insetWhenDocked:0,right:button.isDocked?button.insetWhenDocked:0,bottom:button.isDocked?button.insetWhenDocked:0},children:[/*#__PURE__*/_jsx(motion.input,{type:\"submit\",value:button.label,style:{...defaultStyle,width:button.isDocked?button.widthWhenDocked:\"100%\",height:height?\"100%\":fixedHeight,cursor:\"pointer\",padding:buttonPaddingValue,borderRadius:button.isDocked?borderRadius-button.insetWhenDocked:borderRadius,// fontWeight: button.fontWeight,\nfontSize:16,...button.buttonFont,background:button.fill,color:button.color,zIndex:1,boxShadow:getButtonShadow(button)}}),isLoading&&/*#__PURE__*/_jsx(\"div\",{style:{borderRadius:button.isDocked?borderRadius-button.insetWhenDocked:borderRadius,position:\"absolute\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",width:\"100%\",height:\"100%\",inset:0,zIndex:2,color:button.color,background:button.fill},children:/*#__PURE__*/_jsx(Spinner,{color:button.color})})]})]})});},[`.${VERSION}.framer-custom-input::placeholder { color: var(--framer-custom-placeholder-color) !important; }`]);const Spinner=props=>{const noButtonStyles=!props.shouldAppear?{position:\"absolute\",top:`calc(50% - 8px)`,right:props.paddingPerSide?props.paddingRight:props.padding}:{};return /*#__PURE__*/_jsx(motion.div,{style:{height:16,width:16,...noButtonStyles},initial:{rotate:0},animate:{rotate:360},transition:{duration:1,repeat:Infinity},children:/*#__PURE__*/_jsx(motion.div,{initial:{scale:0},animate:{scale:1},children:/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",style:{fill:\"currentColor\",color:props.color},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M 8 0 C 3.582 0 0 3.582 0 8 C 0 12.419 3.582 16 8 16 C 12.418 16 16 12.419 16 8 C 15.999 3.582 12.418 0 8 0 Z M 8 14 C 4.687 14 2 11.314 2 8 C 2 4.687 4.687 2 8 2 C 11.314 2 14 4.687 14 8 C 14 11.314 11.314 14 8 14 Z\",fill:\"currentColor\",opacity:\"0.2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M 8 0 C 12.418 0 15.999 3.582 16 8 C 16 8 16 9 15 9 C 14 9 14 8 14 8 C 14 4.687 11.314 2 8 2 C 4.687 2 2 4.687 2 8 C 2 8 2 9 1 9 C 0 9 0 8 0 8 C 0 3.582 3.582 0 8 0 Z\",fill:\"currentColor\"})]})})});};addPropertyControls(Input,{service:{title:\"Service\",type:ControlType.Enum,options:[\"loops\",\"formspark\",\"mailchimp\",\"getwaitlist\",\"convertkit\"],optionTitles:[\"Loops\",\"FormSpark\",\"MailChimp\",\"Get Waitlist\",\"ConvertKit\"],defaultValue:\"loops\"},mailchimpURL:{title:\"URL\",placeholder:\"https://***.us6.list-manage.com/subscribe/post?u=***\",type:ControlType.String,hidden:props=>props.service!==\"mailchimp\"},loopsID:{title:\"ID\",placeholder:\"klm2jxy0i98abzr01pq7defg5\",type:ControlType.String,hidden:props=>props.service!==\"loops\"},loopsUserGroup:{title:\"User Group\",type:ControlType.String,placeholder:\"Title\",optional:true,hidden:props=>props.service!==\"loops\"},formsparkID:{title:\"ID\",placeholder:\"7PbPpGN3\",type:ControlType.String,hidden:props=>props.service!==\"formspark\"},getwaitlistAPI:{title:\"ID\",placeholder:\"9148\",type:ControlType.String,hidden:props=>props.service!==\"getwaitlist\"},convertkitAPI:{title:\"API Key\",placeholder:\"5opis1WK6xnVsBwrOINUpe\",type:ControlType.String,hidden:props=>props.service!==\"convertkit\"},convertkitFormID:{title:\"Form ID\",placeholder:\"1043389\",type:ControlType.String,hidden:props=>props.service!==\"convertkit\"},redirectAs:{title:\"Success\",type:ControlType.Enum,options:[\"link\",\"overlay\"],optionTitles:[\"Open Link\",\"Show Overlay\"],defaultValue:\"link\"},link:{title:\"Redirect\",type:ControlType.Link,hidden:props=>props.redirectAs===\"overlay\"},onSubmit:{title:\"Submit\",type:ControlType.EventHandler,hidden:props=>props.redirectAs===\"link\"},layout:{title:\"Layout\",type:ControlType.Enum,options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true,hidden:props=>props.button.isDocked},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},input:{title:\"Input\",type:ControlType.Object,controls:{placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"name@email.com\"},placeholderColor:{title:\" \",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.3)\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#EBEBEB\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#000\"},height:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Auto\",disabledTitle:\"Fixed\"},fixedHeight:{title:\" \",type:ControlType.Number,displayStepper:true,min:0,defaultValue:50,hidden:props=>props.height},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},focusObject:{type:ControlType.Object,title:\"Focus\",optional:true,controls:{focusWidthFrom:{title:\"From\",type:ControlType.Number,displayStepper:true,defaultValue:0},focusWidthTo:{title:\"To\",type:ControlType.Number,displayStepper:true,defaultValue:2},focusColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#09F\"}}},borderObject:{type:ControlType.Object,title:\"Border\",optional:true,controls:{borderWidth:{title:\"Width\",type:ControlType.Number,displayStepper:true,defaultValue:1},borderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(200,200,200,0.5)\"}}},shadowObject:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},button:{title:\"Button\",type:ControlType.Object,controls:{shouldAppear:{title:\"Show\",type:ControlType.Boolean,defaultValue:true},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Subscribe\"},buttonFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#333\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#FFF\"},isDocked:{title:\"Docked\",type:ControlType.Boolean,defaultValue:false},widthWhenDocked:{title:\"Width\",type:ControlType.Number,min:0,defaultValue:100,displayStepper:true,hidden:props=>!props.isDocked},insetWhenDocked:{title:\"Inset\",type:ControlType.Number,min:0,defaultValue:5,displayStepper:true,hidden:props=>!props.isDocked},buttonPadding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"buttonPaddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"buttonPaddingTop\",\"buttonPaddingRight\",\"buttonPaddingBottom\",\"buttonPaddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},buttonShadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},gap:{title:\"Gap\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:10,hidden:props=>props.button.isDocked}});const defaultStyle={WebkitAppearance:\"none\",appearance:\"none\",width:\"100%\",height:\"auto\",outline:\"none\",border:\"none\"};const containerStyles={position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};function getButtonShadow(button){if(button.buttonShadow){return`${button.buttonShadow.shadowX}px ${button.buttonShadow.shadowY}px ${button.buttonShadow.shadowBlur}px ${button.buttonShadow.shadowColor}`;}else return\"none\";}function dynamicBoxShadow(...shadows){const output=[];shadows.forEach(shadow=>shadow&&output.push(shadow));return output.join(\", \");}export default Input;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Input\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input.map","import{jsx as _jsx}from\"react/jsx-runtime\";import Input from\"https://framer.com/m/framer/InputSites.js@1.12.0\";import{ControlType,addPropertyControls}from\"framer\";/**\n * INPUT - WAITLIST\n * By Benjamin den Boer\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */export default function Waitlist(props){// This is a React component containing an Example component\n// - Replace <Example /> with your own code\n// - Find inspiration: https://www.framer.com/developers/\nreturn /*#__PURE__*/_jsx(Input,{...props,service:\"getwaitlist\"});}addPropertyControls(Waitlist,{getwaitlistAPI:{title:\"ID\",placeholder:\"9148\",type:ControlType.String},redirectAs:{title:\"Success\",type:ControlType.Enum,options:[\"link\",\"overlay\"],optionTitles:[\"Open Link\",\"Show Overlay\"],defaultValue:\"link\"},link:{title:\"Redirect\",type:ControlType.Link,hidden:props=>props.redirectAs===\"overlay\"},onSubmit:{title:\"Submit\",type:ControlType.EventHandler,hidden:props=>props.redirectAs===\"link\"},layout:{title:\"Layout\",type:ControlType.Enum,options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true,hidden:props=>props.button.isDocked},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},input:{title:\"Input\",type:ControlType.Object,controls:{placeholder:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"name@email.com\"},placeholderColor:{title:\" \",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.3)\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#EBEBEB\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#000\"},height:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Auto\",disabledTitle:\"Fixed\"},fixedHeight:{title:\" \",type:ControlType.Number,displayStepper:true,min:0,defaultValue:50,hidden:props=>props.height},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},focusObject:{type:ControlType.Object,title:\"Focus\",optional:true,controls:{focusWidthFrom:{title:\"From\",type:ControlType.Number,displayStepper:true,defaultValue:0},focusWidthTo:{title:\"To\",type:ControlType.Number,displayStepper:true,defaultValue:2},focusColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#09F\"}}},borderObject:{type:ControlType.Object,title:\"Border\",optional:true,controls:{borderWidth:{title:\"Width\",type:ControlType.Number,displayStepper:true,defaultValue:1},borderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(200,200,200,0.5)\"}}},shadowObject:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},button:{title:\"Button\",type:ControlType.Object,controls:{shouldAppear:{title:\"Show\",type:ControlType.Boolean,defaultValue:true},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Subscribe\"},buttonFont:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#333\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#FFF\"},isDocked:{title:\"Docked\",type:ControlType.Boolean,defaultValue:false},widthWhenDocked:{title:\"Width\",type:ControlType.Number,min:0,defaultValue:100,displayStepper:true,hidden:props=>!props.isDocked},insetWhenDocked:{title:\"Inset\",type:ControlType.Number,min:0,defaultValue:5,displayStepper:true,hidden:props=>!props.isDocked},buttonPadding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"buttonPaddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:15,valueKeys:[\"buttonPaddingTop\",\"buttonPaddingRight\",\"buttonPaddingBottom\",\"buttonPaddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},buttonShadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}}},gap:{title:\"Gap\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:10,hidden:props=>props.button.isDocked}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Waitlist\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"300\",\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Input_Waitlist.map","// Generated by Framer (84a2f33)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Waitlist from\"https://framerusercontent.com/modules/0dfzTKPSzK8b138I1Gsl/PH4CFyFMG7CUSDQ9vm89/Input_Waitlist.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/gkL1Qs7jhkiCRJUJfPej/X2pD9fp4nKFI3QuFnIj7/csUbUKGQ_.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/bY9TtI4S0xpdRy4N4yNF/13XieryOmq9o7Ts4vYBF/Qjp1AZZMc.js\";const WaitlistFonts=getFonts(Waitlist);const cycleOrder=[\"ieOfW1kTV\",\"FfBnsZGMx\"];const serializationHash=\"framer-HiUkm\";const variantClassNames={FfBnsZGMx:\"framer-v-vasdcq\",ieOfW1kTV:\"framer-v-gl77ky\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Footer:\"ieOfW1kTV\",Mobile:\"FfBnsZGMx\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ieOfW1kTV\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ieOfW1kTV\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-gl77ky\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Footer\",layoutDependency:layoutDependency,layoutId:\"ieOfW1kTV\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-313dd4d6-9859-4bdd-889b-954a849d13e3, rgb(34, 34, 34))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",background:\"radial-gradient(50% 50% at 50% 3.4000000000000004%, rgba(129, 74, 200, 0.3) 0%, rgba(171, 171, 171, 0) 100%)\",...style},...addPropertyOverrides({FfBnsZGMx:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1e86zuq\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"LMuTV7SRb\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1r6sw1n\",\"data-framer-name\":\"Left section\",layoutDependency:layoutDependency,layoutId:\"ukqiemW9i\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-p2tc5g\",\"data-framer-name\":\"Logo+tagline\",layoutDependency:layoutDependency,layoutId:\"BFcKXIXEv\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"EU2x9MmEd\",openInNewTab:false,scopeId:\"nr4UGyIqQ\",smoothScroll:true,children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-15vbno8 framer-1kw8x0x\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"EU2x9MmEd\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1wk2c50\",\"data-framer-name\":\"Graphic\",fill:\"black\",intrinsicHeight:512,intrinsicWidth:512,layoutDependency:layoutDependency,layoutId:\"cT3raFrE5\",svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewBox=\"0 0 24 24\" style=\"enable-background:new 0 0 512 512\" xml:space=\"preserve\"><g fill=\"#fff\"><path d=\"M2 18c0-1.886 0-2.828.586-3.414C3.172 14 4.114 14 6 14s2.828 0 3.414.586C10 15.172 10 16.114 10 18s0 2.828-.586 3.414C8.828 22 7.886 22 6 22s-2.828 0-3.414-.586C2 20.828 2 19.886 2 18z\" data-original=\"#000000\"/><path fill-rule=\"evenodd\" d=\"M3.464 3.464C2 4.93 2 7.286 2 12v1.138c.509-.333 1.069-.48 1.606-.551.645-.087 1.439-.087 2.305-.087h.179c.865 0 1.659 0 2.304.087.711.095 1.463.32 2.08.938.619.618.844 1.37.94 2.08.086.646.086 1.44.086 2.305v.18c0 .865 0 1.659-.087 2.304-.072.537-.218 1.097-.55 1.605L12 22c4.714 0 7.071 0 8.536-1.464C22 19.07 22 16.713 22 12c0-4.714 0-7.071-1.464-8.536C19.07 2 16.713 2 12 2 7.286 2 4.929 2 3.464 3.464zM15.75 12.75a.75.75 0 0 0 0-1.5h-1.94l3.72-3.72a.75.75 0 0 0-1.06-1.06l-3.72 3.72V8.25a.75.75 0 0 0-1.5 0V12c0 .414.336.75.75.75z\" clip-rule=\"evenodd\" data-original=\"#000000\"/></g></svg>',withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"30px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"WLSH\"})}),className:\"framer-an5rp5\",fonts:[\"GF;Figtree-700\"],layoutDependency:layoutDependency,layoutId:\"jEDfWRvdD\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({FfBnsZGMx:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"26px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"WLSH\"})})}},baseVariant,gestureVariant)})]})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-16w1u5n\",\"data-styles-preset\":\"csUbUKGQ_\",children:\"＠WLUCC武陵高中班聯會\"})}),className:\"framer-1ttt0qu\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Zg33jDUps\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ilh2kr\",\"data-framer-name\":\"newsletter\",layoutDependency:layoutDependency,layoutId:\"Ux0Hkux6J\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-trq6qq\",\"data-styles-preset\":\"Qjp1AZZMc\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"關於我們\"})}),className:\"framer-1kqxpfa\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"womFxLOWL\",style:{\"--extracted-r6o4lv\":\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1dshp1e-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"gtVIC4F5y-container\",nodeId:\"gtVIC4F5y\",rendersWithMotion:true,scopeId:\"nr4UGyIqQ\",children:/*#__PURE__*/_jsx(Waitlist,{button:{buttonFont:{fontFamily:'\"Figtree\", \"Figtree Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},buttonPadding:15,buttonPaddingBottom:10,buttonPaddingLeft:15,buttonPaddingPerSide:true,buttonPaddingRight:15,buttonPaddingTop:10,color:\"var(--token-ea3f5ec2-80ec-412c-a26e-34872584c90c, rgb(255, 255, 255))\",fill:\"var(--token-a888adc2-3d05-4d6f-88b7-8dab97418795, rgb(129, 74, 200))\",insetWhenDocked:5,isDocked:true,label:\"歡迎來信\",shouldAppear:true,widthWhenDocked:100},font:{fontFamily:'\"Figtree\", \"Figtree Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0em\",lineHeight:\"1em\"},gap:10,getwaitlistAPI:\"\",height:\"100%\",id:\"gtVIC4F5y\",input:{borderObject:{borderColor:\"var(--token-313dd4d6-9859-4bdd-889b-954a849d13e3, rgb(34, 34, 34))\",borderWidth:1},borderRadius:8,color:\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255))\",fill:\"var(--token-b2fb23d9-6070-4f2d-b3d0-2fe68c4f2aab, rgba(13, 13, 13, 0.8))\",fixedHeight:50,height:true,padding:15,paddingBottom:15,paddingLeft:15,paddingPerSide:false,paddingRight:15,paddingTop:15,placeholder:\"wlucc40@gmail.com\",placeholderColor:\"var(--token-d072d1f5-ef86-4b7c-bae1-6c9f6238e10b, rgba(255, 255, 255, 0.75))\"},layout:\"horizontal\",layoutId:\"gtVIC4F5y\",redirectAs:\"link\",style:{maxWidth:\"100%\",width:\"100%\"},width:\"100%\"})})})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-15o4tju\",\"data-framer-name\":\"Right section\",layoutDependency:layoutDependency,layoutId:\"t5C2HRPds\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1059hdh\",\"data-framer-name\":\"Pages\",layoutDependency:layoutDependency,layoutId:\"Q6zPKk02P\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS01MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-ea3f5ec2-80ec-412c-a26e-34872584c90c, rgb(255, 255, 255)))\"},children:\"Pages\"})}),className:\"framer-kz9l5l\",fonts:[\"GF;Figtree-500\"],layoutDependency:layoutDependency,layoutId:\"GqQIB0Crk\",style:{\"--extracted-r6o4lv\":\"var(--token-ea3f5ec2-80ec-412c-a26e-34872584c90c, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-16w1u5n\",\"data-styles-preset\":\"csUbUKGQ_\",children:\"首頁\"})}),className:\"framer-15yp97z\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"y_1tXHJGA\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-16w1u5n\",\"data-styles-preset\":\"csUbUKGQ_\",children:\"什麼是特約\"})}),className:\"framer-1u296t6\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"a0WExrobx\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-16w1u5n\",\"data-styles-preset\":\"csUbUKGQ_\",children:\"特約店家總覽\"})}),className:\"framer-1yo41ih\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"G5cDExX7o\",verticalAlignment:\"top\",withExternalLayout:true})]})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-HiUkm.framer-1kw8x0x, .framer-HiUkm .framer-1kw8x0x { display: block; }\",\".framer-HiUkm.framer-gl77ky { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 64px 40px 64px 40px; position: relative; width: 1200px; }\",\".framer-HiUkm .framer-1e86zuq { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; max-width: 1200px; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-HiUkm .framer-1r6sw1n { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 15px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-HiUkm .framer-p2tc5g { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-HiUkm .framer-15vbno8 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-HiUkm .framer-1wk2c50 { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 40px); position: relative; width: 40px; }\",\".framer-HiUkm .framer-an5rp5, .framer-HiUkm .framer-kz9l5l, .framer-HiUkm .framer-15yp97z, .framer-HiUkm .framer-1u296t6, .framer-HiUkm .framer-1yo41ih { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-HiUkm .framer-1ttt0qu, .framer-HiUkm .framer-1kqxpfa { flex: none; height: auto; max-width: 300px; position: relative; white-space: pre-wrap; width: auto; word-break: break-word; word-wrap: break-word; }\",\".framer-HiUkm .framer-ilh2kr { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-HiUkm .framer-1dshp1e-container { flex: none; height: auto; max-width: 320px; position: relative; width: 100%; }\",\".framer-HiUkm .framer-15o4tju { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-HiUkm .framer-1059hdh { align-content: flex-start; align-items: flex-start; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 7px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 1px; }\",\".framer-HiUkm.framer-v-vasdcq.framer-gl77ky { padding: 40px 24px 35px 24px; width: 390px; }\",\".framer-HiUkm.framer-v-vasdcq .framer-1e86zuq { flex-direction: column; gap: 25px; }\",\".framer-HiUkm.framer-v-vasdcq .framer-1r6sw1n { flex: none; gap: 20px; width: 100%; }\",\".framer-HiUkm.framer-v-vasdcq .framer-1wk2c50 { height: var(--framer-aspect-ratio-supported, 30px); width: 30px; }\",\".framer-HiUkm.framer-v-vasdcq .framer-15o4tju { align-content: unset; align-items: unset; display: grid; flex: none; gap: 20px; grid-auto-rows: min-content; grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(2, min-content); width: 100%; }\",\".framer-HiUkm.framer-v-vasdcq .framer-1059hdh { align-self: start; flex: none; justify-self: start; width: 100%; }\",...sharedStyle.css,...sharedStyle1.css,'.framer-HiUkm[data-border=\"true\"]::after, .framer-HiUkm [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 311.5\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"FfBnsZGMx\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framernr4UGyIqQ=withCSS(Component,css,\"framer-HiUkm\");export default Framernr4UGyIqQ;Framernr4UGyIqQ.displayName=\"Footer\";Framernr4UGyIqQ.defaultProps={height:311.5,width:1200};addPropertyControls(Framernr4UGyIqQ,{variant:{options:[\"ieOfW1kTV\",\"FfBnsZGMx\"],optionTitles:[\"Footer\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framernr4UGyIqQ,[{explicitInter:true,fonts:[{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v8/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_eYR15bwkEU4HTy.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v8/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_dNQF5bwkEU4HTy.woff2\",weight:\"500\"}]},...WaitlistFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framernr4UGyIqQ\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"311.5\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"FfBnsZGMx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./nr4UGyIqQ.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";export function SearchIcon(props){return /*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:props.width,height:props.height,style:{...props.style,color:props.color},children:/*#__PURE__*/ _jsx(\"path\",{d:\"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",fill:\"currentColor\"})});}export function ClearIcon(props){return /*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",...props,children:[/*#__PURE__*/ _jsx(\"rect\",{width:\"256\",height:\"256\",fill:\"none\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",fill:\"currentColor\"})]});}export function SpinnerIcon(props){const borderWidth=3;return /*#__PURE__*/ _jsxs(\"div\",{style:{position:\"relative\",...props.style},children:[/*#__PURE__*/ _jsx(motion.div,{animate:{rotate:360},transition:{ease:\"linear\",duration:1,repeat:Infinity},style:{borderRadius:100,backgroundImage:`conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:props.backgroundColor,borderRadius:100,position:\"absolute\",top:borderWidth,left:borderWidth,bottom:borderWidth,right:borderWidth}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ClearIcon\":{\"type\":\"reactComponent\",\"name\":\"ClearIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpinnerIcon\":{\"type\":\"reactComponent\",\"name\":\"SpinnerIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIcon\":{\"type\":\"reactComponent\",\"name\":\"SearchIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map","export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}","// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map","import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const defaultLocaleId=\"default\";export function isDefaultLocaleId(localeId){return!localeId||localeId===\"default\";}const INDEX_KEY=\"searchIndexCache\";function getIndexKey(localeId){if(isDefaultLocaleId(localeId))return INDEX_KEY;return`${INDEX_KEY}-${localeId}`;}const METADATA_KEY=\"searchCacheMetadata\";function getMetadataKey(localeId){if(isDefaultLocaleId(localeId))return METADATA_KEY;return`${METADATA_KEY}-${localeId}`;}export async function getCachedIndex(localeId,indexHash){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst metadataKey=getMetadataKey(localeId);const indexKey=getIndexKey(localeId);const[metadata,cachedIndex]=await Promise.all([checkForCachedData(metadataKey),checkForCachedData(indexKey)]);if(cachedIndex){return{status:indexHash&&metadata?.indexHash===indexHash?\"fresh\":\"stale\",searchIndex:cachedIndex,indexHash:metadata?.indexHash};}return{status:\"miss\"};}export function setCachedIndex(localeId,index,indexHash){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now(),indexHash};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map","// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map","// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map","export const localStorageDebugFlag=(()=>{try{return typeof window!==\"undefined\"&&window.localStorage.__framerDebugSearch===\"true\";}catch(e){// localStorage not available\n}})();const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}export function clampText(text,maxLength){const textLength=text.length;if(textLength<=maxLength){return text;}const slicedText=text.slice(0,maxLength);if(textLength>maxLength){return slicedText+\"…\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){if(theme.inputFont?.fontFamily)return theme.inputFont.fontFamily;if(theme.titleFont?.fontFamily)return theme.titleFont.fontFamily;if(theme.subtitleFont?.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument?.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};export function stripLocaleSlugFromPath(url,localeSlug){if(!localeSlug)return url;const localeSlugWithSlash=`/${localeSlug}`;if(url.startsWith(localeSlugWithSlash)){return url.slice(localeSlugWithSlash.length);}}/**\n * @param isHighPriority If true and `scheduler.yield` is not available, the function will either use `postTask` or if also not available, return a resolved promise.\n */export function yieldToMain(isHighPriority){if(\"scheduler\"in window){// see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n// \"user-blocking\" is the highest priority and creates a paint opportunity.\n// \"user-visible\" is the default, creates a paint opportunity, but has more potential to be delayed (by \"user-blocking\" tasks).\nconst options={priority:isHighPriority?\"user-blocking\":\"user-visible\"};if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if(isHighPriority){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but do not guarantee a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve,0);});}\nexport const __FramerMetadata__ = {\"exports\":{\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}// If a cached index exists, use the cached version until the latest one from the network loads.\nconst cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status!==\"miss\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");if(cacheResult.status===\"fresh\")return;}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);// Happy case.\nif(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Unexpected error.\n// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);// It's safe to cache the fallback because if we're here, current cache is empty or stale.\nsetCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map","// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map","// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale.\n// If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js\";import{useViewportSizeState}from\"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";import{titleCase,DEFAULT_FONT_FAMILY,isEmptyObject,animationKeyFromLayout,checkIfOverLimit}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var EntryPointOptions;// SITE SEARCH\n// By Anthony and Hunter\n(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/_jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/_jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */const EntryPoint=withCSS(function EntryPoint(props){const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=props.inputOptions?.inputFont?.fontSize?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore – Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:props.resultOptions?.titleFont&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:props.resultOptions.subtitleOptions?.subtitleFont&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:props.inputOptions?.inputFont&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",borderRadius:10,padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/_jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`],\"framer-lib-search\");export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore – Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,hidden:props=>props.layoutType===SearchLayoutType.FixedTop},top:{title:\"Top\",type:ControlType.Number,defaultValue:0,min:0,max:1e3,displayStepper:true,hidden:props=>props.layoutType!==SearchLayoutType.FixedTop},heightIsStatic:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Instant\",disabledTitle:\"Animate\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},heightTransition:{title:\"Type\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:800,damping:60},hidden:({heightIsStatic,layoutType})=>layoutType!==SearchLayoutType.QuickMenu||heightIsStatic},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,displayStepper:true,min:0,hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},shadow:{buttonTitle:\"Options\",type:ControlType.Object,defaultValue:{x:0,y:20,blur:40,spread:0,color:\"rgba(0,0,0,0.2)\"},controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.2)\"},x:{type:ControlType.Number,defaultValue:0},y:{type:ControlType.Number,defaultValue:20},blur:{type:ControlType.Number,defaultValue:40},spread:{type:ControlType.Number,defaultValue:0}}},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:\"#FFF\"},[animationKeyFromLayout(SearchLayoutType.QuickMenu)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu,optional:true,buttonTitle:\"Options\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,step:.1,min:0,max:1},scale:{type:ControlType.Number,defaultValue:.75,step:.1,min:0,max:2},// rotate: {\n//     type: ControlType.Number,\n//     defaultValue: 0,\n//     min: -360,\n//     max: 360,\n// },\nx:{type:ControlType.Number,defaultValue:0,min:-500,max:500},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.FixedTop)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.FixedTop,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},y:{type:ControlType.Number,defaultValue:0,min:-100,max:100},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.Sidebar)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.Sidebar,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},x:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3},transition:{type:ControlType.Transition}}}}},resultOptions:{title:\"Results\",buttonTitle:\"Fonts, Style\",type:ControlType.Object,defaultValue:{},// description:\n//     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\ncontrols:{itemType:{title:\"Style\",type:ControlType.Enum,options:Object.values(SearchResultItemType),optionTitles:Object.keys(SearchResultItemType).map(titleCase),defaultValue:SearchResultItemType.FullWidth},titleFont:{title:\"Title\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:15},displayFontSize:true},titleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},titleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultTitleType),optionTitles:Object.keys(SearchResultTitleType).map(titleCase),defaultValue:SearchResultTitleType.H1,displaySegmentedControl:true},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (84a2f33)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/fCi1qWZVIizcZR3KlfXO/kFhok3CiQ4nMO48LBRAO/D1fS_zrfW.js\";const enabledGestures={fDDuFMHox:{hover:true}};const cycleOrder=[\"fDDuFMHox\",\"g8viiZeqO\"];const serializationHash=\"framer-bS4TT\";const variantClassNames={fDDuFMHox:\"framer-v-1fh2yjx\",g8viiZeqO:\"framer-v-1qd0sn6\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:50,delay:0,mass:1,stiffness:300,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 2\":\"g8viiZeqO\",Default:\"fDDuFMHox\"};const getProps=({height,id,link,title,width,...props})=>{return{...props,FcK_TvsYr:title??props.FcK_TvsYr??\"Process\",QuWKPWgPR:link??props.QuWKPWgPR,variant:humanReadableVariantMap[props.variant]??props.variant??\"fDDuFMHox\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,FcK_TvsYr,QuWKPWgPR,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"fDDuFMHox\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:QuWKPWgPR,motionChild:true,nodeId:\"fDDuFMHox\",openInNewTab:false,scopeId:\"okGLtXIaN\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1fh2yjx\",className,classNames)} framer-16xevj4`,\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"fDDuFMHox\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4,...style},variants:{\"fDDuFMHox-hover\":{backgroundColor:\"var(--token-cfb0af42-62a5-486a-837b-9870b5e7030b, rgba(255, 255, 255, 0.05))\"}},...addPropertyOverrides({\"fDDuFMHox-hover\":{\"data-framer-name\":undefined},g8viiZeqO:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-x6ge9v\",\"data-styles-preset\":\"D1fS_zrfW\",children:\"Process\"})}),className:\"framer-odcd3z\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"qWUbCUIbo\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:FcK_TvsYr,verticalAlignment:\"top\",withExternalLayout:true})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-bS4TT.framer-16xevj4, .framer-bS4TT .framer-16xevj4 { display: block; }\",\".framer-bS4TT.framer-1fh2yjx { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 8px 14px 8px 14px; position: relative; text-decoration: none; width: min-content; }\",\".framer-bS4TT .framer-odcd3z { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-bS4TT.framer-v-1qd0sn6.framer-1fh2yjx { cursor: unset; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 33\n * @framerIntrinsicWidth 75.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"g8viiZeqO\":{\"layout\":[\"auto\",\"auto\"]},\"zbsA0uzqW\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"FcK_TvsYr\":\"title\",\"QuWKPWgPR\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerokGLtXIaN=withCSS(Component,css,\"framer-bS4TT\");export default FramerokGLtXIaN;FramerokGLtXIaN.displayName=\"nav items\";FramerokGLtXIaN.defaultProps={height:33,width:75.5};addPropertyControls(FramerokGLtXIaN,{variant:{options:[\"fDDuFMHox\",\"g8viiZeqO\"],optionTitles:[\"Default\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},FcK_TvsYr:{defaultValue:\"Process\",displayTextArea:false,title:\"Title\",type:ControlType.String},QuWKPWgPR:{title:\"Link\",type:ControlType.Link}});addFonts(FramerokGLtXIaN,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerokGLtXIaN\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"FcK_TvsYr\\\":\\\"title\\\",\\\"QuWKPWgPR\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"33\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"g8viiZeqO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"zbsA0uzqW\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"75.5\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./okGLtXIaN.map","// Generated by Framer (06534cb)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"CCzsuFlCd\",\"P6NtMGY4B\"];const serializationHash=\"framer-tpF2z\";const variantClassNames={CCzsuFlCd:\"framer-v-qqoba6\",P6NtMGY4B:\"framer-v-r88wzo\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={closed:\"CCzsuFlCd\",open:\"P6NtMGY4B\"};const getProps=({click,height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"CCzsuFlCd\",W41POyFF1:click??props.W41POyFF1};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,W41POyFF1,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"CCzsuFlCd\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap4k0kw0=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(W41POyFF1){const res=await W41POyFF1(...args);if(res===false)return false;}setVariant(\"P6NtMGY4B\");});const onTap1iuta0k=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(W41POyFF1){const res=await W41POyFF1(...args);if(res===false)return false;}setVariant(\"CCzsuFlCd\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"P6NtMGY4B\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-qqoba6\",className,classNames),\"data-framer-name\":\"closed\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"CCzsuFlCd\",onTap:onTap4k0kw0,ref:refBinding,style:{...style},...addPropertyOverrides({P6NtMGY4B:{\"data-framer-name\":\"open\",onTap:onTap1iuta0k}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1p0y4dr\",\"data-framer-name\":\"line3\",layoutDependency:layoutDependency,layoutId:\"rfNZIpbzU\",style:{backgroundColor:\"rgb(255, 255, 255)\",rotate:0},variants:{P6NtMGY4B:{rotate:45}}}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1xgtgyx\",\"data-framer-name\":\"line2\",layoutDependency:layoutDependency,layoutId:\"ln3xynSIa\",style:{backgroundColor:\"rgb(255, 255, 255)\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-189pjhq\",\"data-framer-name\":\"line 1\",layoutDependency:layoutDependency,layoutId:\"Y8cKx9rvq\",style:{backgroundColor:\"rgb(255, 255, 255)\",rotate:0},variants:{P6NtMGY4B:{rotate:-45}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-tpF2z.framer-284ezr, .framer-tpF2z .framer-284ezr { display: block; }\",\".framer-tpF2z.framer-qqoba6 { cursor: pointer; height: 31px; overflow: hidden; position: relative; width: 31px; }\",\".framer-tpF2z .framer-1p0y4dr { flex: none; height: 2px; left: calc(51.61290322580647% - 27px / 2); overflow: visible; position: absolute; top: 6px; width: 27px; }\",\".framer-tpF2z .framer-1xgtgyx { flex: none; height: 2px; left: calc(51.61290322580647% - 27px / 2); overflow: visible; position: absolute; top: calc(51.61290322580647% - 2px / 2); width: 27px; }\",\".framer-tpF2z .framer-189pjhq { bottom: 5px; flex: none; height: 2px; left: calc(51.61290322580647% - 27px / 2); overflow: visible; position: absolute; width: 27px; }\",\".framer-tpF2z.framer-v-r88wzo.framer-qqoba6 { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 31px); }\",\".framer-tpF2z.framer-v-r88wzo .framer-1p0y4dr { top: calc(51.61290322580647% - 2px / 2); }\",\".framer-tpF2z.framer-v-r88wzo .framer-189pjhq { bottom: unset; top: calc(51.61290322580647% - 2px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 31\n * @framerIntrinsicWidth 31\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"P6NtMGY4B\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"W41POyFF1\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerVMeXd8NFH=withCSS(Component,css,\"framer-tpF2z\");export default FramerVMeXd8NFH;FramerVMeXd8NFH.displayName=\"Navigation/hamburger\";FramerVMeXd8NFH.defaultProps={height:31,width:31};addPropertyControls(FramerVMeXd8NFH,{variant:{options:[\"CCzsuFlCd\",\"P6NtMGY4B\"],optionTitles:[\"closed\",\"open\"],title:\"Variant\",type:ControlType.Enum},W41POyFF1:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerVMeXd8NFH,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerVMeXd8NFH\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"P6NtMGY4B\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"W41POyFF1\\\":\\\"click\\\"}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"31\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"31\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./VMeXd8NFH.map","// Generated by Framer (14b65b1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,ResolveLinks,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/6hLQRNnoGLaKMrTPsfXH/RP1JvWzhU5T9W2MvyIiC/ZlAG9svTx.js\";import CTAButton from\"https://framerusercontent.com/modules/2GJe4lquqLH8qvz1faUB/dYCEGdXDto3nq0mkyw4e/gtiWKd4GS.js\";import NavItems from\"https://framerusercontent.com/modules/nLCydWYnOUOe7bu9F8cB/ZicBIrI10RdrypocCgx3/okGLtXIaN.js\";import NavigationHamburger from\"https://framerusercontent.com/modules/o6RX3GkcUWSjfiwhp884/DchVsro85JLkmg6KjqAt/VMeXd8NFH.js\";const NavigationHamburgerFonts=getFonts(NavigationHamburger);const NavItemsFonts=getFonts(NavItems);const CTAButtonFonts=getFonts(CTAButton);const SearchFonts=getFonts(Search);const cycleOrder=[\"mTD1_52Ht\",\"rTvHqZCst\",\"es3bYLzOk\"];const serializationHash=\"framer-9rteJ\";const variantClassNames={es3bYLzOk:\"framer-v-w6d81f\",mTD1_52Ht:\"framer-v-dfm1g\",rTvHqZCst:\"framer-v-1yd87we\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Mobile open\":\"es3bYLzOk\",Desktop:\"mTD1_52Ht\",Mobileclosed:\"rTvHqZCst\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"mTD1_52Ht\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"mTD1_52Ht\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1tvibfa=activeVariantCallback(async(...args)=>{setVariant(\"rTvHqZCst\");});const W41POyFF111zsr03=activeVariantCallback(async(...args)=>{setVariant(\"es3bYLzOk\");});const W41POyFF11tvibfa=activeVariantCallback(async(...args)=>{setVariant(\"rTvHqZCst\");});const onTapfbk6u9=activeVariantCallback(async(...args)=>{setVariant(\"mTD1_52Ht\");});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"rTvHqZCst\",\"es3bYLzOk\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"rTvHqZCst\",\"es3bYLzOk\"].includes(baseVariant))return false;return true;};const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-dfm1g\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"mTD1_52Ht\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-313dd4d6-9859-4bdd-889b-954a849d13e3, rgb(34, 34, 34))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backdropFilter:\"none\",backgroundColor:\"var(--token-aae92d1e-1be4-447e-8038-565c6944f982, rgb(0, 0, 0))\",WebkitBackdropFilter:\"none\",...style},variants:{es3bYLzOk:{backdropFilter:\"none\",backgroundColor:\"rgb(0, 0, 0)\",WebkitBackdropFilter:\"none\"},rTvHqZCst:{\"--border-color\":\"var(--token-cddd8839-50cd-4074-8da8-8850d0d377b4, rgba(255, 255, 255, 0.1))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(0px)\",backgroundColor:\"rgb(0, 0, 0)\",WebkitBackdropFilter:\"blur(0px)\"}},...addPropertyOverrides({es3bYLzOk:{\"data-framer-name\":\"Mobile open\"},rTvHqZCst:{\"data-framer-name\":\"Mobileclosed\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-23vu2q\",\"data-framer-name\":\"Mobile Closed\",layoutDependency:layoutDependency,layoutId:\"lKIp5rEAN\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"PwqMjMIAg\",openInNewTab:false,scopeId:\"tU8Kt3zaL\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-hr8e5f framer-1mcr0k\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"PwqMjMIAg\",...addPropertyOverrides({es3bYLzOk:{\"data-highlight\":true,onTap:onTap1tvibfa}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"21px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"XTRACT\"})}),className:\"framer-12ij2fm\",fonts:[\"GF;Figtree-700\"],layoutDependency:layoutDependency,layoutId:\"mQjD7H0VE\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({es3bYLzOk:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"21px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"WLSH\"})})},rTvHqZCst:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"21px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"WLSH\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:31,width:\"31px\",...addPropertyOverrides({es3bYLzOk:{y:(componentViewport?.y||0)+16+0+0},rTvHqZCst:{y:(componentViewport?.y||0)+16+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-13h891t-container\",layoutDependency:layoutDependency,layoutId:\"SnI32j_Y_-container\",nodeId:\"SnI32j_Y_\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(NavigationHamburger,{height:\"100%\",id:\"SnI32j_Y_\",layoutId:\"SnI32j_Y_\",style:{height:\"100%\",width:\"100%\"},variant:\"CCzsuFlCd\",width:\"100%\",...addPropertyOverrides({es3bYLzOk:{variant:\"P6NtMGY4B\",W41POyFF1:W41POyFF11tvibfa},rTvHqZCst:{W41POyFF1:W41POyFF111zsr03}},baseVariant,gestureVariant)})})})]}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-f1bk8k\",\"data-framer-name\":\"Mobile Expanded\",layoutDependency:layoutDependency,layoutId:\"h_lJsRPng\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qftt8l\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"ApO7CvIxO\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"hkwxgmCT7\",openInNewTab:false,scopeId:\"tU8Kt3zaL\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-xitmst framer-1mcr0k\",\"data-framer-name\":\"Home\",layoutDependency:layoutDependency,layoutId:\"hkwxgmCT7\",...addPropertyOverrides({es3bYLzOk:{\"data-highlight\":true,onTap:onTap1tvibfa}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"Home\"})}),className:\"framer-1i2v61j\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"eMN1vcuYA\",style:{\"--extracted-r6o4lv\":\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({es3bYLzOk:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"首頁\"})})},rTvHqZCst:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"首頁\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"PnYnZFkf8\"},motionChild:true,nodeId:\"bvGYHMmde\",openInNewTab:false,scopeId:\"tU8Kt3zaL\",smoothScroll:true,...addPropertyOverrides({es3bYLzOk:{href:{webPageId:\"jXl0mdgQ_\"}}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-620txr framer-1mcr0k\",\"data-framer-name\":\"About\",layoutDependency:layoutDependency,layoutId:\"bvGYHMmde\",...addPropertyOverrides({es3bYLzOk:{\"data-highlight\":true,onTap:onTap1tvibfa}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"About\"})}),className:\"framer-1einp13\",\"data-framer-name\":\"About\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"DOjPRBlB0\",style:{\"--extracted-r6o4lv\":\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({es3bYLzOk:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"特約店家總覽\"})})},rTvHqZCst:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"特約店家總覽\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"BrHvGwiT3\"},motionChild:true,nodeId:\"tdJK5hn5j\",openInNewTab:false,scopeId:\"tU8Kt3zaL\",smoothScroll:true,...addPropertyOverrides({es3bYLzOk:{href:{webPageId:\"PnYnZFkf8\"}}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-35b88d framer-1mcr0k\",\"data-framer-name\":\"Blog\",layoutDependency:layoutDependency,layoutId:\"tdJK5hn5j\",...addPropertyOverrides({es3bYLzOk:{\"data-highlight\":true,onTap:onTap1tvibfa}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"Blog\"})}),className:\"framer-xysycf\",\"data-framer-name\":\"Blog\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Vz1VhuCHD\",style:{\"--extracted-r6o4lv\":\"var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({es3bYLzOk:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"特約是什麼\"})})},rTvHqZCst:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-13sktzi\",\"data-styles-preset\":\"ZlAG9svTx\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-55fce8bf-ab86-42dc-8b77-6335cf9cf588, rgb(255, 255, 255)))\"},children:\"特約是什麼\"})})}},baseVariant,gestureVariant)})})})]})}),isDisplayed1()&&/*#__PURE__*/_jsx(Link,{href:\"https://www.wlsh.tyc.edu.tw/\",motionChild:true,nodeId:\"bYvmL5fXX\",openInNewTab:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsxs(motion.a,{className:\"framer-213vcd framer-1mcr0k\",\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"bYvmL5fXX\",style:{borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-mw93t7\",\"data-framer-name\":\"Logo\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"g0voAmkkI\",onTap:onTapfbk6u9,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RmlndHJlZS03MDA=\",\"--framer-font-family\":'\"Figtree\", \"Figtree Placeholder\", sans-serif',\"--framer-font-size\":\"21px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.06em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"WLSH\"})}),className:\"framer-1kxj0v7\",fonts:[\"GF;Figtree-700\"],layoutDependency:layoutDependency,layoutId:\"D0PxgqzvH\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1crjnrv\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"zDONTupKT\",style:{borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1m1tss8\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"UdTaHWMPW\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:33,y:(componentViewport?.y||0)+(10+((componentViewport?.height||65)-20-45)/2)+0+4+2,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-axg5ss-container\",layoutDependency:layoutDependency,layoutId:\"PeS8wHl36-container\",nodeId:\"PeS8wHl36\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(NavItems,{FcK_TvsYr:\"主頁\",height:\"100%\",id:\"PeS8wHl36\",layoutId:\"PeS8wHl36\",QuWKPWgPR:resolvedLinks[0],variant:\"fDDuFMHox\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"jXl0mdgQ_\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:33,y:(componentViewport?.y||0)+(10+((componentViewport?.height||65)-20-45)/2)+0+4+2,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-x8m3iw-container\",layoutDependency:layoutDependency,layoutId:\"bVaVLNaTY-container\",nodeId:\"bVaVLNaTY\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(NavItems,{FcK_TvsYr:\"特約店家總覽\",height:\"100%\",id:\"bVaVLNaTY\",layoutId:\"bVaVLNaTY\",QuWKPWgPR:resolvedLinks1[0],variant:\"fDDuFMHox\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"PnYnZFkf8\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:33,y:(componentViewport?.y||0)+(10+((componentViewport?.height||65)-20-45)/2)+0+4+2,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ymfcpk-container\",layoutDependency:layoutDependency,layoutId:\"qNcRA7Oks-container\",nodeId:\"qNcRA7Oks\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(NavItems,{FcK_TvsYr:\"什麼是特約\",height:\"100%\",id:\"qNcRA7Oks\",layoutId:\"qNcRA7Oks\",QuWKPWgPR:resolvedLinks2[0],variant:\"fDDuFMHox\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1utn9go\",\"data-framer-name\":\"Button\",layoutDependency:layoutDependency,layoutId:\"wDW93XR1d\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,y:(componentViewport?.y||0)+(10+((componentViewport?.height||65)-20-45)/2)+0+4.5+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1hhz98c-container\",layoutDependency:layoutDependency,layoutId:\"XgkMZ7cqE-container\",nodeId:\"XgkMZ7cqE\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(CTAButton,{ae3kdG3b0:\"var(--token-a888adc2-3d05-4d6f-88b7-8dab97418795, rgb(129, 74, 200))\",height:\"100%\",id:\"XgkMZ7cqE\",IHCtoN6iC:false,layoutId:\"XgkMZ7cqE\",NAbd17i0q:\"關於我們\",t90xdY6CE:\"https://www.instagram.com/wlucc_40_nova/\",variant:\"NJ0cRlRKh\",width:\"100%\"})})})})]})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-97ftab-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"KX5Ci7cUk-container\",nodeId:\"KX5Ci7cUk\",rendersWithMotion:true,scopeId:\"tU8Kt3zaL\",children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"rgb(255, 255, 255)\",iconSize:24,iconType:\"default\",id:\"KX5Ci7cUk\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Search...\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"KX5Ci7cUk\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-9rteJ.framer-1mcr0k, .framer-9rteJ .framer-1mcr0k { display: block; }\",\".framer-9rteJ.framer-dfm1g { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; overflow: hidden; padding: 10px 40px 10px 40px; position: relative; width: 1200px; }\",\".framer-9rteJ .framer-23vu2q { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-9rteJ .framer-hr8e5f { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-9rteJ .framer-12ij2fm, .framer-9rteJ .framer-1i2v61j, .framer-9rteJ .framer-1einp13, .framer-9rteJ .framer-xysycf, .framer-9rteJ .framer-1kxj0v7 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-9rteJ .framer-13h891t-container { flex: none; height: 31px; position: relative; width: 31px; }\",\".framer-9rteJ .framer-f1bk8k { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 15px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-9rteJ .framer-1qftt8l { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: wrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-9rteJ .framer-xitmst, .framer-9rteJ .framer-620txr, .framer-9rteJ .framer-35b88d { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 25px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-9rteJ .framer-213vcd { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1200px; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: 1px; }\",\".framer-9rteJ .framer-mw93t7 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-9rteJ .framer-1crjnrv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 4px 0px 4px 0px; position: relative; width: min-content; }\",\".framer-9rteJ .framer-1m1tss8 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 2px; height: min-content; justify-content: center; overflow: visible; padding: 2px 0px 2px 0px; position: relative; width: min-content; }\",\".framer-9rteJ .framer-axg5ss-container, .framer-9rteJ .framer-x8m3iw-container, .framer-9rteJ .framer-ymfcpk-container, .framer-9rteJ .framer-1hhz98c-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-9rteJ .framer-1utn9go { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-9rteJ .framer-97ftab-container { cursor: pointer; flex: none; height: 40px; position: relative; width: 40px; }\",\".framer-9rteJ.framer-v-1yd87we.framer-dfm1g { flex-direction: column; height: 64px; justify-content: flex-start; padding: 16px 20px 20px 20px; width: 340px; }\",\".framer-9rteJ.framer-v-1yd87we .framer-23vu2q, .framer-9rteJ.framer-v-1yd87we .framer-f1bk8k { flex: none; width: 100%; }\",\".framer-9rteJ.framer-v-w6d81f.framer-dfm1g { flex-direction: column; justify-content: flex-start; padding: 16px 20px 20px 20px; width: 340px; }\",\".framer-9rteJ.framer-v-w6d81f .framer-23vu2q { flex: none; order: 0; width: 100%; }\",\".framer-9rteJ.framer-v-w6d81f .framer-hr8e5f { cursor: pointer; order: 0; }\",\".framer-9rteJ.framer-v-w6d81f .framer-13h891t-container { order: 1; }\",\".framer-9rteJ.framer-v-w6d81f .framer-f1bk8k { flex: none; order: 1; width: 100%; }\",\".framer-9rteJ.framer-v-w6d81f .framer-xitmst, .framer-9rteJ.framer-v-w6d81f .framer-620txr, .framer-9rteJ.framer-v-w6d81f .framer-35b88d { cursor: pointer; }\",\".framer-9rteJ.framer-v-w6d81f .framer-97ftab-container { order: 2; }\",...sharedStyle.css,'.framer-9rteJ[data-border=\"true\"]::after, .framer-9rteJ [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 65\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"rTvHqZCst\":{\"layout\":[\"fixed\",\"fixed\"]},\"es3bYLzOk\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramertU8Kt3zaL=withCSS(Component,css,\"framer-9rteJ\");export default FramertU8Kt3zaL;FramertU8Kt3zaL.displayName=\"Navigation/Navbar\";FramertU8Kt3zaL.defaultProps={height:65,width:1200};addPropertyControls(FramertU8Kt3zaL,{variant:{options:[\"mTD1_52Ht\",\"rTvHqZCst\",\"es3bYLzOk\"],optionTitles:[\"Desktop\",\"Mobileclosed\",\"Mobile open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramertU8Kt3zaL,[{explicitInter:true,fonts:[{family:\"Figtree\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/figtree/v8/_Xmz-HUzqDCFdgfMsYiV_F7wfS-Bs_eYR15bwkEU4HTy.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...NavigationHamburgerFonts,...NavItemsFonts,...CTAButtonFonts,...SearchFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertU8Kt3zaL\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"65\",\"framerIntrinsicWidth\":\"1200\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"rTvHqZCst\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"es3bYLzOk\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tU8Kt3zaL.map","// Generated by Framer (14b65b1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,Container,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FooterCopyright from\"#framer/local/canvasComponent/f4wi8mavv/f4wi8mavv.js\";import Footer from\"#framer/local/canvasComponent/nr4UGyIqQ/nr4UGyIqQ.js\";import NavigationNavbar from\"#framer/local/canvasComponent/tU8Kt3zaL/tU8Kt3zaL.js\";const NavigationNavbarFonts=getFonts(NavigationNavbar);const ContainerWithOptimizedAppearEffect=withOptimizedAppearEffect(Container);const FooterFonts=getFonts(Footer);const FooterCopyrightFonts=getFonts(FooterCopyright);const breakpoints={hhavd9qeK:\"(max-width: 809.98px)\",I3HV4ZdqX:\"(min-width: 1200px)\",lkqvxHedN:\"(min-width: 810px) and (max-width: 1199.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-2cZml\";const variantClassNames={hhavd9qeK:\"framer-v-h7qui\",I3HV4ZdqX:\"framer-v-1kjwutx\",lkqvxHedN:\"framer-v-1jtl6r4\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const transition1={damping:60,delay:1.2,mass:1,stiffness:320,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:-150};const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-2cZml.framer-1n220bo, .framer-2cZml .framer-1n220bo { display: block; }\",\".framer-2cZml.framer-1kjwutx { align-content: center; align-items: center; background-color: var(--token-aae92d1e-1be4-447e-8038-565c6944f982, #000000); display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-2cZml .framer-eumtsr-container { flex: none; height: auto; left: 50%; order: -1000; position: var(--framer-canvas-fixed-position, fixed); top: 0px; width: 100%; will-change: var(--framer-will-change-effect-override, transform); z-index: 4; }\",\".framer-2cZml .framer-1vlob5l { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-2cZml .framer-ynm0sg-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; }\",\".framer-2cZml .framer-diqy4o-container { flex: none; height: auto; order: 1003; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={hhavd9qeK:\"(max-width: 809.98px)\",I3HV4ZdqX:\"(min-width: 1200px)\",lkqvxHedN:\"(min-width: 810px) and (max-width: 1199.98px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={Desktop:\"I3HV4ZdqX\",Phone:\"hhavd9qeK\",Tablet:\"lkqvxHedN\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"I3HV4ZdqX\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"I3HV4ZdqX\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: var(--token-aae92d1e-1be4-447e-8038-565c6944f982, rgb(0, 0, 0)); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-1kjwutx\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:65,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(ContainerWithOptimizedAppearEffect,{animate:animation,className:\"framer-eumtsr-container\",\"data-framer-appear-id\":\"eumtsr\",\"data-framer-layout-hint-center-x\":true,initial:animation1,layoutScroll:true,nodeId:\"xBJaRcVxR\",optimized:true,rendersWithMotion:true,scopeId:\"pNjiZiXVn\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{hhavd9qeK:{variant:\"rTvHqZCst\"}},children:/*#__PURE__*/_jsx(NavigationNavbar,{height:\"100%\",id:\"xBJaRcVxR\",layoutId:\"xBJaRcVxR\",style:{width:\"100%\"},variant:\"mTD1_52Ht\",width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1vlob5l\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:311,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-ynm0sg-container\",nodeId:\"A6yqB9TWG\",scopeId:\"pNjiZiXVn\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{hhavd9qeK:{variant:\"FfBnsZGMx\"}},children:/*#__PURE__*/_jsx(Footer,{height:\"100%\",id:\"A6yqB9TWG\",layoutId:\"A6yqB9TWG\",style:{width:\"100%\"},variant:\"ieOfW1kTV\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:67,width:\"100vw\",y:1311,children:/*#__PURE__*/_jsx(Container,{className:\"framer-diqy4o-container\",\"data-framer-name\":\"Copyright\",name:\"Copyright\",nodeId:\"lyheV5DGo\",scopeId:\"pNjiZiXVn\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{hhavd9qeK:{variant:\"rCHd_9yGU\"}},children:/*#__PURE__*/_jsx(FooterCopyright,{height:\"100%\",id:\"lyheV5DGo\",layoutId:\"lyheV5DGo\",name:\"Copyright\",style:{width:\"100%\"},variant:\"lmYNnZCr1\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"lkqvxHedN\":{\"layout\":[\"fixed\",\"fixed\"]},\"hhavd9qeK\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"I3HV4ZdqX\":[\".framer-eumtsr-container\",\".framer-ynm0sg-container\",\".framer-diqy4o-container\"],\"lkqvxHedN\":[\".framer-eumtsr-container\",\".framer-ynm0sg-container\",\".framer-diqy4o-container\"],\"hhavd9qeK\":[\".framer-eumtsr-container\",\".framer-ynm0sg-container\",\".framer-diqy4o-container\"]}\n * @framerBreakpoints {\"I3HV4ZdqX\":{\"min\":1200,\"canvasClassName\":\"framer-1kjwutx-override\",\"minHeight\":1000,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16},\"lkqvxHedN\":{\"min\":810,\"max\":1199,\"canvasClassName\":\"framer-1jtl6r4-override\",\"minHeight\":1000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"hhavd9qeK\":{\"max\":809,\"canvasClassName\":\"framer-h7qui-override\",\"minHeight\":1000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant I3HV4ZdqX\n * @framerLayoutTemplate\n */const FramerpNjiZiXVn=withCSS(Component,css,\"framer-2cZml\");export default FramerpNjiZiXVn;FramerpNjiZiXVn.displayName=\"Navigation\";FramerpNjiZiXVn.defaultProps={height:1e3,width:1200};addFonts(FramerpNjiZiXVn,[{explicitInter:true,fonts:[]},...NavigationNavbarFonts,...FooterFonts,...FooterCopyrightFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerpNjiZiXVn\",\"slots\":[],\"annotations\":{\"framerBreakpoints\":\"{\\\"I3HV4ZdqX\\\":{\\\"min\\\":1200,\\\"canvasClassName\\\":\\\"framer-1kjwutx-override\\\",\\\"minHeight\\\":1000,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16},\\\"lkqvxHedN\\\":{\\\"min\\\":810,\\\"max\\\":1199,\\\"canvasClassName\\\":\\\"framer-1jtl6r4-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"hhavd9qeK\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-h7qui-override\\\",\\\"minHeight\\\":1000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"lkqvxHedN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"hhavd9qeK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerHitTargets\":\"{\\\"I3HV4ZdqX\\\":[\\\".framer-eumtsr-container\\\",\\\".framer-ynm0sg-container\\\",\\\".framer-diqy4o-container\\\"],\\\"lkqvxHedN\\\":[\\\".framer-eumtsr-container\\\",\\\".framer-ynm0sg-container\\\",\\\".framer-diqy4o-container\\\"],\\\"hhavd9qeK\\\":[\\\".framer-eumtsr-container\\\",\\\".framer-ynm0sg-container\\\",\\\".framer-diqy4o-container\\\"]}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerDefaultVariant\":\"I3HV4ZdqX\",\"framerDisplayContentsDiv\":\"false\",\"framerLayoutTemplate\":\"\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n        import * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport Navigation from \"https://framerusercontent.com/modules/vQjFc0e7iAbZkmecOJ93/L3Ytv5lpsGO5omM99PFS/pNjiZiXVn.js\";\r\n\r\n        const routes = {augiA20Il: {elements: {frb2UA_Bc: \"workflow-automation\", shuBCQJ3E: \"services\", yvyVUvNav: \"ai-assistant\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bG0JJbV2JqisktX3z6vi/rbbX11SnYsVlDopy9Jfn/augiA20Il.js\")), path: \"/\"}, PnYnZFkf8: {elements: {PbaUBmoUz: \"valuegridtrigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ge77rL6452dy7hqjXOg2/fBVdOu0CNYcqtRT8Zyve/PnYnZFkf8.js\")), path: \"/什麼是特約\"}, m1q5ougK2: {elements: {ZBZKFToOt: \"valuegridtrigger\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/VFBpHUgBkO8In2dbIH67/CNO2nheiqEv70tvpOdFc/m1q5ougK2.js\")), path: \"/墊腳石專區\"}, jXl0mdgQ_: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/OKoRD6W4K6MtuEuhEzvJ/qGM8T6gbyGzNaBAHUw8m/jXl0mdgQ_.js\")), path: \"/特約店家總覽-2\"}, wooaRsCYg: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/QOsgtmGpn5seJHOa7pW4/Ty68OXLB1lcHZk6flodT/wooaRsCYg.js\")), path: \"/市府\"}, TRTKfL3im: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/O7GL272ndX59LH33EDIf/iMmSPLuyzjPD1XjBuvsB/TRTKfL3im.js\")), path: \"/武陵\"}, wSANW9jmg: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/PlWkRsgL9zvKAzpaPJqd/pavDkChj4KMsXHw4j8QI/wSANW9jmg.js\")), path: \"/桃火\"}, TFl2HPiX5: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/GoGBYYj8NqddOl3EXJBE/Y3pBpy00lDcR2rA7ZnMd/TFl2HPiX5.js\")), path: \"/藝文大有\"}, tR7jF80vn: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/0psuDbXhqmuo0USbEY4P/p2b6zQA5xtnncYbWNG0y/tR7jF80vn.js\")), path: \"/中壢火車站中原\"}, S8jEF8lnv: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/93Y6fGtA6l8yPckDm7ax/noGCCGTJlLjYpx5tEUbY/S8jEF8lnv.js\")), path: \"/平鎮楊梅\"}, aMHbd4Q_v: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vkmBSQf7mOYawieq1pFN/E9E4CyVrTvbBUa8yAZR2/aMHbd4Q_v.js\")), path: \"/南崁龜山\"}, NDwBSTaWB: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/fb6CYcdRKJ4M6kPhlHBu/BQUejoxaF9AP2HtVzqJN/NDwBSTaWB.js\")), path: \"/內壢八德\"}, f1h11SRXt: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/WZu4X2AFeYiLoUBjxemu/kUUF22RudGADeA1W3ZZG/f1h11SRXt.js\")), path: \"/大園大竹\"}, f8XgDUBHu: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/ZxGcRJU3v261lgKLbk2p/agm5H7Q98vBDIlm7D5Zx/f8XgDUBHu.js\")), path: \"/大溪龍潭\"}, QfvpVOYpN: {collectionId: \"VGIpJvAdb\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/hcRUkg8CgEdmzt5LXlYl/0EQwSRyqqgfCwKFjW3bN/QfvpVOYpN.js\")), path: \"/市府/:Ws_MRUmqo\"}, prq96OnfU: {collectionId: \"UTsmFIVvI\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/M5lpdqd5CMYn95tBHj7o/WpBzpwuspIZnrw3lik45/prq96OnfU.js\")), path: \"/武陵/:XccHmuNEj\"}, NdE0SQfFn: {collectionId: \"x0qHlXWvJ\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/DTsOnDeT0TGj7jxlXHq6/K5gEaZlVenRXVV61mmxF/NdE0SQfFn.js\")), path: \"/桃火/:obKeYVPrp\"}, qd_5de4T7: {collectionId: \"KLI7jsHCq\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/vPHDQbZBioneplWSsmUZ/mEuQj1WRXjB6nOJERZC1/qd_5de4T7.js\")), path: \"/藝文大有/:gEUIR0jZX\"}, CJxmUectR: {collectionId: \"FFSR9EFii\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/yjrS7Qhwa5NIM9c70G0q/Jylu1Lapln23vQKFfNh0/CJxmUectR.js\")), path: \"/中壢火車站中原/:EYP5WUeD0\"}, UuwKBmKv6: {collectionId: \"ECgfRkqvV\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/lz5YmvaFLavBZ4YJVX4c/H8fuid1YBtHVSx2Xajac/UuwKBmKv6.js\")), path: \"/平鎮楊梅/:GJvdlTpOP\"}, siTgy3vmW: {collectionId: \"ke23iSfk6\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/FjSdxrRJE1MaugNjzr2m/Fdwbb3hSWhsplYM8trM2/siTgy3vmW.js\")), path: \"/南崁龜山/:LiEIxM6x4\"}, TqEkoOrgi: {collectionId: \"TgFMHvZyi\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/pWijj1XaS43GDOJp4lPN/DXsm4mxohX4e4zvdxUwc/TqEkoOrgi.js\")), path: \"/內壢八德/:hic_77tC_\"}, Dv6J97ni1: {collectionId: \"TctxIyeH3\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/AAv7xlZsEXNvpbExxMVT/tjl7wS6Zq9hKb9E57Zzl/Dv6J97ni1.js\")), path: \"/大園大竹/:eXm8uqcMq\"}, AUK1OwEG2: {collectionId: \"wMR0lPJ6b\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/DOQTIIOtcrnxOo8oXING/BJ4bBmPVLiDX2T4JmLJp/AUK1OwEG2.js\")), path: \"/大溪龍潭/:GUfPfsEjU\"}}\r\n\r\n        const locales = [{code: \"zh-Hant-TW\", id: \"default\", name: \"Chinese\", slug: \"\"}]\r\n        const collectionUtils = {ECgfRkqvV: async () => (await import(\"https://framerusercontent.com/modules/Yjlz2AJfmDAsrlY5zSds/G8SgmMh3JuLQKNfjHKLl/ECgfRkqvV.js\"))?.[\"utils\"], FFSR9EFii: async () => (await import(\"https://framerusercontent.com/modules/ZH5r4IIVlN1slUBuPm82/8qreYnozS0REO9wGutWf/FFSR9EFii.js\"))?.[\"utils\"], ke23iSfk6: async () => (await import(\"https://framerusercontent.com/modules/ncfMGIjAH3l54RlQzhMS/NqzQe8ACsPupR0xc85hJ/ke23iSfk6.js\"))?.[\"utils\"], KLI7jsHCq: async () => (await import(\"https://framerusercontent.com/modules/p5Midpljo0gPXA1f43UW/1X47qIDJ0LGXP7UcTJC3/KLI7jsHCq.js\"))?.[\"utils\"], TctxIyeH3: async () => (await import(\"https://framerusercontent.com/modules/KsZd8RueTU9pPEHzJoXK/bzPm6IVvuKS7X7gTi3I5/TctxIyeH3.js\"))?.[\"utils\"], TgFMHvZyi: async () => (await import(\"https://framerusercontent.com/modules/96RU5dbqSwqwWqbUrWD1/kXIgKMPcWIaSolhheMhS/TgFMHvZyi.js\"))?.[\"utils\"], UTsmFIVvI: async () => (await import(\"https://framerusercontent.com/modules/Mvz78V4CKb09WLjTwBwv/J5aavu4G2L2sWBH8LU8J/UTsmFIVvI.js\"))?.[\"utils\"], VGIpJvAdb: async () => (await import(\"https://framerusercontent.com/modules/dflvJzbFGNjuKDEmaCBi/imt7e53hctRHaSXYtm3W/VGIpJvAdb.js\"))?.[\"utils\"], wMR0lPJ6b: async () => (await import(\"https://framerusercontent.com/modules/hZHcDed7LptDJ2zC7PiZ/6ZXZeGqNMexn9w6QsWZF/wMR0lPJ6b.js\"))?.[\"utils\"], x0qHlXWvJ: async () => (await import(\"https://framerusercontent.com/modules/e6UcmUg8sAFOnBOHr8xC/fVYHjlsZGqhbmaVsfz0c/x0qHlXWvJ.js\"))?.[\"utils\"]}\r\n        const framerSiteId = \"97951046418934478cc16711aa4a8b5133e3781289314d5b298f1904b7ea13d2\"\r\n        function Template({routeId, children, style, ...rest}) {const templateProps = {}\r\nconst props = templateProps[routeId] ?? {}\r\nswitch (routeId) {case \"augiA20Il\":\r\ncase \"PnYnZFkf8\":\r\ncase \"m1q5ougK2\":\r\ncase \"jXl0mdgQ_\":\r\ncase \"pIiI_277c\":\r\ncase \"wooaRsCYg\":\r\ncase \"TRTKfL3im\":\r\ncase \"wSANW9jmg\":\r\ncase \"TFl2HPiX5\":\r\ncase \"tR7jF80vn\":\r\ncase \"S8jEF8lnv\":\r\ncase \"aMHbd4Q_v\":\r\ncase \"NDwBSTaWB\":\r\ncase \"f1h11SRXt\":\r\ncase \"f8XgDUBHu\":\r\ncase \"QfvpVOYpN\":\r\ncase \"prq96OnfU\":\r\ncase \"NdE0SQfFn\":\r\ncase \"qd_5de4T7\":\r\ncase \"CJxmUectR\":\r\ncase \"UuwKBmKv6\":\r\ncase \"siTgy3vmW\":\r\ncase \"TqEkoOrgi\":\r\ncase \"Dv6J97ni1\":\r\ncase \"AUK1OwEG2\":\r\nreturn React.createElement(Navigation, {...props, key: \"Navigation\", routeId, style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"PnYnZFkf8\":\r\ncase \"m1q5ougK2\":\r\ncase \"jXl0mdgQ_\":\r\ncase \"pIiI_277c\":\r\ncase \"wooaRsCYg\":\r\ncase \"TRTKfL3im\":\r\ncase \"wSANW9jmg\":\r\ncase \"TFl2HPiX5\":\r\ncase \"tR7jF80vn\":\r\ncase \"S8jEF8lnv\":\r\ncase \"aMHbd4Q_v\":\r\ncase \"NDwBSTaWB\":\r\ncase \"f1h11SRXt\":\r\ncase \"f8XgDUBHu\":\r\ncase \"QfvpVOYpN\":\r\ncase \"prq96OnfU\":\r\ncase \"NdE0SQfFn\":\r\ncase \"qd_5de4T7\":\r\ncase \"CJxmUectR\":\r\ncase \"UuwKBmKv6\":\r\ncase \"siTgy3vmW\":\r\ncase \"TqEkoOrgi\":\r\ncase \"Dv6J97ni1\":\r\ncase \"AUK1OwEG2\":\r\nreturn [{hash: \"1kjwutx\", mediaQuery: \"(min-width: 1200px)\"}, {hash: \"1jtl6r4\", mediaQuery: \"(min-width: 810px) and (max-width: 1199.98px)\"}, {hash: \"h7qui\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n        export async function getPageRoot({ routeId, pathVariables, localeId }) {\r\n            const rootPreload = routes[routeId].page.preload()\r\n\r\n            const content = React.createElement(\r\n                Framer.PageRoot,\r\n                {\r\n                    isWebsite: true,\r\n                    routeId,\r\n                    pathVariables,\r\n                    routes,\r\n                    collectionUtils,\r\n                    framerSiteId,\r\n                    notFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n                    isReducedMotion: undefined,\r\n                    localeId,\r\n                    locales,\r\n                    preserveQueryParams: undefined,\r\n                    siteCanonicalURL: \"https://wlucc40.framer.website\",\r\n                    EditorBar: \r\n            typeof window !== \"undefined\" ? (() => {\r\n                const isBot = /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n                if (isBot) {\r\n                    console.log(\"[Framer Editor Bar] Unavailable because navigator is bot\")\r\n                    return\r\n                }\r\n\r\n                return Framer.lazy(async () => {\r\n                    const dependencies = {\r\n                        __version: 2,\r\n                        framer: {\r\n                            useCurrentRoute: Framer.useCurrentRoute,\r\n                            useLocaleInfo: Framer.useLocaleInfo,\r\n                            useRouter: Framer.useRouter,\r\n                        },\r\n                        react: {\r\n                            createElement: React.createElement,\r\n                            Fragment: React.Fragment,\r\n                            memo: React.memo,\r\n                            useCallback: React.useCallback,\r\n                            useEffect: React.useEffect,\r\n                            useRef: React.useRef,\r\n                            useState: React.useState,\r\n                        },\r\n                        \"react-dom\": { createPortal },\r\n                    }\r\n\r\n                    window.__framer_editorBarDependencies = dependencies\r\n\r\n                    const { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n                    return {\r\n                        default: createEditorBar(),\r\n                    }\r\n                })\r\n            })() : undefined\r\n        ,\r\n                    LayoutTemplate: Template,\r\n                }\r\n            )\r\n\r\n            const contentWithFeaturesContext = React.createElement(\r\n                Framer.LibraryFeaturesProvider,\r\n                {\r\n                    children: content,\r\n                    value: {cssCollector: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, motionDivToDivBackgroundImage: true, pauseOffscreen: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n                }\r\n            )\r\n\r\n            const contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n                children: contentWithFeaturesContext\r\n            })\r\n\r\n            \r\n            const page = React.createElement(Framer.PageEffectsProvider, {\r\n                children: contentWithGracefullyDegradingErrorBoundary,\r\n                value: {global: {enter: {opacity: 0, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}, routes: {}}\r\n            })\r\n\r\n            // We don't want the initial render to immediately have to suspend.\r\n            await rootPreload\r\n            return page\r\n        }\r\n\r\n        const isBrowser = typeof document !== \"undefined\"\r\n        if (isBrowser) {\r\n            window.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n                return React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n            }\r\n\r\n            // A lot of libraries assume process.env.NODE_ENV is present in runtime/buildtime, so we are polyfilling it\r\n            window.process = {\r\n                ...window.process,\r\n                env: {\r\n                    ...(window.process ? window.process.env: undefined),\r\n                    NODE_ENV: \"production\"\r\n                }\r\n            }\r\n\r\n            window.__framer_events = window.__framer_events || []\r\n\r\n            // Fallback support for stack gaps\r\n            Framer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n            const container = document.getElementById(\"main\")\r\n            // We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n            if (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n            else main(false, container)\r\n        }\r\n\r\n        function track() {\r\n            if (!isBrowser) return\r\n            window.__framer_events.push(arguments)\r\n        }\r\n\r\n        async function main(shouldHydrate, container) {\r\n            function handleError(error, errorInfo, recoverable = true) {\r\n                if (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n                const componentStack = errorInfo?.componentStack\r\n                if (recoverable) {\r\n                    console.warn(\"Recoverable error has happened. Please check any custom code or code overrides to fix server/client mismatches:\\n\", error, componentStack)\r\n                    // we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n                    if (Math.random() > 0.01) return\r\n                } else {\r\n                    console.error(\"Fatal crash has happened. If you are the author of this website, please report this issue to the Framer team via https://www.framer.community/:\\n\", error, componentStack)\r\n                }\r\n                track(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n                    message: String(error),\r\n                    componentStack, // componentStack is more useful\r\n                    stack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n                })\r\n            }\r\n\r\n            try {\r\n                let routeId, localeId, pathVariables, breakpoints\r\n                if (shouldHydrate) {\r\n                    const routeData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                    breakpoints = routeData.breakpoints\r\n\r\n                    routeId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n                } else {\r\n                    Framer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n                    const routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n                    routeId = routeData.routeId\r\n                    localeId = routeData.localeId\r\n                    pathVariables = routeData.pathVariables\r\n                }\r\n\r\n                const pagePromise = getPageRoot({ routeId, localeId, pathVariables })\r\n\r\n                \r\nif (typeof window !== \"undefined\") {\r\n    void (async () => {\r\n        const route = routes[routeId]\r\n\r\n        const defaultLocaleId = \"default\"\r\n        const framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n        let collectionItemId = null\r\n        if (route?.collectionId && collectionUtils) {\r\n              const utils = await collectionUtils[route.collectionId]?.()\r\n              const [slug] = Object.values(pathVariables)\r\n              if (utils && typeof slug === \"string\") {\r\n                  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n              }\r\n        }\r\n\r\n        const resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n        const timezone = resolvedDateTimeOptions.timeZone\r\n        const locale = resolvedDateTimeOptions.locale\r\n\r\n        // wait for the page to be activated before sending the pageview event\r\n        // https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n        await new Promise((resolve) => {\r\n            if (document.prerendering) {\r\n                document.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n            } else {\r\n                resolve()\r\n            }\r\n        })\r\n\r\n        window.__framer_events.push([\r\n            \"published_site_pageview\",\r\n            {\r\n                framerSiteId: framerSiteId ?? null,\r\n                version: 2,\r\n                routePath: route?.path || \"/\",\r\n                collectionItemId,\r\n                framerLocale: framerLocale || null,\r\n                webPageId: route?.abTestingVariantId ?? routeId,\r\n                abTestId: route?.abTestId,\r\n                referrer: document.referrer || null,\r\n                url: window.location.href,\r\n                hostname: window.location.hostname || null,\r\n                pathname: window.location.pathname || null,\r\n                hash: window.location.hash || null,\r\n                search: window.location.search || null,\r\n                timezone,\r\n                locale,\r\n            },\r\n            \"eager\"\r\n        ])\r\n\r\n        // Yield to avoid blocking the main thread with the user code\r\n        await Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n        document.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n            detail: { framerLocale: framerLocale || null }\r\n        }))\r\n    })()\r\n}\r\n\r\n\r\n                const page = await pagePromise\r\n                if (shouldHydrate) {\r\n                    \r\n\r\n                    Framer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n                        Framer.removeHiddenBreakpointLayersV2(breakpoints)\r\n                        window.__framer_onRewriteBreakpoints?.(breakpoints)\r\n                    })\r\n\r\n                    \r\n\r\n                    const startTransition = React.startTransition\r\n                    startTransition(() => {\r\n                        Framer.markHydrationStart()\r\n                        if (true) Framer.turnOffReactEventHandling()\r\n                        ReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n                    })\r\n                } else {\r\n                    \r\n                    ReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n                }\r\n            } catch (error) {\r\n                handleError(error, undefined, false)\r\n                throw error\r\n            }\r\n        }\r\n\r\n        \r\n\r\n        \r\n        ;(function () {\r\n            if (!isBrowser) return\r\n\r\n            React.startTransition(() => {\r\n                ReactDOM.hydrateRoot(\r\n                    document.getElementById(\"__framer-badge-container\"),\r\n                    React.createElement(React.Suspense, {}, React.createElement(React.lazy(() => import(\"__framer-badge\"))))\r\n                )\r\n            })\r\n        })()\r\n    "],"mappings":"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"}