{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js", "ssg:https://framerusercontent.com/modules/i0cSJfjrdgxzJovxMht0/Hl1GtIuctzCd6dXeIoFN/BzxVuWaVG.js", "ssg:https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js", "ssg:https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/6EBKQJ7jpOf0wR1CbnGj/utils.js", "ssg:https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js", "ssg:https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/rxFrxSh0utdVXiSJFdY4/fakeResults.js", "ssg:https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js", "ssg:https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16", "ssg:https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/JUSOhg0nH8Uc1bal1x1v/cachedIndex.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/VKPcuxBCKu4ecmEtZUh5/useSearch.js", "ssg:https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js", "ssg:https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js", "ssg:https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/tiKvpL4XcfzfRKXEwNiV/SearchModal.js", "ssg:https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js", "ssg:https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/RPrU1aOtKIzYUf3nkXYG/Search.js", "ssg:https://framerusercontent.com/modules/VJfnbedRJn1nV8ipfiEo/whGBOtJZ1mU9XWGNGT0J/ypWwhb2kc.js"],
  "sourcesContent": ["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useReducer,useState}from\"react\";import{ControlType,addPropertyControls}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles,defaultEvents,useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var PlayOptions;(function(PlayOptions){PlayOptions[\"Normal\"]=\"Off\";PlayOptions[\"Auto\"]=\"On\";PlayOptions[\"Loop\"]=\"Loop\";})(PlayOptions||(PlayOptions={}));var ThumbnailOptions;(function(ThumbnailOptions){ThumbnailOptions[\"High\"]=\"High Quality\";ThumbnailOptions[\"Medium\"]=\"Medium Quality\";ThumbnailOptions[\"Low\"]=\"Low Quality\";ThumbnailOptions[\"Off\"]=\"Off\";})(ThumbnailOptions||(ThumbnailOptions={}));var ThumbnailFormat;(function(ThumbnailFormat){ThumbnailFormat[\"WebP\"]=\"webp\";ThumbnailFormat[\"JPG\"]=\"jpg\";})(ThumbnailFormat||(ThumbnailFormat={}));/**\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 315\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps isRed, borderRadius\n */ export function Youtube({url,play,shouldMute,thumbnail,isRed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,...props}){const onCanvas=useIsOnCanvas();const isAutoplay=play!==PlayOptions.Normal;const showThumbnail=onCanvas||thumbnail!==ThumbnailOptions.Off&&!isAutoplay;const[isPreloading,preloadVideo]=useReducer(()=>true,false);const[showVideo,startVideo]=useReducer(()=>true,!showThumbnail);const[isHovered,setHovered]=useState(false);const borderRadius=useRadius(props);const hasBorderRadius=borderRadius!==\"0px 0px 0px 0px\"&&borderRadius!==\"0px\";if(url===\"\"){return /*#__PURE__*/ _jsx(Instructions,{});}const parsedURL=parseVideoURL(url);if(parsedURL===undefined){return /*#__PURE__*/ _jsx(ErrorMessage,{message:\"Invalid Youtube URL.\"});}const[videoId,embedURL]=parsedURL;// https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api\nconst thumbnailURL=getThumbnailURL(videoId,thumbnail,getWebPSupported()?ThumbnailFormat.WebP:ThumbnailFormat.JPG);// https://developers.google.com/youtube/player_parameters\nconst searchParams=embedURL.searchParams;searchParams.set(\"iv_load_policy\",\"3\");searchParams.set(\"rel\",\"0\");searchParams.set(\"modestbranding\",\"1\");searchParams.set(\"playsinline\",\"1\");if(isAutoplay||showThumbnail){searchParams.set(\"autoplay\",\"1\");}if(isAutoplay&&shouldMute){searchParams.set(\"mute\",\"1\");}if(play===PlayOptions.Loop){searchParams.set(\"loop\",\"1\");searchParams.set(\"playlist\",videoId);}if(!isRed){searchParams.set(\"color\",\"white\");}return /*#__PURE__*/ _jsxs(\"article\",{onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onPointerOver:preloadVideo,onClick:startVideo,style:{...wrapperStyle,borderRadius,transform:hasBorderRadius&&showVideo?\"translateZ(0.000001px)\":\"unset\",cursor:\"pointer\",overflow:\"hidden\"},children:[isPreloading&&/*#__PURE__*/ _jsx(\"link\",{rel:\"preconnect\",href:\"https://www.youtube.com\"}),isPreloading&&/*#__PURE__*/ _jsx(\"link\",{rel:\"preconnect\",href:\"https://www.google.com\"}),/*#__PURE__*/ _jsx(\"div\",{style:{...videoStyle,background:showThumbnail?`center / cover url(${thumbnailURL}) no-repeat`:undefined}}),showVideo?/*#__PURE__*/ _jsx(\"iframe\",{style:videoStyle,src:embedURL.href,frameBorder:\"0\",allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",onClick:onClick,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave,onMouseDown:onMouseDown,onMouseUp:onMouseUp}):/*#__PURE__*/ _jsx(PlayButton,{onClick:startVideo,isHovered:isHovered,isRed:isRed})]});}Youtube.displayName=\"YouTube\";addPropertyControls(Youtube,{url:{type:ControlType.String,title:\"Video\"},play:{type:ControlType.Enum,title:\"Autoplay\",options:Object.values(PlayOptions)},shouldMute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden(props){return props.play===PlayOptions.Normal;}},thumbnail:{title:\"Thumbnail\",description:\"Showing a thumbnail improves performance.\",type:ControlType.Enum,options:Object.values(ThumbnailOptions),hidden(props){return props.play!==PlayOptions.Normal;}},isRed:{title:\"Color\",type:ControlType.Boolean,enabledTitle:\"Red\",disabledTitle:\"White\"},...borderRadiusControl,...defaultEvents});const defaultProps={url:\"https://youtu.be/smPos0mJvh8\",play:PlayOptions.Normal,shouldMute:true,thumbnail:ThumbnailOptions.Medium,isRed:true};Youtube.defaultProps=defaultProps;function parseVideoURL(urlString){let url;try{url=new URL(urlString);}catch{const embedURL=getEmbedURL(urlString);return[urlString,embedURL];}if(url.hostname===\"youtube.com\"||url.hostname===\"www.youtube.com\"||url.hostname===\"youtube-nocookie.com\"||url.hostname===\"www.youtube-nocookie.com\"){const pathSegments=url.pathname.slice(1).split(\"/\");// https://www.youtube.com/watch?v=Fop2oskTug8\nif(pathSegments[0]===\"watch\"){const videoId=url.searchParams.get(\"v\");const embedURL1=getEmbedURL(videoId);return[videoId,embedURL1];}// https://www.youtube.com/embed/Fop2oskTug8\nif(pathSegments[0]===\"embed\"){const videoId1=pathSegments[1];return[videoId1,url];}}// https://youtu.be/Fop2oskTug8\nif(url.hostname===\"youtu.be\"){const videoId2=url.pathname.slice(1);const embedURL2=getEmbedURL(videoId2);return[videoId2,embedURL2];}}function getEmbedURL(videoId){return new URL(`https://www.youtube.com/embed/${videoId}`);}function getThumbnailURL(videoId,res,format=ThumbnailFormat.JPG){// https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\nconst pre=ThumbnailFormat.WebP?\"https://i.ytimg.com/vi_webp/\":\"https://i.ytimg.com/vi/\";const ext=ThumbnailFormat.WebP?\"webp\":\"jpg\";switch(res){case ThumbnailOptions.Low:return`${pre}${videoId}/hqdefault.${ext}`;case ThumbnailOptions.Medium:return`${pre}${videoId}/sddefault.${ext}`;case ThumbnailOptions.High:return`${pre}${videoId}/maxresdefault.${ext}`;default:return`${pre}${videoId}/0.${ext}`;}}let _getWebPSupported;// https://stackoverflow.com/a/27232658\nfunction getWebPSupported(){// We're going to default to webp because it's pretty widely supported by now\nif(!window){return true;}if(_getWebPSupported!==undefined){return _getWebPSupported;}const element=document.createElement(\"canvas\");if(!!(element.getContext&&element.getContext(\"2d\"))){// was able or not to get WebP representation\nreturn element.toDataURL(\"image/webp\").indexOf(\"data:image/webp\")==0;}else{// very old browser like IE 8, canvas not supported\nreturn false;}}// Helper components\nfunction Instructions(){return /*#__PURE__*/ _jsx(\"div\",{style:{...emptyStateStyle,overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(\"div\",{style:centerTextStyle,children:\"To embed a Youtube video, add the URL to the properties\\xa0panel.\"})});}function ErrorMessage({message}){return /*#__PURE__*/ _jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/ _jsxs(\"div\",{style:centerTextStyle,children:[\"Error: \",message]})});}function PlayButton({onClick,isHovered,isRed}){return /*#__PURE__*/ _jsx(\"button\",{onClick:onClick,\"aria-label\":\"Play\",style:buttonStyle,children:/*#__PURE__*/ _jsxs(\"svg\",{height:\"100%\",version:\"1.1\",viewBox:\"0 0 68 48\",width:\"100%\",children:[/*#__PURE__*/ _jsx(\"path\",{d:\"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z\",fill:isHovered?isRed?\"#f00\":\"#000\":\"#212121\",fillOpacity:isHovered?isRed?1:.8:.8,style:{transition:\"fill .1s cubic-bezier(0.4, 0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0, 1, 1)\"}}),/*#__PURE__*/ _jsx(\"path\",{d:\"M 45,24 27,14 27,34\",fill:\"#fff\"})]})});}const buttonStyle={position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:68,height:48,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\"};const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const centerTextStyle={textAlign:\"center\",minWidth:140};const videoStyle={position:\"absolute\",top:0,left:0,height:\"100%\",width:\"100%\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Youtube\":{\"type\":\"reactComponent\",\"name\":\"Youtube\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"315\",\"framerComponentPresetProps\":\"isRed, borderRadius\",\"framerIntrinsicWidth\":\"560\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map", "import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";import { addPropertyControls, ComponentPresetsConsumer, ControlType, Link } from \"framer\";import { motion } from \"framer-motion\";import * as React from \"react\";import { Youtube as YouTube } from \"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js\"; /**\n* @framerRecordIdKey id\n* @framerSlug vhLy0TtfC\n* @framerEnumToDisplayNameUtils 1\n* @framerData\n*/const data = [{ b2o5HH_yA: \"2023-05-23T00:00:00.000Z\", BeFKtaIcX: \"Amazing experience improvements and bug fixes.\", id: \"ZCFthosVQ\", MNI4wejMU: \"The May Update\", NYeAbjktH: \"Qn5rOMq_5\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsxs(\"p\", { children: [\"The May update brings a series of amazing experience improvements and small quality-of-life features. We\u2019ve refreshed the Actions menu, and placed it in the Toolbar for easy access to features like \", /*#__PURE__*/_jsx(Link, { href: \"https://www.framer.com/updates/version-history-update\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"Version History\" }) }), \", as well as context-aware actions. Plus, we\u2019re introducing a few new updates to Text layers, like the ability to use Blending Modes, and em units for letter-spacing. Moreso, we\u2019ve fixed a lot of bugs, many of which were reported by the community. See the full list below.\"] }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Refreshed the Actions menu interface, and placed it in the Toolbar\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Improved the sorting of all properties in the Styles menu, like Filters\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"The property panel can now be browsed in View Only mode\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Added support for Blending Mode styles to all Text layers\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Added support for em units for letter-spacing to all Text layers\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Added custom font support to the MP3 audio component in Insert\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed SVGs in Stacks showing Position while actually disabled\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Delay showing in unsupported Effects, like Drag or Transform\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Smart Components collapsing due to relative size constraints\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed visual popover rendering issues when designing in Safari\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed the Guides property being shown while actually disabled\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed the top bar being hidden after closing the Preview window\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed issues when combining pins with relative widths and aspect ratio\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed issues where you could publish too soon and crash your project\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed a bug where position would be reset when copy and pasting Styles\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed animations stretching on window resize, like mobile navigations\" }) })] })] }), v87NK7UOe: { alt: \"Actions Menu\", src: new URL(\"https://framerusercontent.com/images/u68CdTTtX2dhIyn8XVTsMdB7xQ.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/u68CdTTtX2dhIyn8XVTsMdB7xQ.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/u68CdTTtX2dhIyn8XVTsMdB7xQ.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/u68CdTTtX2dhIyn8XVTsMdB7xQ.png\").href} 1600w` }, vhLy0TtfC: \"the-may-update\" }, { b2o5HH_yA: \"2023-05-22T00:00:00.000Z\", BeFKtaIcX: \"Introducing a refreshed previewing interface.\", id: \"yeY_tk1sO\", MNI4wejMU: \"Preview Refresh\", NYeAbjktH: \"Qn5rOMq_5\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsxs(\"p\", { children: [\"This update introduces a refreshed previewing interface, with a simpler topbar and better defaults for previewing your responsive pages. We\u2019ve also included a host of other improvements and fixes, such as a new shortcut to quickly collapse all layers, and ensuring the Pan Tool no longer gets stuck once selected. Let us know what you think in the \", /*#__PURE__*/_jsx(Link, { href: \"https://www.framer.community/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"Community\" }) }), \"\u2014we\u2019d love to hear your thoughts!\"] }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Simplified previewing UI with a refreshed topbar and icons\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Preview can now be toggled on and off via the icon in the toolbar\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Sites are now always previewed responsively by default\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"You can now collapse all layers in the Layer Panel with \u2325 L\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"All Styles can now be manually sorted in the Assets Panel\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Background Blur can now always be added under Styles\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Background Blur now has a performance warning at values >10\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"The Keyboard Shortcut overview modal is now responsive\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed one or more layers wrapped in a Frame being offset\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed the text editor using the wrong Color Style theme\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Pan Tool getting stuck when enabled by clicking\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Preview always being inferred from Viewport on Web Pages\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Viewport pill from clashing with other UI, like the Gradient editor\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed accidentally showing the Filters menu on unsupported layers\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Stack losing order overrides when copy-pasting across Pages\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Fixed Stack order being off when Primary Breakpoint was a Frame\" }) })] })] }), v87NK7UOe: { alt: \"Framer Preview Window\", src: new URL(\"https://framerusercontent.com/images/HQBc9T8rAviO1S45lJ9GsLZ2nU.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/HQBc9T8rAviO1S45lJ9GsLZ2nU.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/HQBc9T8rAviO1S45lJ9GsLZ2nU.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/HQBc9T8rAviO1S45lJ9GsLZ2nU.png\").href} 1600w` }, vhLy0TtfC: \"preview-refresh\" }, { b2o5HH_yA: \"2023-05-16T00:00:00.000Z\", BeFKtaIcX: \"Add H4, H5, and H6 Text Styles to your project.\", id: \"sK4RHZu5e\", MNI4wejMU: \"New Text Styles\", NYeAbjktH: \"BHAYC3vrn\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"p\", { children: \"This release adds H4, H5, and H6 support to Text Styles, and also improves creation workflows. Plus, Text Styles are now optional\u2014so you can keep all your projects and templates clean, and only use those you need. This also applies to Link Styles. Using any Heading in the CMS will automatically add a matching Text Style for you, so you can focus on your content and add structure later.\" }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Add H4, H5, and H6 tags to Text Styles\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"All Text Styles are now optional in your project\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"All Link Styles are now optional in your project\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Improved Link and Text Styles creation workflow\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Text Styles are automatically added via CMS\" }) })] })] }), v87NK7UOe: { alt: \"Text Styles\", src: new URL(\"https://framerusercontent.com/images/Kx2gWWnILssa6R4pWAsflwTXHo.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/Kx2gWWnILssa6R4pWAsflwTXHo.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/Kx2gWWnILssa6R4pWAsflwTXHo.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/Kx2gWWnILssa6R4pWAsflwTXHo.png\").href} 1600w` }, vhLy0TtfC: \"new-text-styles\" }, { b2o5HH_yA: \"2023-05-02T00:00:00.000Z\", BeFKtaIcX: \"Introducing the Lemon Squeezy Component.\", id: \"HW2UBEfMX\", MNI4wejMU: \"Lemon Squeezy Integration\", NYeAbjktH: \"BHAYC3vrn\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"h2\", { children: \"Lemon Squeezy\" }), /*#__PURE__*/_jsxs(\"p\", { children: [\"This update adds a brand new \", /*#__PURE__*/_jsx(Link, { href: \"https://www.lemonsqueezy.com/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"Lemon Squeezy\" }) }), \" integration to Framer. You\u2019ll find this component in the Insert Panel under the Utility section, or by searching. Use it to design simple storefronts, or to sell your amazing Framer templates. You can pick between a direct link or a checkout overlay to sell your products. We ensure the required \", /*#__PURE__*/_jsx(\"strong\", { children: \"script\" }), \" is always only loaded once per page, so your sites stay fast to load, no matter how many products you\u2019re selling.\"] }), /*#__PURE__*/_jsx(\"h2\", { children: \"Instant Transitions\" }), /*#__PURE__*/_jsxs(\"p\", { children: [\"We also shipped tons of quality-of-life improvements and bug fixes based on feedback and reports from the \", /*#__PURE__*/_jsx(Link, { href: \"https://framer.community/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"Community\" }) }), \". It also brings a series of refinements that help you design navigations in Framer, including a redesigned Transition editor that allows you to quickly use Instant transitions, improved Styles menus, fixes for components that use Scroll Variants, and more. See the full list below.\"] }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Added an Instant Transition type for Component variants\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Ease and Spring curve editors now share the same layout\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"All Filter properties are now grouped together in the Styles menu\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Links no longer automatically get no-referrer applied\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Properties in pop-outs can now be edited with multi-select\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Image Variables now support alt text in Components\" }) }), /*#__PURE__*/_jsxs(\"li\", { \"data-preset-tag\": \"p\", children: [/*#__PURE__*/_jsx(\"p\", { children: \"Breakpoints no longer get Radius applied by default\" }), /*#__PURE__*/_jsx(\"p\", { children: /*#__PURE__*/_jsx(\"br\", { className: \"trailing-break\" }) })] })] }), /*#__PURE__*/_jsx(motion.div, { className: \"framer-text-module\", style: { \"--aspect-ratio\": \"560 / 315\", aspectRatio: \"var(--aspect-ratio)\", height: \"auto\", width: \"100%\" }, children: /*#__PURE__*/_jsx(ComponentPresetsConsumer, { componentIdentifier: \"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\", children: (presetProps) => /*#__PURE__*/_jsx(YouTube, { ...presetProps, play: \"Off\", shouldMute: true, thumbnail: \"High Quality\", url: \"https://youtu.be/-rkFVygMhus\" }) }) }), /*#__PURE__*/_jsx(\"h2\", { children: \"Dark and Light Themes\" }), /*#__PURE__*/_jsx(\"p\", { children: \"Finally, we introduced Light and Dark Mode for your websites, with all new Color Styles. Add a Color Style, define a Light and Dark Theme, then use the Styles throughout your project. Color Styles with Themes even work within interactions and animations\u2014from Effects to Components. You can now find these in the Assets panel as well, where they can be created and customized.\" })] }), v87NK7UOe: { alt: \"Insert Menu\", src: new URL(\"https://framerusercontent.com/images/V7p6kJ57eFvVd2Eo126slWVh0.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/V7p6kJ57eFvVd2Eo126slWVh0.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/V7p6kJ57eFvVd2Eo126slWVh0.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/V7p6kJ57eFvVd2Eo126slWVh0.png\").href} 1600w` }, vhLy0TtfC: \"lemon-squeezy-integration\" }, { b2o5HH_yA: \"2023-04-16T00:00:00.000Z\", BeFKtaIcX: \"Copy Pasting, List Support, Filtering, and more.\", id: \"qqT7NV6Xr\", MNI4wejMU: \"What\u2019s New In The CMS\", NYeAbjktH: \"BHAYC3vrn\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"h2\", { children: \"Copy and pasting\" }), /*#__PURE__*/_jsx(\"p\", { children: \"We\u2019ve recently improved the pasting of text in Framer to improve your writing experience. From copy-pasting between Text elements in Framer to bringing your own structured copy from editors like Notion, we\u2019ve covered the most used workflows for long- and short-form text editing using your semantic HTML, Inline Styles, and Text Styles. This also includes pasting text from online resources. For example, you can copy your essay from Notion and paste it into an empty text element, and we style it according to the default or even your own defined Text Styles. The pasting functionality will always respect the HTML structure of your pasted text and map it to your project\u2019s Text Styles.\" }), /*#__PURE__*/_jsx(\"h2\", { children: \"List support\" }), /*#__PURE__*/_jsxs(\"p\", { children: [\"This release adds support for Bulleted and Numbered Lists in Text Layers and the \", /*#__PURE__*/_jsx(Link, { href: \"https://www.framer.com/learn/cms/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"CMS\" }) }), \". You can now structure your content in new ways with Lists that integrate seamlessly with your existing Text Styles and CMS content. \"] }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"To start a new list, type a hypen or any number.\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"You can nest lists as deeply as you\u2019d like.\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"To exit out of a list, hinter enter twice.\" }) })] }), /*#__PURE__*/_jsx(\"h2\", { children: \"Filtering\" }), /*#__PURE__*/_jsx(\"p\", { children: \"We\u2019ve added the ability to filter your collection lists in the CMS. This allows you to keep your content in a single collection, yet customize how that collection is presented on each of your web pages. For example, if you\u2019re creating docs for your app, you might want to filter articles per topic on your homepage. Or when creating a blog, you might want to filter your blog posts per category.\" })] }), v87NK7UOe: { alt: \"Framer CMS\", src: new URL(\"https://framerusercontent.com/images/1AebUjHW7VAMzbfrS0vDSHsTYA.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/1AebUjHW7VAMzbfrS0vDSHsTYA.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/1AebUjHW7VAMzbfrS0vDSHsTYA.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/1AebUjHW7VAMzbfrS0vDSHsTYA.png\").href} 1600w` }, vhLy0TtfC: \"whats-new-in-the-cms\" }, { b2o5HH_yA: \"2023-04-12T00:00:00.000Z\", BeFKtaIcX: \"Updates to the Layer Panel, Breakpoints, and Variants.\", id: \"ewX80TdyB\", MNI4wejMU: \"New Layout Tooling\", NYeAbjktH: \"Qn5rOMq_5\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"h2\", { children: \"New This Month\" }), /*#__PURE__*/_jsx(\"p\", { children: \"This quality update brings canvas and layer panel improvements. We\u2019ve updated the Component symbol throughout the app to differentiate it from Grids. Plus, we\u2019ve made Primary Breakpoints and Variants more distinct in the left panel, making it easier to see if you\u2019re editing the primary or an instance. Breakpoints will now also show the ranges in the layer panel. See more updates below. \" }), /*#__PURE__*/_jsx(\"h2\", { children: \"Bonus Updates \" }), /*#__PURE__*/_jsx(\"p\", { children: \"Last month, we added support for automatic tinting and new layout options for components, plus a whole lot of fixes and improvements. If you give your Page a Fill color, this will now also tint browsers like Safari and will ensure you don\u2019t get plain white backgrounds when overscrolling on any mobile device. Plus, we\u2019ve added support for Min Max sizing to all Smart and Code components, greatly simplifying many common layouts and patterns. See the full changelog below.\" }), /*#__PURE__*/_jsxs(\"ul\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We automatically set the body background, based on your Page\u2019s fill color\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"You can now override the body background and customize per breakpoint\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We now support Min Max sizing for all Smart and Code Component\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We now consistently show the Min Max hint within the property panel\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"You can now use all alignment options for layers with Position set to Fixed\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We now inform you if a parent layer height changes due to layout edits\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We improved the Radius and Padding controls, no longer resetting values\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"Number inputs split in four no longer show steppers, so longer values fit\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"We improved Appear Effects using Scale with Spring transitions\" }) })] })] }), v87NK7UOe: { alt: \"Framer Layout\", src: new URL(\"https://framerusercontent.com/images/xkWIOx7A88LxZVVydNhyCA.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/xkWIOx7A88LxZVVydNhyCA.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/xkWIOx7A88LxZVVydNhyCA.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/xkWIOx7A88LxZVVydNhyCA.png\").href} 1600w` }, vhLy0TtfC: \"new-layout-tooling\" }, { b2o5HH_yA: \"2023-04-04T00:00:00.000Z\", BeFKtaIcX: \"Create flexible navigations within a single page.\", id: \"xOzPb1rh8\", MNI4wejMU: \"Smooth and Sticky Scrolling\", NYeAbjktH: \"BHAYC3vrn\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"h2\", { children: \"Sticky positioning\" }), /*#__PURE__*/_jsx(\"p\", { children: \"To make a sticky header, select it and head over the properties panel where you\u2019ll find the Sticky property. Here you\u2019ll see four position properties to customize its distance from top, bottom, left, and right. These properties represent the position of the sticky element relative to its parent layer.\" }), /*#__PURE__*/_jsx(\"p\", { children: \"Sticky will only work if all parent layers have overflow set to visible, which may cause issues on mobile. Specifically, an overflowing element in the web page (like the one pictured below) can cause the site to be scrollable horizontally on a mobile device, leading to unwanted results. To prevent this from happening, make sure to double check for overflowing elements in your page and, if necessary, wrap them in a parent layer and set its overflow property to hidden.\" }), /*#__PURE__*/_jsx(\"h2\", { children: \"Smooth scrolling\" }), /*#__PURE__*/_jsxs(\"p\", { children: [\"You can select any Layer and head over to the Scroll Section property to give it a unique name. Then, we can create new links that point to the same page, and then we\u2019re presented with the Section property, allowing us to pick from all targets that exist on the same page. Finally, we can set Scroll to Smooth. The video below also covers how to work with components and how to mix in Scroll Speed effects to create parallax effects. If you\u2019re interested in playing around with these features, feel free to \", /*#__PURE__*/_jsx(Link, { href: \"https://targets.framer.wiki/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"remix my demo project here\" }) }), \".\"] })] }), v87NK7UOe: { alt: \"Sticky Scroll\", src: new URL(\"https://framerusercontent.com/images/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\").href} 1470w` }, vhLy0TtfC: \"smooth-and-sticky-scrolling\" }, { b2o5HH_yA: \"2023-04-02T00:00:00.000Z\", BeFKtaIcX: \"Making your sites up to 2X as fast.\", id: \"YMZj3Eift\", MNI4wejMU: \"Improved Publishing Performance\", NYeAbjktH: \"Qn5rOMq_5\", T5Nfjwoyl: /*#__PURE__*/_jsxs(React.Fragment, { children: [/*#__PURE__*/_jsx(\"h2\", { children: \"Pre-rendering and compression\" }), /*#__PURE__*/_jsx(\"p\", { children: \"This release brings two improvements that can make your site up to 2X as fast. \" }), /*#__PURE__*/_jsxs(\"ol\", { children: [/*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsx(\"p\", { children: \"When you publish your site, we pre-render a static HTML version on the server, so it loads faster and Google can analyze it for SEO (using React and SSR). We have optimized this process to use multiple CPUs on our server at the same time. Now, even sites with hundreds of pages can finish in seconds.\" }) }), /*#__PURE__*/_jsx(\"li\", { \"data-preset-tag\": \"p\", children: /*#__PURE__*/_jsxs(\"p\", { children: [\"We serve your site from a global cache location close to your visitors to make sure your site loads fast. In addition, we use an advanced HTML and text compression algorithm called \", /*#__PURE__*/_jsx(Link, { href: \"https://github.com/google/brotli\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"Brotli\" }) }), \". Compressed content is now cached, so we can send it directly to your visitors instead of compressing each request individually. In our tests this often improves loading speed by up to 2x, which will have a very positive impact on your Lighthouse scores like \", /*#__PURE__*/_jsx(Link, { href: \"https://web.dev/lcp/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"LCP\" }) }), \". This will be especially noticeable on larger sites, so you can scale your site without worry.\"] }) })] }), /*#__PURE__*/_jsx(\"h2\", { children: \"CSS optimization\" }), /*#__PURE__*/_jsxs(\"p\", { children: [\"We\u2019ve also greatly improved the loading times of your websites. Sites now build and load faster because the CSS is minified with \", /*#__PURE__*/_jsx(Link, { href: \"https://esbuild.github.io/\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"esbuild\" }) }), \" instead of \", /*#__PURE__*/_jsx(Link, { href: \"https://www.npmjs.com/package/csso\", openInNewTab: true, smoothScroll: false, children: /*#__PURE__*/_jsx(\"a\", { children: \"csso\" }) }), \". esbuild is much faster and better at de-duplicating certain advanced CSS rules, which means you will experience significantly lighter CSS files for complex pages. For our own site, we saw a 60% improvement in CSS size and a 4x speed up for optimization times. To get the same advantages, re-publish your site.\"] })] }), v87NK7UOe: { alt: \"2X Publishing\", src: new URL(\"https://framerusercontent.com/images/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\").href, srcSet: `${new URL(\"https://framerusercontent.com/images/YDg1xTe2dx7XhewmSWjnjx2XWcE.png?scale-down-to=512\").href} 512w, ${new URL(\"https://framerusercontent.com/images/YDg1xTe2dx7XhewmSWjnjx2XWcE.png?scale-down-to=1024\").href} 1024w, ${new URL(\"https://framerusercontent.com/images/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\").href} 1600w` }, vhLy0TtfC: \"improved-publishing-performance\" }];data.forEach((item) => Object.freeze(item));addPropertyControls(data, { MNI4wejMU: { defaultValue: \"\", title: \"Title\", type: ControlType.String }, BeFKtaIcX: { defaultValue: \"Copy Pasting, List Support, Filtering, and more.\", displayTextArea: false, placeholder: \"Post Description for SEO\u2026\", title: \"Description\", type: ControlType.String }, b2o5HH_yA: { title: \"Date\", type: ControlType.Date }, vhLy0TtfC: { title: \"Slug\", type: ControlType.String }, v87NK7UOe: { __defaultAssetReference: \"data:framer/asset-reference,rlvUZruim7NVVpw48iYZqrmGbk.jpg?originalFilename=Flowers+1.jpg&preferredSize=auto\", title: \"Banner\", type: ControlType.ResponsiveImage }, NYeAbjktH: { defaultValue: \"BHAYC3vrn\", options: [\"BHAYC3vrn\", \"Qn5rOMq_5\"], optionTitles: [\"Features\", \"Improvements\"], title: \"Category\", type: ControlType.Enum }, T5Nfjwoyl: { defaultValue: \"\", title: \"Content\", type: ControlType.RichText } });data[\"displayName\"] = \"Blog\";export default data;export const NYeAbjktHToDisplayName = (value) => {switch (value) {case \"BHAYC3vrn\":return \"Features\";case \"Qn5rOMq_5\":return \"Improvements\";default:return \"\";}};\nexport const __FramerMetadata__ = { \"exports\": { \"default\": { \"type\": \"data\", \"name\": \"data\", \"annotations\": { \"framerData\": \"\", \"framerContractVersion\": \"1\", \"framerEnumToDisplayNameUtils\": \"1\", \"framerSlug\": \"vhLy0TtfC\", \"framerRecordIdKey\": \"id\" } }, \"NYeAbjktHToDisplayName\": { \"type\": \"variable\", \"annotations\": { \"framerContractVersion\": \"1\" } }, \"__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", "function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export const localStorageDebugFlag=typeof window!==\"undefined\"&&window.localStorage.getItem(\"__framerDebugSearch\")===\"true\";const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;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+\"\u2026\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){var ref,ref1,ref2;if((ref=theme.inputFont)===null||ref===void 0?void 0:ref.fontFamily)return theme.inputFont.fontFamily;if((ref1=theme.titleFont)===null||ref1===void 0?void 0:ref1.fontFamily)return theme.titleFont.fontFamily;if((ref2=theme.subtitleFont)===null||ref2===void 0?void 0:ref2.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument===null||safeDocument===void 0?void 0:safeDocument.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};\nexport const __FramerMetadata__ = {\"exports\":{\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.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", "// 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 default{\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",links:[]},\"/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/\",links:[]},\"/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/\",links:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map", "export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}", "// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map", "import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const INDEX_KEY=\"searchIndexCache\";const METADATA_KEY=\"searchCacheMetadata\";export async function getCachedIndex(){// 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 cachedIndex=await checkForCachedData(INDEX_KEY);if(cachedIndex){return cachedIndex;}}export function setCachedIndex(index){setCachedData(INDEX_KEY,index);setCachedData(METADATA_KEY,{version:VERSION,timestamp:Date.now()});}\nexport const __FramerMetadata__ = {\"exports\":{\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map", "import{useEffect,useState,useMemo}from\"react\";import{clamp}from\"framer-motion\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/6EBKQJ7jpOf0wR1CbnGj/utils.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import fakeResults from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/rxFrxSh0utdVXiSJFdY4/fakeResults.js\";import{setCachedIndex,getCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/JUSOhg0nH8Uc1bal1x1v/cachedIndex.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}function splitWords(text){return text.split(RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\"));}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */ function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(/[\\u0300-\\u036f]/g,\"\").toLowerCase();}function getNormalizedItem(item){const normalizedItem={};for(const[key,value]of Object.entries(item)){if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */ function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6,];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore1=distance(query,headingWord);if(distanceScore1<=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 paragraph of item.p){if(paragraph.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,query){const normalizedItem=getNormalizedItem(item);const normalizedQuery=getNormalizedString(query);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const results=useMemo(()=>{if(!query||!index){return[];}const path=safeWindow===null||safeWindow===void 0?void 0:safeWindow.location.pathname;time(\"query\");// Filter the results.\nconst results=Object.values(index).map(item=>{const score=getSearchIndexItemScore(item,query);// Use first `h1` instead of title if the page has one.\nconst heading=item.h1.length&&item.h1[0];// Convert index item to result item.\nconst result={url:item.url,title:heading?heading:item.title,description:item.description,body:item.p.join(\" \"),score};return result;}).filter(item=>item.score>settings.minimumScore||0).filter(item=>{if(!path)return true;return item.url!==path;}).sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");return results;},[index,query]);return results;}function getIndexedScopedToUrl(index,rawUrlScope){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){if(!url.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const results=useRawSearch(searchIndex,query,settings);// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const metaTag=safeDocument===null||safeDocument===void 0?void 0:safeDocument.querySelector('meta[name=\"framer-search-index\"]');if(!metaTag){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cachedIndex=await getCachedIndex();const metaTagContent=metaTag.getAttribute(\"content\");const isOverLimit=metaTagContent===\"limit-reached\";log(\"Page limit for plan exceeded\");// If a cached index exists, use the cached version until latest one\n// from the network loads.\nif(cachedIndex&&!isOverLimit){setSearchIndex(cachedIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");}// Return early and do not make a fetch request if the URL is not valid.\nif(!metaTagContent||!isValidUrl(metaTagContent)){log(\"Meta tag exists but URL is not valid yet\");// If there is no cached index, show the pending index message.\n// Otherwise use the cache to as the index to search.\nif(!cachedIndex){setStatus(\"pending-index-generation\");log(\"No cache to use, page reload required to check for meta tag\");}else{log(\"Continue using cache\");}return;}const searchIndexUrl=metaTagContent;const response=await fetch(searchIndexUrl);if(!response.ok){throw new Error(response.statusText);}const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(downloadedIndex);setStatus(\"success\");log(\"Using downloaded index\");}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[]);log({status,results});return{results,status};}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchItem\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchStatus\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map", "export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map", "// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map", "// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/VKPcuxBCKu4ecmEtZUh5/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/6EBKQJ7jpOf0wR1CbnGj/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===SearchInputClearButtonType.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===SearchInputDividerType.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!==SearchInputClearButtonType.None;const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===SearchIconType.Custom&&theme.inputIconImage?/*#__PURE__*/ _jsx(\"img\",{src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize}):/*#__PURE__*/ _jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/ _jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/ _jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/ _jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/ _jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/ _jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/ React.memo(/*#__PURE__*/ React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=SearchResultItemType.Contained,subtitleType=SearchResultSubtitleType.Path,selected=false,theme,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return url;const parsedURL=new URL(url);return parsedURL.pathname;},[url]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===SearchResultItemType.Contained;const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===SearchResultSubtitleType.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\",height:layoutType===SearchLayoutType.Sidebar?\"100%\":\"auto\",maxHeight:layoutType===SearchLayoutType.QuickMenu?\"100%\":\"none\",justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-end\":\"flex-start\",flexDirection:layoutType===SearchLayoutType.Sidebar?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===SearchLayoutType.Sidebar?\"100%\":\"auto\",maxHeight:layoutType===SearchLayoutType.QuickMenu?\"100%\":\"none\",gap:layoutType===SearchLayoutType.Sidebar?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===SearchLayoutType.Sidebar?theme.backgroundColor:\"transparent\",justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-end\":\"flex-start\",flexDirection:layoutType===SearchLayoutType.Sidebar?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case SearchLayoutType.FixedTop:{const key=animationKeyFromLayout(SearchLayoutType.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 SearchLayoutType.QuickMenu:{const key1=animationKeyFromLayout(SearchLayoutType.QuickMenu);const prop1=modalOptions?modalOptions[key1]:undefined;if(prop1){return prop1;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case SearchLayoutType.Sidebar:{const key2=animationKeyFromLayout(SearchLayoutType.Sidebar);const prop2=modalOptions?modalOptions[key2]:undefined;if(prop2){return prop2;}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===SearchLayoutType.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===SearchLayoutType.QuickMenu?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==SearchLayoutType.Sidebar?theme.shadow:undefined,maxHeight:layoutType===SearchLayoutType.QuickMenu?MODAL_MAX_HEIGHT: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!==SearchLayoutType.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===SearchLayoutType.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===SearchLayoutType.FixedTop?\"none\":theme.width,width:layoutType===SearchLayoutType.FixedTop?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==SearchLayoutType.Sidebar&&statusStyle.boxShadow,borderRadius:layoutType!==SearchLayoutType.Sidebar&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===SearchLayoutType.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 SearchLayoutType.Sidebar:return{...sidebarStyles,width:theme.width};case SearchLayoutType.FixedTop:return fixedTopStyles;case SearchLayoutType.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 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,onDismiss}=props;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});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 navigateTo=useCallback(url=>{if(status===\"no-meta-tag-found\"){return;}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!==SearchInputDividerType.None);const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===SearchResultItemType.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,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:SearchLayoutType.Sidebar?\"100%\":\"auto\"},children:/*#__PURE__*/ _jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/ _jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SearchModal.map", "import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/tiKvpL4XcfzfRKXEwNiV/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/6EBKQJ7jpOf0wR1CbnGj/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var // SITE SEARCH\n// By Anthony and Hunter\nEntryPointOptions;(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/ forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/ createPortal(/*#__PURE__*/ _jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/ _jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/ _jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */ const EntryPoint=withCSS(function EntryPoint(props){var ref,ref1,ref2,ref3,ref4;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=((ref=props.inputOptions)===null||ref===void 0?void 0:(ref1=ref.inputFont)===null||ref1===void 0?void 0:ref1.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 \u2013 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:((ref2=props.resultOptions)===null||ref2===void 0?void 0:ref2.titleFont)&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:((ref3=props.resultOptions.subtitleOptions)===null||ref3===void 0?void 0:ref3.subtitleFont)&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:((ref4=props.inputOptions)===null||ref4===void 0?void 0:ref4.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,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/ _jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/ _jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",outline:\"inherit\",padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/ _jsx(\"img\",{src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/ _jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/ _jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/ _jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`,]);export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore \u2013\u00A0Internal\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},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\"},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\":{\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\",\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (0240392)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/RPrU1aOtKIzYUf3nkXYG/Search.js\";const SearchFonts=getFonts(Search);const enabledGestures={hfVLzUaM6:{hover:true,pressed:true},QWgR0Sw9M:{hover:true}};const cycleOrder=[\"hfVLzUaM6\",\"SnfI0ECg0\",\"QWgR0Sw9M\"];const serializationHash=\"framer-Xsg2u\";const variantClassNames={hfVLzUaM6:\"framer-v-8x3xrr\",QWgR0Sw9M:\"framer-v-12905xz\",SnfI0ECg0:\"framer-v-wkr1x3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:300,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={Active:\"SnfI0ECg0\",Default:\"hfVLzUaM6\",Search:\"QWgR0Sw9M\"};const getProps=({height,id,link,tap,title,width,...props})=>{var _ref,_humanReadableVariantMap_props_variant,_ref1;return{...props,G_vAdQIYy:link!==null&&link!==void 0?link:props.G_vAdQIYy,l8BlcTnJJ:(_ref=title!==null&&title!==void 0?title:props.l8BlcTnJJ)!==null&&_ref!==void 0?_ref:\"Twitter\",sWXTvzd_6:tap!==null&&tap!==void 0?tap:props.sWXTvzd_6,variant:(_ref1=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref1!==void 0?_ref1:\"hfVLzUaM6\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,l8BlcTnJJ,G_vAdQIYy,sWXTvzd_6,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"hfVLzUaM6\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap131f81l=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(sWXTvzd_6){const res=await sWXTvzd_6(...args);if(res===false)return false;}});const ref1=React.useRef(null);const isDisplayed=()=>{if(gestureVariant===\"QWgR0Sw9M-hover\")return false;if(baseVariant===\"QWgR0Sw9M\")return false;return true;};const isDisplayed1=()=>{if(gestureVariant===\"QWgR0Sw9M-hover\")return true;if(baseVariant===\"QWgR0Sw9M\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:G_vAdQIYy,openInNewTab:false,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-8x3xrr\",className,classNames)} framer-1hw7hrw`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"hfVLzUaM6\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:onTap131f81l,onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,...style},...addPropertyOverrides({\"hfVLzUaM6-hover\":{\"data-framer-name\":undefined},\"hfVLzUaM6-pressed\":{\"data-framer-name\":undefined},\"QWgR0Sw9M-hover\":{\"data-framer-name\":undefined},QWgR0Sw9M:{\"data-framer-name\":\"Search\"},SnfI0ECg0:{\"data-framer-name\":\"Active\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RE0gU2Fucy1yZWd1bGFy\",\"--framer-font-family\":'\"DM Sans\", \"DM Sans Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-letter-spacing\":\"0px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-6d76b21b-2f3d-4dfd-8f54-f6ccccb06ba4, rgb(41, 110, 88)))\"},children:\"Twitter\"})}),className:\"framer-1wucg4q\",fonts:[\"GF;DM Sans-regular\"],layoutDependency:layoutDependency,layoutId:\"e7MsHmo6x\",style:{\"--extracted-r6o4lv\":\"var(--token-6d76b21b-2f3d-4dfd-8f54-f6ccccb06ba4, rgb(41, 110, 88))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",opacity:1},text:l8BlcTnJJ,variants:{\"hfVLzUaM6-pressed\":{opacity:.8},SnfI0ECg0:{\"--extracted-r6o4lv\":\"var(--token-77abf34c-bfd0-46e4-bdc5-396472ca5ca6, rgba(17, 16, 17, 0.6))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({SnfI0ECg0:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7RE0gU2Fucy1yZWd1bGFy\",\"--framer-font-family\":'\"DM Sans\", \"DM Sans Placeholder\", sans-serif',\"--framer-font-size\":\"15px\",\"--framer-letter-spacing\":\"0px\",\"--framer-line-height\":\"1.5em\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-77abf34c-bfd0-46e4-bdc5-396472ca5ca6, rgba(17, 16, 17, 0.6)))\"},children:\"Twitter\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-15eybvh\",\"data-framer-name\":\"Backdrop\",layoutDependency:layoutDependency,layoutId:\"LASHSwfkX\",style:{backgroundColor:\"var(--token-e30e4cad-4bee-4f6f-80a9-e42c0909240d, rgb(74, 160, 133))\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,opacity:0},variants:{\"hfVLzUaM6-hover\":{backgroundColor:\"rgba(0, 0, 0, 0.24)\",opacity:1},\"hfVLzUaM6-pressed\":{backgroundColor:\"rgba(0, 0, 0, 0.24)\",opacity:1},\"QWgR0Sw9M-hover\":{opacity:1},SnfI0ECg0:{opacity:1}}}),isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-zg01t8-container\",layoutDependency:layoutDependency,layoutId:\"x3kD2bmIn-container\",style:{opacity:.4},variants:{\"QWgR0Sw9M-hover\":{opacity:1}},children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"var(--token-f6c871e8-abde-4561-ad9a-12707e51fc88, rgba(0, 0, 0, 0.5))\",transition:{damping:40,delay:0,duration:.3,ease:[.44,0,.56,1],mass:1,stiffness:400,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-553feb38-2637-4ec9-835b-4a57fbd49b50, rgb(0, 0, 0))\",iconSize:18,iconType:\"default\",id:\"x3kD2bmIn\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"none\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"var(--token-1f517df8-3783-421a-882b-96871d3ad889, rgb(153, 153, 153))\",iconSize:18,iconType:\"default\"},inputFont:{fontFamily:'\"Mona-Sans Medium\", \"Mona-Sans Medium Placeholder\", sans-serif',fontSize:\"16.5px\"},placeholderOptions:{placeholderColor:\"var(--token-af8e3af2-c155-4d6c-842a-afe0c339daae, rgb(153, 153, 153))\",placeholderText:\"Search Pages...\"},textColor:\"var(--token-553feb38-2637-4ec9-835b-4a57fbd49b50, rgb(0, 0, 0))\"},layoutId:\"x3kD2bmIn\",modalOptions:{backgroundColor:\"var(--token-46922387-9746-4bb3-a71c-30abe806711d, rgb(255, 255, 255))\",borderRadius:16,heightIsStatic:false,heightTransition:{damping:60,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"var(--token-08c702ec-3669-4619-957c-fba46d287110, rgba(0, 0, 0, 0.2))\",spread:0,x:0,y:20},width:500},resultOptions:{itemType:\"contained\",subtitleOptions:{subtitleColor:\"var(--token-bdd0604e-a953-430b-9118-55d8a7e52b5a, rgb(136, 136, 136))\",subtitleFont:{fontFamily:'\"Mona-Sans Regular\", \"Mona-Sans Regular Placeholder\", sans-serif',fontSize:\"13px\"},subtitleType:\"description\"},titleColor:\"var(--token-553feb38-2637-4ec9-835b-4a57fbd49b50, rgb(0, 0, 0))\",titleFont:{fontFamily:'\"Mona-Sans Medium\", \"Mona-Sans Medium Placeholder\", sans-serif',fontSize:\"15px\"}},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Xsg2u.framer-1hw7hrw, .framer-Xsg2u .framer-1hw7hrw { display: block; }\",\".framer-Xsg2u.framer-8x3xrr { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 6px 8px 6px 8px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-Xsg2u .framer-1wucg4q { flex: none; height: auto; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-Xsg2u .framer-15eybvh { bottom: 4px; flex: none; left: 4px; overflow: hidden; position: absolute; right: 4px; top: 4px; will-change: var(--framer-will-change-override, transform); z-index: 0; }\",\".framer-Xsg2u .framer-zg01t8-container { flex: none; height: 34px; position: relative; width: 34px; z-index: 10; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-Xsg2u.framer-8x3xrr { gap: 0px; } .framer-Xsg2u.framer-8x3xrr > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-Xsg2u.framer-8x3xrr > :first-child { margin-top: 0px; } .framer-Xsg2u.framer-8x3xrr > :last-child { margin-bottom: 0px; } }\",\".framer-Xsg2u.framer-v-wkr1x3 .framer-15eybvh, .framer-Xsg2u.framer-v-8x3xrr.hover .framer-15eybvh { bottom: 0px; left: 0px; right: 0px; top: 0px; }\",\".framer-Xsg2u.framer-v-12905xz.framer-8x3xrr { padding: 0px 0px 0px 0px; }\",\".framer-Xsg2u.framer-v-12905xz .framer-15eybvh { order: 2; }\",\".framer-Xsg2u.framer-v-12905xz .framer-zg01t8-container { order: 1; }\",\".framer-Xsg2u.framer-v-8x3xrr.pressed .framer-15eybvh { bottom: 2px; left: 2px; right: 2px; top: 2px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 34\n * @framerIntrinsicWidth 64\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"SnfI0ECg0\":{\"layout\":[\"auto\",\"auto\"]},\"QWgR0Sw9M\":{\"layout\":[\"auto\",\"auto\"]},\"d3FlfJiJk\":{\"layout\":[\"auto\",\"auto\"]},\"lSJQjjj4T\":{\"layout\":[\"auto\",\"auto\"]},\"CGKpm8NvQ\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"l8BlcTnJJ\":\"title\",\"G_vAdQIYy\":\"link\",\"sWXTvzd_6\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerypWwhb2kc=withCSS(Component,css,\"framer-Xsg2u\");export default FramerypWwhb2kc;FramerypWwhb2kc.displayName=\"Button Copy\";FramerypWwhb2kc.defaultProps={height:34,width:64};addPropertyControls(FramerypWwhb2kc,{variant:{options:[\"hfVLzUaM6\",\"SnfI0ECg0\",\"QWgR0Sw9M\"],optionTitles:[\"Default\",\"Active\",\"Search\"],title:\"Variant\",type:ControlType.Enum},l8BlcTnJJ:{defaultValue:\"Twitter\",displayTextArea:false,title:\"Title\",type:ControlType.String},G_vAdQIYy:{title:\"Link\",type:ControlType.Link},sWXTvzd_6:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerypWwhb2kc,[{explicitInter:true,fonts:[{family:\"DM Sans\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhS2f3ZGMZpg.woff2\",weight:\"400\"}]},...SearchFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerypWwhb2kc\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"l8BlcTnJJ\\\":\\\"title\\\",\\\"G_vAdQIYy\\\":\\\"link\\\",\\\"sWXTvzd_6\\\":\\\"tap\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"SnfI0ECg0\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"QWgR0Sw9M\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"d3FlfJiJk\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"lSJQjjj4T\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"CGKpm8NvQ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"64\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"34\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ypWwhb2kc.map"],
  "mappings": "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",
  "names": ["PlayOptions", "ThumbnailOptions", "ThumbnailFormat", "Youtube", "url", "play", "shouldMute", "thumbnail", "isRed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "props", "onCanvas", "useIsOnCanvas", "isAutoplay", "showThumbnail", "isPreloading", "preloadVideo", "le", "showVideo", "startVideo", "isHovered", "setHovered", "ye", "borderRadius", "useRadius", "hasBorderRadius", "p", "Instructions", "parsedURL", "parseVideoURL", "ErrorMessage", "videoId", "embedURL", "thumbnailURL", "getThumbnailURL", "getWebPSupported", "searchParams", "u", "wrapperStyle", "videoStyle", "PlayButton", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "defaultProps", "urlString", "getEmbedURL", "pathSegments", "embedURL1", "videoId2", "embedURL2", "res", "format", "pre", "ext", "_getWebPSupported", "window", "element", "emptyStateStyle", "centerTextStyle", "message", "containerStyles", "buttonStyle", "data", "u", "x", "p", "Link", "motion", "ComponentPresetsConsumer", "presetProps", "Youtube", "item", "addPropertyControls", "ControlType", "BzxVuWaVG_default", "SearchIcon", "props", "p", "ClearIcon", "u", "SpinnerIcon", "motion", "capitalizeFirstLetter", "value", "localStorageDebugFlag", "window", "groupsRegex", "titleCase", "clampText", "text", "maxLength", "textLength", "slicedText", "isEmptyObject", "object", "createLogger", "showOutput", "log", "data", "time", "label", "timeEnd", "noop", "DEFAULT_FONT_FAMILY", "getFontFamily", "theme", "ref", "ref1", "ref2", "animationKeyFromLayout", "layout", "safeDocument", "safeWindow", "metaTagSelector", "getMetaTagContent", "metaTag", "checkIfOverLimit", "peq", "myers_32", "a", "b", "n", "m", "lst", "pv", "mv", "sc", "i", "eq", "xv", "myers_x", "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", "distance", "tmp", "fakeResults_default", "Storage", "name", "resolve", "reject", "request", "window", "e", "key", "value", "setCachedData", "url", "dataToCache", "cache", "Storage", "cacheKey", "data", "checkForCachedData", "VERSION", "INDEX_KEY", "METADATA_KEY", "getCachedIndex", "cachedIndex", "checkForCachedData", "setCachedIndex", "index", "setCachedData", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "isValidUrl", "url", "splitWords", "text", "getUniqueWords", "str", "words", "word", "getNormalizedString", "getNormalizedItem", "item", "normalizedItem", "key", "value", "getMatchRange", "currentRange", "start", "end", "result", "getScoreForSearchIndexItem", "query", "fullQuery", "score", "match", "urlWords", "splitLength", "clamp", "titleWords", "titleIndex", "distance", "titleWord", "headings", "heading", "headingWords", "headingWord", "descriptionIndex", "paragraph", "getSearchIndexItemScore", "normalizedQuery", "queryWords", "total", "queryWord", "useRawSearch", "index", "settings", "se", "path", "safeWindow", "results", "itemA", "itemB", "getIndexedScopedToUrl", "rawUrlScope", "scopedIndex", "baseScopeUrlHasVariable", "urlUpToPathVariable", "urlScope", "useSearch", "searchIndex", "_setSearchIndex", "ye", "status", "setStatus", "setSearchIndex", "options", "ue", "loadSearchIndex", "metaTag", "safeDocument", "fakeResults_default", "cachedIndex", "getCachedIndex", "metaTagContent", "isOverLimit", "response", "downloadedIndex", "setCachedIndex", "error", "Browser", "isTouch", "window", "navigator", "isChrome", "isWebKit", "isSafari", "isSafariDesktop", "isWindows", "isMacOS", "useCallbackOnMouseMove", "callback", "mousePositionRef", "prevPositionRef", "pe", "te", "event", "Browser", "ref", "clientX", "clientY", "prevCursorPosition", "scrollIntoView", "targetElement", "scrollElement", "offsetTop", "offsetBottom", "targetElementBounds", "scrollElementBounds", "difference", "topAligned", "minOffset", "bottomAligned", "offset", "MAX_DESCRIPTION_LENGTH", "MODAL_MAX_HEIGHT", "VERTICAL_SPACING_MULTIPLIER", "ClearButton", "theme", "type", "onClick", "text", "iconOrText", "SearchInputClearButtonType", "p", "ClearIcon", "Divider", "styles", "SearchInputDividerType", "Input", "Y", "props", "ref", "value", "status", "autofocus", "placeholder", "iconType", "clearButtonType", "onChange", "inputValue", "setInputValue", "ye", "isFocused", "setIsFocused", "inputRef", "pe", "ce", "e", "inputElement", "handleInputClick", "handleClearClick", "ue", "hasInputText", "showClearButton", "verticalSpacing", "searchIcon", "SearchIconType", "SearchIcon", "u", "inputContainerStyle", "getFontFamily", "SpinnerIcon", "inputStyle", "scrollOffset", "ResultRow", "index", "result", "prevMousePositionRef", "SearchResultItemType", "subtitleType", "SearchResultSubtitleType", "selected", "style", "onMouseMove", "onPointerDown", "onNavigateTo", "url", "title", "score", "urlPath", "se", "handleMouseMove", "useCallbackOnMouseMove", "event", "isContained", "borderRadius", "clamp", "subtitleText", "clampText", "handleClick", "focusTrap", "resultContainer", "resultTitle", "localStorageDebugFlag", "QuickMenuSpacer", "layoutContainerStyle", "LayoutContainer", "layoutType", "onKeyDown", "onDismiss", "children", "modalOptions", "layoutStyles", "getLayoutBaseStyles", "SearchLayoutType", "innerStyle", "getContainerAnimation", "key", "animationKeyFromLayout", "prop", "Browser", "key1", "prop1", "key2", "prop2", "containerAnimation", "motion", "ModalContainer", "heightIsStatic", "heightTransition", "heightDeps", "scope", "animate", "useAnimate", "fe", "prevHeight", "height", "ScrollView", "isTouch", "canScroll", "setCanScroll", "element", "statusStyle", "StatusMessage", "previewInfoText", "sidebarStyles", "fixedTopStyles", "quickMenuStyles", "layoutOption", "SearchEntryType", "SearchModal", "urlScope", "inputOptions", "backdropOptions", "input", "selectedResultRow", "scrollView", "setSelected", "isKeyboardNavigationDisabled", "setIsKeyboardNavigationDisabled", "query", "setQuery", "deferredQuery", "oe", "results", "useSearch", "selectedResult", "handleResultRowPointerDown", "te", "handleResultRowMouseMove", "previousSelected", "navigateTo", "window", "handleKeyDown", "maxIndex", "showNoResults", "showDivider", "isItemContained", "spacing", "listPaddingTop", "scrollIntoView", "isSelected", "getViewportSize", "window", "useViewportSizeState", "getState", "state", "setState", "ye", "ue", "handleWindowResize", "EntryPointOptions", "buildShadow", "shadowProperty", "fallback", "x", "y", "blur", "color", "spread", "Overlay", "Y", "props", "ref", "layoutType", "theme", "onDismiss", "ue", "handleKeyDown", "event", "handlePointerDown", "window", "bodyOverflowHidden", "Ga", "u", "backdropStyles", "SearchLayoutType", "p", "motion", "SearchModal", "containerStyle", "EntryPoint", "withCSS", "ref1", "ref2", "ref3", "ref4", "overlay", "pe", "isOpen", "setIsOpen", "ye", "isOverLimit", "setIsOverLimit", "isSafariTouchDevice", "setIsSafariTouchDevice", "isOnCanvas", "RenderTarget", "checkIfOverLimit", "Browser", "baseInputFontSize", "inputFontSize", "useViewportSizeState", "size", "isEmptyObject", "DEFAULT_FONT_FAMILY", "handleClick", "SearchIconType", "SearchIcon", "AnimatePresence", "Search_default", "addPropertyControls", "ControlType", "titleCase", "iconType", "SearchInputDividerType", "SearchInputClearButtonType", "heightIsStatic", "animationKeyFromLayout", "SearchResultItemType", "SearchResultSubtitleType", "SearchFonts", "getFonts", "Search_default", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "tap", "title", "width", "props", "_ref", "_humanReadableVariantMap_props_variant", "_ref1", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "l8BlcTnJJ", "G_vAdQIYy", "sWXTvzd_6", "restProps", "baseVariant", "classNames", "gestureVariant", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap131f81l", "args", "ref1", "pe", "isDisplayed", "isDisplayed1", "defaultLayoutId", "ae", "sharedStyleClassNames", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "u", "cx", "RichText", "ComponentViewportProvider", "css", "FramerypWwhb2kc", "withCSS", "ypWwhb2kc_default", "addPropertyControls", "ControlType", "addFonts"]
}
