{"version":3,"file":"shared-lib.CPE4wtrl.mjs","names":["isDefaultLocaleId","getIndexKey","INDEX_KEY","getMetadataKey","METADATA_KEY","getCachedIndex","setCachedIndex","VERSION","titleCase","clampText","isEmptyObject","createLogger","getFontFamily","animationKeyFromLayout","getMetaTagContent","safeDocument","localStorageDebugFlag","DEFAULT_FONT_FAMILY","safeWindow","checkIfOverLimit","splitWords","getUniqueWords","getNormalizedString","getNormalizedItem","getMatchRange","getScoreForSearchIndexItem","getSearchIndexItemScore","useRawSearch","useMemo","safeWindow","SearchResultTitleType","getIndexedScopedToUrl","useSearch","useState","safeDocument","getCachedIndex","isDefaultLocaleId","createLogger","localStorageDebugFlag","useRef","useCallback","ClearButton","Divider","QuickMenuSpacer","LayoutContainer","getLayoutBaseStyles","layoutContainerStyle","animationKeyFromLayout","ModalContainer","MODAL_MAX_HEIGHT","StatusMessage","VERTICAL_SPACING_MULTIPLIER","statusStyle","getFontFamily","sidebarStyles","fixedTopStyles","quickMenuStyles","SearchModal","useRef","useState","useDeferredValue","useSearch","useCallback","Input","ScrollView","ResultRow","resultTitle","MAX_DESCRIPTION_LENGTH","inputContainerStyle","inputStyle","useMemo","clampText","resultContainer","localStorageDebugFlag","React","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","useState","buildShadow","EntryPointOptions","Overlay","bodyOverflowHidden","backdropStyles","SearchLayoutType","SearchModal","containerStyle","EntryPoint","useRef","useState","checkIfOverLimit","isEmptyObject","DEFAULT_FONT_FAMILY","SearchIconType","titleCase","SearchInputDividerType","SearchInputClearButtonType","animationKeyFromLayout","SearchResultItemType","SearchResultTitleType","SearchResultSubtitleType","splitWordsRegex","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","useState","useTransition","SearchResultTitleType","useRef","useState","useDeferredValue","useCallback","useMemo","React","Overlay","useRef","useState","useMemo","useRef","useState","HomeFactory","React","addPropertyOverrides","Hero","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","SVG","Image1","addPropertyOverrides","PageIcon","cycleOrder","serializationHash","variantClassNames","transition1","matchVariant","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","RichText","Search","Search1","Page","OverlayButton","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","React.useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js","https:/framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js","https:/framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js","https:/framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16","https:/framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/PCK1x1QLNluYNoEoapwx/cachedIndex.js","https:/framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js","https:/framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/UyHGCSLuZlZBvIaCnOlc/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/aWhJiXNIMoaQYpujUXUs/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/QejHL5hPQ9rrl5Yt1GTZ/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/1IvEaemyvBf5Jspg76L8/Search.js","https:/framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.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/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js","https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/eTFACFXlvp5mgG2YpBpd/wqDmZcxkThZ32xkBavIK/Home.js","https:/framer.com/m/hero-icons/Home.js@0.0.28","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/hKjtTuWGYB451ckw6eTN/bbq95ZQZ142lE2fXscHd/Hero.js","https:/framerusercontent.com/modules/vToGAVnHPmidFONPmM66/B5g2hf6FnqOgUdzl1zUq/ifTAtM1wX.js","https:/framerusercontent.com/modules/4jUOq9Ryl01UtvIfTSea/l9Ztt4Ej455QG6NQF1H2/H0RoXk1et.js","https:/framerusercontent.com/modules/qs6NLWYvKKulxTiP69gM/ORoEqMy5uIY1FxfTl4Q3/WFxVXvrEE.js","https:/framerusercontent.com/modules/gz2aTe1QPuebrG4oof2I/gBAqRZNzxAxh4R17kpxE/QRuLjDvw5.js","https:/framerusercontent.com/modules/1mg6LeEdfymrBnRWn4SK/3oC8qyLGqN10xIKoG4Fl/siteMetadata.js"],"sourcesContent":["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","/*\n * cache\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js\"\n","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){// 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 indexKey=getIndexKey(localeId);const cachedIndex=await checkForCachedData(indexKey);if(cachedIndex){return cachedIndex;}}export function setCachedIndex(localeId,index){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now()};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isDefaultLocaleId\":{\"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=\"undefined\"!=typeof window&&\"true\"===window.localStorage.getItem(\"__framerDebugSearch\");let e=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function t(e){return e.charAt(0).toUpperCase()+e.slice(1);}export function titleCase(o){let n=o.match(e)||[];return n.map(t).join(\" \");}export function clampText(e,t){let o=e.length;if(o<=t)return e;let n=e.slice(0,t);return o>t?n+\"…\":n;}export function isEmptyObject(e){return 0===Object.keys(e).length;}export function createLogger(e){function t(){}return e?{log:function(...e){console.log(Date.now(),...e);},time:function(e){console.time(e);},timeEnd:function(e){console.timeEnd(e);}}:{log:t,time:t,timeEnd:t};}export const DEFAULT_FONT_FAMILY='\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"';export function getFontFamily(e){var t,o,n;return(null===(t=e.inputFont)||void 0===t?void 0:t.fontFamily)?e.inputFont.fontFamily:(null===(o=e.titleFont)||void 0===o?void 0:o.fontFamily)?e.titleFont.fontFamily:(null===(n=e.subtitleFont)||void 0===n?void 0:n.fontFamily)?e.subtitleFont.fontFamily:'\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"';}export function animationKeyFromLayout(e){return`${e}Animation`;}export const safeDocument=\"undefined\"!=typeof document?document:null;export const safeWindow=\"undefined\"!=typeof window?window:null;let o='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){let e=null==safeDocument?void 0:safeDocument.querySelector('meta[name=\"framer-search-index\"]');if(!e)return;let t=e.getAttribute(\"content\");return t;}export const checkIfOverLimit=()=>\"limit-reached\"===getMetaTagContent();\nexport const __FramerMetadata__ = {\"exports\":{\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{clamp}from\"framer-motion\";import{useEffect,useMemo,useState}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/QejHL5hPQ9rrl5Yt1GTZ/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/PCK1x1QLNluYNoEoapwx/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}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/UyHGCSLuZlZBvIaCnOlc/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}function splitWords(text){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.\nreturn text.split(RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\"));}catch{log(\"Falling back to regex without lookbehind\");return text.split(RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\"));}}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}/**\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(/[\\u0300-\\u036f]/g,\"\").toLowerCase();}function getNormalizedItem(item){const normalizedItem={};for(const[key,value]of Object.entries(item)){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,query){const normalizedItem=getNormalizedItem(item);const normalizedQuery=getNormalizedString(query);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=useMemo(()=>{if(!query||!index){return[];}const path=safeWindow===null||safeWindow===void 0?void 0:safeWindow.location.pathname;time(\"query\");// Filter the results.\nconst results=Object.values(index).map(item=>{const score=getSearchIndexItemScore(item,query);const heading=item.h1.length&&item.h1[0];const title=(settings===null||settings===void 0?void 0:settings.titleType)===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nconst result={url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score};return result;}).filter(item=>item.score>settings.minimumScore||0).filter(item=>{if(!path)return true;return item.url!==path;}).sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");return results;},[index,query]);return results;}function getIndexedScopedToUrl(index,rawUrlScope){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){if(!url.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,localeId,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const results=useRawSearch(searchIndex,query,settings);// 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);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const metaTag=safeDocument===null||safeDocument===void 0?void 0:safeDocument.querySelector('meta[name=\"framer-search-index\"]');if(!metaTag){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cachedIndex=await getCachedIndex(localeId);const metaTagContent=metaTag.getAttribute(\"content\");const isOverLimit=metaTagContent===\"limit-reached\";if(isOverLimit){log(\"Page limit for plan exceeded\");}// If a cached index exists, use the cached version until latest one\n// from the network loads.\nif(cachedIndex&&!isOverLimit){setSearchIndex(cachedIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");}// Return early and do not make a fetch request if the URL is not valid.\nif(!metaTagContent||!isValidUrl(metaTagContent)){log(\"Meta tag exists but URL is not valid yet\");// If there is no cached index, show the pending index message.\n// Otherwise use the cache to as the index to search.\nif(!cachedIndex){setStatus(\"pending-index-generation\");log(\"No cache to use, page reload required to check for meta tag\");}else{log(\"Continue using cache\");}return;}const searchIndexURL=getSearchIndexURL(metaTagContent,localeId);const response=await fetch(searchIndexURL);if(!response.ok){throw new Error(response.statusText);}const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex);setStatus(\"success\");log(\"Using downloaded index\");}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 getSearchIndexURL(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIndex\":{\"type\":\"tsType\",\"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/aWhJiXNIMoaQYpujUXUs/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}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/UyHGCSLuZlZBvIaCnOlc/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{// @ts-expect-error Internal API\nuseLocaleInfo,useRouter,inferInitialRouteFromPath}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}):/*#__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(()=>{if(!localeSlug)return url;return url.replace(`/${localeSlug}`,\"\");},[url]);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===null||activeLocale===void 0?void 0:activeLocale.id;const localeSlug=activeLocale===null||activeLocale===void 0?void 0: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,localeId,{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{var _router_getRoute,_route_page_preload,_route_page,_router_navigate;// 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=router.getRoute)===null||_router_getRoute===void 0?void 0:_router_getRoute.call(router,routeId);await (route===null||route===void 0?void 0:(_route_page=route.page)===null||_route_page===void 0?void 0:(_route_page_preload=_route_page.preload)===null||_route_page_preload===void 0?void 0:_route_page_preload.call(_route_page));(_router_navigate=router.navigate)===null||_router_navigate===void 0?void 0:_router_navigate.call(router,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\":{\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SearchModal.map","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/QejHL5hPQ9rrl5Yt1GTZ/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/UyHGCSLuZlZBvIaCnOlc/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){var _props_inputOptions_inputFont,_props_inputOptions,_props_resultOptions,_props_resultOptions_subtitleOptions,_props_inputOptions1;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=props.inputOptions)===null||_props_inputOptions===void 0?void 0:(_props_inputOptions_inputFont=_props_inputOptions.inputFont)===null||_props_inputOptions_inputFont===void 0?void 0:_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=props.resultOptions)===null||_props_resultOptions===void 0?void 0:_props_resultOptions.titleFont)&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:((_props_resultOptions_subtitleOptions=props.resultOptions.subtitleOptions)===null||_props_resultOptions_subtitleOptions===void 0?void 0:_props_resultOptions_subtitleOptions.subtitleFont)&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:((_props_inputOptions1=props.inputOptions)===null||_props_inputOptions1===void 0?void 0:_props_inputOptions1.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\",outline:\"inherit\",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        }`]);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\":{\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"40\",\"framerIntrinsicWidth\":\"40\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Search.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","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\"}}}","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{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\"}}}","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","let Component;\nvar Home_default = (React) => {\n  if (!Component) {\n    const HomeIcon = React.forwardRef(function HomeIcon2({\n      title,\n      titleId,\n      ...props\n    }, svgRef) {\n      return /* @__PURE__ */ React.createElement(\"svg\", Object.assign({\n        xmlns: \"http://www.w3.org/2000/svg\",\n        viewBox: \"0 0 24 24\",\n        fill: \"currentColor\",\n        \"aria-hidden\": \"true\",\n        \"data-slot\": \"icon\",\n        ref: svgRef,\n        \"aria-labelledby\": titleId\n      }, props), title ? /* @__PURE__ */ React.createElement(\"title\", {\n        id: titleId\n      }, title) : null, /* @__PURE__ */ React.createElement(\"path\", {\n        d: \"M11.47 3.841a.75.75 0 0 1 1.06 0l8.69 8.69a.75.75 0 1 0 1.06-1.061l-8.689-8.69a2.25 2.25 0 0 0-3.182 0l-8.69 8.69a.75.75 0 1 0 1.061 1.06l8.69-8.689Z\"\n      }), /* @__PURE__ */ React.createElement(\"path\", {\n        d: \"m12 5.432 8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 0-.75-.75h-3a.75.75 0 0 0-.75.75V21a.75.75 0 0 1-.75.75H5.625a1.875 1.875 0 0 1-1.875-1.875v-6.198a2.29 2.29 0 0 0 .091-.086L12 5.432Z\"\n      }));\n    });\n    Component = HomeIcon;\n  }\n  return Component;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nexport {\n  __FramerMetadata__,\n  Home_default as default\n};\n","/*\n * Home (hero-icons/Home@0.0.28)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/eTFACFXlvp5mgG2YpBpd/wqDmZcxkThZ32xkBavIK/Home.js\"\nexport { default } from \"https://framerusercontent.com/modules/eTFACFXlvp5mgG2YpBpd/wqDmZcxkThZ32xkBavIK/Home.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/hero-icons/Home.js@0.0.28\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";export const iconKeys=[\"AcademicCap\",\"AdjustmentsVertical\",\"ArchiveBox\",\"ArchiveBoxArrowDown\",\"ArchiveBoxXMark\",\"ArrowDown\",\"ArrowDownCircle\",\"ArrowDownLeft\",\"ArrowDownOnSquare\",\"ArrowDownRight\",\"ArrowDownTray\",\"ArrowLeft\",\"ArrowLeftCircle\",\"ArrowLeftOnRectangle\",\"ArrowLongDown\",\"ArrowLongLeft\",\"ArrowLongRight\",\"ArrowLongUp\",\"ArrowPath\",\"ArrowRight\",\"ArrowRightCircle\",\"ArrowSmallDown\",\"ArrowSmallLeft\",\"ArrowSmallRight\",\"ArrowSmallUp\",\"ArrowTrendingDown\",\"ArrowTrendingUp\",\"ArrowUp\",\"ArrowUpCircle\",\"ArrowUpLeft\",\"ArrowUpOnSquare\",\"ArrowUpOnSquareStack\",\"ArrowUpRight\",\"ArrowUpTray\",\"ArrowUturnDown\",\"ArrowUturnLeft\",\"ArrowUturnRight\",\"ArrowUturnUp\",\"ArrowsPointingIn\",\"ArrowsPointingOut\",\"ArrowsRightLeft\",\"ArrowsUpDown\",\"AtSymbol\",\"Backspace\",\"Backward\",\"Banknotes\",\"Bars2\",\"Bars3\",\"Bars3BottomLeft\",\"Bars3BottomRight\",\"Bars3CenterLeft\",\"Bars4\",\"BarsArrowDown\",\"BarsArrowUp\",\"Battery0\",\"Battery100\",\"Battery50\",\"Beaker\",\"Bell\",\"BellAlert\",\"BellSlash\",\"BellSnooze\",\"Bolt\",\"BoltSlash\",\"BookOpen\",\"Bookmark\",\"BookmarkSlash\",\"BookmarkSquare\",\"Briefcase\",\"BugAnt\",\"BuildingLibrary\",\"BuildingOffice\",\"BuildingOffice2\",\"BuildingStorefront\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarDays\",\"Camera\",\"ChartBar\",\"ChartBarSquare\",\"ChartPie\",\"ChatBubbleLeft\",\"ChatBubbleLeftRight\",\"ChatBubbleOvalLeft\",\"Check\",\"CheckBadge\",\"CheckCircle\",\"ChevronDoubleDown\",\"ChevronDoubleLeft\",\"ChevronDoubleRight\",\"ChevronDoubleUp\",\"ChevronDown\",\"ChevronLeft\",\"ChevronRight\",\"ChevronUp\",\"ChevronUpDown\",\"CircleStack\",\"Clipboard\",\"ClipboardDocument\",\"Clock\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CodeBracket\",\"CodeBracketSquare\",\"Cog\",\"Cog6Tooth\",\"Cog8Tooth\",\"CommandLine\",\"ComputerDesktop\",\"CpuChip\",\"CreditCard\",\"Cube\",\"CubeTransparent\",\"CurrencyBangladeshi\",\"CurrencyDollar\",\"CurrencyEuro\",\"CurrencyPound\",\"CurrencyRupee\",\"CurrencyYen\",\"CursorArrowRays\",\"CursorArrowRipple\",\"DevicePhoneMobile\",\"DeviceTablet\",\"Document\",\"DocumentArrowDown\",\"DocumentArrowUp\",\"DocumentChartBar\",\"DocumentCheck\",\"DocumentDuplicate\",\"DocumentMinus\",\"DocumentPlus\",\"DocumentText\",\"EllipsisHorizontal\",\"EllipsisVertical\",\"Envelope\",\"EnvelopeOpen\",\"ExclamationCircle\",\"ExclamationTriangle\",\"Eye\",\"EyeDropper\",\"EyeSlash\",\"FaceFrown\",\"FaceSmile\",\"Film\",\"FingerPrint\",\"Fire\",\"Flag\",\"Folder\",\"FolderArrowDown\",\"FolderMinus\",\"FolderOpen\",\"FolderPlus\",\"Forward\",\"Funnel\",\"Gif\",\"Gift\",\"GiftTop\",\"GlobeAlt\",\"GlobeAmericas\",\"GlobeAsiaAustralia\",\"GlobeEuropeAfrica\",\"HandRaised\",\"HandThumbDown\",\"HandThumbUp\",\"Hashtag\",\"Heart\",\"Home\",\"HomeModern\",\"Identification\",\"Inbox\",\"InboxArrowDown\",\"InboxStack\",\"InformationCircle\",\"Key\",\"Language\",\"Lifebuoy\",\"LightBulb\",\"Link\",\"ListBullet\",\"LockClosed\",\"LockOpen\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"Map\",\"MapPin\",\"Megaphone\",\"Microphone\",\"Minus\",\"MinusCircle\",\"MinusSmall\",\"Moon\",\"MusicalNote\",\"Newspaper\",\"NoSymbol\",\"PaintBrush\",\"PaperAirplane\",\"PaperClip\",\"Pause\",\"PauseCircle\",\"Pencil\",\"PencilSquare\",\"Phone\",\"PhoneArrowDownLeft\",\"PhoneArrowUpRight\",\"PhoneXMark\",\"Photo\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Plus\",\"PlusCircle\",\"PlusSmall\",\"Power\",\"PresentationChartBar\",\"Printer\",\"PuzzlePiece\",\"QrCode\",\"QuestionMarkCircle\",\"QueueList\",\"Radio\",\"ReceiptPercent\",\"ReceiptRefund\",\"RectangleGroup\",\"RectangleStack\",\"RocketLaunch\",\"Rss\",\"Scale\",\"Scissors\",\"Server\",\"ServerStack\",\"Share\",\"ShieldCheck\",\"ShieldExclamation\",\"ShoppingBag\",\"ShoppingCart\",\"Signal\",\"SignalSlash\",\"Sparkles\",\"SpeakerWave\",\"SpeakerXMark\",\"Square2Stack\",\"Square3Stack3D\",\"Squares2X2\",\"SquaresPlus\",\"Star\",\"Stop\",\"StopCircle\",\"Sun\",\"Swatch\",\"TableCells\",\"Tag\",\"Ticket\",\"Trash\",\"Trophy\",\"Truck\",\"Tv\",\"User\",\"UserCircle\",\"UserGroup\",\"UserMinus\",\"UserPlus\",\"Users\",\"Variable\",\"VideoCamera\",\"VideoCameraSlash\",\"ViewColumns\",\"ViewfinderCircle\",\"Wallet\",\"Wifi\",\"Window\",\"Wrench\",\"WrenchScrewdriver\",\"XCircle\",\"XMark\",\"index\"];const moduleBaseUrl=\"https://framer.com/m/hero-icons/\";const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * HERO\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){// Get the selected module\ntry{const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@0.0.28`;const module=await import(/* webpackIgnore: true */iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch{if(isMounted.current)setSelectedIcon(null);}}// Import module when new style or icon is selected\nuseEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(SelectedIcon,{style:{width:\"100%\",height:\"100%\",transform:mirrored?\"scale(-1, 1)\":undefined},color:color}):emptyState});}Icon.displayName=\"Hero\";Icon.defaultProps={width:24,height:24,iconSelection:\"Home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Hero site](https://heroicons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Hero.map","// Generated by Framer (4f63079)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image as Image1,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{Icon as Hero}from\"https://framerusercontent.com/modules/hKjtTuWGYB451ckw6eTN/bbq95ZQZ142lE2fXscHd/Hero.js\";const HeroFonts=getFonts(Hero);const cycleOrder=[\"msMgb7CrF\",\"YZQtN9OQW\",\"J98ilyXiw\",\"BgjybB60J\",\"wz83VD1fw\",\"clRM7HB_r\",\"aNMf3VWAZ\",\"KCWgmVRQN\",\"NSXxSGM60\",\"p_9AcYuHP\"];const serializationHash=\"framer-9ngC7\";const variantClassNames={aNMf3VWAZ:\"framer-v-ffg4z0\",BgjybB60J:\"framer-v-1d3kr5z\",clRM7HB_r:\"framer-v-16671t\",J98ilyXiw:\"framer-v-1gpfl2y\",KCWgmVRQN:\"framer-v-1o5jfan\",msMgb7CrF:\"framer-v-9yurg\",NSXxSGM60:\"framer-v-7ktzd5\",p_9AcYuHP:\"framer-v-ezm33i\",wz83VD1fw:\"framer-v-s4dfjc\",YZQtN9OQW:\"framer-v-198aqiu\"};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 humanReadableVariantMap={\"Variant 10\":\"p_9AcYuHP\",\"Variant 6\":\"clRM7HB_r\",\"Variant 7\":\"aNMf3VWAZ\",\"Variant 8\":\"KCWgmVRQN\",\"Variant 9\":\"NSXxSGM60\",About:\"YZQtN9OQW\",Chat:\"BgjybB60J\",FAQ:\"wz83VD1fw\",Help:\"J98ilyXiw\",Home:\"msMgb7CrF\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"msMgb7CrF\"};};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:\"msMgb7CrF\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"J98ilyXiw\")return true;return false;};const isDisplayed1=()=>{if([\"YZQtN9OQW\",\"J98ilyXiw\",\"BgjybB60J\",\"wz83VD1fw\",\"clRM7HB_r\",\"aNMf3VWAZ\",\"KCWgmVRQN\",\"NSXxSGM60\",\"p_9AcYuHP\"].includes(baseVariant))return false;return true;};const isDisplayed2=()=>{if(baseVariant===\"BgjybB60J\")return true;return false;};const isDisplayed3=()=>{if(baseVariant===\"YZQtN9OQW\")return true;return false;};const isDisplayed4=()=>{if(baseVariant===\"p_9AcYuHP\")return true;return false;};const isDisplayed5=()=>{if(baseVariant===\"aNMf3VWAZ\")return true;return false;};const isDisplayed6=()=>{if(baseVariant===\"KCWgmVRQN\")return true;return false;};const isDisplayed7=()=>{if(baseVariant===\"clRM7HB_r\")return true;return false;};const isDisplayed8=()=>{if(baseVariant===\"NSXxSGM60\")return true;return false;};const isDisplayed9=()=>{if(baseVariant===\"wz83VD1fw\")return true;return false;};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-9yurg\",className,classNames),\"data-framer-name\":\"Home\",layoutDependency:layoutDependency,layoutId:\"msMgb7CrF\",ref:refBinding,style:{...style},...addPropertyOverrides({aNMf3VWAZ:{\"data-framer-name\":\"Variant 7\"},BgjybB60J:{\"data-framer-name\":\"Chat\"},clRM7HB_r:{\"data-framer-name\":\"Variant 6\"},J98ilyXiw:{\"data-framer-name\":\"Help\"},KCWgmVRQN:{\"data-framer-name\":\"Variant 8\"},NSXxSGM60:{\"data-framer-name\":\"Variant 9\"},p_9AcYuHP:{\"data-framer-name\":\"Variant 10\"},wz83VD1fw:{\"data-framer-name\":\"FAQ\"},YZQtN9OQW:{\"data-framer-name\":\"About\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1njhnsu\",\"data-framer-name\":\"graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"X5q6HqrGG\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 28\"><path d=\"M 24.565 3.845 C 27.037 4.214 28.75 6.42 28.75 8.898 L 28.75 16.557 C 28.75 19.035 27.037 21.241 24.565 21.61 C 22.14 21.974 19.67 22.19 17.163 22.254 C 17.038 22.256 16.919 22.307 16.83 22.396 L 11.6 27.72 C 11.332 27.993 10.929 28.074 10.579 27.927 C 10.229 27.779 10 27.431 10 27.045 L 10 22.012 C 8.886 21.907 7.781 21.774 6.685 21.61 C 4.213 21.241 2.5 19.034 2.5 16.557 L 2.5 8.898 C 2.5 6.421 4.213 4.214 6.685 3.845 C 9.604 3.408 12.589 3.182 15.625 3.182 C 18.617 3.181 21.605 3.403 24.565 3.845 Z M 10.938 11.295 C 10.161 11.295 9.531 11.936 9.531 12.727 C 9.531 13.518 10.161 14.159 10.938 14.159 C 11.714 14.159 12.344 13.518 12.344 12.727 C 12.344 11.936 11.714 11.295 10.938 11.295 Z M 15.625 14.159 C 16.402 14.159 17.031 13.518 17.031 12.727 C 17.031 11.936 16.402 11.295 15.625 11.295 C 14.848 11.295 14.219 11.936 14.219 12.727 C 14.219 13.518 14.848 14.159 15.625 14.159 Z M 20.313 11.295 C 19.536 11.295 18.906 11.936 18.906 12.727 C 18.906 13.518 19.536 14.159 20.313 14.159 C 21.089 14.159 21.719 13.518 21.719 12.727 C 21.719 11.936 21.089 11.295 20.313 11.295 Z\" fill=\"rgb(29, 31, 33)\"></path></svg>',svgContentId:2006783478,withExternalLayout:true,...addPropertyOverrides({J98ilyXiw:{svgContentId:9911893339}},baseVariant,gestureVariant)}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-111f2uz\",\"data-framer-name\":\"graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"iVRdnp4j2\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 30\"><path d=\"M 3.75 7.5 C 3.75 5.429 5.429 3.75 7.5 3.75 L 10.313 3.75 C 12.384 3.75 14.063 5.429 14.063 7.5 L 14.063 10.313 C 14.063 12.384 12.384 14.063 10.313 14.063 L 7.5 14.063 C 5.429 14.063 3.75 12.384 3.75 10.313 Z M 15.938 7.5 C 15.938 5.429 17.616 3.75 19.688 3.75 L 22.5 3.75 C 24.571 3.75 26.25 5.429 26.25 7.5 L 26.25 10.313 C 26.25 12.384 24.571 14.063 22.5 14.063 L 19.688 14.063 C 17.616 14.063 15.938 12.384 15.938 10.313 Z M 3.75 19.688 C 3.75 17.616 5.429 15.938 7.5 15.938 L 10.313 15.938 C 12.384 15.938 14.063 17.616 14.063 19.688 L 14.063 22.5 C 14.063 24.571 12.384 26.25 10.313 26.25 L 7.5 26.25 C 5.429 26.25 3.75 24.571 3.75 22.5 Z M 15.938 19.688 C 15.938 17.616 17.616 15.938 19.688 15.938 L 22.5 15.938 C 24.571 15.938 26.25 17.616 26.25 19.688 L 26.25 22.5 C 26.25 24.571 24.571 26.25 22.5 26.25 L 19.688 26.25 C 17.616 26.25 15.938 24.571 15.938 22.5 Z\" fill=\"var(--token-08f41c82-02ab-48b3-b75a-ec4c66538f21, rgb(29, 31, 33)) /* {&quot;name&quot;:&quot;Grey 900&quot;} */\"></path></svg>',svgContentId:12099544863,withExternalLayout:true}),isDisplayed2()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1h17zms\",\"data-framer-name\":\"graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"uWnC67QUU\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 30\"><path d=\"M 21.404 5.743 C 17.973 7.116 14.311 7.819 10.615 7.812 L 9.678 7.812 C 6.264 7.807 3.416 10.421 3.129 13.823 C 2.842 17.224 5.211 20.278 8.578 20.846 C 8.992 22.539 9.568 24.188 10.3 25.771 C 10.88 27.026 12.393 27.421 13.528 26.766 L 14.349 26.292 C 15.449 25.657 15.805 24.301 15.314 23.207 C 15.019 22.551 14.757 21.881 14.529 21.198 C 16.926 21.521 19.229 22.136 21.404 23.006 C 22.333 20.223 22.806 17.308 22.803 14.374 C 22.803 11.357 22.311 8.456 21.404 5.743 Z M 23.128 4.987 C 24.157 8.01 24.681 11.181 24.678 14.374 C 24.681 17.782 24.085 21.164 22.915 24.364 C 22.737 24.851 22.987 25.389 23.473 25.568 C 23.96 25.746 24.498 25.496 24.676 25.009 C 25.624 22.422 26.219 19.718 26.445 16.972 C 27.117 16.274 27.491 15.343 27.49 14.374 C 27.492 13.406 27.117 12.475 26.445 11.777 C 26.218 9.031 25.623 6.327 24.676 3.739 C 24.498 3.253 23.96 3.003 23.473 3.181 C 22.987 3.359 22.737 3.898 22.915 4.384 C 22.989 4.584 23.06 4.786 23.128 4.988 Z\" fill=\"rgb(29, 31, 33)\"></path></svg>',svgContentId:2505111527,withExternalLayout:true,...addPropertyOverrides({BgjybB60J:{svgContentId:12087306577}},baseVariant,gestureVariant)}),isDisplayed3()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1ewijzy\",\"data-framer-name\":\"graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"L_OOWkAU_\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 30 30\"><path d=\"M 10.313 8.438 C 10.313 5.849 12.411 3.75 15 3.75 C 17.589 3.75 19.688 5.849 19.688 8.438 C 19.688 11.026 17.589 13.125 15 13.125 C 12.411 13.125 10.313 11.026 10.313 8.438 Z M 19.688 12.188 C 19.688 10.116 21.366 8.438 23.438 8.438 C 25.509 8.438 27.188 10.116 27.188 12.188 C 27.188 14.259 25.509 15.938 23.438 15.938 C 21.366 15.938 19.688 14.259 19.688 12.188 Z M 2.813 12.188 C 2.813 10.116 4.491 8.438 6.563 8.438 C 8.634 8.438 10.313 10.116 10.313 12.188 C 10.313 14.259 8.634 15.938 6.563 15.938 C 4.491 15.938 2.813 14.259 2.813 12.188 Z M 7.888 18.896 C 9.437 16.468 12.119 14.998 15 15 C 17.401 14.998 19.69 16.02 21.291 17.809 C 22.892 19.599 23.654 21.986 23.386 24.373 C 23.353 24.67 23.181 24.934 22.921 25.083 C 20.511 26.466 17.779 27.192 15 27.188 C 12.221 27.192 9.489 26.466 7.079 25.083 C 6.819 24.934 6.647 24.67 6.614 24.373 C 6.404 22.456 6.853 20.525 7.888 18.898 Z\" fill=\"rgb(29, 31, 33)\"></path><path d=\"M 6.353 17.818 C 5.12 19.72 4.545 21.975 4.718 24.236 C 3.967 24.122 3.229 23.938 2.513 23.686 L 2.369 23.636 C 2.107 23.543 1.924 23.305 1.903 23.028 L 1.89 22.876 C 1.788 21.608 2.206 20.353 3.047 19.399 C 3.889 18.445 5.082 17.874 6.353 17.818 Z M 25.283 24.236 C 25.455 21.975 24.88 19.72 23.648 17.818 C 24.918 17.874 26.111 18.445 26.953 19.399 C 27.794 20.353 28.212 21.608 28.11 22.876 L 28.098 23.028 C 28.076 23.304 27.893 23.542 27.631 23.635 L 27.488 23.685 C 26.779 23.935 26.043 24.121 25.283 24.236 Z\" fill=\"rgb(29, 31, 33)\"></path></svg>',svgContentId:12428874227,withExternalLayout:true,...addPropertyOverrides({YZQtN9OQW:{svgContentId:12304488659}},baseVariant,gestureVariant)}),isDisplayed4()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-15yckrw-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"rwrYjcqZv-container\",nodeId:\"rwrYjcqZv\",rendersWithMotion:true,scopeId:\"ifTAtM1wX\",children:/*#__PURE__*/_jsx(Hero,{color:\"rgb(255, 255, 255)\",height:\"100%\",iconSearch:\"Home\",iconSelection:\"Home\",id:\"rwrYjcqZv\",layoutId:\"rwrYjcqZv\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),isDisplayed5()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:90,intrinsicWidth:90,pixelHeight:90,pixelWidth:90,src:\"https://framerusercontent.com/images/4y1UsmHafk7QzWLOid2yKkAxo.png?width=90&height=90\"},className:\"framer-1gy1bde\",\"data-framer-name\":\"icons8_home_90\",layoutDependency:layoutDependency,layoutId:\"U5_B2pmQt\",style:{opacity:.69},...addPropertyOverrides({aNMf3VWAZ:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:90,intrinsicWidth:90,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:90,pixelWidth:90,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/4y1UsmHafk7QzWLOid2yKkAxo.png?width=90&height=90\"}}},baseVariant,gestureVariant)}),isDisplayed6()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,pixelHeight:300,pixelWidth:300,src:\"https://framerusercontent.com/images/k1PJTNuK1KC3jZoeMJB8dHwrMs.png?width=300&height=300\"},className:\"framer-eh2ni9\",\"data-framer-name\":\"02 (95)\",layoutDependency:layoutDependency,layoutId:\"HPji0mM1n\",...addPropertyOverrides({KCWgmVRQN:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:300,pixelWidth:300,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/k1PJTNuK1KC3jZoeMJB8dHwrMs.png?width=300&height=300\"}}},baseVariant,gestureVariant)}),isDisplayed7()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,pixelHeight:300,pixelWidth:300,src:\"https://framerusercontent.com/images/TwjCEejmRrr5MOGemhTImOE4OU.png?width=300&height=300\"},className:\"framer-9owfi3\",\"data-framer-name\":\"02 (96)\",layoutDependency:layoutDependency,layoutId:\"E83li3uS7\",...addPropertyOverrides({clRM7HB_r:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:300,pixelWidth:300,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/TwjCEejmRrr5MOGemhTImOE4OU.png?width=300&height=300\"}}},baseVariant,gestureVariant)}),isDisplayed8()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,pixelHeight:300,pixelWidth:300,src:\"https://framerusercontent.com/images/d8A82TpeBMa307uFQNOlWC19CEs.png?width=300&height=300\"},className:\"framer-1ynkd76\",\"data-framer-name\":\"02 (97)\",layoutDependency:layoutDependency,layoutId:\"MHwROzCeh\",...addPropertyOverrides({NSXxSGM60:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:300,pixelWidth:300,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/d8A82TpeBMa307uFQNOlWC19CEs.png?width=300&height=300\"}}},baseVariant,gestureVariant)}),isDisplayed9()&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,pixelHeight:300,pixelWidth:300,src:\"https://framerusercontent.com/images/SWFxNFIrloQ0Zp4ArdTJZMvirlE.png?width=300&height=300\"},className:\"framer-i8btkt\",\"data-framer-name\":\"02 - 2026-08-23T201339.468\",layoutDependency:layoutDependency,layoutId:\"RrpcyUnm7\",...addPropertyOverrides({wz83VD1fw:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:333.3333421636513,intrinsicWidth:333.3333421636513,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:300,pixelWidth:300,sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/SWFxNFIrloQ0Zp4ArdTJZMvirlE.png?width=300&height=300\"}}},baseVariant,gestureVariant)})]})})})});});const css=[\".framer-9ngC7.framer-1kiqoa7, .framer-9ngC7 .framer-1kiqoa7 { display: block; }\",\".framer-9ngC7.framer-9yurg { height: 30px; overflow: visible; position: relative; width: 30px; }\",\".framer-9ngC7 .framer-1njhnsu { flex: none; height: 28px; left: calc(50.00000000000002% - 30px / 2); position: absolute; top: 0px; width: 30px; }\",\".framer-9ngC7 .framer-111f2uz { flex: none; height: 30px; left: 0px; position: absolute; top: 0px; width: 30px; }\",\".framer-9ngC7 .framer-1h17zms, .framer-9ngC7 .framer-1ewijzy { flex: none; height: 30px; left: calc(50.00000000000002% - 30px / 2); position: absolute; top: calc(50.00000000000002% - 30px / 2); width: 30px; }\",\".framer-9ngC7 .framer-15yckrw-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-9ngC7 .framer-1gy1bde, .framer-9ngC7 .framer-eh2ni9, .framer-9ngC7 .framer-9owfi3, .framer-9ngC7 .framer-1ynkd76, .framer-9ngC7 .framer-i8btkt { aspect-ratio: 1 / 1; flex: none; height: auto; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"YZQtN9OQW\":{\"layout\":[\"fixed\",\"fixed\"]},\"J98ilyXiw\":{\"layout\":[\"fixed\",\"fixed\"]},\"BgjybB60J\":{\"layout\":[\"fixed\",\"fixed\"]},\"wz83VD1fw\":{\"layout\":[\"fixed\",\"fixed\"]},\"clRM7HB_r\":{\"layout\":[\"fixed\",\"fixed\"]},\"aNMf3VWAZ\":{\"layout\":[\"fixed\",\"fixed\"]},\"KCWgmVRQN\":{\"layout\":[\"fixed\",\"fixed\"]},\"NSXxSGM60\":{\"layout\":[\"fixed\",\"fixed\"]},\"p_9AcYuHP\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerifTAtM1wX=withCSS(Component,css,\"framer-9ngC7\");export default FramerifTAtM1wX;FramerifTAtM1wX.displayName=\"Page Icon\";FramerifTAtM1wX.defaultProps={height:30,width:30};addPropertyControls(FramerifTAtM1wX,{variant:{options:[\"msMgb7CrF\",\"YZQtN9OQW\",\"J98ilyXiw\",\"BgjybB60J\",\"wz83VD1fw\",\"clRM7HB_r\",\"aNMf3VWAZ\",\"KCWgmVRQN\",\"NSXxSGM60\",\"p_9AcYuHP\"],optionTitles:[\"Home\",\"About\",\"Help\",\"Chat\",\"FAQ\",\"Variant 6\",\"Variant 7\",\"Variant 8\",\"Variant 9\",\"Variant 10\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerifTAtM1wX,[{explicitInter:true,fonts:[]},...HeroFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerifTAtM1wX\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"YZQtN9OQW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"J98ilyXiw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"BgjybB60J\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"wz83VD1fw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"clRM7HB_r\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"aNMf3VWAZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"KCWgmVRQN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"NSXxSGM60\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"p_9AcYuHP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"30\",\"framerIntrinsicHeight\":\"30\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ifTAtM1wX.map","// Generated by Framer (4d43e7b)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getPropertyControls,Link,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import PageIcon from\"https://framerusercontent.com/modules/vToGAVnHPmidFONPmM66/B5g2hf6FnqOgUdzl1zUq/ifTAtM1wX.js\";const PageIconFonts=getFonts(PageIcon);const PageIconControls=getPropertyControls(PageIcon);const enabledGestures={bH1wGyFyE:{hover:true}};const cycleOrder=[\"bH1wGyFyE\",\"Zai0IX5wW\",\"p1lmzwNby\",\"IFOySCyvR\"];const serializationHash=\"framer-kRIeA\";const variantClassNames={bH1wGyFyE:\"framer-v-16afirc\",IFOySCyvR:\"framer-v-pnfors\",p1lmzwNby:\"framer-v-tkp918\",Zai0IX5wW:\"framer-v-icuu36\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const ajWRYaDej=undefined;const X_U3FETxX=undefined;const dEOLu3jhg=undefined;const JWnpKiblS=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};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 humanReadableVariantMap={\"Selected Mobile\":\"p1lmzwNby\",\"Variant 4\":\"IFOySCyvR\",Default:\"bH1wGyFyE\",Selected:\"Zai0IX5wW\"};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"Variant 10\":\"p_9AcYuHP\",\"Variant 6\":\"clRM7HB_r\",\"Variant 7\":\"aNMf3VWAZ\",\"Variant 8\":\"KCWgmVRQN\",\"Variant 9\":\"NSXxSGM60\",About:\"YZQtN9OQW\",Chat:\"BgjybB60J\",FAQ:\"wz83VD1fw\",Help:\"J98ilyXiw\",Home:\"msMgb7CrF\"};const getProps=({height,hover,icon,id,link,tap,width,...props})=>{return{...props,ajWRYaDej:tap??props.ajWRYaDej,dEOLu3jhg:link??props.dEOLu3jhg,JWnpKiblS:humanReadableEnumMap[icon]??icon??props.JWnpKiblS??null,variant:humanReadableVariantMap[props.variant]??props.variant??\"bH1wGyFyE\",X_U3FETxX:hover??props.X_U3FETxX};};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,JWnpKiblS,ajWRYaDej,X_U3FETxX,dEOLu3jhg,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"bH1wGyFyE\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapfdjivl=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(ajWRYaDej){const res=await ajWRYaDej(...args);if(res===false)return false;}});const onMouseEnter1eyq6bb=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});if(X_U3FETxX){const res=await X_U3FETxX(...args);if(res===false)return false;}});const sharedStyleClassNames=[];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:dEOLu3jhg,motionChild:true,nodeId:\"bH1wGyFyE\",scopeId:\"H0RoXk1et\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-16afirc\",className,classNames)} framer-989022`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"bH1wGyFyE\",onMouseEnter:onMouseEnter1eyq6bb,onTap:onTapfdjivl,ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-d85f8fae-9b71-4280-a705-5ecf5c8b592e, rgb(249, 250, 251))\",borderBottomLeftRadius:14,borderBottomRightRadius:14,borderTopLeftRadius:14,borderTopRightRadius:14,boxShadow:\"none\",...style},variants:{\"bH1wGyFyE-hover\":{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"rgb(232, 236, 243)\",boxShadow:\"none\"},IFOySCyvR:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(200, 210, 227, 0.4)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(127, 179, 112)\",boxShadow:\"inset 0px 1px 1px 0px rgb(255, 255, 255)\"},p1lmzwNby:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(200, 210, 227, 0.4)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(238, 241, 246)\",boxShadow:\"inset 0px 1px 1px 0px rgb(255, 255, 255)\"},Zai0IX5wW:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(200, 210, 227, 0.4)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(238, 241, 246)\",boxShadow:\"inset 0px 1px 1px 0px rgb(255, 255, 255)\"}},...addPropertyOverrides({\"bH1wGyFyE-hover\":{\"data-framer-name\":undefined},IFOySCyvR:{\"data-border\":true,\"data-framer-name\":\"Variant 4\"},p1lmzwNby:{\"data-border\":true,\"data-framer-name\":\"Selected Mobile\"},Zai0IX5wW:{\"data-border\":true,\"data-framer-name\":\"Selected\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,width:\"45px\",y:(componentViewport?.y||0)+(12+((componentViewport?.height||60)-24-40)/2),...addPropertyOverrides({IFOySCyvR:{height:43,width:\"40px\",y:(componentViewport?.y||0)+(12+((componentViewport?.height||64)-24-43)/2)},p1lmzwNby:{y:(componentViewport?.y||0)+(12+((componentViewport?.height||69)-24-40)/2)},Zai0IX5wW:{y:(componentViewport?.y||0)+(12+((componentViewport?.height||69)-24-40)/2)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-atrgg7-container\",layoutDependency:layoutDependency,layoutId:\"uyM4CvtVE-container\",nodeId:\"uyM4CvtVE\",rendersWithMotion:true,scopeId:\"H0RoXk1et\",style:{opacity:.25},variants:{\"bH1wGyFyE-hover\":{opacity:1},IFOySCyvR:{opacity:1},p1lmzwNby:{opacity:1},Zai0IX5wW:{opacity:1}},children:/*#__PURE__*/_jsx(PageIcon,{height:\"100%\",id:\"uyM4CvtVE\",layoutId:\"uyM4CvtVE\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(JWnpKiblS),width:\"100%\"})})})})})})})});});const css=[\".framer-kRIeA.framer-989022, .framer-kRIeA .framer-989022 { display: block; }\",\".framer-kRIeA.framer-16afirc { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 12px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-kRIeA .framer-atrgg7-container { aspect-ratio: 1.25 / 1; flex: none; height: auto; position: relative; width: 45px; }\",\".framer-kRIeA.framer-v-icuu36 .framer-atrgg7-container { aspect-ratio: 1 / 1; }\",\".framer-kRIeA.framer-v-tkp918 .framer-atrgg7-container { aspect-ratio: 1 / 1; order: 0; }\",\".framer-kRIeA.framer-v-pnfors .framer-atrgg7-container { aspect-ratio: 1 / 1; width: 40px; }\",'.framer-kRIeA[data-border=\"true\"]::after, .framer-kRIeA [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 60\n * @framerIntrinsicWidth 69\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"Zai0IX5wW\":{\"layout\":[\"auto\",\"auto\"]},\"p1lmzwNby\":{\"layout\":[\"auto\",\"auto\"]},\"IFOySCyvR\":{\"layout\":[\"auto\",\"auto\"]},\"xBF8KgjfE\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"JWnpKiblS\":\"icon\",\"ajWRYaDej\":\"tap\",\"X_U3FETxX\":\"hover\",\"dEOLu3jhg\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerH0RoXk1et=withCSS(Component,css,\"framer-kRIeA\");export default FramerH0RoXk1et;FramerH0RoXk1et.displayName=\"Page\";FramerH0RoXk1et.defaultProps={height:60,width:69};addPropertyControls(FramerH0RoXk1et,{variant:{options:[\"bH1wGyFyE\",\"Zai0IX5wW\",\"p1lmzwNby\",\"IFOySCyvR\"],optionTitles:[\"Default\",\"Selected\",\"Selected Mobile\",\"Variant 4\"],title:\"Variant\",type:ControlType.Enum},JWnpKiblS:PageIconControls?.[\"variant\"]&&{...PageIconControls[\"variant\"],description:undefined,hidden:undefined,optional:undefined,title:\"Icon\"},onJWnpKiblSChange:{changes:\"JWnpKiblS\",type:ControlType.ChangeHandler},ajWRYaDej:{title:\"Tap\",type:ControlType.EventHandler},X_U3FETxX:{title:\"Hover\",type:ControlType.EventHandler},dEOLu3jhg:{title:\"Link\",type:ControlType.Link}});addFonts(FramerH0RoXk1et,[{explicitInter:true,fonts:[]},...PageIconFonts],{supportsExplicitInterCodegen:true});FramerH0RoXk1et.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(PageIcon,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerH0RoXk1et\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"JWnpKiblS\\\":\\\"icon\\\",\\\"ajWRYaDej\\\":\\\"tap\\\",\\\"X_U3FETxX\\\":\\\"hover\\\",\\\"dEOLu3jhg\\\":\\\"link\\\"}\",\"framerIntrinsicHeight\":\"60\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Zai0IX5wW\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"p1lmzwNby\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"IFOySCyvR\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"xBF8KgjfE\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"69\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a27e0f0)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-XODOT\";const variantClassNames={RIr6wAoeM:\"framer-v-1bwq53f\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const NV06sUBMM=undefined;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 getProps=({height,id,title,width,...props})=>{return{...props,NV06sUBMM:title??props.NV06sUBMM??\"About Us\"};};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,NV06sUBMM,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"RIr6wAoeM\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];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.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1bwq53f\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"RIr6wAoeM\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(223, 228, 232)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backdropFilter:\"blur(12px)\",backgroundColor:\"rgb(225, 231, 232)\",borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12,boxShadow:\"inset 0px -5px 10px 0px rgb(255, 255, 255), inset 0px 5px 20px 0px rgb(255, 255, 255)\",WebkitBackdropFilter:\"blur(12px)\",...style},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItTWVkaXVt\",\"--framer-font-family\":'\"Inter-Medium\", \"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-weight\":\"500\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-08f41c82-02ab-48b3-b75a-ec4c66538f21, rgb(29, 31, 33)))\"},children:\"About Us\"})}),className:\"framer-3cbkrh\",fonts:[\"Inter-Medium\"],layoutDependency:layoutDependency,layoutId:\"F5plBdonG\",style:{\"--extracted-r6o4lv\":\"var(--token-08f41c82-02ab-48b3-b75a-ec4c66538f21, rgb(29, 31, 33))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:NV06sUBMM,verticalAlignment:\"top\",withExternalLayout:true})})})})});});const css=[\".framer-XODOT.framer-1cxf18h, .framer-XODOT .framer-1cxf18h { display: block; }\",\".framer-XODOT.framer-1bwq53f { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 10px 18px 10px 18px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-XODOT .framer-3cbkrh { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",'.framer-XODOT[data-border=\"true\"]::after, .framer-XODOT [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 39\n * @framerIntrinsicWidth 106\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"NV06sUBMM\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerWFxVXvrEE=withCSS(Component,css,\"framer-XODOT\");export default FramerWFxVXvrEE;FramerWFxVXvrEE.displayName=\"Overlay Button\";FramerWFxVXvrEE.defaultProps={height:39,width:106};addPropertyControls(FramerWFxVXvrEE,{NV06sUBMM:{defaultValue:\"About Us\",displayTextArea:false,title:\"Title\",type:ControlType.String},onNV06sUBMMChange:{changes:\"NV06sUBMM\",type:ControlType.ChangeHandler}});addFonts(FramerWFxVXvrEE,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5A3Ce6C9YYmCjpQx9M4inSaKU.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/Qx95Xyt0Ka3SGhinnbXIGpEIyP4.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6mJuEAguuIuMog10gGvH5d3cl8.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/xYYWaj7wCU5zSQH0eXvSaS19wo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/otTaNuNpVK4RbdlT7zDDdKvQBA.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/UjlFhCnUjxhNfep4oYBPqnEssyo.woff2\",weight:\"500\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",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/DolVirEGb34pEXEp8t8FQBSK4.woff2\",weight:\"500\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerWFxVXvrEE\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"106\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"NV06sUBMM\\\":\\\"title\\\"}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"39\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WFxVXvrEE.map","// Generated by Framer (4f63079)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,Floating,forwardLoader,getFonts,ResolveLinks,resolvePageScope,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOverlayState,useRouter,useVariantState,withCSS,withFX}from\"framer\";import{AnimatePresence,LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Search1 from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/1IvEaemyvBf5Jspg76L8/Search.js\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import Page from\"https://framerusercontent.com/modules/4jUOq9Ryl01UtvIfTSea/l9Ztt4Ej455QG6NQF1H2/H0RoXk1et.js\";import OverlayButton from\"https://framerusercontent.com/modules/qs6NLWYvKKulxTiP69gM/ORoEqMy5uIY1FxfTl4Q3/WFxVXvrEE.js\";const SearchFonts=getFonts(Search);const Search1Fonts=getFonts(Search1);const PageFonts=getFonts(Page);const OverlayButtonFonts=getFonts(OverlayButton);const MotionDivWithFX=withFX(motion.div);const cycleOrder=[\"mlgL1Guc7\",\"j0DQ6d5uh\",\"sJyBl9F7o\"];const serializationHash=\"framer-0h412\";const variantClassNames={j0DQ6d5uh:\"framer-v-umly4a\",mlgL1Guc7:\"framer-v-l18xbq\",sJyBl9F7o:\"framer-v-owgkml\"};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 matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:10,y:0};const animation1={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation2={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:10,y:0};const Overlay=({children,blockDocumentScrolling,dismissWithEsc,enabled=true})=>{const[visible,setVisible]=useOverlayState({blockDocumentScrolling,dismissWithEsc:enabled&&dismissWithEsc});return children({hide:()=>setVisible(false),show:()=>setVisible(true),toggle:()=>setVisible(!visible),visible:enabled&&visible});};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 humanReadableVariantMap={\"Variant 3\":\"sJyBl9F7o\",Mobile:\"j0DQ6d5uh\",Web:\"mlgL1Guc7\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"mlgL1Guc7\"};};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:\"mlgL1Guc7\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const X_U3FETxX13elrgn=({overlay})=>activeVariantCallback(async(...args)=>{overlay.show();});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"sJyBl9F7o\")return true;return false;};const isDisplayed1=()=>{if([\"j0DQ6d5uh\",\"sJyBl9F7o\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed2=()=>{if(baseVariant===\"sJyBl9F7o\")return false;return true;};const ref1=React.useRef(null);const isDisplayed3=()=>{if(baseVariant===\"j0DQ6d5uh\")return false;return true;};const ref2=React.useRef(null);const ref3=React.useRef(null);const ref4=React.useRef(null);const ref5=React.useRef(null);const ref6=React.useRef(null);const isDisplayed4=()=>{if(baseVariant===\"j0DQ6d5uh\")return true;return false;};const ref7=React.useRef(null);const ref8=React.useRef(null);const ref9=React.useRef(null);const ref10=React.useRef(null);const ref11=React.useRef(null);const ref12=React.useRef(null);const ref13=React.useRef(null);const ref14=React.useRef(null);const ref15=React.useRef(null);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-l18xbq\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Web\",layoutDependency:layoutDependency,layoutId:\"mlgL1Guc7\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c3bb08da-e372-4e8c-895a-72ec44db892c, rgb(238, 241, 246))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-d85f8fae-9b71-4280-a705-5ecf5c8b592e, rgb(249, 250, 251))\",borderBottomLeftRadius:24,borderBottomRightRadius:24,borderTopLeftRadius:24,borderTopRightRadius:24,...style},...addPropertyOverrides({j0DQ6d5uh:{\"data-framer-name\":\"Mobile\"},sJyBl9F7o:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1jtlek\",layoutDependency:layoutDependency,layoutId:\"MZN3Ulwym\",children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zvgxr7-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"br9B0LDLi-container\",nodeId:\"br9B0LDLi\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",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(51, 51, 51)\",iconSize:24,iconType:\"default\",id:\"br9B0LDLi\",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:\"br9B0LDLi\",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%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-k7orrx-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"xoo9beQVG-container\",nodeId:\"xoo9beQVG\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(Search1,{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(51, 51, 51)\",iconSize:24,iconType:\"default\",id:\"xoo9beQVG\",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:\"xoo9beQVG\",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%\"},urlScope:resolvePageScope({webPageId:\"EdkfnqlO7\"},router),width:\"100%\"})})}),isDisplayed2()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,enabled:isDisplayed3(),children:overlay=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"l3I7pAqo1\"},implicitPathVariables:undefined},{href:{webPageId:\"l3I7pAqo1\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+0+((componentViewport?.height||671)-36-471)/1*0)+0+71,...addPropertyOverrides({j0DQ6d5uh:{y:(componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-60)/2)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-1lcqk19-container\",id:`${layoutId}-1lcqk19`,layoutDependency:layoutDependency,layoutId:\"Hl56TjynZ-container\",nodeId:\"Hl56TjynZ\",ref:ref1,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks[0],height:\"100%\",id:\"Hl56TjynZ\",JWnpKiblS:\"p_9AcYuHP\",layoutId:\"Hl56TjynZ\",variant:matchVariant(\"IFOySCyvR\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay}),...addPropertyOverrides({j0DQ6d5uh:{dEOLu3jhg:resolvedLinks[1]}},baseVariant,gestureVariant)}),isDisplayed3()&&/*#__PURE__*/_jsx(AnimatePresence,{children:overlay.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref1,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-1lcqk19`,offsetX:4,offsetY:0,onDismiss:overlay.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-1iy4x6v\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"nn_qtQSxW\",ref:ref2,role:\"dialog\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-m3fynv-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"tgphtdZIU-container\",nodeId:\"tgphtdZIU\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"tgphtdZIU\",layoutId:\"tgphtdZIU\",NV06sUBMM:\"Strona gł\\xf3wna\",width:\"100%\"})})})})})})]})})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,children:overlay1=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"AGp6MHKx4\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+0+((componentViewport?.height||671)-36-471)/1*0)+0+141,children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-o0rqm2-container\",id:`${layoutId}-o0rqm2`,layoutDependency:layoutDependency,layoutId:\"cDCiACcB8-container\",nodeId:\"cDCiACcB8\",ref:ref3,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks1[0],height:\"100%\",id:\"cDCiACcB8\",JWnpKiblS:\"NSXxSGM60\",layoutId:\"cDCiACcB8\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay1})}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay1.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref3,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-o0rqm2`,offsetX:4,offsetY:-1,onDismiss:overlay1.hide,placement:\"right\",safeArea:true,zIndex:5,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-1npum3x\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"jjLMhUPzn\",ref:ref4,role:\"dialog\",style:{backdropFilter:\"blur(8px)\",backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\",WebkitBackdropFilter:\"blur(8px)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-12klo3h-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"NQdDzNoiA-container\",nodeId:\"NQdDzNoiA\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"NQdDzNoiA\",layoutId:\"NQdDzNoiA\",NV06sUBMM:\"Technologia gastronomiczna\",width:\"100%\"})})})})})})]})})})})}),isDisplayed2()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,enabled:isDisplayed3(),children:overlay2=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"lNSfIGV7e\"},implicitPathVariables:undefined},{href:{webPageId:\"lNSfIGV7e\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+0+((componentViewport?.height||671)-36-471)/1*0)+0+211,...addPropertyOverrides({j0DQ6d5uh:{y:(componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-60)/2)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-1tylpux-container\",id:`${layoutId}-1tylpux`,layoutDependency:layoutDependency,layoutId:\"uB5C07b89-container\",nodeId:\"uB5C07b89\",ref:ref5,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks2[0],height:\"100%\",id:\"uB5C07b89\",JWnpKiblS:\"clRM7HB_r\",layoutId:\"uB5C07b89\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay2}),...addPropertyOverrides({j0DQ6d5uh:{dEOLu3jhg:resolvedLinks2[1]}},baseVariant,gestureVariant)}),isDisplayed3()&&/*#__PURE__*/_jsx(AnimatePresence,{children:overlay2.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref5,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-1tylpux`,offsetX:4,offsetY:0,onDismiss:overlay2.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-9kw5cr\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"bDFb8Sbhn\",ref:ref6,role:\"dialog\",style:{backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1973nah-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"kuFl6IJ9v-container\",nodeId:\"kuFl6IJ9v\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"kuFl6IJ9v\",layoutId:\"kuFl6IJ9v\",NV06sUBMM:\"Zasady żywienia\",width:\"100%\"})})})})})})]})})})})}),isDisplayed4()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,children:overlay3=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"AGp6MHKx4\"},implicitPathVariables:undefined},{href:{webPageId:\"AGp6MHKx4\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({j0DQ6d5uh:{height:60,y:(componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-60)/2)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-3bgqke-container\",id:`${layoutId}-3bgqke`,layoutDependency:layoutDependency,layoutId:\"mQqzABWPT-container\",nodeId:\"mQqzABWPT\",ref:ref7,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks3[0],height:\"100%\",id:\"mQqzABWPT\",JWnpKiblS:\"NSXxSGM60\",layoutId:\"mQqzABWPT\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay3}),...addPropertyOverrides({j0DQ6d5uh:{dEOLu3jhg:resolvedLinks3[1]}},baseVariant,gestureVariant)})})})})})}),isDisplayed4()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,enabled:isDisplayed3(),children:overlay4=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"vf2PrJGGp\"},implicitPathVariables:undefined},{href:{webPageId:\"vf2PrJGGp\"},implicitPathVariables:undefined}],children:resolvedLinks4=>/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({j0DQ6d5uh:{height:60,y:(componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-60)/2)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-vmz8j1-container\",id:`${layoutId}-vmz8j1`,layoutDependency:layoutDependency,layoutId:\"nVD51ybLT-container\",nodeId:\"nVD51ybLT\",ref:ref8,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks4[0],height:\"100%\",id:\"nVD51ybLT\",JWnpKiblS:\"KCWgmVRQN\",layoutId:\"nVD51ybLT\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay4}),...addPropertyOverrides({j0DQ6d5uh:{dEOLu3jhg:resolvedLinks4[1]}},baseVariant,gestureVariant)}),isDisplayed3()&&/*#__PURE__*/_jsx(AnimatePresence,{children:overlay4.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref8,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-vmz8j1`,offsetX:4,offsetY:0,onDismiss:overlay4.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-z8amcz\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"YfrKIdmUL\",ref:ref9,role:\"dialog\",style:{backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-17pxn7r-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"MFjsWWqdA-container\",nodeId:\"MFjsWWqdA\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"MFjsWWqdA\",layoutId:\"MFjsWWqdA\",NV06sUBMM:\"Pracownia usług gastronomicznych\",width:\"100%\"})})})})})})]})})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,children:overlay5=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"vf2PrJGGp\"},implicitPathVariables:undefined}],children:resolvedLinks5=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+0+((componentViewport?.height||671)-36-471)/1*0)+0+281,children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-1kn9u5s-container\",id:`${layoutId}-1kn9u5s`,layoutDependency:layoutDependency,layoutId:\"kbcMWT7GH-container\",nodeId:\"kbcMWT7GH\",ref:ref10,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks5[0],height:\"100%\",id:\"kbcMWT7GH\",JWnpKiblS:\"KCWgmVRQN\",layoutId:\"kbcMWT7GH\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay5})}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay5.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref10,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-1kn9u5s`,offsetX:4,offsetY:0,onDismiss:overlay5.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-1nmw6qv\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"KQB4sc6wO\",ref:ref11,role:\"dialog\",style:{backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1kln3gw-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"mT3plFB5F-container\",nodeId:\"mT3plFB5F\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"mT3plFB5F\",layoutId:\"mT3plFB5F\",NV06sUBMM:\"Pracownia usług gastronomicznych\",width:\"100%\"})})})})})})]})})})})}),isDisplayed2()&&/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,enabled:isDisplayed3(),children:overlay6=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"YdtBPhxS1\"},implicitPathVariables:undefined},{href:{webPageId:\"YdtBPhxS1\"},implicitPathVariables:undefined}],children:resolvedLinks6=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+0+((componentViewport?.height||671)-36-471)/1*0)+0+351,...addPropertyOverrides({j0DQ6d5uh:{y:(componentViewport?.y||0)+(16+((componentViewport?.height||72)-32-60)/2)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-2uoqsv-container\",id:`${layoutId}-2uoqsv`,layoutDependency:layoutDependency,layoutId:\"P4q2J3J0s-container\",nodeId:\"P4q2J3J0s\",ref:ref12,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks6[0],height:\"100%\",id:\"P4q2J3J0s\",JWnpKiblS:\"wz83VD1fw\",layoutId:\"P4q2J3J0s\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay6}),...addPropertyOverrides({j0DQ6d5uh:{dEOLu3jhg:resolvedLinks6[1]}},baseVariant,gestureVariant)}),isDisplayed3()&&/*#__PURE__*/_jsx(AnimatePresence,{children:overlay6.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref12,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-2uoqsv`,offsetX:4,offsetY:0,onDismiss:overlay6.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-jkkgp3\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"PWKsOW5dV\",ref:ref13,role:\"dialog\",style:{backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1b10g4-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"a0uxNCxjP-container\",nodeId:\"a0uxNCxjP\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"a0uxNCxjP\",layoutId:\"a0uxNCxjP\",NV06sUBMM:\"Pracownia obsługi konsumenta\",width:\"100%\"})})})})})})]})})})})})]}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-3i05uf\",layoutDependency:layoutDependency,layoutId:\"QWyD2inAu\",children:/*#__PURE__*/_jsx(Overlay,{blockDocumentScrolling:false,dismissWithEsc:false,children:overlay7=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"YOYIe6ryQ\"},implicitPathVariables:undefined}],children:resolvedLinks7=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,y:(componentViewport?.y||0)+18+(0+411+((componentViewport?.height||671)-36-471)/1*1)+0+0,children:/*#__PURE__*/_jsxs(SmartComponentScopedContainer,{className:\"framer-1t1fdj-container\",id:`${layoutId}-1t1fdj`,layoutDependency:layoutDependency,layoutId:\"e35cbPnwV-container\",nodeId:\"e35cbPnwV\",ref:ref14,rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:[/*#__PURE__*/_jsx(Page,{dEOLu3jhg:resolvedLinks7[0],height:\"100%\",id:\"e35cbPnwV\",JWnpKiblS:\"J98ilyXiw\",layoutId:\"e35cbPnwV\",variant:matchVariant(\"bH1wGyFyE\"),width:\"100%\",X_U3FETxX:X_U3FETxX13elrgn({overlay:overlay7})}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay7.visible&&/*#__PURE__*/_jsx(Floating,{alignment:\"center\",anchorRef:ref14,className:cx(scopingClassNames,classNames),collisionDetection:true,collisionDetectionPadding:20,\"data-framer-portal-id\":`${layoutId}-1t1fdj`,offsetX:4,offsetY:0,onDismiss:overlay7.hide,placement:\"right\",safeArea:true,zIndex:11,children:/*#__PURE__*/_jsx(MotionDivWithFX,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation1,className:\"framer-1h1x13c\",exit:animation,initial:animation2,layoutDependency:layoutDependency,layoutId:\"rOgwbf02n\",ref:ref15,role:\"dialog\",style:{backgroundColor:\"rgba(255, 255, 255, 0.35)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"0px 10px 20px 0px rgba(0, 0, 0, 0.05)\"},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-4uinzl-container\",inComponentSlot:true,layoutDependency:layoutDependency,layoutId:\"BCTuZsCBQ-container\",nodeId:\"BCTuZsCBQ\",rendersWithMotion:true,scopeId:\"QRuLjDvw5\",children:/*#__PURE__*/_jsx(OverlayButton,{height:\"100%\",id:\"BCTuZsCBQ\",layoutId:\"BCTuZsCBQ\",NV06sUBMM:\"Kontakt\",width:\"100%\"})})})})})})]})})})})})})]})})})});});const css=[\".framer-0h412.framer-1neejwd, .framer-0h412 .framer-1neejwd { display: block; }\",\".framer-0h412.framer-l18xbq { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: 671px; justify-content: space-between; overflow: visible; padding: 18px 12px 18px 12px; position: relative; width: 93px; }\",\".framer-0h412 .framer-1jtlek { align-content: center; align-items: center; 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: min-content; }\",\".framer-0h412 .framer-zvgxr7-container { align-self: stretch; cursor: pointer; flex: 1 0 0px; height: 1px; position: relative; width: auto; }\",\".framer-0h412 .framer-k7orrx-container { cursor: pointer; flex: none; height: 61px; position: relative; width: 50px; }\",\".framer-0h412 .framer-1lcqk19-container, .framer-0h412 .framer-o0rqm2-container, .framer-0h412 .framer-1tylpux-container, .framer-0h412 .framer-3bgqke-container, .framer-0h412 .framer-vmz8j1-container, .framer-0h412 .framer-1kn9u5s-container, .framer-0h412 .framer-2uoqsv-container, .framer-0h412 .framer-1t1fdj-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-0h412 .framer-1iy4x6v, .framer-0h412 .framer-9kw5cr, .framer-0h412 .framer-z8amcz, .framer-0h412 .framer-1nmw6qv, .framer-0h412 .framer-jkkgp3, .framer-0h412 .framer-1h1x13c { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-0h412 .framer-m3fynv-container, .framer-0h412 .framer-12klo3h-container, .framer-0h412 .framer-1973nah-container, .framer-0h412 .framer-17pxn7r-container, .framer-0h412 .framer-1kln3gw-container, .framer-0h412 .framer-1b10g4-container, .framer-0h412 .framer-4uinzl-container { flex: none; height: auto; position: relative; width: auto; z-index: 4; }\",\".framer-0h412 .framer-1npum3x { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-0h412 .framer-3i05uf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-0h412.framer-v-umly4a.framer-l18xbq, .framer-0h412.framer-v-owgkml.framer-l18xbq { flex-direction: row; gap: 10px; height: 72px; justify-content: center; padding: 16px 12px 16px 12px; width: 349px; }\",\".framer-0h412.framer-v-umly4a .framer-1jtlek, .framer-0h412.framer-v-owgkml .framer-1jtlek { flex: 1 0 0px; flex-direction: row; gap: unset; justify-content: space-between; width: 1px; }\",\".framer-0h412.framer-v-umly4a .framer-1lcqk19-container { order: 1; }\",\".framer-0h412.framer-v-umly4a .framer-1tylpux-container { order: 5; }\",\".framer-0h412.framer-v-umly4a .framer-3bgqke-container { order: 2; }\",\".framer-0h412.framer-v-umly4a .framer-vmz8j1-container { order: 6; }\",\".framer-0h412.framer-v-umly4a .framer-2uoqsv-container { order: 7; }\",\".framer-0h412.framer-v-owgkml .framer-zvgxr7-container { height: auto; order: 0; width: 1px; }\",'.framer-0h412[data-border=\"true\"]::after, .framer-0h412 [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 671\n * @framerIntrinsicWidth 93\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"j0DQ6d5uh\":{\"layout\":[\"fixed\",\"fixed\"]},\"sJyBl9F7o\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerQRuLjDvw5=withCSS(Component,css,\"framer-0h412\");export default FramerQRuLjDvw5;FramerQRuLjDvw5.displayName=\"Header\";FramerQRuLjDvw5.defaultProps={height:671,width:93};addPropertyControls(FramerQRuLjDvw5,{variant:{options:[\"mlgL1Guc7\",\"j0DQ6d5uh\",\"sJyBl9F7o\"],optionTitles:[\"Web\",\"Mobile\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerQRuLjDvw5,[{explicitInter:true,fonts:[]},...SearchFonts,...Search1Fonts,...PageFonts,...OverlayButtonFonts],{supportsExplicitInterCodegen:true});FramerQRuLjDvw5.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Page,{},context),forwardLoader(OverlayButton,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerQRuLjDvw5\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"93\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"671\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"j0DQ6d5uh\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"sJyBl9F7o\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (a050651)\nconst valuesByLocaleId={S3gCY4i0F:{v0:\"nutrition technician - Teaching materials\",v1:\"A database of teaching materials, presentations, exercises, and worksheets preparing for the HGT.02 and HGT.12 vocational exams.\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{description:getLocalizedValue(\"v1\",activeLocale)??\"Baza materiał\\xf3w dydaktycznych, prezentacji, ćwiczeń, kart pracy przygotowujących do egzaminu zawodowego HGT.02 HGT.12. \",favicon:\"https://framerusercontent.com/assets/lk88GZ6pabDLjErG7pXlrKf10k.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/vCCkaPzt1Urw3JQYo0NjCJVsinY.png\",title:getLocalizedValue(\"v0\",activeLocale)??\"technikzywienia - Materiały dydaktyczne\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}