{"version":3,"file":"shared-lib.CFglgO4P.mjs","names":["e","lowercaseIconKeyPairs","iconKeys","useMemo","useRef","useMemo","useState","HomeFactory","React","e","metadata","log","time","timeEnd","e","splitWordsRegex","useRef","useCallback","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","p","useState","useTransition","SearchResultTitleType","baseUrl","useRef","useState","useDeferredValue","useCallback","Input","ResultRow","useMemo","ScrollView","React","useState","x","Overlay","EntryPoint","useRef","useState","v0","v1","v2","__FramerMetadata__","getLocalizedValue","valuesByLocaleId","localizedValues","fonts","css","className","addPropertyOverrides","enabledGestures","cycleOrder","variantClassNames","Transition","React.useContext","React.useMemo","humanReadableVariantMap","getProps","createLayoutDependency","React.useId","sharedStyle.className","className","RichText","React.Fragment","sharedStyle.css","sharedStyle.fonts","useMemo","addPropertyOverrides","LogoFonts","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","className","addPropertyOverrides","Logo","Link","Search","cycleOrder","serializationHash","variantClassNames","transition1","transformTemplate1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","getLocalizedValue","fonts","css","className","fonts","css","className","fonts","css","className","React.Fragment","getLocalizedValue","valuesByLocaleId","localizedValues","Link1","t","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","className","RichText","getLocalizedValue","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts"],"sources":["https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/k399eGMURCHWWRLAoIxM/p9v7bm2MbEZyYo9ppZtD/Home.js","https:/framer.com/m/material-icons/Home.js@0.0.32","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/6Ldpz1V0DkD45gXvi67I/PCgBX5d6MdQT7E7nhdXn/Material.js","https:/framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js","https:/framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js","https:/framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js","https:/framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16","https:/framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js","https:/framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js","https:/framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js","https:/framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js","https:/framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js","https:/framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js","https:/framerusercontent.com/modules/gO6VaCvklYqrDvHol6rb/OnfW87GiQCMNzXIGAqhq/qcjmy68NP-0.js","https:/framerusercontent.com/modules/gO6VaCvklYqrDvHol6rb/OnfW87GiQCMNzXIGAqhq/qcjmy68NP.js","https:/framerusercontent.com/modules/dlpQl4fA2XqnawXL1bA4/7DPKR7ZZi7VXSOidIbaX/iQIrgYvB7.js","https:/framerusercontent.com/modules/wGp8AYUdMOnV6j4JRz4F/FPxZXetLVfKAnWBsmbk2/BOzdrysvm.js","https:/framerusercontent.com/modules/IQXqjAGXltPKLdfjcdtf/AdYVRfUvx2HLE5qL3Xfw/Logo.js","https:/framerusercontent.com/modules/1qdHMNZKMklomsf3kHSZ/T9MgeCer60YkOI00uwWP/rNRFegaIG.js","https:/framerusercontent.com/modules/yB7BRMZVIUUpEVRD61N7/c6CJk1U8yQBO5jnahnFg/qcjmy68NP.js","https:/framerusercontent.com/modules/tO01hIm8qGzijygQLNff/3xc0u9poZHg9aUx1LoeC/xZndidUCt.js","https:/framerusercontent.com/modules/4ZUtozzsn1IHBo561faJ/tbwrsxXPN0pZLHbMdXDm/ro7OPezbn.js","https:/framerusercontent.com/modules/mJUnT0OBmepeJMPXHyDs/zswQuCpp900BOS0tNPbw/wxYwfnutG.js","https:/framerusercontent.com/modules/iMlagIPsKM3JhfFlVezB/9o95zRUn271VcRLiX4Rf/Y16LS2cNe-0.js","https:/framerusercontent.com/modules/iMlagIPsKM3JhfFlVezB/9o95zRUn271VcRLiX4Rf/Y16LS2cNe.js","https:/framerusercontent.com/modules/tEtkNYkLK93H2abQ2F79/hl4J76XxYbat6Ko5HscF/Y16LS2cNe.js","https:/framerusercontent.com/modules/g9X2IWm9eCOr3ESSJsUf/NNgGHr8BzqkqOCy63TEj/iYYw4WIRq.js","https:/framerusercontent.com/modules/rWx1NpTXOPuzwSR6xqHh/aNU4CNTA0yEbHGNIC9lr/siteMetadata.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","const o = (e) => {\n    return e;\n};\nlet t;\nvar h = (e) => {\n    return (t || (t = o(e.createElement(\"path\", {d: \"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"}), \"Home\")),t);\n};\nconst __FramerMetadata__ = {exports: {default: {type: \"reactComponent\", slots: [], annotations: {framerContractVersion: \"1\"}}, __FramerMetadata__: {type: \"variable\"}}};\nexport { __FramerMetadata__, h as default };","/*\n * Home (material-icons/Home@0.0.32)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/k399eGMURCHWWRLAoIxM/p9v7bm2MbEZyYo9ppZtD/Home.js\"\nexport { default } from \"https://framerusercontent.com/modules/k399eGMURCHWWRLAoIxM/p9v7bm2MbEZyYo9ppZtD/Home.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useMemo,useRef}from\"react\";import{addPropertyControls,ControlType,motion,RenderTarget}from\"framer\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/material-icons/Home.js@0.0.32\";import{defaultEvents,useIconSelection,getIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";const moduleBaseUrl=\"https://framer.com/m/material-icons/\";const icons={AcUnit:15,AccessAlarm:15,AccessAlarms:15,AccessTime:15,AccessTimeFilled:0,Accessibility:7,AccessibilityNew:0,Accessible:15,AccessibleForward:0,AccountBalance:2,AccountBalanceWallet:0,AccountBox:15,AccountCircle:7,AccountTree:15,AdUnits:15,Adb:15,Add:15,AddAPhoto:15,AddAlarm:15,AddAlert:15,AddBox:15,AddBusiness:15,AddCircle:15,AddCircleOutline:0,AddComment:15,AddIcCall:15,AddLink:15,AddLocation:15,AddLocationAlt:2,AddModerator:15,AddPhotoAlternate:0,AddReaction:15,AddRoad:15,AddShoppingCart:2,AddTask:15,AddToDrive:15,AddToHomeScreen:2,AddToPhotos:15,AddToQueue:15,Addchart:15,Adjust:15,AdminPanelSettings:0,Agriculture:15,Air:15,AirlineSeatFlat:2,AirplaneTicket:2,AirplanemodeActive:0,AirplanemodeInactive:0,Airplay:15,AirportShuttle:2,Alarm:15,AlarmAdd:15,AlarmOff:15,AlarmOn:15,Album:15,AlignHorizontalLeft:0,AlignHorizontalRight:0,AlignVerticalBottom:0,AlignVerticalCenter:0,AlignVerticalTop:0,AllInbox:15,AllInclusive:15,AllOut:15,AltRoute:15,AlternateEmail:2,Analytics:15,Anchor:15,Android:15,Animation:15,Announcement:15,Aod:15,Apartment:15,Api:15,AppBlocking:15,AppRegistration:2,AppSettingsAlt:2,Apple:0,Approval:15,Apps:15,Architecture:15,Archive:15,ArrowBack:15,ArrowBackIos:15,ArrowBackIosNew:2,ArrowCircleDown:2,ArrowCircleUp:7,ArrowDownward:7,ArrowDropDown:7,ArrowDropDownCircle:0,ArrowDropUp:15,ArrowForward:15,ArrowForwardIos:2,ArrowLeft:15,ArrowRight:15,ArrowRightAlt:7,ArrowUpward:15,ArtTrack:15,Article:15,AspectRatio:15,Assessment:15,Assignment:15,AssignmentInd:7,AssignmentLate:2,AssignmentReturn:0,AssignmentReturned:0,AssignmentTurnedIn:0,Assistant:15,AssistantDirection:0,AssistantPhoto:2,Atm:15,AttachEmail:15,AttachFile:15,AttachMoney:15,Attachment:15,Attractions:15,Attribution:15,Audiotrack:15,AutoAwesome:15,AutoAwesomeMosaic:0,AutoAwesomeMotion:0,AutoDelete:15,AutoFixHigh:15,AutoFixNormal:7,AutoFixOff:15,AutoGraph:15,AutoStories:15,AutofpsSelect:7,Autorenew:15,AvTimer:15,BabyChangingStation:0,Backpack:15,Backspace:15,Backup:15,BackupTable:15,Badge:15,BakeryDining:15,Balcony:15,Ballot:15,BarChart:15,BatchPrediction:2,Bathroom:15,Bathtub:15,Battery20:15,Battery30:15,Battery50:15,Battery60:15,Battery80:15,Battery90:15,BatteryAlert:15,BatteryCharging20:0,BatteryCharging30:0,BatteryCharging50:0,BatteryCharging60:0,BatteryCharging80:0,BatteryCharging90:0,BatteryChargingFull:0,BatteryFull:15,BatterySaver:15,BatteryStd:15,BatteryUnknown:2,BeachAccess:15,Bed:15,BedroomBaby:15,BedroomChild:15,BedroomParent:7,Bedtime:15,Beenhere:15,Bento:15,BikeScooter:15,Biotech:15,Blender:15,Block:15,Bloodtype:15,Bluetooth:15,BluetoothAudio:2,BluetoothConnected:0,BluetoothDisabled:0,BluetoothDrive:2,BluetoothSearching:0,BlurCircular:15,BlurLinear:15,BlurOff:15,BlurOn:15,Bolt:15,Book:15,BookOnline:15,Bookmark:15,BookmarkAdd:15,BookmarkAdded:7,BookmarkBorder:2,BookmarkRemove:2,Bookmarks:15,BorderAll:15,BorderBottom:15,BorderClear:15,BorderColor:15,BorderHorizontal:0,BorderInner:15,BorderLeft:15,BorderOuter:15,BorderRight:15,BorderStyle:15,BorderTop:15,BorderVertical:2,BrandingWatermark:0,BreakfastDining:2,Brightness1:15,Brightness2:15,Brightness3:15,Brightness4:15,Brightness5:15,Brightness6:15,Brightness7:15,BrightnessAuto:2,BrightnessHigh:2,BrightnessLow:7,BrightnessMedium:0,BrokenImage:15,BrowserNotSupported:0,BrunchDining:15,Brush:15,BubbleChart:15,BugReport:15,Build:15,BuildCircle:15,Bungalow:15,BurstMode:15,BusAlert:15,Business:15,BusinessCenter:2,Cabin:15,Cable:15,Cached:15,Cake:15,Calculate:15,CalendarToday:7,CalendarViewDay:2,CalendarViewMonth:0,CalendarViewWeek:0,Call:15,CallEnd:15,CallMade:15,CallMerge:15,CallMissed:15,CallMissedOutgoing:0,CallReceived:15,CallSplit:15,CallToAction:15,Camera:15,CameraAlt:15,CameraEnhance:7,CameraFront:15,CameraIndoor:15,CameraOutdoor:7,CameraRear:15,CameraRoll:15,Cameraswitch:15,Campaign:15,Cancel:15,CancelPresentation:0,CancelScheduleSend:0,CarRental:15,CarRepair:15,CardGiftcard:15,CardMembership:2,CardTravel:15,Carpenter:15,Cases:15,Casino:15,Cast:15,CastConnected:7,CastForEducation:0,CatchingPokemon:2,Category:15,Celebration:15,CellWifi:15,CenterFocusStrong:0,CenterFocusWeak:2,Chair:15,ChairAlt:15,Chalet:15,ChangeCircle:15,ChangeHistory:7,ChargingStation:2,Chat:15,ChatBubble:15,ChatBubbleOutline:0,Check:15,CheckBox:15,CheckBoxOutlineBlank:0,CheckCircle:15,CheckCircleOutline:0,Checkroom:15,ChevronLeft:15,ChevronRight:15,ChildCare:15,ChildFriendly:7,ChromeReaderMode:0,Circle:15,CircleNotifications:0,Class:15,CleanHands:15,CleaningServices:0,Clear:15,ClearAll:15,Close:15,CloseFullscreen:2,ClosedCaption:7,ClosedCaptionOff:0,Cloud:15,CloudCircle:15,CloudDone:15,CloudDownload:7,CloudOff:15,CloudQueue:15,CloudUpload:15,Code:15,CodeOff:15,Coffee:15,CoffeeMaker:15,Collections:15,CollectionsBookmark:0,ColorLens:15,Colorize:15,Comment:15,CommentBank:15,Commute:15,Compare:15,CompareArrows:7,CompassCalibration:0,Compress:15,Computer:15,ConfirmationNumber:0,ConnectedTv:15,Construction:15,ContactMail:15,ContactPage:15,ContactPhone:15,ContactSupport:2,Contactless:15,Contacts:15,ContentCopy:15,ContentCut:15,ContentPaste:15,ContentPasteOff:2,ControlCamera:7,ControlPoint:15,CopyAll:15,Copyright:15,Coronavirus:15,CorporateFare:7,Cottage:15,Countertops:15,Create:15,CreateNewFolder:2,CreditCard:15,CreditCardOff:7,CreditScore:15,Crib:15,Crop:15,Crop169:15,Crop32:15,Crop54:15,Crop75:15,CropDin:15,CropFree:15,CropLandscape:7,CropOriginal:15,CropPortrait:15,CropRotate:15,CropSquare:15,Dangerous:15,DarkMode:15,Dashboard:15,DashboardCustomize:0,DataSaverOff:15,DataSaverOn:15,DataUsage:15,DateRange:15,Deck:15,Dehaze:15,Delete:15,DeleteForever:7,DeleteOutline:7,DeleteSweep:15,DeliveryDining:2,DepartureBoard:2,Description:15,DesignServices:2,DesktopMac:15,DesktopWindows:2,Details:15,DeveloperBoard:2,DeveloperBoardOff:0,DeveloperMode:7,DeviceHub:15,DeviceThermostat:0,DeviceUnknown:7,Devices:15,DevicesOther:15,DialerSip:15,Dialpad:15,Dining:15,DinnerDining:15,Directions:15,DirectionsBike:2,DirectionsBoat:2,DirectionsBoatFilled:0,DirectionsBus:7,DirectionsBusFilled:0,DirectionsCar:7,DirectionsCarFilled:0,DirectionsOff:7,DirectionsRailway:0,DirectionsRun:7,DirectionsSubway:0,DirectionsTransit:0,DirectionsWalk:2,DirtyLens:15,DisabledByDefault:0,DiscFull:15,Dns:15,DoDisturb:15,DoDisturbAlt:15,DoDisturbOff:15,DoDisturbOn:15,DoNotDisturb:15,DoNotDisturbAlt:2,DoNotDisturbOff:2,DoNotDisturbOn:2,DoNotStep:15,DoNotTouch:15,Dock:15,DocumentScanner:2,Domain:15,DomainDisabled:2,DomainVerification:0,Done:15,DoneAll:15,DoneOutline:15,DonutLarge:15,DonutSmall:15,DoorBack:15,DoorFront:15,DoorSliding:15,Doorbell:15,DoubleArrow:15,DownhillSkiing:2,Download:15,DownloadDone:15,DownloadForOffline:0,Downloading:15,Drafts:15,DragHandle:15,DragIndicator:7,DriveEta:15,DriveFileMove:7,DriveFolderUpload:0,Dry:15,DryCleaning:15,Duo:15,Dvr:15,DynamicFeed:15,DynamicForm:15,EMobiledata:15,Earbuds:15,EarbudsBattery:2,East:15,Eco:15,EdgesensorHigh:2,EdgesensorLow:7,Edit:15,EditAttributes:2,EditLocation:15,EditLocationAlt:2,EditNotifications:0,EditOff:15,EditRoad:15,EightK:15,EightKPlus:15,EightMp:15,EightteenMp:15,Eject:15,Elderly:15,ElectricBike:15,ElectricCar:15,ElectricMoped:7,ElectricRickshaw:0,ElectricScooter:2,ElectricalServices:0,Elevator:15,ElevenMp:15,Email:15,EmojiEmotions:7,EmojiEvents:15,EmojiFlags:15,EmojiFoodBeverage:0,EmojiNature:15,EmojiObjects:15,EmojiPeople:15,EmojiSymbols:15,EmojiTransportation:0,Engineering:15,EnhancedEncryption:0,Equalizer:15,Error:15,ErrorOutline:15,Escalator:15,EscalatorWarning:0,Euro:15,EuroSymbol:15,EvStation:15,Event:15,EventAvailable:2,EventBusy:15,EventNote:15,EventSeat:15,ExitToApp:15,Expand:15,ExpandLess:15,ExpandMore:15,Explicit:15,Explore:15,ExploreOff:15,Exposure:15,Extension:15,ExtensionOff:15,Face:15,FaceRetouchingOff:0,Facebook:15,FactCheck:15,FamilyRestroom:2,FastForward:15,FastRewind:15,Fastfood:15,Favorite:15,FavoriteBorder:2,FeaturedPlayList:0,FeaturedVideo:7,Feed:15,Feedback:15,Female:15,Fence:15,Festival:15,FiberDvr:15,FiberManualRecord:0,FiberNew:15,FiberPin:15,FiberSmartRecord:0,FileCopy:15,FileDownload:15,FileDownloadDone:0,FileDownloadOff:2,FilePresent:15,FileUpload:15,Filter:15,Filter1:15,Filter2:15,Filter3:15,Filter4:15,Filter5:15,Filter6:15,Filter7:15,Filter8:15,Filter9:15,Filter9Plus:15,FilterAlt:15,FilterBAndW:15,FilterCenterFocus:0,FilterDrama:15,FilterFrames:15,FilterHdr:15,FilterList:15,FilterNone:15,FilterTiltShift:2,FilterVintage:7,FindInPage:15,FindReplace:15,Fingerprint:15,FireExtinguisher:0,Fireplace:15,FirstPage:15,FitScreen:15,FitnessCenter:7,FiveG:15,FiveK:15,FiveKPlus:15,FiveMp:15,FivteenMp:15,Flag:15,Flaky:15,Flare:15,FlashAuto:15,FlashOff:15,FlashOn:15,FlashlightOff:7,FlashlightOn:15,Flatware:15,Flight:15,FlightLand:15,FlightTakeoff:7,Flip:15,FlipCameraAndroid:0,FlipCameraIos:7,FlipToBack:15,FlipToFront:15,Flourescent:15,FlutterDash:15,FmdBad:15,FmdGood:15,Folder:15,FolderOpen:15,FolderShared:15,FolderSpecial:7,FollowTheSigns:2,FontDownload:15,FontDownloadOff:2,FoodBank:15,FormatAlignCenter:0,FormatAlignJustify:0,FormatAlignLeft:2,FormatAlignRight:0,FormatBold:15,FormatClear:15,FormatColorFill:2,FormatColorReset:0,FormatColorText:2,FormatIndentDecrease:0,FormatIndentIncrease:0,FormatItalic:15,FormatLineSpacing:0,FormatListBulleted:0,FormatListNumbered:0,FormatPaint:15,FormatQuote:15,FormatShapes:15,FormatSize:15,FormatStrikethrough:0,FormatUnderlined:0,Forum:15,Forward:15,Forward10:15,Forward30:15,Forward5:15,ForwardToInbox:2,Foundation:15,FourGMobiledata:2,FourGPlusMobiledata:0,FourK:15,FourKPlus:15,FourMp:15,FourteenMp:15,FreeBreakfast:7,Fullscreen:15,FullscreenExit:2,Functions:15,GMobiledata:15,GTranslate:15,Gamepad:15,Games:15,Garage:15,Gavel:15,Gesture:15,GetApp:15,Gif:15,GitHub:0,Gite:15,GolfCourse:15,Google:0,GppBad:15,GppGood:15,GppMaybe:15,GpsFixed:15,GpsNotFixed:15,GpsOff:15,Grade:15,Gradient:15,Grading:15,Grain:15,GraphicEq:15,Grass:15,Grid3x3:15,Grid4x4:15,GridGoldenratio:2,GridOff:15,GridOn:15,GridView:15,Group:15,GroupAdd:15,GroupWork:15,Groups:15,HMobiledata:15,HPlusMobiledata:2,Hail:15,Handyman:15,Hardware:15,Hd:15,HdrAuto:15,HdrAutoSelect:7,HdrEnhancedSelect:0,HdrOff:15,HdrOffSelect:15,HdrOn:15,HdrOnSelect:15,HdrPlus:15,HdrStrong:15,HdrWeak:15,Headphones:15,HeadphonesBattery:0,Headset:15,HeadsetMic:15,HeadsetOff:15,Healing:15,HealthAndSafety:2,Hearing:15,HearingDisabled:2,Height:15,Help:15,HelpCenter:15,HelpOutline:15,Hevc:15,HideImage:15,HideSource:15,HighQuality:15,Highlight:15,HighlightAlt:15,HighlightOff:15,Hiking:15,History:15,HistoryEdu:15,HistoryToggleOff:0,HolidayVillage:2,Home:15,HomeMax:15,HomeMini:15,HomeRepairService:0,HomeWork:15,HorizontalRule:2,HorizontalSplit:2,HotTub:15,Hotel:15,HourglassBottom:2,HourglassDisabled:0,HourglassEmpty:2,HourglassFull:7,HourglassTop:15,House:15,HouseSiding:15,Houseboat:15,HowToReg:15,HowToVote:15,Http:15,Https:15,Hvac:15,IceSkating:15,Icecream:15,Image:15,ImageAspectRatio:0,ImageNotSupported:0,ImageSearch:15,ImagesearchRoller:0,ImportContacts:2,ImportExport:15,ImportantDevices:0,Inbox:15,Info:15,Input:15,InsertChart:15,InsertComment:7,InsertDriveFile:2,InsertEmoticon:2,InsertInvitation:0,InsertLink:15,InsertPhoto:15,Insights:15,Instagram:0,Inventory:15,Inventory2:15,InvertColors:15,InvertColorsOff:2,IosShare:15,Iron:15,Iso:15,Kayaking:15,Keyboard:15,KeyboardAlt:15,KeyboardArrowDown:0,KeyboardArrowLeft:0,KeyboardArrowRight:0,KeyboardArrowUp:2,KeyboardBackspace:0,KeyboardCapslock:0,KeyboardHide:15,KeyboardReturn:2,KeyboardTab:15,KeyboardVoice:7,KingBed:15,Kitchen:15,Kitesurfing:15,Label:15,LabelImportant:2,LabelOff:15,Landscape:15,Language:15,Laptop:15,LaptopChromebook:0,LaptopMac:15,LaptopWindows:7,LastPage:15,Launch:15,Layers:15,LayersClear:15,Leaderboard:15,LeakAdd:15,LeakRemove:15,LegendToggle:15,Lens:15,LensBlur:15,LibraryAdd:15,LibraryAddCheck:2,LibraryBooks:15,LibraryMusic:15,Light:15,LightMode:15,Lightbulb:15,LineStyle:15,LineWeight:15,LinearScale:15,Link:15,LinkOff:15,LinkedCamera:15,LinkedIn:0,Liquor:15,List:15,ListAlt:15,LiveHelp:15,LiveTv:15,Living:15,LocalActivity:7,LocalAirport:15,LocalAtm:15,LocalBar:15,LocalCafe:15,LocalCarWash:15,LocalDining:15,LocalDrink:15,LocalFireDepartment:0,LocalFlorist:15,LocalGasStation:2,LocalGroceryStore:0,LocalHospital:7,LocalHotel:15,LocalLaundryService:0,LocalLibrary:15,LocalMall:15,LocalMovies:15,LocalOffer:15,LocalParking:15,LocalPharmacy:7,LocalPhone:15,LocalPizza:15,LocalPlay:15,LocalPolice:15,LocalPostOffice:2,LocalPrintshop:2,LocalSee:15,LocalShipping:7,LocalTaxi:15,LocationCity:15,LocationDisabled:0,LocationOff:15,LocationOn:15,LocationSearching:0,Lock:15,LockClock:15,LockOpen:15,Login:15,Logout:15,Looks:15,Looks3:15,Looks4:15,Looks5:15,Looks6:15,LooksOne:15,LooksTwo:15,Loop:15,Loupe:15,LowPriority:15,Loyalty:15,LteMobiledata:7,LtePlusMobiledata:0,Luggage:15,LunchDining:15,Mail:15,MailOutline:15,Male:15,ManageAccounts:2,ManageSearch:15,Map:15,MapsHomeWork:15,MapsUgc:15,Margin:15,MarkAsUnread:15,MarkChatRead:15,MarkChatUnread:2,MarkEmailRead:7,MarkEmailUnread:2,Markunread:15,MarkunreadMailbox:0,Masks:15,Maximize:15,MediaBluetoothOff:0,MediaBluetoothOn:0,Mediation:15,MedicalServices:2,Medication:15,MeetingRoom:15,Memory:15,Menu:15,MenuBook:15,MenuOpen:15,MergeType:15,Message:15,Mic:15,MicExternalOff:2,MicExternalOn:7,MicNone:15,MicOff:15,Microwave:15,MilitaryTech:15,Minimize:15,MissedVideoCall:2,Mms:15,MobileFriendly:2,MobileOff:15,MobileScreenShare:0,MobiledataOff:7,Mode:15,ModeComment:15,ModeEdit:15,ModeEditOutline:2,ModeNight:15,ModeStandby:15,ModelTraining:7,MonetizationOn:2,Money:15,MoneyOff:15,MoneyOffCsred:7,Monitor:15,MonitorWeight:7,MonochromePhotos:0,Mood:15,MoodBad:15,Moped:15,More:15,MoreHoriz:15,MoreTime:15,MoreVert:15,MotionPhotosAuto:0,MotionPhotosOff:2,Mouse:15,MoveToInbox:15,Movie:15,MovieCreation:7,MovieFilter:15,Moving:15,Mp:15,MultilineChart:2,MultipleStop:15,Museum:15,MusicNote:15,MusicOff:15,MusicVideo:15,MyLocation:15,Nat:15,Nature:15,NaturePeople:15,NavigateBefore:2,NavigateNext:15,Navigation:15,NearMe:15,NearMeDisabled:2,NearbyError:15,NearbyOff:15,NetworkCell:15,NetworkCheck:15,NetworkLocked:7,NetworkWifi:15,NewReleases:15,NextPlan:15,NextWeek:15,Nfc:15,NightShelter:15,Nightlife:15,Nightlight:15,NightlightRound:2,NightsStay:15,NineK:15,NineKPlus:15,NineMp:15,NineteenMp:15,NoAccounts:15,NoBackpack:15,NoCell:15,NoDrinks:15,NoEncryption:15,NoFlash:15,NoFood:15,NoLuggage:15,NoMeals:15,NoMeetingRoom:7,NoPhotography:7,NoSim:15,NoStroller:15,NoTransfer:15,NordicWalking:7,North:15,NorthEast:15,NorthWest:15,NotAccessible:7,NotInterested:7,NotListedLocation:0,NotStarted:15,Note:15,NoteAdd:15,NoteAlt:15,Notes:15,NotificationAdd:2,Notifications:7,NotificationsActive:0,NotificationsNone:0,NotificationsOff:0,NotificationsPaused:0,OfflineBolt:15,OfflinePin:15,OfflineShare:15,OndemandVideo:7,OneK:15,OneKPlus:15,OneKk:15,OnlinePrediction:0,Opacity:15,OpenInBrowser:7,OpenInFull:15,OpenInNew:15,OpenInNewOff:15,OpenWith:15,OtherHouses:15,Outbound:15,Outbox:15,OutdoorGrill:15,Outlet:15,Padding:15,Pages:15,Pageview:15,Paid:15,Palette:15,PanTool:15,Panorama:15,PanoramaFishEye:2,PanoramaHorizontal:0,PanoramaPhotosphere:0,PanoramaVertical:0,PanoramaWideAngle:0,Paragliding:15,Park:15,PartyMode:15,Password:15,Pattern:15,Pause:15,PauseCircle:15,PauseCircleFilled:0,PauseCircleOutline:0,PausePresentation:0,Payment:15,Payments:15,PedalBike:15,Pending:15,PendingActions:2,People:15,PeopleAlt:15,PeopleOutline:7,PermCameraMic:7,PermContactCalendar:0,PermDataSetting:2,PermIdentity:15,PermMedia:15,PermPhoneMsg:15,PermScanWifi:15,Person:15,PersonAdd:15,PersonAddAlt:15,PersonAddAlt1:7,PersonAddDisabled:0,PersonOff:15,PersonOutline:7,PersonPin:15,PersonPinCircle:2,PersonRemove:15,PersonRemoveAlt1:0,PersonSearch:15,PersonalVideo:7,PestControl:15,PestControlRodent:0,Pets:15,Phone:15,PhoneAndroid:15,PhoneCallback:7,PhoneDisabled:7,PhoneEnabled:15,PhoneForwarded:2,PhoneInTalk:15,PhoneIphone:15,PhoneLocked:15,PhoneMissed:15,PhonePaused:15,Phonelink:15,PhonelinkErase:2,PhonelinkLock:7,PhonelinkOff:15,PhonelinkRing:7,PhonelinkSetup:2,Photo:15,PhotoAlbum:15,PhotoCamera:15,PhotoCameraBack:2,PhotoCameraFront:0,PhotoFilter:15,PhotoLibrary:15,PhotoSizeSelectLarge:0,PhotoSizeSelectSmall:0,Piano:15,PianoOff:15,PictureAsPdf:15,PictureInPicture:0,PictureInPictureAlt:0,PieChart:15,PieChartOutline:2,Pin:15,PinDrop:15,Pinterest:0,PivotTableChart:2,Place:15,Plagiarism:15,PlayArrow:15,PlayCircle:15,PlayCircleFilled:0,PlayCircleOutline:0,PlayDisabled:15,PlayForWork:15,PlayLesson:15,PlaylistAdd:15,PlaylistAddCheck:0,PlaylistPlay:15,Plumbing:15,PlusOne:15,Podcasts:15,PointOfSale:15,Policy:15,Poll:15,Pool:15,PortableWifiOff:2,Portrait:15,PostAdd:15,Power:15,PowerInput:15,PowerOff:15,PowerSettingsNew:0,PregnantWoman:7,PresentToAll:15,Preview:15,PriceChange:15,PriceCheck:15,Print:15,PrintDisabled:7,PriorityHigh:15,PrivacyTip:15,Psychology:15,Public:15,PublicOff:15,Publish:15,PublishedWithChanges:0,PushPin:15,QrCode:15,QrCode2:15,QrCodeScanner:7,QueryBuilder:15,QueryStats:15,QuestionAnswer:2,Queue:15,QueueMusic:15,QueuePlayNext:7,Quickreply:15,Quiz:15,RMobiledata:15,Radar:15,Radio:15,RadioButtonChecked:0,RadioButtonUnchecked:0,RailwayAlert:15,RamenDining:15,RateReview:15,RawOff:15,RawOn:15,ReadMore:15,Receipt:15,ReceiptLong:15,RecentActors:15,Recommend:15,RecordVoiceOver:2,Reddit:0,Redeem:15,Redo:15,ReduceCapacity:2,Refresh:15,RememberMe:15,Remove:15,RemoveCircle:15,RemoveCircleOutline:0,RemoveDone:15,RemoveFromQueue:2,RemoveModerator:2,RemoveRedEye:15,RemoveShoppingCart:0,Reorder:15,Repeat:15,RepeatOn:15,RepeatOne:15,RepeatOneOn:15,Replay:15,Replay10:15,Replay30:15,Replay5:15,ReplayCircleFilled:0,Reply:15,ReplyAll:15,Report:15,ReportGmailerrorred:0,ReportOff:15,ReportProblem:7,RequestPage:15,RequestQuote:15,ResetTv:15,RestartAlt:15,Restaurant:15,RestaurantMenu:2,Restore:15,RestoreFromTrash:0,RestorePage:15,Reviews:15,RiceBowl:15,RingVolume:15,Roofing:15,Room:15,RoomPreferences:2,RoomService:15,Rotate90DegreesCcw:0,RotateLeft:15,RotateRight:15,Router:15,Rowing:15,RssFeed:15,Rsvp:15,Rtt:15,Rule:15,RuleFolder:15,RunCircle:15,RunningWithErrors:0,RvHookup:15,SafetyDivider:7,Sailing:15,Sanitizer:15,Satellite:15,Save:15,SaveAlt:15,SavedSearch:15,Savings:15,Scanner:15,ScatterPlot:15,Schedule:15,ScheduleSend:15,Schema:15,School:15,Science:15,Score:15,ScreenLockLandscape:0,ScreenLockPortrait:0,ScreenLockRotation:0,ScreenRotation:2,ScreenSearchDesktop:0,ScreenShare:15,Screenshot:15,Sd:15,SdCard:15,SdCardAlert:15,SdStorage:15,Search:15,SearchOff:15,Security:15,SecurityUpdate:2,SecurityUpdateGood:0,Segment:15,SelectAll:15,SelfImprovement:2,Sell:15,Send:15,SendAndArchive:2,SendToMobile:15,SensorDoor:15,SensorWindow:15,Sensors:15,SensorsOff:15,SentimentNeutral:0,SentimentSatisfied:0,SetMeal:15,Settings:15,SettingsApplications:0,SettingsBluetooth:0,SettingsBrightness:0,SettingsCell:15,SettingsEthernet:0,SettingsInputAntenna:0,SettingsInputHdmi:0,SettingsInputSvideo:0,SettingsOverscan:0,SettingsPhone:7,SettingsPower:7,SettingsRemote:2,SettingsSuggest:2,SettingsVoice:7,SevenK:15,SevenKPlus:15,SevenMp:15,SeventeenMp:15,Share:15,ShareLocation:7,Shield:15,Shop:15,Shop2:15,ShopTwo:15,ShoppingBag:15,ShoppingBasket:2,ShoppingCart:15,ShortText:15,Shortcut:15,ShowChart:15,Shower:15,Shuffle:15,ShuffleOn:15,ShutterSpeed:15,Sick:15,SignalCellular0Bar:0,SignalCellular1Bar:0,SignalCellular2Bar:0,SignalCellular3Bar:0,SignalCellular4Bar:0,SignalCellularAlt:0,SignalCellularNoSim:0,SignalCellularNodata:0,SignalCellularNull:0,SignalCellularOff:0,SignalWifi0Bar:2,SignalWifi1Bar:2,SignalWifi1BarLock:0,SignalWifi2Bar:2,SignalWifi2BarLock:0,SignalWifi3Bar:2,SignalWifi3BarLock:0,SignalWifi4Bar:2,SignalWifi4BarLock:0,SignalWifiBad:7,SignalWifiOff:7,SimCard:15,SimCardAlert:15,SimCardDownload:2,SingleBed:15,Sip:15,SixK:15,SixKPlus:15,SixMp:15,SixteenMp:15,SixtyFps:15,SixtyFpsSelect:2,Skateboarding:7,SkipNext:15,SkipPrevious:15,Sledding:15,Slideshow:15,SlowMotionVideo:2,SmartButton:15,SmartDisplay:15,SmartScreen:15,SmartToy:15,Smartphone:15,SmokeFree:15,SmokingRooms:15,Sms:15,SmsFailed:15,SnippetFolder:7,Snooze:15,Snowboarding:15,Snowmobile:15,Snowshoeing:15,Soap:15,SocialDistance:2,Sort:15,SortByAlpha:15,Source:15,South:15,SouthEast:15,SouthWest:15,Spa:15,SpaceBar:15,Speaker:15,SpeakerGroup:15,SpeakerNotes:15,SpeakerNotesOff:2,SpeakerPhone:15,Speed:15,Spellcheck:15,Splitscreen:15,Sports:15,SportsBar:15,SportsBaseball:2,SportsBasketball:0,SportsCricket:7,SportsEsports:7,SportsFootball:2,SportsGolf:15,SportsHandball:2,SportsHockey:15,SportsKabaddi:7,SportsMma:15,SportsMotorsports:0,SportsRugby:15,SportsScore:15,SportsSoccer:15,SportsTennis:15,SportsVolleyball:0,SquareFoot:15,StackedBarChart:2,StackedLineChart:0,Stairs:15,Star:15,StarBorder:15,StarBorderPurple500:0,StarHalf:15,StarOutline:15,StarPurple500:7,StarRate:15,Stars:15,StayCurrentLandscape:0,StayCurrentPortrait:0,StayPrimaryLandscape:0,StayPrimaryPortrait:0,StickyNote2:15,Stop:15,StopCircle:15,StopScreenShare:2,Storage:15,Store:15,StoreMallDirectory:0,Storefront:15,Storm:15,Straighten:15,Stream:15,Streetview:15,StrikethroughS:2,Stroller:15,Style:15,Subject:15,Subscript:15,Subscriptions:7,Subtitles:15,SubtitlesOff:15,Subway:15,Summarize:15,Superscript:15,SupervisedUserCircle:0,SupervisorAccount:0,Support:15,SupportAgent:15,Surfing:15,SurroundSound:7,SwapCalls:15,SwapHoriz:15,SwapHorizontalCircle:0,SwapVert:15,SwapVerticalCircle:0,Swipe:15,SwitchAccount:7,SwitchCamera:15,SwitchLeft:15,SwitchRight:15,SwitchVideo:15,Sync:15,SyncAlt:15,SyncDisabled:15,SyncProblem:15,SystemSecurityUpdate:0,SystemUpdate:15,SystemUpdateAlt:2,Tab:15,TabUnselected:7,TableChart:15,TableRows:15,TableView:15,Tablet:15,TabletAndroid:7,TabletMac:15,Tag:15,TagFaces:15,TakeoutDining:7,TapAndPlay:15,Tapas:15,Task:15,TaskAlt:15,TaxiAlert:15,Telegram:0,TenMp:15,Terrain:15,TextFields:15,TextFormat:15,TextRotateUp:15,TextRotateVertical:0,TextRotationAngleup:0,TextRotationDown:0,TextRotationNone:0,TextSnippet:15,Textsms:15,Texture:15,TheaterComedy:7,Theaters:15,Thermostat:15,ThermostatAuto:2,ThirteenMp:15,ThirtyFps:15,ThirtyFpsSelect:2,ThreeDRotation:2,ThreeGMobiledata:0,ThreeK:15,ThreeKPlus:15,ThreeMp:15,ThreeP:15,ThreeSixty:15,ThumbDown:15,ThumbDownAlt:15,ThumbDownOffAlt:2,ThumbUp:15,ThumbUpAlt:15,ThumbUpOffAlt:7,ThumbsUpDown:15,TimeToLeave:15,Timelapse:15,Timeline:15,Timer:15,Timer10:15,Timer10Select:7,Timer3:15,Timer3Select:15,TimerOff:15,TimesOneMobiledata:0,Title:15,Toc:15,Today:15,ToggleOff:15,ToggleOn:15,Toll:15,Tonality:15,Topic:15,TouchApp:15,Tour:15,Toys:15,TrackChanges:15,Traffic:15,Train:15,Tram:15,Transform:15,Transgender:15,TransitEnterexit:0,Translate:15,TravelExplore:7,TrendingDown:15,TrendingFlat:15,TrendingUp:15,TripOrigin:15,Try:15,Tty:15,Tune:15,Tungsten:15,TurnedIn:15,TurnedInNot:15,Tv:15,TvOff:15,TwelveMp:15,TwentyFourMp:15,TwentyOneMp:15,TwentyThreeMp:7,TwentyTwoMp:15,TwentyZeroMp:15,Twitter:0,TwoK:15,TwoKPlus:15,TwoMp:15,TwoWheeler:15,Umbrella:15,Unarchive:15,Undo:15,UnfoldLess:15,UnfoldMore:15,Unpublished:15,Unsubscribe:15,Upcoming:15,Update:15,UpdateDisabled:2,Upgrade:15,Upload:15,UploadFile:15,Usb:15,UsbOff:15,Verified:15,VerifiedUser:15,VerticalAlignBottom:0,VerticalAlignCenter:0,VerticalAlignTop:0,VerticalSplit:7,Vibration:15,VideoCall:15,VideoCameraBack:2,VideoCameraFront:0,VideoLabel:15,VideoLibrary:15,VideoSettings:7,VideoStable:15,Videocam:15,VideocamOff:15,VideogameAsset:2,VideogameAssetOff:0,ViewAgenda:15,ViewArray:15,ViewCarousel:15,ViewColumn:15,ViewComfy:15,ViewCompact:15,ViewDay:15,ViewHeadline:15,ViewInAr:15,ViewList:15,ViewModule:15,ViewQuilt:15,ViewSidebar:15,ViewStream:15,ViewWeek:15,Vignette:15,Villa:15,Visibility:15,VisibilityOff:7,VoiceChat:15,VoiceOverOff:15,Voicemail:15,VolumeDown:15,VolumeMute:15,VolumeOff:15,VolumeUp:15,VolunteerActivism:0,VpnKey:15,VpnLock:15,Vrpano:15,Wallpaper:15,Warning:15,WarningAmber:15,Wash:15,Watch:15,WatchLater:15,Water:15,WaterDamage:15,WaterfallChart:2,Waves:15,WbAuto:15,WbCloudy:15,WbIncandescent:2,WbIridescent:15,WbShade:15,WbSunny:15,WbTwilight:15,Wc:15,Web:15,WebAsset:15,WebAssetOff:15,Weekend:15,West:15,WhatsApp:0,Whatshot:15,WheelchairPickup:0,WhereToVote:15,Widgets:15,Wifi:15,WifiCalling:15,WifiCalling3:15,WifiLock:15,WifiOff:15,WifiProtectedSetup:0,WifiTethering:7,WifiTetheringOff:0,Window:15,WineBar:15,Work:15,WorkOff:15,WorkOutline:15,Workspaces:15,WrapText:15,WrongLocation:7,Wysiwyg:15,Yard:15,YouTube:0,YoutubeSearchedFor:0,ZoomIn:15,ZoomOut:15,ZoomOutMap:15};const iconKeys=Object.keys(icons);const weightOptions=[\"Filled\",\"TwoTone\",\"Sharp\",\"Rounded\",\"Outlined\",];const styleKeyOptions={15:[...weightOptions],7:[\"Filled\",\"TwoTone\",\"Sharp\",\"Rounded\"],2:[\"Filled\",\"Sharp\"]};const styleOptionPropKeys=Object.keys(styleKeyOptions).map(optionKey=>`iconStyle${optionKey}`);const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * MATERIAL\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored,style}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Get props to use for deps array\nconst styleOptionProps=styleOptionPropKeys.map(prop=>props[prop]);// Get style of icon\nconst iconStyle=useMemo(()=>{const iconStyleKey=icons[iconKey];if(!iconStyleKey)return;const activeStyle=props[`iconStyle${iconStyleKey}`];if(activeStyle===\"Filled\")return;return activeStyle;},[...styleOptionProps]);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){// If bad search or doesn't exist, show null state\nif(typeof icons[iconKey]!==\"number\"){setSelectedIcon(null);return;}// Get the selected module\ntry{const style=iconStyle?iconStyle:\"\";const iconModuleUrl=`${moduleBaseUrl}${iconKey}${style}.js@0.0.32`;// console.log(iconModuleUrl)\nconst module=await import(/* webpackIgnore: true */ iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch{if(isMounted.current)setSelectedIcon(null);}}// Import module when new style or icon is selected\nuseEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey,...styleOptionProps]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/ _jsx(NullState,{}):null;return /*#__PURE__*/ _jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:color,flexShrink:0,transform:mirrored?\"scale(-1, 1)\":undefined,...style},focusable:\"false\",viewBox:\"0 0 24 24\",color:color,children:SelectedIcon}):emptyState});}Icon.displayName=\"Material\";Icon.defaultProps={width:24,height:24,iconSelection:\"Home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,weight:\"Filled\",mirrored:false};function hideStyleOptions(props,styleOptions){const{selectByList,iconSearch,iconSelection}=props;const styleOptionsNumber=parseInt(styleOptions);const name=getIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);const icon=icons[name];if(!icon||styleOptionsNumber===0)return true;if(icon===styleOptionsNumber)return false;else return true;}addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Material site](https://fonts.google.com/icons)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...Object.keys(styleKeyOptions).reduce((result,optionKey)=>{result[`iconStyle${optionKey}`]={type:ControlType.Enum,title:\"Style\",defaultValue:\"Filled\",options:styleKeyOptions[optionKey],hidden:props=>hideStyleOptions(props,optionKey)};return result;},{}),...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Material.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";export function SearchIcon(props){return /*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:props.width,height:props.height,style:{...props.style,color:props.color},children:/*#__PURE__*/ _jsx(\"path\",{d:\"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",fill:\"currentColor\"})});}export function ClearIcon(props){return /*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",...props,children:[/*#__PURE__*/ _jsx(\"rect\",{width:\"256\",height:\"256\",fill:\"none\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",fill:\"currentColor\"})]});}export function SpinnerIcon(props){const borderWidth=3;return /*#__PURE__*/ _jsxs(\"div\",{style:{position:\"relative\",...props.style},children:[/*#__PURE__*/ _jsx(motion.div,{animate:{rotate:360},transition:{ease:\"linear\",duration:1,repeat:Infinity},style:{borderRadius:100,backgroundImage:`conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:props.backgroundColor,borderRadius:100,position:\"absolute\",top:borderWidth,left:borderWidth,bottom:borderWidth,right:borderWidth}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ClearIcon\":{\"type\":\"reactComponent\",\"name\":\"ClearIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpinnerIcon\":{\"type\":\"reactComponent\",\"name\":\"SpinnerIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIcon\":{\"type\":\"reactComponent\",\"name\":\"SearchIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map","export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}","// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map","/*\n * cache\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js\"\n","import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const defaultLocaleId=\"default\";export function isDefaultLocaleId(localeId){return!localeId||localeId===\"default\";}const INDEX_KEY=\"searchIndexCache\";function getIndexKey(localeId){if(isDefaultLocaleId(localeId))return INDEX_KEY;return`${INDEX_KEY}-${localeId}`;}const METADATA_KEY=\"searchCacheMetadata\";function getMetadataKey(localeId){if(isDefaultLocaleId(localeId))return METADATA_KEY;return`${METADATA_KEY}-${localeId}`;}export async function getCachedIndex(localeId,indexHash){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst metadataKey=getMetadataKey(localeId);const indexKey=getIndexKey(localeId);const[metadata,cachedIndex]=await Promise.all([checkForCachedData(metadataKey),checkForCachedData(indexKey)]);if(cachedIndex){return{status:indexHash&&metadata?.indexHash===indexHash?\"fresh\":\"stale\",searchIndex:cachedIndex,indexHash:metadata?.indexHash};}return{status:\"miss\"};}export function setCachedIndex(localeId,index,indexHash){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now(),indexHash};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map","// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map","// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map","export const localStorageDebugFlag=(()=>{try{return typeof window!==\"undefined\"&&window.localStorage.__framerDebugSearch===\"true\";}catch(e){// localStorage not available\n}})();const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}export function clampText(text,maxLength){const textLength=text.length;if(textLength<=maxLength){return text;}const slicedText=text.slice(0,maxLength);if(textLength>maxLength){return slicedText+\"…\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){if(theme.inputFont?.fontFamily)return theme.inputFont.fontFamily;if(theme.titleFont?.fontFamily)return theme.titleFont.fontFamily;if(theme.subtitleFont?.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument?.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};export function stripLocaleSlugFromPath(url,localeSlug){if(!localeSlug)return url;const localeSlugWithSlash=`/${localeSlug}`;if(url.startsWith(localeSlugWithSlash)){return url.slice(localeSlugWithSlash.length);}}/**\n * @param isHighPriority If true and `scheduler.yield` is not available, the function will either use `postTask` or if also not available, return a resolved promise.\n */export function yieldToMain(isHighPriority){if(\"scheduler\"in window){// see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n// \"user-blocking\" is the highest priority and creates a paint opportunity.\n// \"user-visible\" is the default, creates a paint opportunity, but has more potential to be delayed (by \"user-blocking\" tasks).\nconst options={priority:isHighPriority?\"user-blocking\":\"user-visible\"};if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if(isHighPriority){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but do not guarantee a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve,0);});}\nexport const __FramerMetadata__ = {\"exports\":{\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}// If a cached index exists, use the cached version until the latest one from the network loads.\nconst cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status!==\"miss\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");if(cacheResult.status===\"fresh\")return;}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);// Happy case.\nif(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Unexpected error.\n// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);// It's safe to cache the fallback because if we're here, current cache is empty or stale.\nsetCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map","// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map","// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale.\n// If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js\";import{useViewportSizeState}from\"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";import{titleCase,DEFAULT_FONT_FAMILY,isEmptyObject,animationKeyFromLayout,checkIfOverLimit}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var EntryPointOptions;// SITE SEARCH\n// By Anthony and Hunter\n(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/_jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/_jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */const EntryPoint=withCSS(function EntryPoint(props){const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=props.inputOptions?.inputFont?.fontSize?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore – Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:props.resultOptions?.titleFont&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:props.resultOptions.subtitleOptions?.subtitleFont&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:props.inputOptions?.inputFont&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",borderRadius:10,padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/_jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`],\"framer-lib-search\");export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore – Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,hidden:props=>props.layoutType===SearchLayoutType.FixedTop},top:{title:\"Top\",type:ControlType.Number,defaultValue:0,min:0,max:1e3,displayStepper:true,hidden:props=>props.layoutType!==SearchLayoutType.FixedTop},heightIsStatic:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Instant\",disabledTitle:\"Animate\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},heightTransition:{title:\"Type\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:800,damping:60},hidden:({heightIsStatic,layoutType})=>layoutType!==SearchLayoutType.QuickMenu||heightIsStatic},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,displayStepper:true,min:0,hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},shadow:{buttonTitle:\"Options\",type:ControlType.Object,defaultValue:{x:0,y:20,blur:40,spread:0,color:\"rgba(0,0,0,0.2)\"},controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.2)\"},x:{type:ControlType.Number,defaultValue:0},y:{type:ControlType.Number,defaultValue:20},blur:{type:ControlType.Number,defaultValue:40},spread:{type:ControlType.Number,defaultValue:0}}},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:\"#FFF\"},[animationKeyFromLayout(SearchLayoutType.QuickMenu)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu,optional:true,buttonTitle:\"Options\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,step:.1,min:0,max:1},scale:{type:ControlType.Number,defaultValue:.75,step:.1,min:0,max:2},// rotate: {\n//     type: ControlType.Number,\n//     defaultValue: 0,\n//     min: -360,\n//     max: 360,\n// },\nx:{type:ControlType.Number,defaultValue:0,min:-500,max:500},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.FixedTop)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.FixedTop,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},y:{type:ControlType.Number,defaultValue:0,min:-100,max:100},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.Sidebar)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.Sidebar,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},x:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3},transition:{type:ControlType.Transition}}}}},resultOptions:{title:\"Results\",buttonTitle:\"Fonts, Style\",type:ControlType.Object,defaultValue:{},// description:\n//     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\ncontrols:{itemType:{title:\"Style\",type:ControlType.Enum,options:Object.values(SearchResultItemType),optionTitles:Object.keys(SearchResultItemType).map(titleCase),defaultValue:SearchResultItemType.FullWidth},titleFont:{title:\"Title\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:15},displayFontSize:true},titleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},titleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultTitleType),optionTitles:Object.keys(SearchResultTitleType).map(titleCase),defaultValue:SearchResultTitleType.H1,displaySegmentedControl:true},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const v0=\"Projects\";export const v1=\"About me\";export const v2=\"Contact\";\nexport const __FramerMetadata__ = {\"exports\":{\"v0\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"v1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"v2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ff07650)\nimport*as localizedValues from\"./qcjmy68NP-0.js\";const valuesByLocaleId={k4pH3sLUh:localizedValues};export default function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([\"GF;Inter-500\"]);export const fonts=[{family:\"Inter\",moduleAsset:{localModuleIdentifier:\"local-module:css/iQIrgYvB7:default\",url:\"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZhrib2Bg-4.ttf\"},style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v12/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZhrib2Bg-4.ttf\",weight:\"500\"}];export const css=['.framer-NymhN .framer-styles-preset-7zhbwu:not(.rich-text-wrapper), .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper p, .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper [data-preset-tag=\"p\"] { --framer-font-family: \"Inter\", sans-serif; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.5px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-NymhN .framer-styles-preset-7zhbwu:not(.rich-text-wrapper), .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper p, .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper [data-preset-tag=\"p\"] { --framer-font-family: \"Inter\", sans-serif; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.5px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-NymhN .framer-styles-preset-7zhbwu:not(.rich-text-wrapper), .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper p, .framer-NymhN .framer-styles-preset-7zhbwu.rich-text-wrapper [data-preset-tag=\"p\"] { --framer-font-family: \"Inter\", sans-serif; --framer-font-size: 13px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.5px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }'];export const className=\"framer-NymhN\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d213f04)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/dlpQl4fA2XqnawXL1bA4/7DPKR7ZZi7VXSOidIbaX/iQIrgYvB7.js\";const enabledGestures={douHxv9wE:{hover:true},Gdntabrge:{hover:true}};const cycleOrder=[\"douHxv9wE\",\"Gdntabrge\"];const variantClassNames={douHxv9wE:\"framer-v-mham8\",Gdntabrge:\"framer-v-lbvtnl\"};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 transitions={default:{delay:0,duration:.25,ease:[.12,.23,.5,1],type:\"tween\"}};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 humanReadableVariantMap={\"Variant 1\":\"douHxv9wE\",\"Variant 2\":\"Gdntabrge\"};const getProps=({height,id,link,linkName,newTab,width,...props})=>{var ref,_variant,ref1;return{...props,GyAX2tSCy:newTab!==null&&newTab!==void 0?newTab:props.GyAX2tSCy,Qm1WnjRgy:(ref=linkName!==null&&linkName!==void 0?linkName:props.Qm1WnjRgy)!==null&&ref!==void 0?ref:\"Link\",sCkh7WaW9:link!==null&&link!==void 0?link:props.sCkh7WaW9,variant:(ref1=(_variant=humanReadableVariantMap[props.variant])!==null&&_variant!==void 0?_variant:props.variant)!==null&&ref1!==void 0?ref1:\"douHxv9wE\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/ React.forwardRef(function(props,ref){const{activeLocale}=useLocaleInfo();const{style,className,layoutId,variant,sCkh7WaW9,Qm1WnjRgy,GyAX2tSCy,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"douHxv9wE\",enabledGestures,transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const defaultLayoutId=React.useId();return /*#__PURE__*/ _jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/ _jsx(motion.div,{initial:variant,animate:variants,onHoverStart:()=>setGestureState({isHovered:true}),onHoverEnd:()=>setGestureState({isHovered:false}),onTapStart:()=>setGestureState({isPressed:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),className:cx(\"framer-6mBZs\",sharedStyle.className,classNames),style:{display:\"contents\"},children:/*#__PURE__*/ _jsx(Transition,{value:transition,children:/*#__PURE__*/ _jsx(Link,{href:sCkh7WaW9,openInNewTab:GyAX2tSCy,smoothScroll:true,children:/*#__PURE__*/ _jsx(motion.a,{...restProps,className:`${cx(\"framer-mham8\",className)} framer-j4qh4s`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"douHxv9wE\",ref:ref,style:{opacity:1,...style},variants:{\"douHxv9wE-hover\":{opacity:.5},\"Gdntabrge-hover\":{opacity:.5}},...addPropertyOverrides({\"douHxv9wE-hover\":{\"data-framer-name\":undefined},\"Gdntabrge-hover\":{\"data-framer-name\":undefined},Gdntabrge:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/ _jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/ _jsx(React.Fragment,{children:/*#__PURE__*/ _jsx(motion.p,{className:\"framer-styles-preset-7zhbwu\",\"data-styles-preset\":\"iQIrgYvB7\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv)\"},children:\"Link\"})}),className:\"framer-15k0n80\",\"data-framer-name\":\"Link\",layoutDependency:layoutDependency,layoutId:\"E9eZPMwYxLx1BqVqcv\",style:{\"--extracted-r6o4lv\":\"var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, rgb(26, 26, 26)) \",\"--framer-paragraph-spacing\":\"0px\"},text:Qm1WnjRgy,variants:{Gdntabrge:{\"--extracted-r6o4lv\":\"var(--token-d436b889-82c9-42d7-ad52-8a334bbb46e0, rgb(255, 255, 255)) \"}},verticalAlignment:\"top\",withExternalLayout:true})})})})})});});const css=['.framer-6mBZs [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-6mBZs .framer-j4qh4s { display: block; }\",\".framer-6mBZs .framer-mham8 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px 0px 0px 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-6mBZs .framer-15k0n80 { cursor: pointer; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-6mBZs .framer-v-mham8 .framer-mham8, .framer-6mBZs .framer-v-lbvtnl .framer-mham8 { cursor: pointer; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-6mBZs .framer-mham8 { gap: 0px; } .framer-6mBZs .framer-mham8 > * { margin: 0px; margin-bottom: calc(4px / 2); margin-top: calc(4px / 2); } .framer-6mBZs .framer-mham8 > :first-child { margin-top: 0px; } .framer-6mBZs .framer-mham8 > :last-child { margin-bottom: 0px; } }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 29\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"Gdntabrge\":{\"layout\":[\"auto\",\"auto\"]},\"XoqJlfB6c\":{\"layout\":[\"auto\",\"auto\"]},\"mq6spy0fL\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"sCkh7WaW9\":\"link\",\"Qm1WnjRgy\":\"linkName\",\"GyAX2tSCy\":\"newTab\"}\n */ const FramerBOzdrysvm=withCSS(Component,css,\"framer-6mBZs\");export default FramerBOzdrysvm;FramerBOzdrysvm.displayName=\"Link\";FramerBOzdrysvm.defaultProps={height:24,width:29};addPropertyControls(FramerBOzdrysvm,{variant:{options:[\"douHxv9wE\",\"Gdntabrge\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},sCkh7WaW9:{title:\"Link\",type:ControlType.Link},Qm1WnjRgy:{defaultValue:\"Link\",displayTextArea:false,placeholder:\"Link\",title:\"Link name\",type:ControlType.String},GyAX2tSCy:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean}});addFonts(FramerBOzdrysvm,[...sharedStyle.fonts]);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerBOzdrysvm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"Gdntabrge\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"XoqJlfB6c\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"mq6spy0fL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"sCkh7WaW9\\\":\\\"link\\\",\\\"Qm1WnjRgy\\\":\\\"linkName\\\",\\\"GyAX2tSCy\\\":\\\"newTab\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerIntrinsicWidth\":\"29\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BOzdrysvm.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";var SrcType;(function(SrcType){SrcType[\"Upload\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const baseUrl=\"https://logo.clearbit.com/\";const getLogoUrl=company=>{if(!company)return null;return company.includes(\".\")?`${baseUrl}${company}?size=500`:`${baseUrl}${company}.com?size=500`;};/**\n * @framerIntrinsicWidth 64\n * @framerIntrinsicHeight 64\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Logo(props){const{company,radius,isSearch,srcType,srcUrl,srcFile,style}=props;const logoURL=useMemo(()=>{if(isSearch)return getLogoUrl(company);if(srcType===SrcType.Upload)return srcFile;if(srcType===SrcType.Url)return srcUrl;return null;},[company,isSearch,srcType,srcUrl,srcFile]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/ _jsx(NullState,{}):null;return logoURL?/*#__PURE__*/ _jsx(\"img\",{src:logoURL,style:{...baseStyles,...style,borderRadius:radius},alt:\"Logo\"}):emptyState;};Logo.defaultProps={company:\"Framer\",radius:100,width:64,height:64,isSearch:true};const baseStyles={position:\"absolute\",left:0,right:0,top:0,bottom:0,width:\"100%\",height:\"100%\"};addPropertyControls(Logo,{isSearch:{type:ControlType.Boolean,title:\"Type\",disabledTitle:\"Custom\",enabledTitle:\"Search\"},srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.Upload],hidden:({isSearch})=>isSearch},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.jpg\",hidden:({srcType,isSearch})=>srcType===SrcType.Upload||isSearch},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"jpg\",\"png\",\"jpeg\",\"tiff\",\"gif\"],hidden:({srcType,isSearch})=>srcType===SrcType.Url||isSearch},company:{type:ControlType.String,title:\"Company\",placeholder:\"Github, Apple...\",hidden:({isSearch})=>!isSearch},radius:{type:ControlType.Number,min:0,max:100,title:\"Radius\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Logo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"64\",\"framerIntrinsicHeight\":\"64\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Logo.map","// Generated by Framer (9d1d4bc)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Logo from\"https://framerusercontent.com/modules/IQXqjAGXltPKLdfjcdtf/AdYVRfUvx2HLE5qL3Xfw/Logo.js\";const LogoFonts=getFonts(Logo);const enabledGestures={bO1AFJGtd:{hover:true,pressed:true}};const serializationHash=\"framer-XlOiz\";const variantClassNames={bO1AFJGtd:\"framer-v-jtb85t\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,width,...props})=>{return{...props,JIo7mnTEJ:link??props.JIo7mnTEJ};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,JIo7mnTEJ,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"bO1AFJGtd\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:JIo7mnTEJ,motionChild:true,nodeId:\"bO1AFJGtd\",openInNewTab:false,scopeId:\"rNRFegaIG\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-jtb85t\",className,classNames)} framer-1dyqs77`,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"bO1AFJGtd\",ref:refBinding,style:{...style},...addPropertyOverrides({\"bO1AFJGtd-hover\":{\"data-framer-name\":undefined},\"bO1AFJGtd-pressed\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-t73x2r-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"Kbkn8Qc01-container\",nodeId:\"Kbkn8Qc01\",rendersWithMotion:true,scopeId:\"rNRFegaIG\",style:{opacity:1},variants:{\"bO1AFJGtd-hover\":{opacity:.75},\"bO1AFJGtd-pressed\":{opacity:.6}},children:/*#__PURE__*/_jsx(Logo,{company:\"Framer\",height:\"100%\",id:\"Kbkn8Qc01\",isSearch:false,layoutId:\"Kbkn8Qc01\",radius:100,srcFile:\"https://framerusercontent.com/assets/YQoRMYKw1siyxBOnnjD1ASt5Iwg.jpg\",srcType:\"Upload\",srcUrl:\"\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-XlOiz.framer-1dyqs77, .framer-XlOiz .framer-1dyqs77 { display: block; }\",\".framer-XlOiz.framer-jtb85t { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-XlOiz .framer-t73x2r-container { aspect-ratio: 1 / 1; cursor: pointer; flex: none; height: var(--framer-aspect-ratio-supported, 36px); position: relative; width: 36px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 36\n * @framerIntrinsicWidth 36\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"B08KUDY3C\":{\"layout\":[\"auto\",\"auto\"]},\"uzrKMLV3r\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"JIo7mnTEJ\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerrNRFegaIG=withCSS(Component,css,\"framer-XlOiz\");export default FramerrNRFegaIG;FramerrNRFegaIG.displayName=\"Logo\";FramerrNRFegaIG.defaultProps={height:36,width:36};addPropertyControls(FramerrNRFegaIG,{JIo7mnTEJ:{title:\"Link\",type:ControlType.Link}});addFonts(FramerrNRFegaIG,[{explicitInter:true,fonts:[]},...LogoFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerrNRFegaIG\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"36\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"B08KUDY3C\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"uzrKMLV3r\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"JIo7mnTEJ\\\":\\\"link\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"36\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./rNRFegaIG.map","// Generated by Framer (ff07650)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,ResolveLinks,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import getLocalizedValue from\"https://framerusercontent.com/modules/gO6VaCvklYqrDvHol6rb/OnfW87GiQCMNzXIGAqhq/qcjmy68NP.js\";import Link from\"https://framerusercontent.com/modules/wGp8AYUdMOnV6j4JRz4F/FPxZXetLVfKAnWBsmbk2/BOzdrysvm.js\";import Logo from\"https://framerusercontent.com/modules/1qdHMNZKMklomsf3kHSZ/T9MgeCer60YkOI00uwWP/rNRFegaIG.js\";const LogoFonts=getFonts(Logo);const LinkFonts=getFonts(Link);const SearchFonts=getFonts(Search);const cycleOrder=[\"E9eZPMwYxl6VyjV0ZA\",\"yel3dWdVG\",\"MESY6mj0m\",\"BtrdPCh87\",\"F6eGSjL9B\",\"fxfh0q7A3\",\"bx1Wjf1UP\",\"FCtauhbjK\"];const serializationHash=\"framer-eAQfG\";const variantClassNames={BtrdPCh87:\"framer-v-1uud1px\",bx1Wjf1UP:\"framer-v-1p0dfo0\",E9eZPMwYxl6VyjV0ZA:\"framer-v-oo3uti\",F6eGSjL9B:\"framer-v-1yg5fdu\",FCtauhbjK:\"framer-v-1pgm1vl\",fxfh0q7A3:\"framer-v-13r7mur\",MESY6mj0m:\"framer-v-1m930di\",yel3dWdVG:\"framer-v-pcym9i\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:.5,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop - Dark\":\"yel3dWdVG\",\"Phone - Dark\":\"fxfh0q7A3\",\"Phone (small) - Dark\":\"FCtauhbjK\",\"Phone (small)\":\"bx1Wjf1UP\",\"Tablet - Dark\":\"F6eGSjL9B\",Desktop:\"E9eZPMwYxl6VyjV0ZA\",Phone:\"BtrdPCh87\",Tablet:\"MESY6mj0m\"};const getProps=({height,id,tap,width,...props})=>{return{...props,j8Pk7jlHD:tap??props.j8Pk7jlHD,variant:humanReadableVariantMap[props.variant]??props.variant??\"E9eZPMwYxl6VyjV0ZA\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,j8Pk7jlHD,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"E9eZPMwYxl6VyjV0ZA\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1wugqol=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(j8Pk7jlHD){const res=await j8Pk7jlHD(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();const isDisplayed=()=>{if(baseVariant===\"FCtauhbjK\")return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"FCtauhbjK\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-oo3uti\",className,classNames),\"data-framer-name\":\"Desktop\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"E9eZPMwYxl6VyjV0ZA\",onTap:onTap1wugqol,ref:refBinding,style:{...style},...addPropertyOverrides({BtrdPCh87:{\"data-framer-name\":\"Phone\"},bx1Wjf1UP:{\"data-framer-name\":\"Phone (small)\"},F6eGSjL9B:{\"data-framer-name\":\"Tablet - Dark\"},FCtauhbjK:{\"data-framer-name\":\"Phone (small) - Dark\"},fxfh0q7A3:{\"data-framer-name\":\"Phone - Dark\"},MESY6mj0m:{\"data-framer-name\":\"Tablet\"},yel3dWdVG:{\"data-framer-name\":\"Desktop - Dark\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-9hmhru\",\"data-border\":true,\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"kiCikmWTb\",style:{\"--border-bottom-width\":\"0.5px\",\"--border-color\":\"rgb(255, 255, 255)\",\"--border-left-width\":\"0.5px\",\"--border-right-width\":\"0.5px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0.5px\",backdropFilter:\"blur(20px)\",backgroundColor:\"rgba(255, 255, 255, 0.6)\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,boxShadow:\"0px 0px 20px 0px rgba(0, 0, 0, 0.1)\",WebkitBackdropFilter:\"blur(20px)\"},variants:{F6eGSjL9B:{\"--border-color\":\"rgba(255, 255, 255, 0.25)\",backgroundColor:\"rgba(41, 41, 41, 0.6)\"},FCtauhbjK:{\"--border-color\":\"rgba(255, 255, 255, 0.25)\",backgroundColor:\"rgba(41, 41, 41, 0.6)\"},fxfh0q7A3:{\"--border-color\":\"rgba(255, 255, 255, 0.25)\",backgroundColor:\"rgba(41, 41, 41, 0.6)\"},yel3dWdVG:{\"--border-color\":\"rgba(255, 255, 255, 0.25)\",backgroundColor:\"rgba(41, 41, 41, 0.6)\"}},children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":FHoT_sd_b\",webPageId:\"kMIIe7Mbb\"},implicitPathVariables:undefined},{href:{hash:\":EhYGxi9xD\",webPageId:\"Bvsfm_z_s\"},implicitPathVariables:undefined},{href:{hash:\":FHoT_sd_b\",webPageId:\"kMIIe7Mbb\"},implicitPathVariables:undefined},{href:{hash:\":FHoT_sd_b\",webPageId:\"kMIIe7Mbb\"},implicitPathVariables:undefined},{href:{hash:\":EhYGxi9xD\",webPageId:\"Bvsfm_z_s\"},implicitPathVariables:undefined},{href:{hash:\":EhYGxi9xD\",webPageId:\"Bvsfm_z_s\"},implicitPathVariables:undefined},{href:{hash:\":FHoT_sd_b\",webPageId:\"kMIIe7Mbb\"},implicitPathVariables:undefined},{href:{hash:\":EhYGxi9xD\",webPageId:\"Bvsfm_z_s\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:36,width:\"1px\",y:(componentViewport?.y||0)+20+(((componentViewport?.height||88)-40-48)/2+0+0)+6,...addPropertyOverrides({bx1Wjf1UP:{y:(componentViewport?.y||0)+20+(((componentViewport?.height||200)-40-48)/2+0+0)+6},FCtauhbjK:{y:(componentViewport?.y||0)+20+(((componentViewport?.height||200)-40-48)/2+0+0)+6}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1vv9hei-container\",layoutDependency:layoutDependency,layoutId:\"Qp_mF4lfg-container\",nodeId:\"Qp_mF4lfg\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",children:/*#__PURE__*/_jsx(Logo,{height:\"100%\",id:\"Qp_mF4lfg\",JIo7mnTEJ:resolvedLinks[0],layoutId:\"Qp_mF4lfg\",style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({BtrdPCh87:{JIo7mnTEJ:resolvedLinks[3]},bx1Wjf1UP:{JIo7mnTEJ:resolvedLinks[6]},F6eGSjL9B:{JIo7mnTEJ:resolvedLinks[4]},FCtauhbjK:{JIo7mnTEJ:resolvedLinks[7]},fxfh0q7A3:{JIo7mnTEJ:resolvedLinks[5]},MESY6mj0m:{JIo7mnTEJ:resolvedLinks[2]},yel3dWdVG:{JIo7mnTEJ:resolvedLinks[1],style:{width:\"100%\"}}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-yo2g8a\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"E9eZPMwYxMF4Pnct3k\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":gzoL91RF9\",webPageId:\"AVJJu2mX7\"},implicitPathVariables:undefined},{href:{hash:\":FHpoGJtNa\",webPageId:\"HMAmQlV6x\"},implicitPathVariables:undefined},{href:{hash:\":gzoL91RF9\",webPageId:\"AVJJu2mX7\"},implicitPathVariables:undefined},{href:{hash:\":gzoL91RF9\",webPageId:\"AVJJu2mX7\"},implicitPathVariables:undefined},{href:{hash:\":FHpoGJtNa\",webPageId:\"HMAmQlV6x\"},implicitPathVariables:undefined},{href:{hash:\":FHpoGJtNa\",webPageId:\"HMAmQlV6x\"},implicitPathVariables:undefined},{href:{hash:\":gzoL91RF9\",webPageId:\"AVJJu2mX7\"},implicitPathVariables:undefined},{href:{hash:\":FHpoGJtNa\",webPageId:\"HMAmQlV6x\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1yxtfww-container\",\"data-framer-name\":\"Link\",layoutDependency:layoutDependency,layoutId:\"BN6q8i8n4-container\",name:\"Link\",nodeId:\"BN6q8i8n4\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"BN6q8i8n4\",layoutId:\"BN6q8i8n4\",link:resolvedLinks1[0],linkName:getLocalizedValue(\"v0\",activeLocale)??\"Proyectos\",name:\"Link\",newTab:false,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({BtrdPCh87:{link:resolvedLinks1[3]},bx1Wjf1UP:{link:resolvedLinks1[6]},F6eGSjL9B:{link:resolvedLinks1[4],variant:\"Gdntabrge\"},FCtauhbjK:{link:resolvedLinks1[7],variant:\"Gdntabrge\"},fxfh0q7A3:{link:resolvedLinks1[5],variant:\"Gdntabrge\"},MESY6mj0m:{link:resolvedLinks1[2]},yel3dWdVG:{link:resolvedLinks1[1],variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":uF4tKQe_O\",webPageId:\"MmmbcHSnv\"},implicitPathVariables:undefined},{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},implicitPathVariables:undefined},{href:{hash:\":uF4tKQe_O\",webPageId:\"MmmbcHSnv\"},implicitPathVariables:undefined},{href:{hash:\":uF4tKQe_O\",webPageId:\"MmmbcHSnv\"},implicitPathVariables:undefined},{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},implicitPathVariables:undefined},{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},implicitPathVariables:undefined},{href:{hash:\":uF4tKQe_O\",webPageId:\"MmmbcHSnv\"},implicitPathVariables:undefined},{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-a5lggb-container\",\"data-framer-name\":\"Link\",layoutDependency:layoutDependency,layoutId:\"loPI0HFjR-container\",name:\"Link\",nodeId:\"loPI0HFjR\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"loPI0HFjR\",layoutId:\"loPI0HFjR\",link:resolvedLinks2[0],linkName:getLocalizedValue(\"v1\",activeLocale)??\"Sobre m\\xed\",name:\"Link\",newTab:false,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({BtrdPCh87:{link:resolvedLinks2[3]},bx1Wjf1UP:{link:resolvedLinks2[6]},F6eGSjL9B:{link:resolvedLinks2[4],variant:\"Gdntabrge\"},FCtauhbjK:{link:resolvedLinks2[7],variant:\"Gdntabrge\"},fxfh0q7A3:{link:resolvedLinks2[5],variant:\"Gdntabrge\"},MESY6mj0m:{link:resolvedLinks2[2]},yel3dWdVG:{link:resolvedLinks2[1],variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":Iax2KADEX\",webPageId:\"Uy5tKjin9\"},implicitPathVariables:undefined},{href:{hash:\":YhOfey2yi\",webPageId:\"NjIx8E8TP\"},implicitPathVariables:undefined},{href:{hash:\":Iax2KADEX\",webPageId:\"Uy5tKjin9\"},implicitPathVariables:undefined},{href:{hash:\":Iax2KADEX\",webPageId:\"Uy5tKjin9\"},implicitPathVariables:undefined},{href:{hash:\":YhOfey2yi\",webPageId:\"NjIx8E8TP\"},implicitPathVariables:undefined},{href:{hash:\":YhOfey2yi\",webPageId:\"NjIx8E8TP\"},implicitPathVariables:undefined},{href:{hash:\":Iax2KADEX\",webPageId:\"Uy5tKjin9\"},implicitPathVariables:undefined},{href:{hash:\":YhOfey2yi\",webPageId:\"NjIx8E8TP\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-foucjv-container\",\"data-framer-name\":\"Link\",layoutDependency:layoutDependency,layoutId:\"V4HjYGe_9-container\",name:\"Link\",nodeId:\"V4HjYGe_9\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",children:/*#__PURE__*/_jsx(Link,{height:\"100%\",id:\"V4HjYGe_9\",layoutId:\"V4HjYGe_9\",link:resolvedLinks3[0],linkName:getLocalizedValue(\"v2\",activeLocale)??\"Contacto\",name:\"Link\",newTab:false,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({BtrdPCh87:{link:resolvedLinks3[3]},bx1Wjf1UP:{link:resolvedLinks3[6]},F6eGSjL9B:{link:resolvedLinks3[4],variant:\"Gdntabrge\"},FCtauhbjK:{link:resolvedLinks3[7],variant:\"Gdntabrge\"},fxfh0q7A3:{link:resolvedLinks3[5],variant:\"Gdntabrge\"},MESY6mj0m:{link:resolvedLinks3[2]},yel3dWdVG:{link:resolvedLinks3[1],variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})})})]}),isDisplayed()&&/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-r0dbrg-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"MXkbY2fzv-container\",nodeId:\"MXkbY2fzv\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",transformTemplate:transformTemplate1,whileHover:animation,children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-97f4c48b-70cd-4950-b82f-bf1cf6d7dd92, rgb(255, 255, 255))\",iconSize:18,iconType:\"default\",id:\"MXkbY2fzv\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Buscar...\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"MXkbY2fzv\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-vg9a8a-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"On1dVnTkp-container\",nodeId:\"On1dVnTkp\",rendersWithMotion:true,scopeId:\"qcjmy68NP\",whileHover:animation,children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, rgb(26, 26, 26))\",iconSize:22,iconType:\"default\",id:\"On1dVnTkp\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Buscar...\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"On1dVnTkp\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:27,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({BtrdPCh87:{iconSize:18},bx1Wjf1UP:{iconSize:18},F6eGSjL9B:{iconColor:\"var(--token-97f4c48b-70cd-4950-b82f-bf1cf6d7dd92, rgb(255, 255, 255))\"},fxfh0q7A3:{iconColor:\"var(--token-97f4c48b-70cd-4950-b82f-bf1cf6d7dd92, rgb(255, 255, 255))\"},MESY6mj0m:{iconSize:18},yel3dWdVG:{iconColor:\"var(--token-d436b889-82c9-42d7-ad52-8a334bbb46e0, rgb(255, 255, 255))\"}},baseVariant,gestureVariant)})})})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-eAQfG.framer-1fjspgv, .framer-eAQfG .framer-1fjspgv { display: block; }\",\".framer-eAQfG.framer-oo3uti { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 20px 0px 20px 0px; position: relative; width: 555px; }\",\".framer-eAQfG .framer-9hmhru { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 6px 66px 6px 56px; position: relative; width: 509px; }\",\".framer-eAQfG .framer-1vv9hei-container { cursor: pointer; flex: none; height: 36px; position: relative; width: 1px; z-index: 1; }\",\".framer-eAQfG .framer-yo2g8a { align-content: center; align-items: center; bottom: 12px; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: absolute; right: 104px; width: min-content; z-index: 1; }\",\".framer-eAQfG .framer-1yxtfww-container, .framer-eAQfG .framer-a5lggb-container, .framer-eAQfG .framer-foucjv-container { cursor: pointer; flex: none; height: auto; position: relative; width: auto; }\",\".framer-eAQfG .framer-r0dbrg-container { aspect-ratio: 1 / 1; cursor: pointer; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: absolute; right: 13px; top: 50%; width: 20px; will-change: var(--framer-will-change-effect-override, transform); z-index: 1; }\",\".framer-eAQfG .framer-vg9a8a-container { aspect-ratio: 1 / 1; cursor: pointer; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: absolute; right: 35px; top: 14px; width: 20px; will-change: var(--framer-will-change-effect-override, transform); z-index: 1; }\",\".framer-eAQfG.framer-v-pcym9i .framer-1vv9hei-container { height: auto; order: 0; }\",\".framer-eAQfG.framer-v-pcym9i .framer-yo2g8a { order: 1; }\",\".framer-eAQfG.framer-v-pcym9i .framer-vg9a8a-container { order: 3; }\",\".framer-eAQfG.framer-v-1m930di .framer-9hmhru, .framer-eAQfG.framer-v-1yg5fdu .framer-9hmhru { padding: 6px 66px 6px 46px; width: 480px; }\",\".framer-eAQfG.framer-v-1m930di .framer-yo2g8a, .framer-eAQfG.framer-v-1yg5fdu .framer-yo2g8a { bottom: 14px; gap: 50px; right: 85px; }\",\".framer-eAQfG.framer-v-1m930di .framer-vg9a8a-container, .framer-eAQfG.framer-v-1yg5fdu .framer-vg9a8a-container { right: 25px; }\",\".framer-eAQfG.framer-v-1uud1px.framer-oo3uti, .framer-eAQfG.framer-v-13r7mur.framer-oo3uti { width: 486px; }\",\".framer-eAQfG.framer-v-1uud1px .framer-9hmhru, .framer-eAQfG.framer-v-13r7mur .framer-9hmhru { max-width: 150%; padding: 6px 66px 6px 46px; width: 370px; }\",\".framer-eAQfG.framer-v-1uud1px .framer-yo2g8a, .framer-eAQfG.framer-v-13r7mur .framer-yo2g8a { bottom: 15px; gap: 24px; right: 65px; }\",\".framer-eAQfG.framer-v-1uud1px .framer-vg9a8a-container, .framer-eAQfG.framer-v-13r7mur .framer-vg9a8a-container { right: 20px; }\",\".framer-eAQfG.framer-v-1p0dfo0.framer-oo3uti, .framer-eAQfG.framer-v-1pgm1vl.framer-oo3uti { width: 320px; }\",\".framer-eAQfG.framer-v-1p0dfo0 .framer-9hmhru, .framer-eAQfG.framer-v-1pgm1vl .framer-9hmhru { padding: 6px 66px 6px 26px; width: 300px; }\",\".framer-eAQfG.framer-v-1p0dfo0 .framer-yo2g8a, .framer-eAQfG.framer-v-1pgm1vl .framer-yo2g8a { bottom: 15px; gap: 16px; right: 47px; }\",\".framer-eAQfG.framer-v-1p0dfo0 .framer-vg9a8a-container { right: 14px; }\",'.framer-eAQfG[data-border=\"true\"]::after, .framer-eAQfG [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 88\n * @framerIntrinsicWidth 555\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"yel3dWdVG\":{\"layout\":[\"fixed\",\"auto\"]},\"MESY6mj0m\":{\"layout\":[\"fixed\",\"auto\"]},\"BtrdPCh87\":{\"layout\":[\"fixed\",\"auto\"]},\"F6eGSjL9B\":{\"layout\":[\"fixed\",\"auto\"]},\"fxfh0q7A3\":{\"layout\":[\"fixed\",\"auto\"]},\"bx1Wjf1UP\":{\"layout\":[\"fixed\",\"auto\"]},\"FCtauhbjK\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"j8Pk7jlHD\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerqcjmy68NP=withCSS(Component,css,\"framer-eAQfG\");export default Framerqcjmy68NP;Framerqcjmy68NP.displayName=\"Navigation\";Framerqcjmy68NP.defaultProps={height:88,width:555};addPropertyControls(Framerqcjmy68NP,{variant:{options:[\"E9eZPMwYxl6VyjV0ZA\",\"yel3dWdVG\",\"MESY6mj0m\",\"BtrdPCh87\",\"F6eGSjL9B\",\"fxfh0q7A3\",\"bx1Wjf1UP\",\"FCtauhbjK\"],optionTitles:[\"Desktop\",\"Desktop - Dark\",\"Tablet\",\"Phone\",\"Tablet - Dark\",\"Phone - Dark\",\"Phone (small)\",\"Phone (small) - Dark\"],title:\"Variant\",type:ControlType.Enum},j8Pk7jlHD:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(Framerqcjmy68NP,[{explicitInter:true,fonts:[]},...LogoFonts,...LinkFonts,...SearchFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerqcjmy68NP\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"88\",\"framerIntrinsicWidth\":\"555\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"yel3dWdVG\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"MESY6mj0m\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BtrdPCh87\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"F6eGSjL9B\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"fxfh0q7A3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"bx1Wjf1UP\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"FCtauhbjK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"j8Pk7jlHD\\\":\\\"tap\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([\"Inter-Medium\"]);export const fonts=[];export const css=['.framer-JSKcS .framer-styles-preset-21ogod:not(.rich-text-wrapper), .framer-JSKcS .framer-styles-preset-21ogod.rich-text-wrapper p { --framer-font-family: \"Inter-Medium\", \"Inter\", sans-serif; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.25px; --framer-line-height: 175%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 768px) { .framer-JSKcS .framer-styles-preset-21ogod:not(.rich-text-wrapper), .framer-JSKcS .framer-styles-preset-21ogod.rich-text-wrapper p { --framer-font-family: \"Inter-Medium\", \"Inter\", sans-serif; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.2px; --framer-line-height: 175%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }','@media (max-width: 767px) and (min-width: 0px) { .framer-JSKcS .framer-styles-preset-21ogod:not(.rich-text-wrapper), .framer-JSKcS .framer-styles-preset-21ogod.rich-text-wrapper p { --framer-font-family: \"Inter-Medium\", \"Inter\", sans-serif; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-weight: 500; --framer-letter-spacing: -0.15px; --framer-line-height: 175%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }'];export const className=\"framer-JSKcS\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([]);export const fonts=[];export const css=[\".framer-zkxQf .framer-styles-preset-1wicq5s:not(.rich-text-wrapper), .framer-zkxQf .framer-styles-preset-1wicq5s.rich-text-wrapper a { --framer-link-current-text-color: #55CCFF; --framer-link-current-text-decoration: none; --framer-link-hover-text-color: #1199EE; --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-link-text-decoration: none; transition: color 0.3s cubic-bezier(0.44, 0, 0.56, 1) 0s; }\"];export const className=\"framer-zkxQf\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadWebFontsFromSelectors([]);export const fonts=[];export const css=[\".framer-MNS1V .framer-styles-preset-vd3v7d:not(.rich-text-wrapper), .framer-MNS1V .framer-styles-preset-vd3v7d.rich-text-wrapper a { --framer-link-current-text-color: #55CCFF; --framer-link-current-text-decoration: none; --framer-link-hover-text-color: #1199EE; --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-d436b889-82c9-42d7-ad52-8a334bbb46e0, #ffffff); --framer-link-text-decoration: none; transition: color 0.3s cubic-bezier(0.44, 0, 0.56, 1) 0s; }\"];export const className=\"framer-MNS1V\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Link}from\"framer\";import{motion}from\"framer-motion\";import*as React from\"react\";export const v0=/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 153, 153))\"},children:[\"Designed by \",/*#__PURE__*/_jsx(Link,{href:\"https://mromero.framer.website/sobre-mi\",motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"Miguel Romero\"})}),\" with ❤️\"]})});export const v1=/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",children:[\"Designed by \",/*#__PURE__*/_jsx(Link,{href:\"https://mromero.framer.website/sobre-mi\",motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-vd3v7d\",\"data-styles-preset\":\"wxYwfnutG\",children:\"Miguel Romero\"})}),\" with ❤️\"]})});export const v2=/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 153, 153))\"},children:[\"Designed by \",/*#__PURE__*/_jsx(Link,{href:\"https://mromero.framer.website/sobre-mi\",motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-vd3v7d\",\"data-styles-preset\":\"wxYwfnutG\",children:\"Miguel Romero\"})}),\" with ❤️\"]})});\nexport const __FramerMetadata__ = {\"exports\":{\"v0\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"v2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"v1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (506606a)\nimport*as localizedValues from\"./Y16LS2cNe-0.js\";const valuesByLocaleId={k4pH3sLUh:localizedValues};export default function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (506606a)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/4ZUtozzsn1IHBo561faJ/tbwrsxXPN0pZLHbMdXDm/ro7OPezbn.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/mJUnT0OBmepeJMPXHyDs/zswQuCpp900BOS0tNPbw/wxYwfnutG.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/tO01hIm8qGzijygQLNff/3xc0u9poZHg9aUx1LoeC/xZndidUCt.js\";import getLocalizedValue from\"https://framerusercontent.com/modules/iMlagIPsKM3JhfFlVezB/9o95zRUn271VcRLiX4Rf/Y16LS2cNe.js\";import Link1 from\"https://framerusercontent.com/modules/wGp8AYUdMOnV6j4JRz4F/FPxZXetLVfKAnWBsmbk2/BOzdrysvm.js\";const Link1Fonts=getFonts(Link1);const cycleOrder=[\"ieQu9z9wd\",\"osQELfac3\",\"tuwDi15gg\",\"QeJX6X79s\",\"rBqwMuA4u\",\"TtYmPFjHj\"];const serializationHash=\"framer-mkyjX\";const variantClassNames={ieQu9z9wd:\"framer-v-1nfsv8j\",osQELfac3:\"framer-v-ube46a\",QeJX6X79s:\"framer-v-1ew3ml9\",rBqwMuA4u:\"framer-v-18gxmay\",TtYmPFjHj:\"framer-v-ltykbe\",tuwDi15gg:\"framer-v-1m9z29o\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Desktop - Dark\":\"QeJX6X79s\",\"Phone - Dark\":\"TtYmPFjHj\",\"Tablet - Dark\":\"rBqwMuA4u\",Desktop:\"ieQu9z9wd\",Phone:\"tuwDi15gg\",Tablet:\"osQELfac3\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ieQu9z9wd\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ieQu9z9wd\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1gymejk=activeVariantCallback(async(...args)=>{setVariant(\"ieQu9z9wd\");});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1nfsv8j\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"ieQu9z9wd\",ref:refBinding,style:{...style},...addPropertyOverrides({osQELfac3:{\"data-framer-name\":\"Tablet\"},QeJX6X79s:{\"data-framer-name\":\"Desktop - Dark\"},rBqwMuA4u:{\"data-framer-name\":\"Tablet - Dark\"},TtYmPFjHj:{\"data-framer-name\":\"Phone - Dark\"},tuwDi15gg:{\"data-framer-name\":\"Phone\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-az092e\",\"data-framer-name\":\"Content\",layoutDependency:layoutDependency,layoutId:\"t4WW4fcFB\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v0\",activeLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 153, 153))\"},children:[\"Dise\\xf1ado por \",/*#__PURE__*/_jsx(Link,{href:{hash:\":uF4tKQe_O\",webPageId:\"MmmbcHSnv\"},motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1wicq5s\",\"data-styles-preset\":\"ro7OPezbn\",children:\"Miguel Romero\"})}),\".\"]})}),className:\"framer-zo1qa2\",\"data-framer-name\":\"Paragraph\",\"data-highlight\":true,fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"VTAJOIoOm\",onTap:onTap1gymejk,style:{\"--extracted-r6o4lv\":\"rgb(153, 153, 153)\"},variants:{QeJX6X79s:{\"--extracted-1w3ko1f\":\"rgb(153, 153, 153)\",\"--extracted-c9yw3e\":\"rgb(153, 153, 153)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({QeJX6X79s:{children:getLocalizedValue(\"v1\",activeLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(153, 153, 153))\"},children:\"Dise\\xf1ado por \"}),/*#__PURE__*/_jsx(Link,{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-vd3v7d\",\"data-styles-preset\":\"wxYwfnutG\",children:\"Miguel Romero\"})}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-c9yw3e, rgb(153, 153, 153))\"},children:\".\"})]})})},rBqwMuA4u:{children:getLocalizedValue(\"v2\",activeLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 153, 153))\"},children:[\"Dise\\xf1ado por \",/*#__PURE__*/_jsx(Link,{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-vd3v7d\",\"data-styles-preset\":\"wxYwfnutG\",children:\"Miguel Romero\"})}),\".\"]})})},TtYmPFjHj:{children:getLocalizedValue(\"v2\",activeLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-21ogod\",\"data-styles-preset\":\"xZndidUCt\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 153, 153))\"},children:[\"Dise\\xf1ado por \",/*#__PURE__*/_jsx(Link,{href:{hash:\":rvYAb3MiS\",webPageId:\"ti9yuzkAY\"},motionChild:true,nodeId:\"VTAJOIoOm\",openInNewTab:false,relValues:[],scopeId:\"Y16LS2cNe\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-vd3v7d\",\"data-styles-preset\":\"wxYwfnutG\",children:\"Miguel Romero\"})}),\".\"]})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ii99yo\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"aKRxWqC1y\",transformTemplate:transformTemplate1,...addPropertyOverrides({osQELfac3:{transformTemplate:undefined},rBqwMuA4u:{transformTemplate:undefined},TtYmPFjHj:{transformTemplate:undefined},tuwDi15gg:{transformTemplate:undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1nt2aed-container\",layoutDependency:layoutDependency,layoutId:\"SOfGBRF3P-container\",nodeId:\"SOfGBRF3P\",rendersWithMotion:true,scopeId:\"Y16LS2cNe\",children:/*#__PURE__*/_jsx(Link1,{height:\"100%\",id:\"SOfGBRF3P\",layoutId:\"SOfGBRF3P\",link:\"linkedin.com/in/miguelromm75\",linkName:\"LinkedIn\",newTab:true,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({QeJX6X79s:{variant:\"Gdntabrge\"},rBqwMuA4u:{variant:\"Gdntabrge\"},TtYmPFjHj:{variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1wiqedf-container\",layoutDependency:layoutDependency,layoutId:\"USQa6MUOG-container\",nodeId:\"USQa6MUOG\",rendersWithMotion:true,scopeId:\"Y16LS2cNe\",children:/*#__PURE__*/_jsx(Link1,{height:\"100%\",id:\"USQa6MUOG\",layoutId:\"USQa6MUOG\",link:\"https://www.instagram.com/miguelromm75/\",linkName:\"Instagram\",newTab:true,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({QeJX6X79s:{variant:\"Gdntabrge\"},rBqwMuA4u:{variant:\"Gdntabrge\"},TtYmPFjHj:{variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-9k1ynt-container\",layoutDependency:layoutDependency,layoutId:\"WowE2gSJZ-container\",nodeId:\"WowE2gSJZ\",rendersWithMotion:true,scopeId:\"Y16LS2cNe\",children:/*#__PURE__*/_jsx(Link1,{height:\"100%\",id:\"WowE2gSJZ\",layoutId:\"WowE2gSJZ\",link:\"https://twitter.com/miguelromm75\",linkName:\"X\",newTab:true,variant:\"douHxv9wE\",width:\"100%\",...addPropertyOverrides({QeJX6X79s:{variant:\"Gdntabrge\"},rBqwMuA4u:{variant:\"Gdntabrge\"},TtYmPFjHj:{variant:\"Gdntabrge\"}},baseVariant,gestureVariant)})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-mkyjX.framer-1n1nh29, .framer-mkyjX .framer-1n1nh29 { display: block; }\",\".framer-mkyjX.framer-1nfsv8j { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 0px; position: relative; width: 1200px; }\",\".framer-mkyjX .framer-az092e { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1600px; overflow: visible; padding: 80px 96px 80px 96px; position: relative; width: 100%; }\",\".framer-mkyjX .framer-zo1qa2 { --framer-custom-cursors: pointer; flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-mkyjX .framer-ii99yo { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: flex-end; overflow: hidden; padding: 0px 0px 0px 300px; position: absolute; right: 100px; top: 50%; width: min-content; z-index: 1; }\",\".framer-mkyjX .framer-1nt2aed-container, .framer-mkyjX .framer-1wiqedf-container, .framer-mkyjX .framer-9k1ynt-container { cursor: pointer; flex: none; height: auto; position: relative; width: auto; }\",\".framer-mkyjX.framer-v-ube46a.framer-1nfsv8j, .framer-mkyjX.framer-v-18gxmay.framer-1nfsv8j { width: 768px; }\",\".framer-mkyjX.framer-v-ube46a .framer-az092e, .framer-mkyjX.framer-v-18gxmay .framer-az092e { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 24px; justify-content: flex-start; padding: 48px 64px 48px 64px; }\",\".framer-mkyjX.framer-v-ube46a .framer-zo1qa2, .framer-mkyjX.framer-v-18gxmay .framer-zo1qa2 { order: 1; }\",\".framer-mkyjX.framer-v-ube46a .framer-ii99yo, .framer-mkyjX.framer-v-18gxmay .framer-ii99yo { gap: 32px; order: 0; padding: 0px; position: relative; right: unset; top: unset; }\",\".framer-mkyjX.framer-v-1m9z29o.framer-1nfsv8j, .framer-mkyjX.framer-v-ltykbe.framer-1nfsv8j { align-content: flex-start; align-items: flex-start; gap: 24px; justify-content: flex-start; width: 375px; }\",\".framer-mkyjX.framer-v-1m9z29o .framer-az092e, .framer-mkyjX.framer-v-ltykbe .framer-az092e { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 16px; justify-content: flex-start; max-width: unset; order: 0; padding: 40px 32px 40px 32px; }\",\".framer-mkyjX.framer-v-1m9z29o .framer-zo1qa2, .framer-mkyjX.framer-v-ltykbe .framer-zo1qa2 { order: 1; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-mkyjX.framer-v-1m9z29o .framer-ii99yo, .framer-mkyjX.framer-v-ltykbe .framer-ii99yo { gap: 24px; order: 0; padding: 0px; position: relative; right: unset; top: unset; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 188\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"osQELfac3\":{\"layout\":[\"fixed\",\"auto\"]},\"tuwDi15gg\":{\"layout\":[\"fixed\",\"auto\"]},\"QeJX6X79s\":{\"layout\":[\"fixed\",\"auto\"]},\"rBqwMuA4u\":{\"layout\":[\"fixed\",\"auto\"]},\"TtYmPFjHj\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerY16LS2cNe=withCSS(Component,css,\"framer-mkyjX\");export default FramerY16LS2cNe;FramerY16LS2cNe.displayName=\"Footer\";FramerY16LS2cNe.defaultProps={height:188,width:1200};addPropertyControls(FramerY16LS2cNe,{variant:{options:[\"ieQu9z9wd\",\"osQELfac3\",\"tuwDi15gg\",\"QeJX6X79s\",\"rBqwMuA4u\",\"TtYmPFjHj\"],optionTitles:[\"Desktop\",\"Tablet\",\"Phone\",\"Desktop - Dark\",\"Tablet - Dark\",\"Phone - Dark\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerY16LS2cNe,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...Link1Fonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerY16LS2cNe\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"osQELfac3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"tuwDi15gg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"QeJX6X79s\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"rBqwMuA4u\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"TtYmPFjHj\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"188\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"1200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Y16LS2cNe.map","import{fontStore as r}from\"framer\";r.loadWebFontsFromSelectors([\"GF;Inter-500\",\"GF;Inter-700\"]);export const fonts=[{family:\"Inter\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",weight:\"500\"},{family:\"Inter\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v13/UcCO3FwrK3iLTeHuS_fvQtMwCp50KnMw2boKoduKmMEVuFuYMZ1rib2Bg-4.woff2\",weight:\"700\"}];export const css=['.framer-7R2KW .framer-styles-preset-k372go:not(.rich-text-wrapper), .framer-7R2KW .framer-styles-preset-k372go.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 32px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.5px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 1024px) { .framer-7R2KW .framer-styles-preset-k372go:not(.rich-text-wrapper), .framer-7R2KW .framer-styles-preset-k372go.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 28px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.5px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }','@media (max-width: 1023px) and (min-width: 0px) { .framer-7R2KW .framer-styles-preset-k372go:not(.rich-text-wrapper), .framer-7R2KW .framer-styles-preset-k372go.rich-text-wrapper h3 { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 24px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-weight: 500; --framer-font-weight-bold: 700; --framer-letter-spacing: -0.4px; --framer-line-height: 150%; --framer-paragraph-spacing: 0px; --framer-text-alignment: start; --framer-text-color: var(--token-5fba9fd4-74fb-4759-83cb-dc420548ed93, #1a1a1a); --framer-text-decoration: none; --framer-text-transform: none; } }'];export const className=\"framer-7R2KW\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b6e2e7c)\nconst valuesByLocaleId={k4pH3sLUh:{v0:\"Miguel Romero - Multimedia & UXUI Designer\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{description:\"Soy un dise\\xf1ador con experiencia en dise\\xf1o UX/UI, dise\\xf1o gr\\xe1fico, motion graphics y proyectos de gamificaci\\xf3n que vive en Madrid.\",favicon:\"https://framerusercontent.com/assets/Hru4vY4uWJJ0eMxJ3qCLoJdUM.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/xrjg8TDVvalwktlsVRbcOG2K0E.png\",title:getLocalizedValue(\"v0\",activeLocale)??\"Miguel Romero - Dise\\xf1ador Multimedia, UXUI y de Gamificaci\\xf3n\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}