{"version":3,"file":"shared-lib.BcYuSGm5.mjs","names":["t","I","e","T","n","r","x","N","R","P","i","s","a","o","C","J","z","G","K","Y","Z","te","u","l","h","c","d","g","p","U","S","L","B","y","c","e","u","m","t","a","f","l","d","p","n","o","r","i","e","metadata","n","a","m","b","i","j","k","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","i","SearchResultTitleType","useRef","useState","useDeferredValue","useCallback","Input","ResultRow","useMemo","ScrollView","React","useState","x","y","Overlay","EntryPoint","useRef","useState","useCallback","useRef","useState","TimeDate","Search","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","className","Image","RichText"],"sources":["https:/framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI-0.js","https:/framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI-1.js","https:/framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js","https:/framerusercontent.com/modules/fn38oUT6HOyASsCzJP0l/F8jp3VeIENpeDbmP1meU/XjJLu7PZu.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/HYcHVPAbe8jLEeU7c4mp/QiycTxX7vdblEOi3o00G/Time.js","https:/framerusercontent.com/modules/E4sZVleD4ubZ5UcJpHWp/6CjXnBqBCSYQTFklEeD2/WqI0Nr5_d.js","https:/framerusercontent.com/modules/eiT73CXT3fF7R3HpOimE/lTFD4prz0uY7raAeDNOc/siteMetadata.js"],"sourcesContent":["var t,e=Object.create,r=Object.defineProperty,n=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(t,e,n)=>e in t?r(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,u=(t,e)=>function(){return e||(0,t[i(t)[0]])((e={exports:{}}).exports,e),e.exports;},l=(t,e,s,o)=>{if(e&&\"object\"==typeof e||\"function\"==typeof e)for(let u of i(e))a.call(t,u)||u===s||r(t,u,{get:()=>e[u],enumerable:!(o=n(e,u))||o.enumerable});return t;},h=(t,n,i)=>(i=null!=t?e(s(t)):{},l(// If the importer is in node compatibility mode or this is not an ESM\n    // file that has been converted to a CommonJS file using a Babel-\n    // compatible transform (i.e. \"__esModule\" has not been set), then set\n    // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n    !n&&t&&t.__esModule?i:r(i,\"default\",{value:t,enumerable:!0}),t)),c=(t,e,r)=>o(t,\"symbol\"!=typeof e?e+\"\":e,r),f=u({\"../../../node_modules/dataloader/index.js\"(t,e){var r,n=/* @__PURE__ */function(){function t(t,e){if(\"function\"!=typeof t)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but got: \"+t+\".\");this._batchLoadFn=t,this._maxBatchSize=function(t){if(!(!t||!1!==t.batch))return 1;var e=t&&t.maxBatchSize;if(void 0===e)return 1/0;if(\"number\"!=typeof e||e<1)throw TypeError(\"maxBatchSize must be a positive number: \"+e);return e;}(e),this._batchScheduleFn=function(t){var e=t&&t.batchScheduleFn;if(void 0===e)return i;if(\"function\"!=typeof e)throw TypeError(\"batchScheduleFn must be a function: \"+e);return e;}(e),this._cacheKeyFn=function(t){var e=t&&t.cacheKeyFn;if(void 0===e)return function(t){return t;};if(\"function\"!=typeof e)throw TypeError(\"cacheKeyFn must be a function: \"+e);return e;}(e),this._cacheMap=function(t){if(!(!t||!1!==t.cache))return null;var e=t&&t.cacheMap;if(void 0===e)return /* @__PURE__ */new Map;if(null!==e){var r=[\"get\",\"set\",\"delete\",\"clear\"].filter(function(t){return e&&\"function\"!=typeof e[t];});if(0!==r.length)throw TypeError(\"Custom cacheMap missing methods: \"+r.join(\", \"));}return e;}(e),this._batch=null,this.name=e&&e.name?e.name:null;}var e=t.prototype;return e.load=function(t){if(null==t)throw TypeError(\"The loader.load() function must be called with a value, but got: \"+String(t)+\".\");var e=function(t){var e=t._batch;if(null!==e&&!e.hasDispatched&&e.keys.length<t._maxBatchSize)return e;var r={hasDispatched:!1,keys:[],callbacks:[]};return t._batch=r,t._batchScheduleFn(function(){(function(t,e){var r;if(e.hasDispatched=!0,0===e.keys.length){a(e);return;}try{r=t._batchLoadFn(e.keys);}catch(r){return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function errored synchronously: \"+String(r)+\".\"));}if(!r||\"function\"!=typeof r.then)return s(t,e,TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise: \"+String(r)+\".\"));r.then(function(t){if(!o(t))throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array: \"+String(t)+\".\");if(t.length!==e.keys.length)throw TypeError(\"DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array of the same length as the Array of keys.\\n\\nKeys:\\n\"+String(e.keys)+\"\\n\\nValues:\\n\"+String(t));a(e);for(var r=0;r<e.callbacks.length;r++){var n=t[r];n instanceof Error?e.callbacks[r].reject(n):e.callbacks[r].resolve(n);}}).catch(function(r){s(t,e,r);});})(t,r);}),r;}(this),r=this._cacheMap,n=this._cacheKeyFn(t);if(r){var i=r.get(n);if(i){var u=e.cacheHits||(e.cacheHits=[]);return new Promise(function(t){u.push(function(){t(i);});});}}e.keys.push(t);var l=new Promise(function(t,r){e.callbacks.push({resolve:t,reject:r});});return r&&r.set(n,l),l;},e.loadMany=function(t){if(!o(t))throw TypeError(\"The loader.loadMany() function must be called with Array<key> but got: \"+t+\".\");for(var e=[],r=0;r<t.length;r++)e.push(this.load(t[r]).catch(function(t){return t;}));return Promise.all(e);},e.clear=function(t){var e=this._cacheMap;if(e){var r=this._cacheKeyFn(t);e.delete(r);}return this;},e.clearAll=function(){var t=this._cacheMap;return t&&t.clear(),this;},e.prime=function(t,e){var r=this._cacheMap;if(r){var n,i=this._cacheKeyFn(t);void 0===r.get(i)&&(e instanceof Error?(n=Promise.reject(e)).catch(function(){}):n=Promise.resolve(e),r.set(i,n));}return this;},t;}(),i=\"object\"==typeof process&&\"function\"==typeof process.nextTick?function(t){r||(r=Promise.resolve()),r.then(function(){process.nextTick(t);});}:\"function\"==typeof setImmediate?function(t){setImmediate(t);}:function(t){setTimeout(t);};function s(t,e,r){a(e);for(var n=0;n<e.keys.length;n++)t.clear(e.keys[n]),e.callbacks[n].reject(r);}function a(t){if(t.cacheHits)for(var e=0;e<t.cacheHits.length;e++)t.cacheHits[e]();}function o(t){return\"object\"==typeof t&&null!==t&&\"number\"==typeof t.length&&(0===t.length||t.length>0&&Object.prototype.hasOwnProperty.call(t,t.length-1));}e.exports=n;}}),d=h(f(),1),g={Uint8:1,Uint16:2,Uint32:4,BigUint64:8,Int8:1,Int16:2,Int32:4,BigInt64:8,Float32:4,Float64:8},p=class{getOffset(){return this.offset;}ensureLength(t){let e=this.bytes.length;if(!(this.offset+t<=e))throw Error(\"Reading out of bounds\");}readUint8(){let t=g.Uint8;this.ensureLength(t);let e=this.view.getUint8(this.offset);return this.offset+=t,e;}readUint16(){let t=g.Uint16;this.ensureLength(t);let e=this.view.getUint16(this.offset);return this.offset+=t,e;}readUint32(){let t=g.Uint32;this.ensureLength(t);let e=this.view.getUint32(this.offset);return this.offset+=t,e;}readUint64(){let t=this.readBigUint64();return Number(t);}readBigUint64(){let t=g.BigUint64;this.ensureLength(t);let e=this.view.getBigUint64(this.offset);return this.offset+=t,e;}readInt8(){let t=g.Int8;this.ensureLength(t);let e=this.view.getInt8(this.offset);return this.offset+=t,e;}readInt16(){let t=g.Int16;this.ensureLength(t);let e=this.view.getInt16(this.offset);return this.offset+=t,e;}readInt32(){let t=g.Int32;this.ensureLength(t);let e=this.view.getInt32(this.offset);return this.offset+=t,e;}readInt64(){let t=this.readBigInt64();return Number(t);}readBigInt64(){let t=g.BigInt64;this.ensureLength(t);let e=this.view.getBigInt64(this.offset);return this.offset+=t,e;}readFloat32(){let t=g.Float32;this.ensureLength(t);let e=this.view.getFloat32(this.offset);return this.offset+=t,e;}readFloat64(){let t=g.Float64;this.ensureLength(t);let e=this.view.getFloat64(this.offset);return this.offset+=t,e;}readBytes(t){let e=this.offset,r=e+t,n=this.bytes.subarray(e,r);return this.offset=r,n;}readString(){let t=this.readUint32(),e=this.readBytes(t);return this.decoder.decode(e);}readJson(){let t=this.readString();return JSON.parse(t);}constructor(t){this.bytes=t,c(this,\"offset\",0),c(this,\"view\"),c(this,\"decoder\",new TextDecoder),this.view=v(this.bytes);}};function v(t){return new DataView(t.buffer,t.byteOffset,t.byteLength);}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nimport{ControlType as y}from\"framer\";// ../../library/src/utils/utils.ts\nvar m=\"undefined\"!=typeof window,w=m&&\"function\"==typeof window.requestIdleCallback;// src/code-generation/components/cms/bundled/assert.ts\nfunction I(t,...e){if(!t)throw Error(\"Assertion Error\"+(e.length>0?\": \"+e.join(\" \"):\"\"));}function b(t){throw Error(`Unexpected value: ${t}`);}// src/code-generation/components/cms/bundled/BufferWriter.ts\nvar U=1024,S=1.5,k=t=>2**t-1,L=t=>-(2**(t-1)),B=t=>2**(t-1)-1,E={Uint8:0,Uint16:0,Uint32:0,Uint64:0,BigUint64:0,Int8:L(8),Int16:L(16),Int32:L(32),Int64:Number.MIN_SAFE_INTEGER,BigInt64:-(BigInt(2)**BigInt(63))},M={Uint8:k(8),Uint16:k(16),Uint32:k(32),Uint64:Number.MAX_SAFE_INTEGER,BigUint64:BigInt(2)**BigInt(64)-BigInt(1),Int8:B(8),Int16:B(16),Int32:B(32),Int64:Number.MAX_SAFE_INTEGER,BigInt64:BigInt(2)**BigInt(63)-BigInt(1)};function T(t,e,r,n){I(t>=e,t,\"outside lower bound for\",n),I(t<=r,t,\"outside upper bound for\",n);}var F=class{getOffset(){return this.offset;}slice(t=0,e=this.offset){return this.bytes.slice(t,e);}subarray(t=0,e=this.offset){return this.bytes.subarray(t,e);}ensureLength(t){let e=this.bytes.length;if(this.offset+t<=e)return;let r=new Uint8Array(Math.ceil(e*S)+t);r.set(this.bytes),this.bytes=r,this.view=v(r);}writeUint8(t){T(t,E.Uint8,M.Uint8,\"Uint8\");let e=g.Uint8;this.ensureLength(e),this.view.setUint8(this.offset,t),this.offset+=e;}writeUint16(t){T(t,E.Uint16,M.Uint16,\"Uint16\");let e=g.Uint16;this.ensureLength(e),this.view.setUint16(this.offset,t),this.offset+=e;}writeUint32(t){T(t,E.Uint32,M.Uint32,\"Uint32\");let e=g.Uint32;this.ensureLength(e),this.view.setUint32(this.offset,t),this.offset+=e;}writeUint64(t){T(t,E.Uint64,M.Uint64,\"Uint64\");let e=BigInt(t);this.writeBigUint64(e);}writeBigUint64(t){T(t,E.BigUint64,M.BigUint64,\"BigUint64\");let e=g.BigUint64;this.ensureLength(e),this.view.setBigUint64(this.offset,t),this.offset+=e;}writeInt8(t){T(t,E.Int8,M.Int8,\"Int8\");let e=g.Int8;this.ensureLength(e),this.view.setInt8(this.offset,t),this.offset+=e;}writeInt16(t){T(t,E.Int16,M.Int16,\"Int16\");let e=g.Int16;this.ensureLength(e),this.view.setInt16(this.offset,t),this.offset+=e;}writeInt32(t){T(t,E.Int32,M.Int32,\"Int32\");let e=g.Int32;this.ensureLength(e),this.view.setInt32(this.offset,t),this.offset+=e;}writeInt64(t){T(t,E.Int64,M.Int64,\"Int64\");let e=BigInt(t);this.writeBigInt64(e);}writeBigInt64(t){T(t,E.BigInt64,M.BigInt64,\"BigInt64\");let e=g.BigInt64;this.ensureLength(e),this.view.setBigInt64(this.offset,t),this.offset+=e;}writeFloat32(t){let e=g.Float32;this.ensureLength(e),this.view.setFloat32(this.offset,t),this.offset+=e;}writeFloat64(t){let e=g.Float64;this.ensureLength(e),this.view.setFloat64(this.offset,t),this.offset+=e;}writeBytes(t){let e=t.length;this.ensureLength(e),this.bytes.set(t,this.offset),this.offset+=e;}encodeString(t){let e=this.encodedStrings.get(t);if(e)return e;let r=this.encoder.encode(t);return this.encodedStrings.set(t,r),r;}writeString(t){let e=this.encodeString(t),r=e.length;this.writeUint32(r),this.writeBytes(e);}writeJson(t){let e=JSON.stringify(t);this.writeString(e);}constructor(){c(this,\"offset\",0),c(this,\"bytes\",new Uint8Array(U)),c(this,\"view\",v(this.bytes)),c(this,\"encoder\",new TextEncoder),c(this,\"encodedStrings\",/* @__PURE__ */new Map);}};// src/utils/typeChecks.ts\nfunction x(t){return\"string\"==typeof t;}function N(t){return Number.isFinite(t);}function A(t){return null===t;}// src/code-generation/components/cms/bundled/models/DatabaseItemPointerModel.ts\nvar O=class t{static fromString(e){let[r,n,i]=e.split(\"/\").map(Number);return I(N(r),\"Invalid chunkId\"),I(N(n),\"Invalid offset\"),I(N(i),\"Invalid length\"),new t(r,n,i);}toString(){return`${this.chunkId}/${this.offset}/${this.length}`;}static read(e){let r=e.readUint16(),n=e.readUint32(),i=e.readUint32();return new t(r,n,i);}write(t){t.writeUint16(this.chunkId),t.writeUint32(this.offset),t.writeUint32(this.length);}compare(t){return this.chunkId<t.chunkId?-1:this.chunkId>t.chunkId?1:this.offset<t.offset?-1:this.offset>t.offset?1:(I(this.length===t.length),0);}constructor(t,e,r){this.chunkId=t,this.offset=e,this.length=r;}};// src/code-generation/components/cms/bundled/models/DatabaseValueModel.ts\nimport{ControlType as P}from\"framer\";function R(t){if(A(t))return 0/* Null */;switch(t.type){case P.Array:return 1/* Array */;case P.Boolean:return 2/* Boolean */;case P.Color:return 3/* Color */;case P.Date:return 4/* Date */;case P.Enum:return 5/* Enum */;case P.File:return 6/* File */;case P.ResponsiveImage:return 10/* ResponsiveImage */;case P.Link:return 7/* Link */;case P.Number:return 8/* Number */;case P.Object:return 9/* Object */;case P.RichText:return 11/* RichText */;case P.String:return 12/* String */;case P.VectorSetItem:return 13/* VectorSetItem */;default:b(t);}}function q(e){let r=e.readUint16(),n=[];for(let i=0;i<r;i++){let r=t.read(e);n.push(r);}return{type:P.Array,value:n};}function _(e,r){for(let n of(e.writeUint16(r.value.length),r.value))t.write(e,n);}function D(e,r,n){let i=e.value.length,s=r.value.length;if(i<s)return -1;if(i>s)return 1;for(let s=0;s<i;s++){let i=e.value[s],a=r.value[s],o=t.compare(i,a,n);if(0!==o)return o;}return 0;}function j(t){return{type:P.Boolean,value:0!==t.readUint8()};}function C(t,e){t.writeUint8(e.value?1:0);}function J(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function V(t){return{type:P.Color,value:t.readString()};}function W(t,e){t.writeString(e.value);}function $(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function z(t){let e=t.readInt64(),r=new Date(e);return{type:P.Date,value:r.toISOString()};}function G(t,e){let r=new Date(e.value),n=r.getTime();t.writeInt64(n);}function K(t,e){let r=new Date(t.value),n=new Date(e.value);return r<n?-1:r>n?1:0;}function H(t){return{type:P.Enum,value:t.readString()};}function X(t,e){t.writeString(e.value);}function Q(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function Y(t){return{type:P.File,value:t.readString()};}function Z(t,e){t.writeString(e.value);}function tt(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function te(t){return{type:P.Link,value:t.readJson()};}function tr(t,e){t.writeJson(e.value);}function tn(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function ti(t){return{type:P.Number,value:t.readFloat64()};}function ts(t,e){t.writeFloat64(e.value);}function ta(t,e){return t.value<e.value?-1:t.value>e.value?1:0;}function to(e){let r=e.readUint16(),n={};for(let i=0;i<r;i++){let r=e.readString();n[r]=t.read(e);}return{type:P.Object,value:n};}function tu(e,r){let n=Object.entries(r.value);for(let[r,i]of(e.writeUint16(n.length),n))e.writeString(r),t.write(e,i);}function tl(e,r,n){let i=Object.keys(e.value).sort(),s=Object.keys(r.value).sort();if(i.length<s.length)return -1;if(i.length>s.length)return 1;for(let a=0;a<i.length;a++){let o=i[a],u=s[a];if(o<u)return -1;if(o>u)return 1;let l=e.value[o]??null,h=r.value[u]??null,c=t.compare(l,h,n);if(0!==c)return c;}return 0;}function th(t){return{type:P.ResponsiveImage,value:t.readJson()};}function tc(t,e){t.writeJson(e.value);}function tf(t,e){let r=JSON.stringify(t.value),n=JSON.stringify(e.value);return r<n?-1:r>n?1:0;}function td(t){let e=t.readInt8();if(0===e)return{type:P.RichText,value:t.readUint32()};if(1===e)return{type:P.RichText,value:t.readString()};throw Error(\"Invalid rich text pointer\");}function tg(t,e){if(N(e.value)){t.writeInt8(0),t.writeUint32(e.value);return;}if(x(e.value)){t.writeInt8(1),t.writeString(e.value);return;}throw Error(\"Invalid rich text pointer\");}function tp(t,e){let r=t.value,n=e.value;if(N(r)&&N(n)||x(r)&&x(n))return r<n?-1:r>n?1:0;throw Error(\"Invalid rich text pointer\");}function tv(t){return{type:P.String,value:t.readString()};}function ty(t,e){t.writeString(e.value);}function tm(t,e,r){let n=t.value,i=e.value;return(0/* CaseInsensitive */===r.type&&(n=t.value.toLowerCase(),i=e.value.toLowerCase()),n<i)?-1:n>i?1:0;}function tw(t){return{type:P.VectorSetItem,value:t.readUint32()};}function tI(t,e){t.writeUint32(e.value);}function tb(t,e){let r=t.value,n=e.value;return r<n?-1:r>n?1:0;}(t=>{t.read=function(t){let e=t.readUint8();switch(e){case 0/* Null */:return null;case 1/* Array */:return q(t);case 2/* Boolean */:return j(t);case 3/* Color */:return V(t);case 4/* Date */:return z(t);case 5/* Enum */:return H(t);case 6/* File */:return Y(t);case 7/* Link */:return te(t);case 8/* Number */:return ti(t);case 9/* Object */:return to(t);case 10/* ResponsiveImage */:return th(t);case 11/* RichText */:return td(t);case 12/* String */:return tv(t);case 13/* VectorSetItem */:return tw(t);default:b(e);}},t.write=function(t,e){let r=R(e);if(t.writeUint8(r),!A(e))switch(e.type){case P.Array:return _(t,e);case P.Boolean:return C(t,e);case P.Color:return W(t,e);case P.Date:return G(t,e);case P.Enum:return X(t,e);case P.File:return Z(t,e);case P.Link:return tr(t,e);case P.Number:return ts(t,e);case P.Object:return tu(t,e);case P.ResponsiveImage:return tc(t,e);case P.RichText:return tg(t,e);case P.VectorSetItem:return tI(t,e);case P.String:return ty(t,e);default:b(e);}},t.compare=function(t,e,r){let n=R(t),i=R(e);if(n<i)return -1;if(n>i)return 1;if(A(t)||A(e))return 0;switch(t.type){case P.Array:return I(e.type===P.Array),D(t,e,r);case P.Boolean:return I(e.type===P.Boolean),J(t,e);case P.Color:return I(e.type===P.Color),$(t,e);case P.Date:return I(e.type===P.Date),K(t,e);case P.Enum:return I(e.type===P.Enum),Q(t,e);case P.File:return I(e.type===P.File),tt(t,e);case P.Link:return I(e.type===P.Link),tn(t,e);case P.Number:return I(e.type===P.Number),ta(t,e);case P.Object:return I(e.type===P.Object),tl(t,e,r);case P.ResponsiveImage:return I(e.type===P.ResponsiveImage),tf(t,e);case P.RichText:return I(e.type===P.RichText),tp(t,e);case P.VectorSetItem:return I(e.type===P.VectorSetItem),tb(t,e);case P.String:return I(e.type===P.String),tm(t,e,r);default:b(t);}};})(t||(t={}));// src/code-generation/components/cms/bundled/models/DatabaseDictionaryIndexModel.ts\nvar tU=class e{sortEntries(){this.entries.sort((e,r)=>{for(let n=0;n<this.fieldNames.length;n++){let i=e.values[n],s=r.values[n],a=t.compare(i,s,this.options.collation);if(0!==a)return a;}return e.pointer.compare(r.pointer);});}static deserialize(r){let n=new p(r),i=n.readJson(),s=n.readUint8(),a=[];for(let t=0;t<s;t++){let t=n.readString();a.push(t);}let o=new e(a,{collation:i}),u=n.readUint32();for(let e=0;e<u;e++){let e=[];for(let r=0;r<s;r++){let r=t.read(n);e.push(r);}let r=O.read(n);o.entries.push({values:e,pointer:r});}return o;}serialize(){let e=new F;for(let t of(e.writeJson(this.options.collation),e.writeUint8(this.fieldNames.length),this.fieldNames))e.writeString(t);for(let r of(this.sortEntries(),e.writeUint32(this.entries.length),this.entries)){let{values:n,pointer:i}=r;for(let r of n)t.write(e,r);i.write(e);}return e.subarray();}addItem(t,e){let r=this.fieldNames.map(e=>t.getField(e)??null);this.entries.push({values:r,pointer:e});}constructor(t,e){this.fieldNames=t,this.options=e,c(this,\"entries\",[]);}},tS=3,tk=250,tL=[408,// Request Timeout\n429,// Too Many Requests\n500,// Internal Server Error\n502,// Bad Gateway\n503,// Service Unavailable\n504],tB=async(t,e)=>{let r=0;for(;;){try{let n=await fetch(t,e);if(!tL.includes(n.status)||++r>tS)return n;}catch(t){if(e?.signal?.aborted||++r>tS)throw t;}await tE(r);}};async function tE(t){let e=Math.floor(tk*(Math.random()+1)*2**(t-1));await new Promise(t=>{setTimeout(t,e);});}// src/code-generation/components/cms/bundled/rangeRequest.ts\nasync function tM(t,e){let r=tx(e),n=[],i=0;for(let t of r)n.push(`${t.from}-${t.to-1}`),i+=t.to-t.from;let s=new URL(t),a=n.join(\",\");s.searchParams.set(\"range\",a);let o=await tB(s);if(200!==o.status)throw Error(`Request failed: ${o.status} ${o.statusText}`);let u=await o.arrayBuffer(),l=new Uint8Array(u);if(l.length!==i)throw Error(\"Request failed: Unexpected response length\");let h=new tT,c=0;for(let t of r){let e=t.to-t.from,r=c+e,n=l.subarray(c,r);h.write(t.from,n),c=r;}return e.map(t=>h.read(t.from,t.to-t.from));}var tT=class{read(t,e){for(let r of this.chunks){if(t<r.start)break;if(t>r.end)continue;if(t+e>r.end)break;let n=t-r.start,i=n+e;return r.data.slice(n,i);}throw Error(\"Missing data\");}write(t,e){let r=t,n=r+e.length,i=0,s=this.chunks.length;for(;i<s;i++){let t=this.chunks[i];if(I(t,\"Missing chunk\"),!(r>t.end)){if(r>t.start){let n=r-t.start,i=t.data.subarray(0,n);e=tF(i,e),r=t.start;}break;}}for(;s>i;s--){let t=this.chunks[s-1];if(I(t,\"Missing chunk\"),!(n<t.start)){if(n<t.end){let r=n-t.start,i=t.data.subarray(r);e=tF(e,i),n=t.end;}break;}}let a={start:r,end:n,data:e},o=s-i;this.chunks.splice(i,o,a);}constructor(){c(this,\"chunks\",[]);}};function tF(t,e){let r=t.length+e.length,n=new Uint8Array(r);return n.set(t,0),n.set(e,t.length),n;}function tx(t){I(t.length>0,\"Must have at least one range\");let e=[...t].sort((t,e)=>t.from-e.from),r=[];for(let t of e){let e=r.length-1,n=r[e];n&&t.from<=n.to?r[e]={from:n.from,to:Math.max(n.to,t.to)}:r.push(t);}return r;}// src/code-generation/components/cms/bundled/DatabaseDictionaryIndex.ts\nvar tN=class{async loadModel(){let[t]=await tM(this.options.url,[this.options.range]);return I(t,\"Failed to load model\"),tU.deserialize(t);}async getModel(){return this.modelPromise??=this.loadModel(),this.model??=await this.modelPromise,this.model;}async lookupItems(t){I(t.length===this.fields.length,\"Invalid query length\");let e=await this.getModel(),r=t.reduce((t,e,r)=>t.flatMap(t=>{switch(e.type){case\"All\"/* All */:return[t];case\"Equals\"/* Equals */:return this.queryEquals(t,e,r);case\"NotEquals\"/* NotEquals */:return this.queryNotEquals(t,e,r);case\"LessThan\"/* LessThan */:return this.queryLessThan(t,e,r);case\"GreaterThan\"/* GreaterThan */:return this.queryGreaterThan(t,e,r);case\"Contains\"/* Contains */:return this.queryContains(t,e,r);case\"StartsWith\"/* StartsWith */:return this.queryStartsWith(t,e,r);case\"EndsWith\"/* EndsWith */:return this.queryEndsWith(t,e,r);default:b(e);}}),[e.entries]),n=[];for(let t of r)for(let e of t){let t={};for(let r=0;r<this.options.fieldNames.length;r++){let n=this.options.fieldNames[r],i=e.values[r];t[n]=i;}n.push({pointer:e.pointer.toString(),data:t});}return n;}queryEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=t.slice(n,i+1);return s.length>0?[s]:[];}queryNotEquals(t,e,r){let n=this.getLeftMost(t,r,e.value),i=this.getRightMost(t,r,e.value),s=[],a=t.slice(0,n);a.length>0&&s.push(a);let o=t.slice(i+1);return o.length>0&&s.push(o),s;}queryLessThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getRightMost(t,r,e.value),i=t.slice(0,n+1);return i.length>0?[i]:[];}let i=this.getLeftMost(t,r,e.value),s=t.slice(0,i);return s.length>0?[s]:[];}queryGreaterThan(t,e,r){let n=this.getRightMost(t,r,null);if(t=t.slice(n+1),e.inclusive){let n=this.getLeftMost(t,r,e.value),i=t.slice(n);return i.length>0?[i]:[];}let i=this.getRightMost(t,r,e.value),s=t.slice(i+1);return s.length>0?[s]:[];}queryContains(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.includes(n);});}queryStartsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.startsWith(n);});}queryEndsWith(t,e,r){return this.findItems(t,r,t=>{if(t?.type!==y.String||e.value?.type!==y.String)return!1;let r=t.value,n=e.value.value;return 0/* CaseInsensitive */===this.collation.type&&(r=r.toLowerCase(),n=n.toLowerCase()),r.endsWith(n);});}/**\n   * Returns the index of the left most entry that is equal to the target.\n   *\n   * ```text\n   *   Left most\n   *       ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the left most entry that is equal to the target.\n   */getLeftMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];0>t.compare(u,n,this.collation)?i=a+1:s=a;}return i;}/**\n   * Returns the index of the right most entry that is equal to the target.\n   *\n   * ```text\n   *              Right most\n   *                   ↓\n   * ┌───┬───┬───┬───┬───┬───┐\n   * │ 1 │ 2 │ 2 │ 2 │ 2 │ 3 │\n   * └───┴───┴───┴───┴───┴───┘\n   * ```\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param target The target value to search for.\n   * @returns The index of the right most entry that is equal to the target.\n   */getRightMost(e,r,n){let i=0,s=e.length;for(;i<s;){let a=i+s>>1,o=e[a],u=o.values[r];t.compare(u,n,this.collation)>0?s=a:i=a+1;}return s-1;}/**\n   * Finds all items that are matching the predicate and groups adjacent items together.\n   *\n   * @param entries The entries array to search in.\n   * @param position The position of the value in the entry.\n   * @param predicate The predicate to match the values against.\n   * @returns An array of chunks that match the predicate.\n   */findItems(t,e,r){let n=[],i=0;for(let s=0;s<t.length;s++){let a=t[s],o=a.values[e],u=r(o);if(!u){if(i<s){let e=t.slice(i,s);n.push(e);}i=s+1;}}if(i<t.length){let e=t.slice(i);n.push(e);}return n;}constructor(t){this.options=t,c(this,\"schema\"),c(this,\"fields\"),c(this,\"supportedLookupTypes\",[\"All\"/* All */,\"Equals\"/* Equals */,\"NotEquals\"/* NotEquals */,\"LessThan\"/* LessThan */,\"GreaterThan\"/* GreaterThan */,\"Contains\"/* Contains */,\"StartsWith\"/* StartsWith */,\"EndsWith\"/* EndsWith */]),c(this,\"modelPromise\"),c(this,\"model\"),c(this,\"collation\");let e={},r=[];for(let t of this.options.fieldNames){let n=this.options.collectionSchema[t];I(n,\"Missing definition for field\",t),e[t]=n,r.push({type:\"Identifier\",name:t});}this.schema=e,this.fields=r,this.collation=this.options.collation;}},tA=class e{static read(r){let n=new e,i=r.readUint16();for(let e=0;e<i;e++){let e=r.readString(),i=t.read(r);n.setField(e,i);}return n;}write(e){for(let[r,n]of(e.writeUint16(this.fields.size),this.fields))e.writeString(r),t.write(e,n);}getData(){let t={};for(let[e,r]of this.fields)t[e]=r;return t;}setField(t,e){this.fields.set(t,e);}getField(t){return this.fields.get(t);}constructor(){c(this,\"fields\",/* @__PURE__ */new Map);}},tO=class{scanItems(){return this.itemsPromise??=tB(this.url).then(async t=>{if(!t.ok)throw Error(`Request failed: ${t.status} ${t.statusText}`);let e=await t.arrayBuffer(),r=new Uint8Array(e),n=new p(r),i=[],s=n.readUint32();for(let t=0;t<s;t++){let t=n.getOffset(),e=tA.read(n),r=n.getOffset()-t,s=new O(this.id,t,r),a=s.toString(),o={pointer:a,data:e.getData()};this.itemLoader.prime(a,o),i.push(o);}return i;}),this.itemsPromise;}resolveItem(t){return this.itemLoader.load(t);}constructor(t,e){this.id=t,this.url=e,c(this,\"itemsPromise\"),c(this,\"itemLoader\",new d.default(async t=>{let e=t.map(t=>{let e=O.fromString(t);return{from:e.offset,to:e.offset+e.length};}),r=await tM(this.url,e);return r.map((e,r)=>{let n=new p(e),i=tA.read(n),s=t[r];return I(s,\"Missing pointer\"),{pointer:s,data:i.getData()};});},{maxBatchSize:250}));}},tP=class{async scanItems(){let t=await Promise.all(this.chunks.map(async t=>t.scanItems()));return t.flat();}resolveItems(t){return Promise.all(t.map(t=>{let e=O.fromString(t),r=this.chunks[e.chunkId];return I(r,\"Missing chunk\"),r.resolveItem(t);}));}compareItems(t,e){let r=O.fromString(t.pointer),n=O.fromString(e.pointer);return r.compare(n);}compareValues(e,r,n){return t.compare(e,r,n);}constructor(t){this.options=t,c(this,\"id\"),c(this,\"schema\"),c(this,\"indexes\"),c(this,\"resolveRichText\"),c(this,\"resolveVectorSetItem\"),c(this,\"chunks\"),this.chunks=this.options.chunks.map((t,e)=>new tO(e,t)),this.schema=t.schema,this.indexes=t.indexes,this.resolveRichText=t.resolveRichText,this.resolveVectorSetItem=t.resolveVectorSetItem,this.id=t.id;}};export{tP as DatabaseCollection,tN as DatabaseDictionaryIndex};\nexport const __FramerMetadata__ = {\"exports\":{\"DatabaseCollection\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DatabaseDictionaryIndex\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{jsx as e}from\"react/jsx-runtime\";import{AutoBreakpointVariant as t,ComponentPresetsConsumer as r,Link as n,motion as o}from\"framer\";// ../../library/src/router/lazy.tsx\nimport{isValidElement as i}from\"react\";// ../../library/src/utils/utils.ts\nvar a,l=\"undefined\"!=typeof window,f=l&&\"function\"==typeof window.requestIdleCallback,u=\"preload\";function c(e){return\"object\"==typeof e&&null!==e&&!/*#__PURE__*/i(e)&&u in e;}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nimport{Fragment as p,createElement as s}from\"react\";// src/code-generation/components/cms/bundled/assert.ts\nfunction m(e,...t){if(!e)throw Error(\"Assertion Error\"+(t.length>0?\": \"+t.join(\" \"):\"\"));}// src/code-generation/components/cms/bundled/getRichTextJsonResolver.tsx?bundle\nvar d=((a=d||{})[a.Fragment=1]=\"Fragment\",a[a.Link=2]=\"Link\",a[a.Module=3]=\"Module\",a[a.Tag=4]=\"Tag\",a[a.Text=5]=\"Text\",a);function g(i){let a=/* @__PURE__ */new Map;return l=>{let f=a.get(l);if(f)return f;let u=JSON.parse(l),d=function a(l){switch(l[0]){case 1/* Fragment */:{let[,...e]=l,t=e.map(a);return /*#__PURE__*/s(p,void 0,...t);}case 2/* Link */:{let[,e,...t]=l,r=t.map(a);return /*#__PURE__*/s(n,e,...r);}case 3/* Module */:{let[,n,o,f,u]=l;for(let e of f){let t=o[e];t&&(o[e]=a(t));}for(let e of u){let t=o[e];if(\"string\"!=typeof t)continue;let r=i[t];r&&(c(r)&&r.preload(),o[e]=r);}let p=i[n];return m(p,\"Module not found\"),c(p)&&p.preload(),/*#__PURE__*/e(r,{componentIdentifier:n,children:r=>/*#__PURE__*/e(t,{component:p,props:{...r,...o}})});}case 4/* Tag */:{let[,e,t,...r]=l,n=r.map(a);if(\"a\"===e)return /*#__PURE__*/s(o.a,t,...n);return /*#__PURE__*/s(e,t,...n);}case 5/* Text */:{let[,e]=l;return e;}}}(u);return a.set(l,d),d;};}export{d as RichTextJsonType,g as getRichTextJsonResolver};\nexport const __FramerMetadata__ = {\"exports\":{\"RichTextJsonType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRichTextJsonResolver\":{\"type\":\"reactComponent\",\"name\":\"getRichTextJsonResolver\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca3d35)\nimport{addPropertyControls as e,ControlType as t,lazy as l,QueryEngine as a}from\"framer\";import{DatabaseCollection as r,DatabaseDictionaryIndex as i}from\"./cGTpCtzyI-0.js\";import{getRichTextJsonResolver as o}from\"./cGTpCtzyI-1.js\";let m=l(()=>import(\"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/4sbLnuatuUfmOTwFGSJM/YouTube.js\"),\"Youtube\"),c={createdAt:{isNullable:!0,type:t.Date},GTxc9pi3Y:{isNullable:!0,type:t.ResponsiveImage},id:{isNullable:!1,type:t.String},jexT70NH1:{isNullable:!0,type:t.String},MQBKEpGB4:{isNullable:!0,type:t.String},nDHya6lLS:{definition:{isNullable:!0,type:t.String},isNullable:!0,type:t.Array},nextItemId:{isNullable:!0,type:t.String},nYK8KXjeJ:{isNullable:!0,type:t.String},previousItemId:{isNullable:!0,type:t.String},SALdRkjml:{isNullable:!0,type:t.RichText},sKQ5ch4g8:{isNullable:!0,type:t.RichText},updatedAt:{isNullable:!0,type:t.Date},VkrJ032Yz:{isNullable:!0,type:t.String},xvnDp3Fek:{isNullable:!0,type:t.ResponsiveImage},yJIQVsDm5:{isNullable:!0,type:t.Date},zKvofR5eP:{isNullable:!0,type:t.String}},n=[\"id\"],u={type:1},d=[\"previousItemId\"],s=[\"nextItemId\"],p=[\"id\",\"MQBKEpGB4\"],f=[\"MQBKEpGB4\",\"id\"],y=[\"MQBKEpGB4\"],I={type:0},h=[\"nYK8KXjeJ\"],g=[\"SALdRkjml\"],w=[\"GTxc9pi3Y\"],S=[\"VkrJ032Yz\"],N=[\"jexT70NH1\"],x=[\"xvnDp3Fek\"],R=[\"zKvofR5eP\"],T=[\"yJIQVsDm5\"],G=[\"sKQ5ch4g8\"],C=[\"nDHya6lLS\"],L=[],z=e=>{let t=L[e];if(t)return t().then(e=>e.default);},b={\"module:NEd4VmDdsxM3StIUbddO/4sbLnuatuUfmOTwFGSJM/YouTube.js:Youtube\":m},B=o(b),U=new a,K={collectionByLocaleId:{default:new r({chunks:[new URL(\"./cGTpCtzyI-chunk-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")],id:\"10ac82d4-2891-477c-a399-d65f02c62824default\",indexes:[new i({collation:u,collectionSchema:c,fieldNames:n,range:{from:0,to:10825},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:u,collectionSchema:c,fieldNames:d,range:{from:10825,to:21649},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:u,collectionSchema:c,fieldNames:s,range:{from:21649,to:32469},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:u,collectionSchema:c,fieldNames:p,range:{from:32469,to:86777},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:u,collectionSchema:c,fieldNames:f,range:{from:86777,to:141085},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:y,range:{from:141085,to:189087},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:h,range:{from:189087,to:237571},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:g,range:{from:237571,to:359847},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:w,range:{from:359847,to:530265},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:S,range:{from:530265,to:553891},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:N,range:{from:553891,to:564658},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:x,range:{from:564658,to:637030},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:R,range:{from:637030,to:647823},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:T,range:{from:647823,to:656405},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:G,range:{from:656405,to:1970875},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")}),new i({collation:I,collectionSchema:c,fieldNames:C,range:{from:1970875,to:1983729},url:new URL(\"./cGTpCtzyI-indexes-default-0.framercms\",\"https://framerusercontent.com/modules/pWtmoJ04Og0Kw62jPayh/kn8sx4Dj70axDC8xbeuo/cGTpCtzyI.js\").href.replace(\"/modules/\",\"/cms/\")})],resolveRichText:B,resolveVectorSetItem:z,schema:c})},displayName:\"Articles\",id:\"10ac82d4-2891-477c-a399-d65f02c62824\"};export default K;e(K,{MQBKEpGB4:{preventLocalization:!0,title:\"Slug\",type:t.String},nYK8KXjeJ:{defaultValue:\"\",title:\"Title\",type:t.String},SALdRkjml:{defaultValue:\"\",title:\"Byline\",type:t.RichText},GTxc9pi3Y:{title:\"Image\",type:t.ResponsiveImage},VkrJ032Yz:{defaultValue:\"\",title:\"Image Credits\",type:t.String},jexT70NH1:{dataIdentifier:\"local-module:collection/V7uytztee:default\",title:\"Tendencia\",type:t.CollectionReference},xvnDp3Fek:{title:\"Author Pic\",type:t.ResponsiveImage},zKvofR5eP:{dataIdentifier:\"local-module:collection/jgFwUVh8_:default\",title:\"Author\",type:t.CollectionReference},yJIQVsDm5:{defaultValue:\"\",title:\"Date\",type:t.Date},sKQ5ch4g8:{defaultValue:\"\",title:\"Content\",type:t.RichText},nDHya6lLS:{dataIdentifier:\"local-module:collection/nStKMVsHB:default\",defaultValue:[],title:\"Categories\",type:t.MultiCollectionReference},createdAt:{title:\"Created\",type:t.Date},updatedAt:{title:\"Updated\",type:t.Date},previousItemId:{dataIdentifier:\"local-module:collection/cGTpCtzyI:default\",title:\"Previous\",type:t.CollectionReference},nextItemId:{dataIdentifier:\"local-module:collection/cGTpCtzyI:default\",title:\"Next\",type:t.CollectionReference}});export const enumToDisplayNameFunctions={};export const utils={async getSlugByRecordId(e,t){let[l]=await U.query({from:{data:K,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"MQBKEpGB4\",type:\"Identifier\"}],where:{left:{name:\"id\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.MQBKEpGB4;},async getRecordIdBySlug(e,t){let[l]=await U.query({from:{data:K,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},select:[{name:\"id\",type:\"Identifier\"}],where:{left:{name:\"MQBKEpGB4\",type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:e},type:\"BinaryOperation\"}},t);return l?.id;}};\nexport const __FramerMetadata__ = {\"exports\":{\"enumToDisplayNameFunctions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"utils\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerEnumToDisplayNameUtils\":\"2\",\"framerAutoSizeImages\":\"true\",\"framerData\":\"true\",\"framerCollectionId\":\"cGTpCtzyI\",\"framerRecordIdKey\":\"id\",\"framerColorSyntax\":\"false\",\"framerCollectionUtils\":\"1\",\"framerSlug\":\"MQBKEpGB4\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (62e9832)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;IBM Plex Mono-regular\",\"GF;IBM Plex Mono-500\",\"GF;IBM Plex Mono-700italic\",\"GF;IBM Plex Mono-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"IBM Plex Mono\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n5i0g1l9kn-s.woff2\",weight:\"400\"},{cssFamilyName:\"IBM Plex Mono\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJ8lJPg-IUDNg.woff2\",weight:\"500\"},{cssFamilyName:\"IBM Plex Mono\",openType:true,source:\"google\",style:\"italic\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJFgsARHNh4zg.woff2\",weight:\"700\"},{cssFamilyName:\"IBM Plex Mono\",openType:true,source:\"google\",style:\"italic\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F6pfjptAgt5VM-kVkqdyU8n1ioq131hj-sNFQ.woff2\",weight:\"400\"}]}];export const css=[\".framer-38CNV .framer-styles-preset-10z87mp:not(.rich-text-wrapper), .framer-38CNV .framer-styles-preset-10z87mp.rich-text-wrapper p { --framer-font-family: \\\"IBM Plex Mono\\\", monospace; --framer-font-family-bold: \\\"IBM Plex Mono\\\", monospace; --framer-font-family-bold-italic: \\\"IBM Plex Mono\\\", monospace; --framer-font-family-italic: \\\"IBM Plex Mono\\\", monospace; --framer-font-open-type-features: 'blwf' on, 'cv09' on, 'cv03' on, 'cv04' on, 'cv11' on; --framer-font-size: 16px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 500; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 16px; --framer-text-alignment: start; --framer-text-color: #cccccc; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-38CNV\";\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{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\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useLocaleCode}from\"framer\";import{startTransition,useCallback,useEffect,useRef,useState}from\"react\";const fontStack=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;function formatTimeOrDate(outputType,{showYear,showMonth,showWeekday,showMinutes,showSeconds},timeFormat,monthFormat,localCode){const date=new Date;const onlyYearIsShown=!showWeekday&&!showMonth&&showYear;switch(outputType){case\"date\":return new Intl.DateTimeFormat(localCode,{weekday:showWeekday?\"long\":undefined,day:onlyYearIsShown?undefined:\"numeric\",month:showMonth?monthFormat:undefined,year:showYear?\"numeric\":undefined}).format(date);case\"time\":return new Intl.DateTimeFormat(localCode,{hour:\"numeric\",minute:showMinutes?\"numeric\":undefined,second:showSeconds&&showMinutes?\"numeric\":undefined,hour12:timeFormat===\"12h\"}).format(date);default:return new Intl.DateTimeFormat(localCode).format(date);}}const defaultProps={height:20,width:140,outputType:\"time\",color:\"#999\",timeFormat:\"24h\",showYear:true,showMonth:true,showWeekday:true,showMinutes:true,showSeconds:true,monthFormat:\"long\",alignment:\"center\"};/**\n * TIME AND DATE\n * FORKED FROM PROTOTYPING\n *\n * @framerIntrinsicWidth 140\n * @framerIntrinsicHeight 20\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export function Time(props){const mergedProps={...defaultProps,...props};const{outputType,timeFormat,showYear,showMonth,showWeekday,// showHours,\nshowMinutes,showSeconds,monthFormat,color,font,tabularFont}=mergedProps;const localCode=useLocaleCode();const getTextContent=useCallback(()=>formatTimeOrDate(outputType,{showYear,showMonth,showWeekday,// showHours,\n    showMinutes,showSeconds},timeFormat,monthFormat,localCode),[localCode,monthFormat,outputType,showMinutes,showMonth,showSeconds,showWeekday,showYear,timeFormat]);const timeoutRef=useRef()// FIXME: With React 19, we can remove this and return a cleanup from the ref callback\n;const updateCountdown=useCallback(node=>{if(node===null){// React calls w/ `null` on unmount or if the ref function changes.\nclearTimeout(timeoutRef.current);return;}let prev;const tick=()=>{const date=new Date;const next=new Date().setSeconds(date.getSeconds()+1,0)-+date;timeoutRef.current=setTimeout(tick,next);const textContent=getTextContent();if(prev!==textContent){node.textContent=textContent;prev=textContent;}};tick();},[getTextContent]);const[visible,setIsVisible]=useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;useEffect(()=>{startTransition(()=>setIsVisible(true));// Don’t want real time on Canvas\nif(isCanvas)return;},[isCanvas]);return /*#__PURE__*/_jsx(\"p\",{suppressHydrationWarning:true,style:{margin:0,padding:0,color,fontFamily:fontStack,fontWeight:500,fontSize:16,lineHeight:1,visibility:visible?\"visible\":\"hidden\",...font,fontVariantNumeric:tabularFont?\"tabular-nums\":\"normal\",whiteSpace:\"nowrap\"},ref:isCanvas?undefined:updateCountdown,children:getTextContent()});}Time.displayName=\"Time & Date\";addPropertyControls(Time,{outputType:{title:\"Type\",type:ControlType.Enum,displaySegmentedControl:true,options:[\"date\",\"time\"],optionTitles:[\"Date\",\"Time\"],defaultValue:defaultProps.outputType},showWeekday:{title:\"Day\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showWeekday,hidden:props=>props.outputType!==\"date\"},showMonth:{title:\"Month\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showMonth,hidden:props=>props.outputType!==\"date\"},monthFormat:{title:\"Format\",type:ControlType.Enum,options:[\"short\",\"long\",\"numeric\"],optionTitles:[\"Short\",\"Long\",\"Numeric\"],defaultValue:defaultProps.monthFormat,hidden:props=>props.outputType!==\"date\"||!props.showMonth},showYear:{title:\"Year\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showYear,hidden:props=>props.outputType!==\"date\"},timeFormat:{title:\"Format\",type:ControlType.Enum,options:[\"12h\",\"24h\"],optionTitles:[\"12h\",\"24h\"],displaySegmentedControl:true,defaultValue:defaultProps.timeFormat,hidden:props=>props.outputType!==\"time\"},// showHours: {\n//     title: \"Hours\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Show\",\n//     disabledTitle: \"Hide\",\n//     defaultValue: defaultProps.showHours,\n//     hidden: (props) => props.outputType !== \"time\",\n// },\nshowMinutes:{title:\"Minutes\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showMinutes,hidden:props=>props.outputType!==\"time\"},showSeconds:{title:\"Seconds\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:defaultProps.showSeconds,hidden:props=>props.outputType!==\"time\"||!props.showMinutes},font:{type:ControlType.Font,controls:\"extended\"},tabularFont:{title:\"Tabular\",type:ControlType.Boolean,defaultValue:true},color:{type:ControlType.Color,defaultValue:defaultProps.color}});\nexport const __FramerMetadata__ = {\"exports\":{\"Time\":{\"type\":\"reactComponent\",\"name\":\"Time\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"20\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicWidth\":\"140\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Time.map","// Generated by Framer (0f6ce29)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,Image,Link,resolvePageScope,RichText,SmartComponentScopedContainer,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{Time as TimeDate}from\"https://framerusercontent.com/modules/HYcHVPAbe8jLEeU7c4mp/QiycTxX7vdblEOi3o00G/Time.js\";const TimeDateFonts=getFonts(TimeDate);const SearchFonts=getFonts(Search);const cycleOrder=[\"StZaHoQ3b\",\"FDlqPCPj8\",\"IdvhZdow2\"];const serializationHash=\"framer-O9cH4\";const variantClassNames={FDlqPCPj8:\"framer-v-1aejex1\",IdvhZdow2:\"framer-v-1fko6q4\",StZaHoQ3b:\"framer-v-hpex9x\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:40,delay:0,mass:1,stiffness:400,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Mobile:\"FDlqPCPj8\",Primary:\"StZaHoQ3b\",Tablet:\"IdvhZdow2\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"StZaHoQ3b\"};};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:\"StZaHoQ3b\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"FDlqPCPj8\",\"IdvhZdow2\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed1=()=>{if([\"FDlqPCPj8\",\"IdvhZdow2\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-hpex9x\",className,classNames),\"data-framer-name\":\"Primary\",\"data-hide-scrollbars\":true,layoutDependency:layoutDependency,layoutId:\"StZaHoQ3b\",ref:refBinding,style:{backgroundColor:\"rgb(14, 14, 14)\",...style},...addPropertyOverrides({FDlqPCPj8:{\"data-framer-name\":\"Mobile\"},IdvhZdow2:{\"data-framer-name\":\"Tablet\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-ckkxwl\",layoutDependency:layoutDependency,layoutId:\"poMCOV_ff\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-jqsj1e\",layoutDependency:layoutDependency,layoutId:\"knTAWJbUx\",children:[isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-ctc8kt\",\"data-framer-name\":\"Hoy Data\",layoutDependency:layoutDependency,layoutId:\"YeXXddVnc\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-eh579x-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"zys0b26nj-container\",nodeId:\"zys0b26nj\",rendersWithMotion:true,scopeId:\"WqI0Nr5_d\",children:/*#__PURE__*/_jsx(TimeDate,{color:\"rgb(217, 217, 217)\",font:{fontFamily:'\"IBM Plex Mono\", monospace',fontSize:\"10px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0em\",lineHeight:\"1em\",textAlign:\"left\"},height:\"100%\",id:\"zys0b26nj\",layoutId:\"zys0b26nj\",monthFormat:\"long\",outputType:\"date\",showMinutes:true,showMonth:true,showSeconds:true,showWeekday:false,showYear:true,tabularFont:true,timeFormat:\"24h\",width:\"100%\"})})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"KWb_yb3rf\",openInNewTab:false,scopeId:\"WqI0Nr5_d\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fit\",intrinsicHeight:110,intrinsicWidth:860,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+32+(((componentViewport?.height||98)-40-58)/2+0+0)+0+.5+0),pixelHeight:387,pixelWidth:1785,positionX:\"center\",positionY:\"center\",sizes:\"448px\",src:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387\",srcSet:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=512&width=1785&height=387 512w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=1024&width=1785&height=387 1024w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387 1785w\"},className:\"framer-13wj6r0 framer-v3tklj\",\"data-framer-name\":\"TN-LOGO\",layoutDependency:layoutDependency,layoutId:\"KWb_yb3rf\",...addPropertyOverrides({FDlqPCPj8:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:110,intrinsicWidth:860,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+17+(((componentViewport?.height||200)-26-70)/2+20+16)+0+-3+4),pixelHeight:387,pixelWidth:1785,positionX:\"center\",positionY:\"center\",sizes:\"147.5969px\",src:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387\",srcSet:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=512&width=1785&height=387 512w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=1024&width=1785&height=387 1024w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387 1785w\"},fitImageDimension:\"width\"},IdvhZdow2:{background:{alt:\"\",fit:\"fit\",intrinsicHeight:110,intrinsicWidth:860,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+17+(((componentViewport?.height||124)-35-99)/2+20+20)+0+-1+2),pixelHeight:387,pixelWidth:1785,positionX:\"center\",positionY:\"center\",sizes:\"446px\",src:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387\",srcSet:\"https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=512&width=1785&height=387 512w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?scale-down-to=1024&width=1785&height=387 1024w,https://framerusercontent.com/images/EhVWHwbNg7F6saIND7D1R2iYWzQ.svg?width=1785&height=387 1785w\"}}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1mkylwu\",layoutDependency:layoutDependency,layoutId:\"N5Ma8CIzr\",children:[isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-1qxk3fn\",layoutDependency:layoutDependency,layoutId:\"Sw0ZGlKZA\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SUJNIFBsZXggTW9uby03MDA=\",\"--framer-font-family\":'\"IBM Plex Mono\", monospace',\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(217, 217, 217))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"Suscr\\xedbete\"})})}),className:\"framer-tv4yuc\",fonts:[\"GF;IBM Plex Mono-700\"],layoutDependency:layoutDependency,layoutId:\"EXkAcCq1E\",style:{\"--extracted-r6o4lv\":\"rgb(217, 217, 217)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-qdc1cg\",layoutDependency:layoutDependency,layoutId:\"cqYxs0n1N\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1h8j02e-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"kwcYpXH_Y-container\",nodeId:\"kwcYpXH_Y\",rendersWithMotion:true,scopeId:\"WqI0Nr5_d\",children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"rgb(217, 217, 217)\",iconSize:18,iconType:\"default\",id:\"kwcYpXH_Y\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{fontFamily:'\"IBM Plex Mono\", monospace',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500},placeholderOptions:{placeholderColor:\"rgb(217, 217, 217)\",placeholderText:\"Buscar...\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"kwcYpXH_Y\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},urlScope:resolvePageScope({webPageId:\"JzTe69xxQ\"},router),width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SUJNIFBsZXggTW9uby03MDA=\",\"--framer-font-family\":'\"IBM Plex Mono\", monospace',\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(217, 217, 217))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"Buscar\"})})}),className:\"framer-1okq24j\",fonts:[\"GF;IBM Plex Mono-700\"],layoutDependency:layoutDependency,layoutId:\"rKXh4AOtI\",style:{\"--extracted-r6o4lv\":\"rgb(217, 217, 217)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({IdvhZdow2:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"R0Y7SUJNIFBsZXggTW9uby03MDA=\",\"--framer-font-family\":'\"IBM Plex Mono\", monospace',\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(217, 217, 217))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"Buscar\"})})})}},baseVariant,gestureVariant)})]})]}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-zft8w0\",layoutDependency:layoutDependency,layoutId:\"nrh8GmC13\",style:{borderBottomLeftRadius:12,borderBottomRightRadius:12,borderTopLeftRadius:12,borderTopRightRadius:12},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SUJNIFBsZXggTW9uby03MDA=\",\"--framer-font-family\":'\"IBM Plex Mono\", monospace',\"--framer-font-size\":\"10px\",\"--framer-font-weight\":\"700\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(217, 217, 217))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"Suscr\\xedbete\"})})}),className:\"framer-3608an\",fonts:[\"GF;IBM Plex Mono-700\"],layoutDependency:layoutDependency,layoutId:\"ogB6cv8p4\",style:{\"--extracted-r6o4lv\":\"rgb(217, 217, 217)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})})]})}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-17ub4wx\",\"data-framer-name\":\"Hoy Data\",layoutDependency:layoutDependency,layoutId:\"InNcu0qrv\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1eg1ug-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"S1JXnLs0u-container\",nodeId:\"S1JXnLs0u\",rendersWithMotion:true,scopeId:\"WqI0Nr5_d\",children:/*#__PURE__*/_jsx(TimeDate,{color:\"rgb(217, 217, 217)\",font:{fontFamily:'\"IBM Plex Mono\", monospace',fontSize:\"10px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0em\",lineHeight:\"1em\",textAlign:\"left\"},height:\"100%\",id:\"S1JXnLs0u\",layoutId:\"S1JXnLs0u\",monthFormat:\"long\",outputType:\"date\",showMinutes:true,showMonth:true,showSeconds:true,showWeekday:false,showYear:true,tabularFont:true,timeFormat:\"24h\",width:\"100%\",...addPropertyOverrides({FDlqPCPj8:{font:{fontFamily:'\"IBM Plex Mono\", monospace',fontSize:\"10px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1em\",textAlign:\"left\"}},IdvhZdow2:{font:{fontFamily:'\"IBM Plex Mono\", monospace',fontSize:\"10px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1em\",textAlign:\"left\"}}},baseVariant,gestureVariant)})})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-O9cH4.framer-v3tklj, .framer-O9cH4 .framer-v3tklj { display: block; }\",\".framer-O9cH4.framer-hpex9x { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 17px; height: min-content; justify-content: center; overflow: hidden; padding: 32px 0px 8px 0px; position: relative; width: 934px; }\",\".framer-O9cH4 .framer-ckkxwl { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: 58px; justify-content: center; overflow: hidden; padding: 0px; position: sticky; top: 0px; width: 934px; z-index: 1; }\",\".framer-O9cH4 .framer-jqsj1e { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 64px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-O9cH4 .framer-ctc8kt { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 150px; }\",\".framer-O9cH4 .framer-eh579x-container, .framer-O9cH4 .framer-1eg1ug-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-O9cH4 .framer-13wj6r0 { aspect-ratio: 7.818181818181818 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 57px); overflow: visible; position: relative; text-decoration: none; width: 448px; }\",\".framer-O9cH4 .framer-1mkylwu { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 150px; }\",\".framer-O9cH4 .framer-1qxk3fn { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: 32px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 16px; position: relative; width: 100px; will-change: var(--framer-will-change-override, transform); }\",\".framer-O9cH4 .framer-tv4yuc, .framer-O9cH4 .framer-1okq24j, .framer-O9cH4 .framer-3608an { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-O9cH4 .framer-qdc1cg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-O9cH4 .framer-1h8j02e-container { cursor: pointer; flex: none; height: 40px; position: relative; width: 40px; }\",\".framer-O9cH4 .framer-zft8w0 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: 32px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 16px; position: relative; width: 72px; will-change: var(--framer-will-change-override, transform); }\",\".framer-O9cH4 .framer-17ub4wx { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-O9cH4.framer-v-1aejex1.framer-hpex9x { gap: 16px; padding: 17px 0px 9px 0px; width: 548px; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-ckkxwl { gap: 16px; height: 34px; order: 1; width: 100%; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-jqsj1e { gap: 32px; order: 0; width: 441px; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-13wj6r0 { aspect-ratio: unset; height: 32px; order: 2; width: auto; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-1mkylwu, .framer-O9cH4.framer-v-1fko6q4 .framer-1mkylwu { order: 3; width: min-content; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-qdc1cg, .framer-O9cH4.framer-v-1fko6q4 .framer-qdc1cg { justify-content: flex-end; width: 72px; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-1h8j02e-container, .framer-O9cH4.framer-v-1fko6q4 .framer-1h8j02e-container { height: auto; order: 1; width: auto; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-1okq24j, .framer-O9cH4.framer-v-1aejex1 .framer-17ub4wx, .framer-O9cH4.framer-v-1aejex1 .framer-1eg1ug-container, .framer-O9cH4.framer-v-1fko6q4 .framer-1okq24j, .framer-O9cH4.framer-v-1fko6q4 .framer-17ub4wx, .framer-O9cH4.framer-v-1fko6q4 .framer-1eg1ug-container { order: 0; }\",\".framer-O9cH4.framer-v-1aejex1 .framer-zft8w0, .framer-O9cH4.framer-v-1fko6q4 .framer-zft8w0 { order: 1; }\",\".framer-O9cH4.framer-v-1fko6q4.framer-hpex9x { gap: 20px; padding: 17px 0px 18px 0px; width: 810px; }\",\".framer-O9cH4.framer-v-1fko6q4 .framer-ckkxwl { gap: 16px; height: 59px; order: 1; width: 100%; }\",\".framer-O9cH4.framer-v-1fko6q4 .framer-jqsj1e { gap: 24px; order: 0; padding: 2px 0px 2px 0px; }\",\".framer-O9cH4.framer-v-1fko6q4 .framer-13wj6r0 { order: 2; width: 446px; }\",'.framer-O9cH4[data-hide-scrollbars=\"true\"]::-webkit-scrollbar, .framer-O9cH4 [data-hide-scrollbars=\"true\"]::-webkit-scrollbar { width: 0px; height: 0px; }','.framer-O9cH4[data-hide-scrollbars=\"true\"]::-webkit-scrollbar-thumb, .framer-O9cH4 [data-hide-scrollbars=\"true\"]::-webkit-scrollbar-thumb { background: transparent; }','.framer-O9cH4[data-hide-scrollbars=\"true\"], .framer-O9cH4 [data-hide-scrollbars=\"true\"] { scrollbar-width: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 98\n * @framerIntrinsicWidth 934\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"FDlqPCPj8\":{\"layout\":[\"fixed\",\"auto\"]},\"IdvhZdow2\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerWqI0Nr5_d=withCSS(Component,css,\"framer-O9cH4\");export default FramerWqI0Nr5_d;FramerWqI0Nr5_d.displayName=\"Navigation\";FramerWqI0Nr5_d.defaultProps={height:98,width:934};addPropertyControls(FramerWqI0Nr5_d,{variant:{options:[\"StZaHoQ3b\",\"FDlqPCPj8\",\"IdvhZdow2\"],optionTitles:[\"Primary\",\"Mobile\",\"Tablet\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerWqI0Nr5_d,[{explicitInter:true,fonts:[{cssFamilyName:\"IBM Plex Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3pQP8lJPg-IUDNg.woff2\",weight:\"700\"},{cssFamilyName:\"IBM Plex Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F6qfjptAgt5VM-kVkqdyU8n3twJ8lJPg-IUDNg.woff2\",weight:\"500\"},{cssFamilyName:\"IBM Plex Mono\",source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Mono\",url:\"https://fonts.gstatic.com/s/ibmplexmono/v20/-F63fjptAgt5VM-kVkqdyU8n5i0g1l9kn-s.woff2\",weight:\"400\"}]},...TimeDateFonts,...SearchFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerWqI0Nr5_d\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"98\",\"framerIntrinsicWidth\":\"934\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"FDlqPCPj8\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"IdvhZdow2\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WqI0Nr5_d.map","// Generated by Framer (ccc595e)\nexport default function metadata(params,activeLocale){return{description:\"Informaci\\xf3n , Innovaci\\xf3n, y Autonom\\xeda.\",favicon:\"https://framerusercontent.com/assets/c0jSoJakGPo839NQohSPuvzpasM.png\",robots:\"max-image-preview:large\",title:\"Territorio Nacional\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}