{"version":3,"file":"shared-lib.BLgmXwhK.mjs","names":["fonts","css","className","fonts","css","className","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","splitWordsRegex","useRef","useCallback","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","useState","useTransition","SearchResultTitleType","useRef","useState","useDeferredValue","useCallback","useMemo","React","useState","useRef","useState","getProps","React.forwardRef","useState","useRef","fonts","css","className","Search","List","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","X","Image1","css","sharedStyle.css","sharedStyle.fonts","fonts","css","className","__esmMin","window","he","le","x","pe","te","init_ssg_sandbox_shims","fe","init_npm_react_18_3_1","ae","init_npm_react_dom_18_3_1","e","_e","Ha","oe","ne","p","c","J","init_jsx_runtime","ce","ie","de","navigator","useAnimate","motion","MotionConfigContext","clamp","AnimatePresence","LayoutGroup","init_framer_motion_DhsWWWsN","ResolveLinks","useVariantState","addFonts","SmartComponentScopedContainer","inferInitialRouteFromPath","getLoadingLazyAtYPosition","fontStore","addPropertyControls","RenderTarget","getFontsFromSharedStyle","ComponentViewportProvider","useRouter","Link","useLocaleInfo","cx","useActiveVariantCallback","Instance","Image$1","init_framer_BWFVvmND","runTasksWithYield","ControlType","useComponentViewport","RichText","withCSS","useSVGTemplate","getFonts","fonts$4","css$5","className$4","init_gW5DgVRv6","fonts$3","css$4","className$3","init_oXHC5QYL7","mask$1","Base$1","MotionSVG$1","SVG$1","svg$1","getProps$2","Icon$1","init_itu1soPCZ","props","rest","animated","color","width1","alpha","restProps","href","className","qxTvv_EBh","ezTt3ayMo","lschgej4H","style","SearchIcon","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","metadataKey","indexKey","metadata","cachedIndex","indexHash","setCachedIndex","index","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","yieldToMain","options","isHighPriority","localStorageDebugFlag","safeWindow","checkIfOverLimit","init_utils","log$3","time$3","timeEnd$3","init_useSearch","init_SearchModal","regex","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","SearchInputClearButtonType$3","SearchInputDividerType$3","SearchResultTitleType$3","SearchResultSubtitleType$3","SearchResultItemType$3","SearchLayoutType$3","SearchEntryType$3","SearchIconType$3","\"Icon\"","\"Text\"","\"None\"","\"FullWidth\"","\"Contained\"","\"H1\"","\"Title\"","\"Description\"","\"Path\"","\"Sidebar\"","\"FixedTop\"","\"QuickMenu\"","\"Default\"","\"Custom\"","log$2","time$2","timeEnd$2","init_useSearch$1","SearchInputClearButtonType$2","SearchInputDividerType$2","SearchResultTitleType$2","SearchResultSubtitleType$2","SearchResultItemType$2","SearchLayoutType$2","SearchEntryType$2","SearchIconType$2","init_SearchModal$1","log$1","time$1","timeEnd$1","init_useSearch$2","SearchInputClearButtonType$1","SearchInputDividerType$1","SearchResultTitleType$1","SearchResultSubtitleType$1","SearchResultItemType$1","SearchLayoutType$1","SearchEntryType$1","SearchIconType$1","init_SearchModal$2","splitWords","splitWordsRegex","getUniqueWords","words","str","word","getNormalizedString","normalizeRegex","getNormalizedItemFromCache","cached","normalizedItemCache","item","normalizedItem","getNormalizedItem","getMatchRange","result","currentRange","end","getScoreForSearchIndexItem","match","urlWords","query","splitLength","titleWords","titleIndex","fullQuery","titleWord","headings","heading","headingWords","headingWord","descriptionIndex","codeblock","getSearchIndexItemScore","queryWords","normalizedQuery","total","queryWord","useRawSearch","results","setResults","startTransition","abortController","executeRawSearch","settings","res","err","path","items","deadline","QUANTUM","yieldToMainIfNecessary","signal","title","itemB","itemA","getIndexedScopedToUrl","scopedIndex","baseScopeUrlHasVariable","rawUrlScope","urlUpToPathVariable","urlScope","useSearch","searchIndex","_setSearchIndex","status","setStatus","activeLocale","setSearchIndex","loadSearchIndex","baseUrl","getBaseUrl","cacheResult","searchIndexUrl","getSearchIndexUrl","response","downloadedIndex","fallbackBaseUrl","fallbackSearchIndexUrl","fallbackResponse","error","name","baseURL","init_useSearch$3","ClearButton","iconOrText","type","Divider","styles","QuickMenuSpacer","LayoutContainer","layoutStyles","getLayoutBaseStyles","layoutType","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","routeId","pathVariables","handleKeyDown","maxIndex","showNoResults","showDivider","isItemContained","spacing","listPaddingTop","element","Input","inputOptions","ScrollView","isSelected","ResultRow","resultTitle","MAX_DESCRIPTION_LENGTH","inputContainerStyle","inputStyle","resultContainer","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","init_SearchModal$3","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","getViewportSize","useViewportSizeState","state","setState","getState","handleWindowResize","init_useViewportSizeState","buildShadow","shadowProperty","fallback","y","blur","spread","EntryPointOptions","Overlay","backdropStyles","containerStyle","bodyOverflowHidden","EntryPoint","init_Search","\"icon\"","\"input\"","handlePointerDown","overlay","isOpen","setIsOpen","isOverLimit","setIsOverLimit","isSafariTouchDevice","setIsSafariTouchDevice","isOnCanvas","baseInputFontSize","inputFontSize","size","handleClick","mask","Base","MotionSVG","SVG","svg","getProps$1","Icon","init_q95pf4lLL","CircularNav","mobileScrollMultiplier","springStiffness","springDamping","rotation","setRotation","targetRotation","setTargetRotation","velocity","setVelocity","viewportWidth","setViewportWidth","clickedIndex","setClickedIndex","isVisible","setIsVisible","isMobile","setIsMobile","isOverscrolled","setIsOverscrolled","isAutoplayActive","setIsAutoplayActive","lastInteractionTime","setLastInteractionTime","containerRef","lastTouchY","animationFrameRef","lastScrollTime","overscrollVelocity","autoplayResumeTimeout","lastRotation","crossedIndices","updateViewportWidth","width","responsiveValues","responsiveRadius","radius","responsiveCircleX","circleX","responsiveCircleY","circleY","normalizedRot","rot","anglePerItem","repetitions","currentRotation","lastRot","itemAngle","itemCurrentAngle","itemLastAngle","crossedForward","crossedBackward","isAtZero","audio","handleWheel","autoplayResumeDelay","delta","now","timeDelta","rotationDelta","rotationSpeed","prev","container","lastTouchTime","touchStartY","touchStartX","hasMoved","handleTouchStart","handleTouchMove","currentTouchY","currentTouchX","deltaY","handleTouchEnd","touchEndY","totalDelta","swipeVelocity","overscrollVel","newRotation","current","velocityThreshold","autoplaySpeed","nearestSnapAngle","distanceToSnap","newVelocity","currentVelocity","inertia","dampingFactor","handleItemClick","onItemClick","gradientHeight","backgroundColor","innerCircleRadius","innerCircleColor","innerCircleShadow","itemIndex","totalAngle","rad","textColor","font","init_CircularNav","fonts$2","css$3","className$2","init_A5deQSSHH","addPropertyOverrides","variants","nextOverrides","variant","overrides","SearchFonts","ListFonts","CircularNavFonts","cycleOrder","serializationHash","variantClassNames","transition1","transition2","animation","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","Component","css$2","FramerBmPTWqXGu","init_BmPTWqXGu","config","transition","contextValue","headerColor","fallbackRef","refBinding","defaultLayoutId","componentViewport","layoutDependency","scopingClassNames","isDisplayed","baseVariant","onTap1ch41ou","activeVariantCallback","args","setVariant","isDisplayed1","isDisplayed2","isDisplayed3","onTapebponi","isDisplayed4","isDisplayed5","onItemClicklyuako","delay","layoutId","gestureVariant","gestureHandlers","classNames","EJ1xG6FUa","resolvedLinks","context","fonts$1","css$1","className$1","init_MySy3NolX","fonts","css","init_WWl2ePfGy"],"sources":["https:/framerusercontent.com/modules/9Qkf9hKJmEGcGdSMMtds/x6JTwtbTZP1HrBUjLv1G/gW5DgVRv6.js","https:/framerusercontent.com/modules/w7HUBl2xVPCdixpoYggH/m2RuH4MpEQYqwlT2va5y/oXHC5QYL7.js","https:/framerusercontent.com/modules/4xJsJPc59it6XmHEERsh/koUifyDPwJ9ohyYl3uMd/itu1soPCZ.js","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/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js","https:/framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js","https:/framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js","https:/framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js","https:/framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js","https:/framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js","https:/framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js","https:/framerusercontent.com/modules/DlhaKEqTH7HtBHYEY6OG/gKyjPIIxmf4s6ak3ADA6/CircularNav.js","https:/framerusercontent.com/modules/KztiahAPo0KOt6ifYxAy/1OacE8LotmdrEb596pbd/A5deQSSHH.js","https:/framerusercontent.com/modules/4tql2n3xMBhfPLvoGb2D/mLlRfKOxL0khAjuIixSw/BmPTWqXGu.js","https:/framerusercontent.com/modules/V4sfRkPem5Z0rG1YR55Y/LMGBYKZxbboyx3oicjMy/MySy3NolX.js","https:/framerusercontent.com/modules/ky4YmroLcivbXd5P0Uqh/DpqWoTMiA5znLQDnU6Lr/WWl2ePfGy.js"],"sourcesContent":["// Generated by Framer (c9c30df)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Fragment Mono-regular\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Fragment Mono\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"},{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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-RS5Mn .framer-styles-preset-wnoteh:not(.rich-text-wrapper), .framer-RS5Mn .framer-styles-preset-wnoteh.rich-text-wrapper p { --framer-font-family: \"Fragment Mono\", monospace; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-RS5Mn\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d369d66)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Fragment Mono-regular\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Fragment Mono\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"},{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/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{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/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{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/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{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/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{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/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/H89BbHkbHDzlxZzxi8uPzTsp90.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/u6gJwDuwB143kpNK1T1MDKDWkMc.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/43sJ6MfOPh1LCJt46OvyDuSbA6o.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/wccHG0r4gBDAIRhfHiOlq6oEkqw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/WZ367JPwf9bRW6LdTHN8rXgSjw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/ia3uin3hQWqDrVloC1zEtYHWw.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/2A4Xx7CngadFGlVV4xrO06OBHY.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/pKRFNWFoZl77qYCAIp84lN1h944.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"}]}];export const css=['.framer-D1c9s .framer-styles-preset-1rbu6my:not(.rich-text-wrapper), .framer-D1c9s .framer-styles-preset-1rbu6my.rich-text-wrapper p { --framer-font-family: \"Fragment Mono\", monospace; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-D1c9s .framer-styles-preset-1rbu6my:not(.rich-text-wrapper), .framer-D1c9s .framer-styles-preset-1rbu6my.rich-text-wrapper p { --framer-font-family: \"Fragment Mono\", monospace; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-D1c9s .framer-styles-preset-1rbu6my:not(.rich-text-wrapper), .framer-D1c9s .framer-styles-preset-1rbu6my.rich-text-wrapper p { --framer-font-family: \"Fragment Mono\", monospace; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv09\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-D1c9s\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 12 L 0 0 L 16.5 0 L 16.5 12 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"12px\" id=\"gwB_ZdJt6\" transform=\"translate(3.75 6)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"xGkn4qbwc\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"uQ9bOFKFt\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 6)\" width=\"16.5px\"/><path d=\"M 0 0 L 16.5 0\" fill=\"transparent\" height=\"1px\" id=\"hrURkUe9P\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 18)\" width=\"16.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3559153988\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-iZmZi\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-iZmZi { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"List\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-iZmZi\");Icon.displayName=\"List\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"List\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","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,indexHash){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst metadataKey=getMetadataKey(localeId);const indexKey=getIndexKey(localeId);const[metadata,cachedIndex]=await Promise.all([checkForCachedData(metadataKey),checkForCachedData(indexKey)]);if(cachedIndex){return{status:indexHash&&metadata?.indexHash===indexHash?\"fresh\":\"stale\",searchIndex:cachedIndex,indexHash:metadata?.indexHash};}return{status:\"miss\"};}export function setCachedIndex(localeId,index,indexHash){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now(),indexHash};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map","// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map","// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map","export const localStorageDebugFlag=(()=>{try{return typeof window!==\"undefined\"&&window.localStorage.__framerDebugSearch===\"true\";}catch(e){// localStorage not available\n}})();const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}export function clampText(text,maxLength){const textLength=text.length;if(textLength<=maxLength){return text;}const slicedText=text.slice(0,maxLength);if(textLength>maxLength){return slicedText+\"…\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){if(theme.inputFont?.fontFamily)return theme.inputFont.fontFamily;if(theme.titleFont?.fontFamily)return theme.titleFont.fontFamily;if(theme.subtitleFont?.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument?.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};export function stripLocaleSlugFromPath(url,localeSlug){if(!localeSlug)return url;const localeSlugWithSlash=`/${localeSlug}`;if(url.startsWith(localeSlugWithSlash)){return url.slice(localeSlugWithSlash.length);}}/**\n * @param isHighPriority If true and `scheduler.yield` is not available, the function will either use `postTask` or if also not available, return a resolved promise.\n */export function yieldToMain(isHighPriority){if(\"scheduler\"in window){// see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n// \"user-blocking\" is the highest priority and creates a paint opportunity.\n// \"user-visible\" is the default, creates a paint opportunity, but has more potential to be delayed (by \"user-blocking\" tasks).\nconst options={priority:isHighPriority?\"user-blocking\":\"user-visible\"};if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if(isHighPriority){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but do not guarantee a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve,0);});}\nexport const __FramerMetadata__ = {\"exports\":{\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}// If a cached index exists, use the cached version until the latest one from the network loads.\nconst cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status!==\"miss\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");if(cacheResult.status===\"fresh\")return;}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);// Happy case.\nif(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Unexpected error.\n// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);// It's safe to cache the fallback because if we're here, current cache is empty or stale.\nsetCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map","// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map","// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale.\n// If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js\";import{useViewportSizeState}from\"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";import{titleCase,DEFAULT_FONT_FAMILY,isEmptyObject,animationKeyFromLayout,checkIfOverLimit}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var EntryPointOptions;// SITE SEARCH\n// By Anthony and Hunter\n(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/_jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/_jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */const EntryPoint=withCSS(function EntryPoint(props){const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=props.inputOptions?.inputFont?.fontSize?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore – Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:props.resultOptions?.titleFont&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:props.resultOptions.subtitleOptions?.subtitleFont&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:props.inputOptions?.inputFont&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",borderRadius:10,padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/_jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`],\"framer-lib-search\");export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore – Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,hidden:props=>props.layoutType===SearchLayoutType.FixedTop},top:{title:\"Top\",type:ControlType.Number,defaultValue:0,min:0,max:1e3,displayStepper:true,hidden:props=>props.layoutType!==SearchLayoutType.FixedTop},heightIsStatic:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Instant\",disabledTitle:\"Animate\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},heightTransition:{title:\"Type\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:800,damping:60},hidden:({heightIsStatic,layoutType})=>layoutType!==SearchLayoutType.QuickMenu||heightIsStatic},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,displayStepper:true,min:0,hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},shadow:{buttonTitle:\"Options\",type:ControlType.Object,defaultValue:{x:0,y:20,blur:40,spread:0,color:\"rgba(0,0,0,0.2)\"},controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.2)\"},x:{type:ControlType.Number,defaultValue:0},y:{type:ControlType.Number,defaultValue:20},blur:{type:ControlType.Number,defaultValue:40},spread:{type:ControlType.Number,defaultValue:0}}},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:\"#FFF\"},[animationKeyFromLayout(SearchLayoutType.QuickMenu)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu,optional:true,buttonTitle:\"Options\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,step:.1,min:0,max:1},scale:{type:ControlType.Number,defaultValue:.75,step:.1,min:0,max:2},// rotate: {\n//     type: ControlType.Number,\n//     defaultValue: 0,\n//     min: -360,\n//     max: 360,\n// },\nx:{type:ControlType.Number,defaultValue:0,min:-500,max:500},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.FixedTop)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.FixedTop,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},y:{type:ControlType.Number,defaultValue:0,min:-100,max:100},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.Sidebar)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.Sidebar,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},x:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3},transition:{type:ControlType.Transition}}}}},resultOptions:{title:\"Results\",buttonTitle:\"Fonts, Style\",type:ControlType.Object,defaultValue:{},// description:\n//     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\ncontrols:{itemType:{title:\"Style\",type:ControlType.Enum,options:Object.values(SearchResultItemType),optionTitles:Object.keys(SearchResultItemType).map(titleCase),defaultValue:SearchResultItemType.FullWidth},titleFont:{title:\"Title\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:15},displayFontSize:true},titleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},titleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultTitleType),optionTitles:Object.keys(SearchResultTitleType).map(titleCase),defaultValue:SearchResultTitleType.H1,displaySegmentedControl:true},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 1.5 16.5 C 0.672 16.5 0 15.828 0 15 L 0 1.5 C 0 0.672 0.672 0 1.5 0 L 15 0 C 15.828 0 16.5 0.672 16.5 1.5 L 16.5 15 C 16.5 15.828 15.828 16.5 15 16.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"16.5px\" id=\"LjE0Ycn76\" transform=\"translate(3.75 3.75)\" width=\"16.5px\"/><path d=\"M 13.5 0 L 0 13.5\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"oSDwjLCvX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/><path d=\"M 13.5 13.5 L 0 0\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"H9XwXWiXU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 5.25)\" width=\"13.5px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2202960551\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-AhL2C\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-AhL2C { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-AhL2C\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Circular text navigation component with scroll-based rotation and click navigation\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Circular Text Navigation\n * \n * A mobile navigation component with menu items arranged in a circle.\n * Features scroll-based rotation and click navigation with smooth animations.\n * \n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 800\n * \n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function CircularNav(props){const{items=[{title:\"Overview\",url:\"/\"},{title:\"Magazine\",url:\"/magazine\"},{title:\"Film Screenings\",url:\"/film-screenings\"},{title:\"AFA Awards\",url:\"/afa-awards\"},{title:\"2026 Winners\",url:\"/2026-winners\"},{title:\"2025 Jury\",url:\"/2025-jury\"}],radius=200,rotationSpeed=.3,textColor=\"#000000\",backgroundColor=\"#F5F5F5\",font,repetitions=3,circleX=0,circleY=0,dampingFactor=.95,velocityThreshold=.01,gradientHeight=150,innerCircleColor=\"#4A5F6F\",innerCircleRadius=1,innerCircleShadow=\"0 4px 20px rgba(0, 0, 0, 0.15)\",autoplaySpeed=.05,autoplayResumeDelay=3e3,inertia=.95,onItemClick,onClose}=props;// Optimized motion values for accessible and natural experience\nconst mobileScrollMultiplier=1.2;const overscrollAmount=15;const springStiffness=.12;const springDamping=.85;const overscrollLimit=30;const[rotation,setRotation]=useState(0);const[targetRotation,setTargetRotation]=useState(0);const[velocity,setVelocity]=useState(0);const[viewportWidth,setViewportWidth]=useState(0);const[clickedIndex,setClickedIndex]=useState(null);const[isVisible,setIsVisible]=useState(true);const[isMobile,setIsMobile]=useState(false);const[isOverscrolled,setIsOverscrolled]=useState(false);const[isAutoplayActive,setIsAutoplayActive]=useState(true);const[lastInteractionTime,setLastInteractionTime]=useState(0);const containerRef=useRef(null);const lastTouchY=useRef(0);const animationFrameRef=useRef();const lastScrollTime=useRef(Date.now());const overscrollVelocity=useRef(0);const autoplayResumeTimeout=useRef();const lastRotation=useRef(0);const crossedIndices=useRef(new Set);// Track viewport width for responsiveness\nuseEffect(()=>{if(typeof window===\"undefined\")return;const updateViewportWidth=()=>{const width=window.innerWidth;startTransition(()=>{setViewportWidth(width);setIsMobile(width<=768);});};updateViewportWidth();window.addEventListener(\"resize\",updateViewportWidth);return()=>{window.removeEventListener(\"resize\",updateViewportWidth);};},[]);// Calculate responsive values based on viewport width\nconst getResponsiveValues=()=>{if(viewportWidth===0)return{radius,circleX,circleY};let responsiveRadius=radius;let responsiveCircleX=circleX;let responsiveCircleY=circleY;if(viewportWidth<375){// Small phones\nresponsiveRadius=radius*.8;responsiveCircleX=circleX*.8;}else if(viewportWidth>414){// Large phones\nresponsiveRadius=radius*1.1;responsiveCircleX=circleX*1.1;}return{radius:responsiveRadius,circleX:responsiveCircleX,circleY:responsiveCircleY};};const responsiveValues=getResponsiveValues();// Calculate semi-major and semi-minor axes\nconst a=responsiveValues.radius;const b=responsiveValues.radius;// Calculate active index based on rotation\nconst getActiveIndex=rot=>{// Normalize rotation to 0-360\nconst normalizedRot=(rot%360+360)%360;// Active position is at 0° (center-right)\nconst activeAngle=0;// Find which item is closest to active position\nconst anglePerItem=360/(items.length*repetitions);const offset=(normalizedRot+activeAngle)%360;const itemIndex=Math.round(offset/anglePerItem)%(items.length*repetitions);return itemIndex%items.length;};const activeIndex=getActiveIndex(rotation);// Play click sound when items cross 0 degrees\nuseEffect(()=>{const anglePerItem=360/(items.length*repetitions);const currentRotation=(rotation%360+360)%360;const lastRot=(lastRotation.current%360+360)%360;// Check each item to see if it crossed 0 degrees\nfor(let i=0;i<items.length*repetitions;i++){const itemAngle=i*anglePerItem%360;const itemCurrentAngle=(itemAngle+currentRotation)%360;const itemLastAngle=(itemAngle+lastRot)%360;// Detect crossing: item was before 0 and is now after, or vice versa\n// Account for wrap-around at 360/0 degrees\nconst crossedForward=itemLastAngle>350&&itemCurrentAngle<10;const crossedBackward=itemLastAngle<10&&itemCurrentAngle>350;// Also check if item is very close to 0 degrees (within 2 degrees)\nconst isAtZero=itemCurrentAngle<2||itemCurrentAngle>358;const wasNotAtZero=!(itemLastAngle<2||itemLastAngle>358);if((crossedForward||crossedBackward||isAtZero&&wasNotAtZero)&&!crossedIndices.current.has(i)){// Play click sound\nif(typeof Audio!==\"undefined\"){const audio=new Audio(\"data:audio/wav;base64,UklGRhIAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YU4AAACAf39/f39/f4CAgICAgICAgH9/f39/f3+AgICAgICAgICAf39/f39/f4CAgICAgICAgA==\");audio.volume=.3;audio.play().catch(()=>{})// Ignore errors if audio can't play\n;}crossedIndices.current.add(i);}else if(!isAtZero&&crossedIndices.current.has(i)){// Remove from set when item moves away from 0 degrees\ncrossedIndices.current.delete(i);}}lastRotation.current=rotation;},[rotation,items.length,repetitions]);// Handle scroll\nuseEffect(()=>{if(typeof window===\"undefined\")return;const handleWheel=e=>{// Only prevent default to stop page scroll, don't stop propagation\ne.preventDefault();// Pause autoplay on user interaction\nstartTransition(()=>{setIsAutoplayActive(false);setLastInteractionTime(Date.now());});// Clear existing resume timeout\nif(autoplayResumeTimeout.current){clearTimeout(autoplayResumeTimeout.current);}// Set new resume timeout\nautoplayResumeTimeout.current=window.setTimeout(()=>{startTransition(()=>setIsAutoplayActive(true));},autoplayResumeDelay);const delta=e.deltaY;const now=Date.now();const timeDelta=now-lastScrollTime.current;lastScrollTime.current=now;startTransition(()=>{const rotationDelta=-delta*rotationSpeed;setRotation(prev=>prev+rotationDelta);setTargetRotation(prev=>prev+rotationDelta);// Calculate velocity based on scroll delta and time\nsetVelocity(rotationDelta/Math.max(timeDelta,16));});};window.addEventListener(\"wheel\",handleWheel,{passive:false});return()=>{window.removeEventListener(\"wheel\",handleWheel);if(autoplayResumeTimeout.current){clearTimeout(autoplayResumeTimeout.current);}};},[rotationSpeed,autoplayResumeDelay]);// Handle touch events for mobile\nuseEffect(()=>{if(typeof window===\"undefined\"||!containerRef.current)return;const container=containerRef.current;let lastTouchTime=Date.now();let touchStartY=0;let touchStartX=0;let hasMoved=false;const handleTouchStart=e=>{// Don't prevent default on touch start to allow clicks\ntouchStartY=e.touches[0].clientY;touchStartX=e.touches[0].clientX;lastTouchY.current=e.touches[0].clientY;lastTouchTime=Date.now();hasMoved=false;startTransition(()=>{setVelocity(0);setIsOverscrolled(false);});};const handleTouchMove=e=>{const currentTouchY=e.touches[0].clientY;const currentTouchX=e.touches[0].clientX;const deltaY=Math.abs(currentTouchY-touchStartY);const deltaX=Math.abs(currentTouchX-touchStartX);// Only prevent default and handle scroll if there's significant vertical movement\nif(deltaY>5||hasMoved){e.preventDefault();hasMoved=true;// Pause autoplay on user interaction\nstartTransition(()=>{setIsAutoplayActive(false);setLastInteractionTime(Date.now());});// Clear existing resume timeout\nif(autoplayResumeTimeout.current){clearTimeout(autoplayResumeTimeout.current);}// Set new resume timeout\nautoplayResumeTimeout.current=window.setTimeout(()=>{startTransition(()=>setIsAutoplayActive(true));},autoplayResumeDelay);const delta=lastTouchY.current-currentTouchY;const now=Date.now();const timeDelta=now-lastTouchTime;lastTouchY.current=currentTouchY;lastTouchTime=now;startTransition(()=>{// Apply mobile multiplier for smoother feel\nconst rotationDelta=-delta*rotationSpeed*mobileScrollMultiplier;setRotation(prev=>prev+rotationDelta);setTargetRotation(prev=>prev+rotationDelta);// Calculate velocity for momentum with mobile multiplier\nsetVelocity(rotationDelta/Math.max(timeDelta,16)*1.2);});}};const handleTouchEnd=e=>{// Only apply overscroll if user actually moved\nif(!hasMoved){return;}const touchEndY=e.changedTouches[0].clientY;const totalDelta=touchStartY-touchEndY;const swipeVelocity=Math.abs(totalDelta);// Add overscroll effect based on velocity (mobile only)\nif(isMobile&&swipeVelocity>50){startTransition(()=>{const direction=totalDelta>0?1:-1;const overscrollVel=direction*overscrollAmount*(swipeVelocity/100);setVelocity(prev=>prev+overscrollVel);overscrollVelocity.current=overscrollVel;setIsOverscrolled(true);});}};container.addEventListener(\"touchstart\",handleTouchStart,{passive:true});container.addEventListener(\"touchmove\",handleTouchMove,{passive:false});container.addEventListener(\"touchend\",handleTouchEnd,{passive:true});return()=>{container.removeEventListener(\"touchstart\",handleTouchStart);container.removeEventListener(\"touchmove\",handleTouchMove);container.removeEventListener(\"touchend\",handleTouchEnd);if(autoplayResumeTimeout.current){clearTimeout(autoplayResumeTimeout.current);}};},[rotationSpeed,mobileScrollMultiplier,overscrollAmount,autoplayResumeDelay]);// Smooth animation loop with damping and spring physics\nuseEffect(()=>{const animate=()=>{setRotation(current=>{let newRotation=current;// Apply velocity-based rotation\nnewRotation=current+velocity;// Apply autoplay rotation when active and velocity is low\nif(isAutoplayActive&&Math.abs(velocity)<velocityThreshold){newRotation+=autoplaySpeed;}// Apply spring physics only on mobile\nif(isMobile&&isOverscrolled&&Math.abs(velocity)>velocityThreshold){// Check if we're in overscroll territory\nconst anglePerItem=360/(items.length*repetitions);// Find nearest snap point\nconst nearestSnapAngle=Math.round(current/anglePerItem)*anglePerItem;const distanceToSnap=nearestSnapAngle-current;// Apply spring force proportional to distance\nif(Math.abs(distanceToSnap)>overscrollLimit){const springForce=distanceToSnap*springStiffness;newRotation=current+springForce;// Apply damping to overscroll velocity\noverscrollVelocity.current*=springDamping;// Stop overscroll when close enough\nif(Math.abs(distanceToSnap)<1&&Math.abs(overscrollVelocity.current)<.1){startTransition(()=>setIsOverscrolled(false));return nearestSnapAngle;}return newRotation;}else{startTransition(()=>setIsOverscrolled(false));}}return newRotation;});setVelocity(currentVelocity=>{// Apply stronger damping during overscroll (mobile only)\nconst dampingMultiplier=isMobile&&isOverscrolled?springDamping:isMobile?.98:inertia;const newVelocity=currentVelocity*dampingMultiplier;// Stop when velocity is below threshold\nif(Math.abs(newVelocity)<velocityThreshold){return 0;}return newVelocity;});animationFrameRef.current=requestAnimationFrame(animate);};animationFrameRef.current=requestAnimationFrame(animate);return()=>{if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);}};},[dampingFactor,velocityThreshold,targetRotation,springStiffness,isMobile,isOverscrolled,springDamping,overscrollLimit,items.length,repetitions,velocity,isAutoplayActive,autoplaySpeed,inertia]);// Handle close button click\nconst handleClose=()=>{if(typeof window!==\"undefined\"){window.history.back();}};// Handle item click\nconst handleItemClick=(index,item)=>{// Prevent navigation if user is scrolling\nif(Math.abs(velocity)>1){return;}// Set clicked state for opacity effect\nstartTransition(()=>{setClickedIndex(index);});// Navigate immediately\nif(typeof window!==\"undefined\"&&item.url){window.location.href=item.url;}// Call the event handler for navigation\nif(onItemClick){onItemClick(item.title,index);}};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",backgroundColor,position:\"relative\",overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",opacity:isVisible?1:0,transition:\"opacity 0.3s ease\",// Hide scrollbar\nscrollbarWidth:\"none\",msOverflowStyle:\"none\",WebkitOverflowScrolling:\"touch\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,right:0,height:`${gradientHeight}px`,background:`linear-gradient(to bottom, ${backgroundColor} 0%, transparent 100%)`,pointerEvents:\"none\",zIndex:5}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:0,left:0,right:0,height:`${gradientHeight}px`,background:`linear-gradient(to top, ${backgroundColor} 0%, transparent 100%)`,pointerEvents:\"none\",zIndex:5}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:\"50%\",top:\"50%\",transform:`translate(calc(-50% + ${responsiveValues.circleX}px), calc(-50% + ${responsiveValues.circleY}px))`,width:responsiveValues.radius*2*innerCircleRadius,height:responsiveValues.radius*2*innerCircleRadius,borderRadius:\"50%\",backgroundColor:innerCircleColor,boxShadow:innerCircleShadow,zIndex:1,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:responsiveValues.radius*2,height:responsiveValues.radius*2,transform:`translate(${responsiveValues.circleX}px, ${responsiveValues.circleY}px)`},children:Array.from({length:items.length*repetitions}).map((_,index)=>{const itemIndex=index%items.length;const item=items[itemIndex];const anglePerItem=360/(items.length*repetitions);const baseAngle=index*anglePerItem;const totalAngle=baseAngle+rotation;// Convert to radians\nconst rad=totalAngle*Math.PI/180;// Calculate position on circle\nconst x=Math.cos(rad)*responsiveValues.radius;const y=Math.sin(rad)*responsiveValues.radius;return /*#__PURE__*/_jsx(\"div\",{onClick:()=>handleItemClick(itemIndex,item),onTouchEnd:e=>{// Handle touch tap for iOS\ne.preventDefault();handleItemClick(itemIndex,item);},style:{position:\"absolute\",left:\"50%\",top:\"50%\",transform:`translate(${x}px, ${y}px) rotate(${totalAngle}deg)`,cursor:\"pointer\",transformOrigin:\"center\",whiteSpace:\"nowrap\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:textColor,opacity:clickedIndex===itemIndex?.5:1,transition:\"opacity 0.2s ease\",...font,textTransform:\"uppercase\",textAlign:\"center\",WebkitTapHighlightColor:\"transparent\",touchAction:\"none\"},children:/*#__PURE__*/_jsx(\"span\",{children:item.title})},index);})})]});}addPropertyControls(CircularNav,{items:{type:ControlType.Array,title:\"Menu Items\",control:{type:ControlType.Object,controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Menu Item\"},url:{type:ControlType.Link,title:\"URL\",defaultValue:\"/\"}}},defaultValue:[{title:\"Overview\",url:\"/\"},{title:\"Magazine\",url:\"/magazine\"},{title:\"Film Screenings\",url:\"/film-screenings\"},{title:\"AFA Awards\",url:\"/afa-awards\"},{title:\"2026 Winners\",url:\"/2026-winners\"},{title:\"2025 Jury\",url:\"/2025-jury\"}]},repetitions:{type:ControlType.Number,title:\"Repetitions\",defaultValue:3,min:1,max:10,step:1,displayStepper:true},radius:{type:ControlType.Number,title:\"Circle Radius\",defaultValue:500,min:100,max:800,step:10,unit:\"px\"},circleX:{type:ControlType.Number,title:\"Circle X Position\",defaultValue:-600,min:-1e3,max:500,step:10,unit:\"px\"},circleY:{type:ControlType.Number,title:\"Circle Y Position\",defaultValue:0,min:-500,max:500,step:10,unit:\"px\"},innerCircleColor:{type:ControlType.Color,title:\"Inner Circle Color\",defaultValue:\"#4A5F6F\"},innerCircleRadius:{type:ControlType.Number,title:\"Inner Circle Radius\",defaultValue:1,min:.1,max:2,step:.1},innerCircleShadow:{type:ControlType.String,title:\"Inner Circle Shadow\",defaultValue:\"0 4px 20px rgba(0, 0, 0, 0.15)\",placeholder:\"CSS box-shadow value\"},autoplaySpeed:{type:ControlType.Number,title:\"Autoplay Speed\",defaultValue:.05,min:.01,max:.5,step:.01},autoplayResumeDelay:{type:ControlType.Number,title:\"Resume Delay\",defaultValue:3e3,min:1e3,max:1e4,step:500,unit:\"ms\"},rotationSpeed:{type:ControlType.Number,title:\"Scroll Speed\",defaultValue:.3,min:.1,max:2,step:.1},inertia:{type:ControlType.Number,title:\"Inertia\",defaultValue:.95,min:.8,max:.99,step:.01},dampingFactor:{type:ControlType.Number,title:\"Damping\",defaultValue:.95,min:.8,max:.99,step:.01},velocityThreshold:{type:ControlType.Number,title:\"Stop Threshold\",defaultValue:.01,min:.001,max:.1,step:.001},gradientHeight:{type:ControlType.Number,title:\"Gradient Height\",defaultValue:150,min:0,max:400,step:10,unit:\"px\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#000000\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F5F0E8\"},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"22px\",variant:\"Bold\",letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"}},onItemClick:{type:ControlType.EventHandler},onClose:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CircularNav\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"800\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CircularNav.map","// Generated by Framer (c9c30df)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Fragment Mono-regular\",\"GF;Fragment Mono-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Fragment Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iCr6K5wfMRRjxp0DA6-2CLnN4FNh4UI_1U.woff2\",weight:\"400\"},{cssFamilyName:\"Fragment Mono\",source:\"google\",style:\"italic\",uiFamilyName:\"Fragment Mono\",url:\"https://fonts.gstatic.com/s/fragmentmono/v6/4iC16K5wfMRRjxp0DA6-2CLnB4ZHhqcN71URtQ.woff2\",weight:\"400\"}]}];export const css=['.framer-Spntc .framer-styles-preset-q6f9sd:not(.rich-text-wrapper), .framer-Spntc .framer-styles-preset-q6f9sd.rich-text-wrapper p { --framer-font-family: \"Fragment Mono\", monospace; --framer-font-family-italic: \"Fragment Mono\", monospace; --framer-font-open-type-features: normal; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, #fff7eb); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-Spntc\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (2790bda)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,Instance,Link,ResolveLinks,RichText,runTasksWithYield,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import List from\"https://framerusercontent.com/modules/4xJsJPc59it6XmHEERsh/koUifyDPwJ9ohyYl3uMd/itu1soPCZ.js\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import X from\"https://framerusercontent.com/modules/wbL0GysLpUpZOLelXsKU/7IhRlKXIvqCTv7OUjGRe/q95pf4lLL.js\";import CircularNav from\"https://framerusercontent.com/modules/DlhaKEqTH7HtBHYEY6OG/gKyjPIIxmf4s6ak3ADA6/CircularNav.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/KztiahAPo0KOt6ifYxAy/1OacE8LotmdrEb596pbd/A5deQSSHH.js\";const SearchFonts=getFonts(Search);const ListFonts=getFonts(List);const CircularNavFonts=getFonts(CircularNav);const cycleOrder=[\"aCkaRxa05\",\"LdmV8z_3k\",\"ONl0un3fO\",\"DMiGb7rIR\",\"hZH8YBOOe\"];const serializationHash=\"framer-Y3RHT\";const variantClassNames={aCkaRxa05:\"framer-v-1y2pclp\",DMiGb7rIR:\"framer-v-8gddy6\",hZH8YBOOe:\"framer-v-54ley6\",LdmV8z_3k:\"framer-v-11xzzbl\",ONl0un3fO:\"framer-v-183s0gc\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const EJ1xG6FUa=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transition2={delay:0,duration:.4,ease:[0,.75,.5,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition1,y:-1};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={\"Mobile - Collapsed\":\"DMiGb7rIR\",\"Mobile - Radial Menu Open\":\"hZH8YBOOe\",Desktop:\"aCkaRxa05\",Mobile:\"ONl0un3fO\",Tablet:\"LdmV8z_3k\"};const Variants=motion.create(React.Fragment);const getProps=({headerColor,height,id,width,...props})=>{return{...props,EJ1xG6FUa:headerColor??props.EJ1xG6FUa??\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\",variant:humanReadableVariantMap[props.variant]??props.variant??\"aCkaRxa05\"};};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,contentLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,EJ1xG6FUa,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"aCkaRxa05\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"DMiGb7rIR\",\"hZH8YBOOe\"].includes(baseVariant))return true;return false;};const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1ch41ou=activeVariantCallback(async(...args)=>{setVariant(\"DMiGb7rIR\");});const isDisplayed1=()=>{if(baseVariant===\"hZH8YBOOe\")return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"hZH8YBOOe\")return false;return true;};const isDisplayed3=()=>{if(baseVariant===\"DMiGb7rIR\")return true;return false;};const onTapebponi=activeVariantCallback(async(...args)=>{setVariant(\"hZH8YBOOe\");});const isDisplayed4=()=>{if([\"DMiGb7rIR\",\"hZH8YBOOe\"].includes(baseVariant))return false;return true;};const isDisplayed5=()=>{if(baseVariant===\"ONl0un3fO\")return false;return true;};const router=useRouter();const onItemClicklyuako=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"DMiGb7rIR\"),500);});return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({DMiGb7rIR:{value:transition2},hZH8YBOOe:{value:transition2},ONl0un3fO:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1y2pclp\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"aCkaRxa05\",ref:refBinding,style:{backgroundColor:EJ1xG6FUa,...style},variants:{DMiGb7rIR:{backgroundColor:\"rgba(0, 0, 0, 0)\"},hZH8YBOOe:{backgroundColor:\"rgba(0, 0, 0, 0)\"},ONl0un3fO:{backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({DMiGb7rIR:{\"data-framer-name\":\"Mobile - Collapsed\"},hZH8YBOOe:{\"data-framer-name\":\"Mobile - Radial Menu Open\"},LdmV8z_3k:{\"data-framer-name\":\"Tablet\"},ONl0un3fO:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-14rxomd\",layoutDependency:layoutDependency,layoutId:\"X9nadRTH_\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},variants:{DMiGb7rIR:{backgroundColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"},hZH8YBOOe:{backgroundColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-16g5neg\",\"data-framer-name\":\"Logo Container\",layoutDependency:layoutDependency,layoutId:\"Dw7g3uujW\",style:{backgroundColor:\"rgba(0, 0, 0, 0)\"},variants:{DMiGb7rIR:{backgroundColor:EJ1xG6FUa},hZH8YBOOe:{backgroundColor:EJ1xG6FUa},ONl0un3fO:{backgroundColor:EJ1xG6FUa}},children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-d34usx\",layoutDependency:layoutDependency,layoutId:\"ZCbFE9KJt\",children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-2d69bw\",\"data-framer-name\":\"Icon Container\",layoutDependency:layoutDependency,layoutId:\"KFKXo1NAo\",style:{borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0},variants:{DMiGb7rIR:{borderBottomLeftRadius:60,borderBottomRightRadius:60,borderTopLeftRadius:60,borderTopRightRadius:60},hZH8YBOOe:{borderBottomLeftRadius:60,borderBottomRightRadius:60,borderTopLeftRadius:60,borderTopRightRadius:60}},...addPropertyOverrides({hZH8YBOOe:{\"data-highlight\":true,onTap:onTap1ch41ou}},baseVariant,gestureVariant),children:[isDisplayed1()&&/*#__PURE__*/_jsx(Instance,{animated:true,className:\"framer-fyi2rd\",Component:List,layoutDependency:layoutDependency,layoutId:\"bfUz6WYMM\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",\"--pgex8v\":1.5},...addPropertyOverrides({hZH8YBOOe:{Component:X}},baseVariant,gestureVariant)}),isDisplayed2()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vio3ei-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"Pjhib3CyC-container\",nodeId:\"Pjhib3CyC\",rendersWithMotion:true,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"var(--token-12d3d820-a905-479d-8eb3-d6443e320b28, rgba(14, 29, 40, 0.5))\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",iconSize:20,iconType:\"default\",id:\"Pjhib3CyC\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Search...\"},textColor:\"var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5))\"},layoutId:\"Pjhib3CyC\",modalOptions:{backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"FixedTop\",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:\"var(--token-12d3d820-a905-479d-8eb3-d6443e320b28, rgba(14, 29, 40, 0.5))\",subtitleFont:{fontFamily:'\"BDO Grotesk Regular\", \"BDO Grotesk Regular Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:400},subtitleType:\"description\"},titleColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\",titleFont:{fontFamily:'\"BDO Grotesk Medium\", \"BDO Grotesk Medium Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:500},titleType:\"title\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),isDisplayed3()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-y4tzr6\",\"data-framer-name\":\"Icon Container\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"TE9_pPd_4\",onTap:onTapebponi,style:{borderBottomLeftRadius:60,borderBottomRightRadius:60,borderTopLeftRadius:60,borderTopRightRadius:60},children:/*#__PURE__*/_jsx(List,{animated:true,className:\"framer-1nq62r6\",layoutDependency:layoutDependency,layoutId:\"xSiSyY7q5\",style:{\"--1m6trwb\":0,\"--21h8s6\":\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",\"--pgex8v\":1.5}})})]}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"b7nciuZbq\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(Image1,{as:\"a\",background:{alt:\"\",fit:\"fill\",intrinsicHeight:45,intrinsicWidth:321,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+29+((componentViewport?.height||80)-88)/2),pixelHeight:90,pixelWidth:642,sizes:\"214px\",src:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90\",srcSet:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?scale-down-to=512&width=642&height=90 512w,https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90 642w\"},className:\"framer-1ux4538 framer-1io09c6\",\"data-framer-name\":\"AFA-logo\",layoutDependency:layoutDependency,layoutId:\"b7nciuZbq\",...addPropertyOverrides({DMiGb7rIR:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:45,intrinsicWidth:321,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||64)-64)/2+19.5),pixelHeight:90,pixelWidth:642,sizes:\"178.3333px\",src:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90\",srcSet:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?scale-down-to=512&width=642&height=90 512w,https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90 642w\"}},hZH8YBOOe:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:45,intrinsicWidth:321,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+19.5),pixelHeight:90,pixelWidth:642,sizes:\"178.3333px\",src:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90\",srcSet:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?scale-down-to=512&width=642&height=90 512w,https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90 642w\"}},LdmV8z_3k:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:45,intrinsicWidth:321,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+21+((componentViewport?.height||72)-72)/2),pixelHeight:90,pixelWidth:642,sizes:\"214px\",src:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90\",srcSet:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?scale-down-to=512&width=642&height=90 512w,https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90 642w\"}},ONl0un3fO:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:45,intrinsicWidth:321,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+19.5),pixelHeight:90,pixelWidth:642,sizes:\"178.3333px\",src:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90\",srcSet:\"https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?scale-down-to=512&width=642&height=90 512w,https://framerusercontent.com/images/7YQlVmZGfOKYzYAEEZNWi3kUlE.png?width=642&height=90 642w\"}}},baseVariant,gestureVariant)})})]}),isDisplayed4()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-17tp4dg\",layoutDependency:layoutDependency,layoutId:\"Q1Hmbhnsv\",children:[isDisplayed5()&&/*#__PURE__*/_jsx(Link,{href:{webPageId:\"va090x2u6\"},motionChild:true,nodeId:\"K8v74ZfMy\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-g2u07p framer-1io09c6\",\"data-framer-name\":\"Search\",layoutDependency:layoutDependency,layoutId:\"K8v74ZfMy\",style:{backgroundColor:\"var(--token-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},whileHover:animation,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1bx189v-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"RxjfkGYxS-container\",nodeId:\"RxjfkGYxS\",rendersWithMotion:true,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"var(--token-12d3d820-a905-479d-8eb3-d6443e320b28, rgba(14, 29, 40, 0.5))\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",iconSize:16,iconType:\"default\",id:\"RxjfkGYxS\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Search...\"},textColor:\"var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5))\"},layoutId:\"RxjfkGYxS\",modalOptions:{backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"Sidebar\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:80,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"var(--token-12d3d820-a905-479d-8eb3-d6443e320b28, rgba(14, 29, 40, 0.5))\",subtitleFont:{fontFamily:'\"BDO Grotesk Regular\", \"BDO Grotesk Regular Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:400},subtitleType:\"description\"},titleColor:\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\",titleFont:{fontFamily:'\"BDO Grotesk Medium\", \"BDO Grotesk Medium Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:500},titleType:\"title\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"va090x2u6\"},motionChild:true,nodeId:\"rGptr_Qhz\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1fviz8y framer-1io09c6\",\"data-framer-name\":\"About\",layoutDependency:layoutDependency,layoutId:\"rGptr_Qhz\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"ABOUT\"})}),className:\"framer-1wj2tv1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"wc54qfC0a\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"ABOUT\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{pathVariables:{DtSi_9xgO:\"afa-awards\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"GcGqjRieQ\"}},webPageId:\"IFKDZ9OVH\"},motionChild:true,nodeId:\"P3yNvTUpS\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-8jaxr7 framer-1io09c6\",\"data-framer-name\":\"Awards\",layoutDependency:layoutDependency,layoutId:\"P3yNvTUpS\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"AWARDS\"})}),className:\"framer-1nflzgu\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"k8RTGdZI0\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"AWARDS\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{pathVariables:{DtSi_9xgO:\"afa-talks\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"LhgkcS0D3\"}},webPageId:\"IFKDZ9OVH\"},motionChild:true,nodeId:\"DmRXrrXY0\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-11zlriz framer-1io09c6\",\"data-framer-name\":\"Talks\",layoutDependency:layoutDependency,layoutId:\"DmRXrrXY0\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"FORUM\"})}),className:\"framer-5zrywr\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"TEk8iQm4H\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"FORUM\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{pathVariables:{DtSi_9xgO:\"afa-lectures\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"yy5g2V0RF\"}},webPageId:\"IFKDZ9OVH\"},motionChild:true,nodeId:\"KwAsYC0O0\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-19kkcmg framer-1io09c6\",\"data-framer-name\":\"Lectures\",layoutDependency:layoutDependency,layoutId:\"KwAsYC0O0\",style:{backgroundColor:\"var(--token-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},whileHover:animation,children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"LECTURES\"})}),className:\"framer-1aekrxy\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"wBQQpPLJH\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:{pathVariables:{DtSi_9xgO:\"afa-films\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"uw_ww7ocD\"}},webPageId:\"IFKDZ9OVH\"},motionChild:true,nodeId:\"I5LJLZkoO\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-iunub2 framer-1io09c6\",\"data-framer-name\":\"Films\",layoutDependency:layoutDependency,layoutId:\"I5LJLZkoO\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"FILMS\"})}),className:\"framer-t1ahhn\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LkC97byqQ\",variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"FILMS\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{pathVariables:{DtSi_9xgO:\"afa-blog\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"qMJXbFIjl\"}},webPageId:\"IFKDZ9OVH\"},motionChild:true,nodeId:\"E9WlG_PVu\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1xzhm7y framer-1io09c6\",\"data-framer-name\":\"Notes\",layoutDependency:layoutDependency,layoutId:\"E9WlG_PVu\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"NOTES\"})}),className:\"framer-wcbcrh\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LgDmC5XwO\",variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"NOTES\"})})}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"CdmJqBjjR\"},motionChild:true,nodeId:\"MzatS48PM\",openInNewTab:false,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-o8kjj9 framer-1io09c6\",\"data-framer-name\":\"Contact\",layoutDependency:layoutDependency,layoutId:\"MzatS48PM\",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-3d07903d-c2d4-4a3f-a358-4bb76f3cbfbc, rgba(14, 29, 40, 0.05))\"},variants:{ONl0un3fO:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-4e63f887-c73d-4916-a117-d33624daee7c, rgba(14, 29, 40, 0.1))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\"}},whileHover:animation,...addPropertyOverrides({ONl0un3fO:{\"data-border\":true}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",children:\"CONTACT\"})}),className:\"framer-jht5k9\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"W1gZeuAOh\",style:{\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{ONl0un3fO:{\"--extracted-r6o4lv\":\"var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ONl0un3fO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-q6f9sd\",\"data-styles-preset\":\"A5deQSSHH\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)))\"},children:\"CONTACT\"})})}},baseVariant,gestureVariant)})})})]})]}),isDisplayed1()&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{pathVariables:{DtSi_9xgO:\"afa-awards\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"GcGqjRieQ\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"awards-2027\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"Qa6G7B8tu\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"awards-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"AymqsHR0C\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-talks\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"LhgkcS0D3\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"talks-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"F5GBdEY9J\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-lectures\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"yy5g2V0RF\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-films\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"uw_ww7ocD\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"films-nov-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"KR1lG23QC\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"films-oct-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"xRI7NWZsY\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-blog\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"qMJXbFIjl\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{webPageId:\"va090x2u6\"},implicitPathVariables:undefined},{href:{webPageId:\"CdmJqBjjR\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-awards\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"GcGqjRieQ\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"awards-2027\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"Qa6G7B8tu\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"awards-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"AymqsHR0C\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-talks\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"LhgkcS0D3\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"talks-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"F5GBdEY9J\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-lectures\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"yy5g2V0RF\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-films\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"uw_ww7ocD\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"films-nov-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"KR1lG23QC\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{UDkiFZqNT:\"films-oct-2026\"},unresolvedPathSlugs:{UDkiFZqNT:{collectionId:\"qJBOuVLRK\",collectionItemId:\"xRI7NWZsY\"}},webPageId:\"QozV4OLgD\"},implicitPathVariables:undefined},{href:{pathVariables:{DtSi_9xgO:\"afa-blog\"},unresolvedPathSlugs:{DtSi_9xgO:{collectionId:\"tF68OMi_Q\",collectionItemId:\"qMJXbFIjl\"}},webPageId:\"IFKDZ9OVH\"},implicitPathVariables:undefined},{href:{webPageId:\"va090x2u6\"},implicitPathVariables:undefined},{href:{webPageId:\"CdmJqBjjR\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-et89zc-container\",\"data-code-component-plugin-id\":\"84d4c1\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"qd6FuQJxP-container\",nodeId:\"qd6FuQJxP\",rendersWithMotion:true,scopeId:\"BmPTWqXGu\",children:/*#__PURE__*/_jsx(CircularNav,{autoplayResumeDelay:3e3,autoplaySpeed:.08,backgroundColor:EJ1xG6FUa,circleX:-590,circleY:0,dampingFactor:.9,font:{fontFamily:'\"BDO Grotesk Variable\", \"BDO Grotesk Variable Placeholder\", sans-serif',fontSize:\"22px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.04em\",lineHeight:\"0.5em\"},gradientHeight:400,height:\"100%\",id:\"qd6FuQJxP\",inertia:.8,innerCircleColor:\"rgba(255, 255, 255, 0.25)\",innerCircleRadius:.9,innerCircleShadow:\"12 12px 20px rgba(0, 0, 0, 3)\",items:[{id:\"pDd5WX_z2\",title:\"JK Paper Award\",url:resolvedLinks[0]},{id:\"t4tOkKQ5o\",title:\"Awards 2027\",url:resolvedLinks[1]},{id:\"FkJvy66Xb\",title:\"Awards 2026\",url:resolvedLinks[2]},{id:\"jEjmVgTOD\",title:\"Curatorial Forum\",url:resolvedLinks[3]},{id:\"jh8LEqXcq\",title:\"Forum 2026\",url:resolvedLinks[4]},{id:\"uMruKCkDt\",title:\"Lectures\",url:resolvedLinks[5]},{id:\"PCt_deWVN\",title:\"Moving Images\",url:resolvedLinks[6]},{id:\"Fz1nU6v0W\",title:\"Screening Nov'26\",url:resolvedLinks[7]},{id:\"d0C0LM8Nd\",title:\"Screening Oct'26\",url:resolvedLinks[8]},{id:\"iB6QPkL2L\",title:\"Notes\",url:resolvedLinks[9]},{id:\"Rnts4B5Hp\",title:\"About\",url:resolvedLinks[10]},{id:\"W0BGUNybd\",title:\"Contact\",url:resolvedLinks[11]}],layoutId:\"qd6FuQJxP\",onItemClick:onItemClicklyuako,radius:510,repetitions:4,rotationSpeed:.2,style:{height:\"100%\",width:\"100%\"},textColor:\"var(--token-29a6a1cb-bb2b-45ab-ac71-89546ebacca7, rgb(255, 247, 235))\",velocityThreshold:.05,width:\"100%\",...addPropertyOverrides({hZH8YBOOe:{items:[{id:\"pDd5WX_z2\",title:\"JK Paper Award\",url:resolvedLinks[12]},{id:\"t4tOkKQ5o\",title:\"Awards 2027\",url:resolvedLinks[13]},{id:\"FkJvy66Xb\",title:\"Awards 2026\",url:resolvedLinks[14]},{id:\"jEjmVgTOD\",title:\"Curatorial Forum\",url:resolvedLinks[15]},{id:\"jh8LEqXcq\",title:\"Forum 2026\",url:resolvedLinks[16]},{id:\"uMruKCkDt\",title:\"Lectures\",url:resolvedLinks[17]},{id:\"PCt_deWVN\",title:\"Moving Images\",url:resolvedLinks[18]},{id:\"Fz1nU6v0W\",title:\"Screening Nov'26\",url:resolvedLinks[19]},{id:\"d0C0LM8Nd\",title:\"Screening Oct'26\",url:resolvedLinks[20]},{id:\"iB6QPkL2L\",title:\"Notes\",url:resolvedLinks[21]},{id:\"Rnts4B5Hp\",title:\"About\",url:resolvedLinks[22]},{id:\"W0BGUNybd\",title:\"Contact\",url:resolvedLinks[23]}]}},baseVariant,gestureVariant)})})})})]})})})});});const css=[\".framer-Y3RHT.framer-1io09c6, .framer-Y3RHT .framer-1io09c6 { display: block; }\",\".framer-Y3RHT.framer-1y2pclp { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 80px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 24px 32px 24px 32px; position: relative; width: 840px; }\",\".framer-Y3RHT .framer-14rxomd { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-Y3RHT .framer-16g5neg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-Y3RHT .framer-d34usx { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-end; min-height: 63px; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-Y3RHT .framer-2d69bw { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 48px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 48px; }\",\".framer-Y3RHT .framer-fyi2rd, .framer-Y3RHT .framer-1nq62r6 { flex: none; height: auto; position: relative; width: 24px; }\",\".framer-Y3RHT .framer-1vio3ei-container, .framer-Y3RHT .framer-1bx189v-container { cursor: pointer; flex: none; height: 40px; position: relative; width: 40px; }\",\".framer-Y3RHT .framer-y4tzr6 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 48px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 48px; }\",\".framer-Y3RHT .framer-1ux4538 { aspect-ratio: 7.133333333333334 / 1; flex: none; height: auto; overflow: visible; position: relative; text-decoration: none; width: 214px; }\",\".framer-Y3RHT .framer-17tp4dg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: min-content; }\",\".framer-Y3RHT .framer-g2u07p, .framer-Y3RHT .framer-1fviz8y, .framer-Y3RHT .framer-8jaxr7, .framer-Y3RHT .framer-11zlriz, .framer-Y3RHT .framer-19kkcmg, .framer-Y3RHT .framer-iunub2, .framer-Y3RHT .framer-1xzhm7y, .framer-Y3RHT .framer-o8kjj9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 40px; justify-content: center; overflow: visible; padding: 12px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-Y3RHT .framer-1wj2tv1, .framer-Y3RHT .framer-1nflzgu, .framer-Y3RHT .framer-5zrywr, .framer-Y3RHT .framer-1aekrxy, .framer-Y3RHT .framer-t1ahhn, .framer-Y3RHT .framer-wcbcrh, .framer-Y3RHT .framer-jht5k9 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-Y3RHT .framer-et89zc-container { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); left: 0px; position: absolute; top: 0px; width: 100%; z-index: 1; }\",\".framer-Y3RHT.framer-v-11xzzbl.framer-1y2pclp { height: min-content; padding: 16px 20px 16px 20px; }\",\".framer-Y3RHT.framer-v-183s0gc.framer-1y2pclp { align-content: flex-start; align-items: flex-start; gap: 0px; height: 64px; justify-content: flex-start; overflow: visible; padding: 0px; width: 360px; }\",\".framer-Y3RHT.framer-v-183s0gc .framer-14rxomd { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 0px; justify-content: flex-start; z-index: 10; }\",\".framer-Y3RHT.framer-v-183s0gc .framer-16g5neg { gap: unset; height: 64px; justify-content: space-between; padding: 0px 8px 0px 20px; width: 100%; }\",\".framer-Y3RHT.framer-v-183s0gc .framer-1ux4538, .framer-Y3RHT.framer-v-8gddy6 .framer-1ux4538, .framer-Y3RHT.framer-v-54ley6 .framer-1ux4538 { order: 0; width: 178px; }\",\".framer-Y3RHT.framer-v-183s0gc .framer-17tp4dg { flex-direction: column; width: 100%; }\",\".framer-Y3RHT.framer-v-183s0gc .framer-1fviz8y, .framer-Y3RHT.framer-v-183s0gc .framer-8jaxr7, .framer-Y3RHT.framer-v-183s0gc .framer-11zlriz, .framer-Y3RHT.framer-v-183s0gc .framer-iunub2, .framer-Y3RHT.framer-v-183s0gc .framer-1xzhm7y, .framer-Y3RHT.framer-v-183s0gc .framer-o8kjj9 { justify-content: flex-start; padding: 24px 20px 24px 20px; width: 100%; }\",\".framer-Y3RHT.framer-v-8gddy6.framer-1y2pclp { gap: 0px; height: min-content; justify-content: flex-start; padding: 0px; width: 360px; }\",\".framer-Y3RHT.framer-v-8gddy6 .framer-14rxomd { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 0px; justify-content: flex-start; }\",\".framer-Y3RHT.framer-v-8gddy6 .framer-16g5neg, .framer-Y3RHT.framer-v-54ley6 .framer-16g5neg { gap: unset; height: 64px; justify-content: space-between; padding: 0px 8px 0px 22px; width: 100%; }\",\".framer-Y3RHT.framer-v-8gddy6 .framer-d34usx, .framer-Y3RHT.framer-v-54ley6 .framer-d34usx { min-height: unset; order: 1; }\",\".framer-Y3RHT.framer-v-54ley6.framer-1y2pclp { flex-direction: column; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; width: 360px; }\",\".framer-Y3RHT.framer-v-54ley6 .framer-14rxomd { align-content: flex-start; align-items: flex-start; flex: none; flex-direction: column; gap: 0px; justify-content: flex-start; width: 100%; z-index: 10; }\",\".framer-Y3RHT.framer-v-54ley6 .framer-2d69bw { cursor: pointer; }\",...sharedStyle.css,'.framer-Y3RHT[data-border=\"true\"]::after, .framer-Y3RHT [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 80\n * @framerIntrinsicWidth 840\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"LdmV8z_3k\":{\"layout\":[\"fixed\",\"auto\"]},\"ONl0un3fO\":{\"layout\":[\"fixed\",\"fixed\"]},\"DMiGb7rIR\":{\"layout\":[\"fixed\",\"auto\"]},\"hZH8YBOOe\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"EJ1xG6FUa\":\"headerColor\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerBmPTWqXGu=withCSS(Component,css,\"framer-Y3RHT\");export default FramerBmPTWqXGu;FramerBmPTWqXGu.displayName=\"Navigation\";FramerBmPTWqXGu.defaultProps={height:80,width:840};addPropertyControls(FramerBmPTWqXGu,{variant:{options:[\"aCkaRxa05\",\"LdmV8z_3k\",\"ONl0un3fO\",\"DMiGb7rIR\",\"hZH8YBOOe\"],optionTitles:[\"Desktop\",\"Tablet\",\"Mobile\",\"Mobile - Collapsed\",\"Mobile - Radial Menu Open\"],title:\"Variant\",type:ControlType.Enum},EJ1xG6FUa:{defaultValue:'var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, rgb(14, 29, 40)) /* {\"name\":\"Dark Blue\"} */',title:\"Header Color\",type:ControlType.Color}});const variationAxes=[{defaultValue:400,maxValue:900,minValue:300,name:\"Weight\",tag:\"wght\"}];addFonts(FramerBmPTWqXGu,[{explicitInter:true,fonts:[{cssFamilyName:\"BDO Grotesk Medium\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/iUOVWtLYI8neEiEG4yVlDTlfo.woff2\",weight:\"500\"},{cssFamilyName:\"BDO Grotesk Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/ikUELtnonKBBjOPq4DSnfaWqBM.woff2\",weight:\"400\"},{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/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{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/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{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/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{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/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{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/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"BDO Grotesk Variable\",source:\"builtIn\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/FcybOZJ2ipUdK2dQmwN3gFVAvuk.woff2\",variationAxes,weight:\"400\"}]},...SearchFonts,...ListFonts,...CircularNavFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerBmPTWqXGu.loader={load:(props,context)=>{return runTasksWithYield([()=>context.collectionUtils?.get(\"tF68OMi_Q\")?.getSlugByRecordId(\"GcGqjRieQ\",context.locale),()=>context.collectionUtils?.get(\"tF68OMi_Q\")?.getSlugByRecordId(\"LhgkcS0D3\",context.locale),()=>context.collectionUtils?.get(\"tF68OMi_Q\")?.getSlugByRecordId(\"yy5g2V0RF\",context.locale),()=>context.collectionUtils?.get(\"tF68OMi_Q\")?.getSlugByRecordId(\"uw_ww7ocD\",context.locale),()=>context.collectionUtils?.get(\"tF68OMi_Q\")?.getSlugByRecordId(\"qMJXbFIjl\",context.locale),()=>context.collectionUtils?.get(\"qJBOuVLRK\")?.getSlugByRecordId(\"Qa6G7B8tu\",context.locale),()=>context.collectionUtils?.get(\"qJBOuVLRK\")?.getSlugByRecordId(\"AymqsHR0C\",context.locale),()=>context.collectionUtils?.get(\"qJBOuVLRK\")?.getSlugByRecordId(\"F5GBdEY9J\",context.locale),()=>context.collectionUtils?.get(\"qJBOuVLRK\")?.getSlugByRecordId(\"KR1lG23QC\",context.locale),()=>context.collectionUtils?.get(\"qJBOuVLRK\")?.getSlugByRecordId(\"xRI7NWZsY\",context.locale)],context);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerBmPTWqXGu\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"EJ1xG6FUa\\\":\\\"headerColor\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"840\",\"framerIntrinsicHeight\":\"80\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"LdmV8z_3k\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ONl0un3fO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"DMiGb7rIR\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"hZH8YBOOe\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BmPTWqXGu.map","// Generated by Framer (d369d66)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOMV2;BDO Grotesk Medium\",\"CUSTOMV2;BDO Grotesk Bold\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"BDO Grotesk Medium\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/iUOVWtLYI8neEiEG4yVlDTlfo.woff2\",weight:\"500\"},{cssFamilyName:\"BDO Grotesk Bold\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/Csg1wf6UCkJKockLDbcpUI.woff2\",weight:\"700\"}]}];export const css=[\".framer-OlWLX .framer-styles-preset-14rv7l3:not(.rich-text-wrapper), .framer-OlWLX .framer-styles-preset-14rv7l3.rich-text-wrapper p { --framer-font-family: \\\"BDO Grotesk Medium\\\", \\\"BDO Grotesk Medium Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"BDO Grotesk Bold\\\", \\\"BDO Grotesk Bold Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.01em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\",\"@media (max-width: 1549px) and (min-width: 810px) { .framer-OlWLX .framer-styles-preset-14rv7l3:not(.rich-text-wrapper), .framer-OlWLX .framer-styles-preset-14rv7l3.rich-text-wrapper p { --framer-font-family: \\\"BDO Grotesk Medium\\\", \\\"BDO Grotesk Medium Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"BDO Grotesk Bold\\\", \\\"BDO Grotesk Bold Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.01em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\",\"@media (max-width: 809px) and (min-width: 0px) { .framer-OlWLX .framer-styles-preset-14rv7l3:not(.rich-text-wrapper), .framer-OlWLX .framer-styles-preset-14rv7l3.rich-text-wrapper p { --framer-font-family: \\\"BDO Grotesk Medium\\\", \\\"BDO Grotesk Medium Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"BDO Grotesk Bold\\\", \\\"BDO Grotesk Bold Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: 0.01em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-e8a94a1e-cc75-415f-b7b7-9cb863bc8db9, rgba(255, 247, 235, 0.5)); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }\"];export const className=\"framer-OlWLX\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c54c588)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOMV2;BDO Grotesk DemiBold\",\"CUSTOMV2;BDO Grotesk Black\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"BDO Grotesk DemiBold\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/DqD45dbZMdbPCfwSidVYGkEoWhw.woff2\",weight:\"600\"},{cssFamilyName:\"BDO Grotesk Black\",source:\"custom\",style:\"normal\",uiFamilyName:\"BDO Grotesk\",url:\"https://framerusercontent.com/assets/9B1YrMnkQPikXT4fm5i1iHCnQ.woff2\",weight:\"900\"}]}];export const css=['.framer-QgSxU .framer-styles-preset-1yes1f9:not(.rich-text-wrapper), .framer-QgSxU .framer-styles-preset-1yes1f9.rich-text-wrapper h1 { --framer-font-family: \"BDO Grotesk DemiBold\", \"BDO Grotesk DemiBold Placeholder\", sans-serif; --framer-font-family-bold: \"BDO Grotesk Black\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, #0e1d28); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1549px) and (min-width: 810px) { .framer-QgSxU .framer-styles-preset-1yes1f9:not(.rich-text-wrapper), .framer-QgSxU .framer-styles-preset-1yes1f9.rich-text-wrapper h1 { --framer-font-family: \"BDO Grotesk DemiBold\", \"BDO Grotesk DemiBold Placeholder\", sans-serif; --framer-font-family-bold: \"BDO Grotesk Black\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 34px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: 0.01em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, #0e1d28); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-QgSxU .framer-styles-preset-1yes1f9:not(.rich-text-wrapper), .framer-QgSxU .framer-styles-preset-1yes1f9.rich-text-wrapper h1 { --framer-font-family: \"BDO Grotesk DemiBold\", \"BDO Grotesk DemiBold Placeholder\", sans-serif; --framer-font-family-bold: \"BDO Grotesk Black\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-9fe7c563-3929-480c-acf0-5ec5e6f3fb48, #0e1d28); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-QgSxU\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}