{"version":3,"file":"Search.BKnJg4MV.mjs","names":["useMemo","useState","useRef","useCallback","useRef","useState","useDeferredValue","useCallback","useMemo","React","useState","useRef","useState","__esmMin","init_npm_react_18_3_1","navigator","pe","e","window","init_ssg_sandbox_shims","init_npm_react_dom_18_3_1","ce","Ha","ne","le","p","c","J","init_jsx_runtime","_e","fe","de","ae","motion","useAnimate","init_framer_motion_DhsWWWsN","AnimatePresence","clamp","useRouter","useLocaleInfo","inferInitialRouteFromPath","withCSS","init_framer_DymZktPS","addPropertyControls","ControlType","RenderTarget","SearchIcon","props","ClearIcon","SpinnerIcon","init_Icons","Storage","request","\"result\"","resolve","reject","init_storage","key","value","setCachedData","cacheKey","url","cache","dataToCache","checkForCachedData","init_cache","init_cache_YMiL","isDefaultLocaleId","localeId","getIndexKey","INDEX_KEY","getMetadataKey","METADATA_KEY","getCachedIndex","cachedIndex","setCachedIndex","index","metadata","VERSION","init_cachedIndex","fakeResults","init_fakeResults","peq","myers_32","myers_x","distance","init_fuzzySearch","a","m","b","lst","pv","mv","sc","i","eq","xv","mhc","phc","hsize","vsize","j","start","vlen","k","i1","pb","mb","xh","ph","mh","k1","mv1","pv1","start1","vlen1","k2","score","i2","eq1","pb1","mb1","xv1","xh1","ph1","mh1","k3","tmp","capitalizeFirstLetter","titleCase","groupsRegex","clampText","textLength","text","maxLength","slicedText","isEmptyObject","object","createLogger","log","data","time","label","timeEnd","noop","showOutput","getFontFamily","theme","DEFAULT_FONT_FAMILY","animationKeyFromLayout","layout","getMetaTagContent","metaTag","safeDocument","metaTagSelector","stripLocaleSlugFromPath","localeSlug","localeSlugWithSlash","localStorageDebugFlag","safeWindow","checkIfOverLimit","init_utils","isValidUrl","splitWords","getUniqueWords","words","str","word","getNormalizedString","getNormalizedItem","normalizedItem","item","getMatchRange","result","currentRange","end","getScoreForSearchIndexItem","match","urlWords","query","splitLength","titleWords","titleIndex","fullQuery","titleWord","headings","heading","headingWords","headingWord","descriptionIndex","codeblock","getSearchIndexItemScore","normalizedQuery","queryWords","total","queryWord","useRawSearch","path","results","title","settings","SearchResultTitleType","itemB","itemA","getIndexedScopedToUrl","scopedIndex","baseScopeUrlHasVariable","rawUrlScope","urlUpToPathVariable","urlScope","useSearch","searchIndex","_setSearchIndex","status","setStatus","activeLocale","setSearchIndex","options","loadSearchIndex","metaTagContent","isOverLimit","searchIndexURL","getSearchIndexURL","response","downloadedIndex","error","baseURL","init_useSearch","init_SearchModal","Browser","init_browser","isTouch","isChrome","isWebKit","isSafari","useCallbackOnMouseMove","init_useCallbackOnMouseMove","prevPositionRef","callback","event","ref","mousePositionRef","prevCursorPosition","clientX","clientY","scrollIntoView","targetElementBounds","targetElement","scrollElementBounds","scrollElement","difference","offsetTop","topAligned","minOffset","bottomAligned","offset","offsetBottom","init_scrollIntoView","ClearButton","iconOrText","type","Divider","styles","QuickMenuSpacer","LayoutContainer","layoutStyles","getLayoutBaseStyles","layoutType","style","layoutContainerStyle","innerStyle","getContainerAnimation","modalOptions","containerAnimation","onDismiss","ModalContainer","MODAL_MAX_HEIGHT","scope","animate","heightIsStatic","prevHeight","height","heightTransition","heightDeps","StatusMessage","verticalSpacing","VERTICAL_SPACING_MULTIPLIER","statusStyle","layoutOption","sidebarStyles","fixedTopStyles","quickMenuStyles","SearchModal","input","selectedResultRow","scrollView","selected","setSelected","prevMousePositionRef","isKeyboardNavigationDisabled","setIsKeyboardNavigationDisabled","setQuery","deferredQuery","resultOptions","selectedResult","handleResultRowPointerDown","handleResultRowMouseMove","previousSelected","router","navigateTo","_route_page","_router_navigate","route","routeId","pathVariables","handleKeyDown","maxIndex","showNoResults","showDivider","isItemContained","spacing","listPaddingTop","element","Input","inputOptions","ScrollView","isSelected","ResultRow","resultTitle","MAX_DESCRIPTION_LENGTH","inputContainerStyle","inputStyle","resultContainer","SearchInputClearButtonType","SearchInputDividerType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","inputValue","setInputValue","isFocused","setIsFocused","inputRef","inputElement","handleInputClick","handleClearClick","onChange","showClearButton","clearButtonType","searchIcon","iconType","autofocus","scrollOffset","urlPath","handleMouseMove","onMouseMove","isContained","borderRadius","subtitleText","subtitleType","onNavigateTo","onPointerDown","canScroll","setCanScroll","\"Icon\"","\"Text\"","\"None\"","\"FullWidth\"","\"Contained\"","\"H1\"","\"Title\"","\"Description\"","\"Path\"","\"Sidebar\"","\"FixedTop\"","\"QuickMenu\"","\"Default\"","\"Custom\"","getViewportSize","useViewportSizeState","state","setState","getState","handleWindowResize","init_useViewportSizeState","buildShadow","shadowProperty","fallback","x","y","blur","spread","color","EntryPointOptions","Overlay","backdropStyles","containerStyle","bodyOverflowHidden","EntryPoint","init_Search","\"icon\"","\"input\"","handlePointerDown","_props_inputOptions","overlay","isOpen","setIsOpen","setIsOverLimit","isSafariTouchDevice","setIsSafariTouchDevice","isOnCanvas","baseInputFontSize","inputFontSize","size","handleClick"],"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/C71JVnvNwV2CrPvApXBB/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/y5F4AGWJ6syeuoB7ebKM/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/Xy775u0FJg3K1GQc1Cd9/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/HPzg2Uk7mwtBmDzvGbWF/Search.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=typeof window!==\"undefined\"&&window.localStorage.getItem(\"__framerDebugSearch\")===\"true\";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, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){var _theme_inputFont,_theme_titleFont,_theme_subtitleFont;if((_theme_inputFont=theme.inputFont)===null||_theme_inputFont===void 0?void 0:_theme_inputFont.fontFamily)return theme.inputFont.fontFamily;if((_theme_titleFont=theme.titleFont)===null||_theme_titleFont===void 0?void 0:_theme_titleFont.fontFamily)return theme.titleFont.fontFamily;if((_theme_subtitleFont=theme.subtitleFont)===null||_theme_subtitleFont===void 0?void 0:_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===null||safeDocument===void 0?void 0: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);}}\nexport const __FramerMetadata__ = {\"exports\":{\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useMemo,useState}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/Xy775u0FJg3K1GQc1Cd9/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,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/C71JVnvNwV2CrPvApXBB/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,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===null||activeLocale===void 0?void 0: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===null||activeLocale===void 0?void 0:activeLocale.slug);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\"}}}\n//# sourceMappingURL=./useSearch.map","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/y5F4AGWJ6syeuoB7ebKM/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/C71JVnvNwV2CrPvApXBB/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(()=>{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===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,{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);onDismiss();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\":{\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/Xy775u0FJg3K1GQc1Cd9/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/C71JVnvNwV2CrPvApXBB/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\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"40\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}