{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://cdn.framerauth.com/scripts/framerauth-sdk@beta.js", "ssg:https://framerusercontent.com/modules/5HzY8y2Fzuj6OIM4mLaq/7k7bNSNhihqAnXkJOE4r/FramerAuth.js", "ssg:https://framerusercontent.com/modules/sEvMYxKZbcNetBV2GYs2/7umh4TbE4jY7qp9iUGP1/K2vjcG65h.js", "ssg:https://framerusercontent.com/modules/2S4XFDGrkqLDHzD4YKsL/xgMO7iTVBdrDTCa6FH2k/CMSActionInterface.js", "ssg:https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js", "ssg:https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js", "ssg:https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16", "ssg:https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/PCK1x1QLNluYNoEoapwx/cachedIndex.js", "ssg:https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js", "ssg:https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js", "ssg:https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js", "ssg:https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/qCpBt7sCI0Lg2zcyNIfl/useSearch.js", "ssg:https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js", "ssg:https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js", "ssg:https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js", "ssg:https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/UEEXQECflV0hKcJt6sUR/SearchModal.js", "ssg:https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js", "ssg:https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/SyUhdprSsFLhVnL3rlqz/Search.js", "ssg:https://framerusercontent.com/modules/ldGmQe2LzZ5Y4icSUe6S/oWgnPmHfsutxJhRWqdMd/mgNaamhSq.js"],
  "sourcesContent": ["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "var R = Object.defineProperty;\nvar _ = (t, r, e) => r in t ? R(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;\nvar i = (t, r, e) => (_(t, typeof r != \"symbol\" ? r + \"\" : r, e), e);\nclass U {\n  constructor(r) {\n    i(this, \"prefix\");\n    this.prefix = r;\n  }\n  has(r) {\n    const e = this.prefix + r;\n    return localStorage.getItem(e) != null;\n  }\n  get(r) {\n    const e = this.prefix + r;\n    return localStorage.getItem(e);\n  }\n  set(r, e) {\n    const s = this.prefix + r;\n    localStorage.setItem(s, e);\n  }\n  remove(r) {\n    const e = this.prefix + r;\n    localStorage.removeItem(e);\n  }\n}\nclass m extends Error {\n  constructor(e, s) {\n    super(e);\n    i(this, \"status\");\n    i(this, \"__isAuthError\", !0);\n    this.name = \"AuthError\", this.status = s;\n  }\n}\nfunction h(t) {\n  return typeof t == \"object\" && t !== null && \"__isAuthError\" in t;\n}\nclass T extends m {\n  constructor(e, s) {\n    super(e, s);\n    i(this, \"status\");\n    this.name = \"AuthApiError\", this.status = s;\n  }\n  toJSON() {\n    return {\n      name: this.name,\n      message: this.message,\n      status: this.status\n    };\n  }\n}\nclass O extends m {\n  constructor(e, s) {\n    super(e);\n    i(this, \"originalError\");\n    this.name = \"AuthUnknownError\", this.originalError = s;\n  }\n}\nclass f extends m {\n  constructor(e, s, n) {\n    super(e);\n    i(this, \"name\");\n    i(this, \"status\");\n    this.name = s, this.status = n;\n  }\n  toJSON() {\n    return {\n      name: this.name,\n      message: this.message,\n      status: this.status\n    };\n  }\n}\nclass x extends f {\n  constructor() {\n    super(\"Auth session or user missing\", \"AuthInvalidTokenResponseError\", 500);\n  }\n}\nclass p extends f {\n  constructor() {\n    super(\"Message missing\", \"AuthInvalidResetPasswordResponseError\", 500);\n  }\n}\nclass l extends f {\n  constructor(r) {\n    super(r, \"AuthInvalidCredentialsError\", 400);\n  }\n}\nclass I extends f {\n  constructor() {\n    super(\"Site missing\", \"AuthInvalidSiteResponseError\", 500);\n  }\n}\nclass J extends f {\n  constructor() {\n    super(\"User missing\", \"AuthInvalidUserResponseError\", 500);\n  }\n}\nclass N extends f {\n  constructor() {\n    super(\"License key status missing\", \"AuthInvalidValidateLicenseKeyResponseError\", 500);\n  }\n}\nclass P extends f {\n  constructor() {\n    super(\"License key invalid\", \"AuthInvalidActivateLicenseKeyResponseError\", 500);\n  }\n}\nclass j extends f {\n  constructor() {\n    super(\"User invalid\", \"AuthUpdateUserResponseError\", 500);\n  }\n}\nclass b extends f {\n  constructor() {\n    super(\"Data invalid\", \"AuthUpdateUserDataResponseError\", 500);\n  }\n}\nclass v extends f {\n  constructor(r, e) {\n    super(r, \"AuthRetryableFetchError\", e);\n  }\n}\nconst w = (t) => t.msg || t.message || t.error_description || t.error || JSON.stringify(t), $ = [502, 503, 504];\nasync function A(t) {\n  if (!G(t))\n    throw new v(w(t), 0);\n  if ($.includes(t.status))\n    throw new v(w(t), t.status);\n  let r;\n  try {\n    r = await t.json();\n  } catch (e) {\n    throw new O(w(e), e);\n  }\n  throw new T(w(r), t.status || 500);\n}\nconst K = (t, r, e, s) => {\n  const n = { method: t, headers: (r == null ? void 0 : r.headers) || {} };\n  return t === \"GET\" ? n : (n.headers = { \"Content-Type\": \"application/json;charset=UTF-8\", ...r == null ? void 0 : r.headers }, n.body = JSON.stringify(s), { ...n, ...e });\n};\nasync function d(t, r, e, s) {\n  var c;\n  const n = { ...s == null ? void 0 : s.headers };\n  s != null && s.jwt && (n.Authorization = `Bearer ${s.jwt}`);\n  const a = (c = s == null ? void 0 : s.query) != null ? c : {};\n  s != null && s.redirectTo && (a.redirect_to = s.redirectTo);\n  const o = Object.keys(a).length ? \"?\" + new URLSearchParams(a).toString() : \"\", u = await Y(\n    t,\n    r,\n    e + o,\n    { headers: n, noResolveJson: s == null ? void 0 : s.noResolveJson },\n    {},\n    s == null ? void 0 : s.body\n  );\n  return s != null && s.xform ? s == null ? void 0 : s.xform(u) : { data: { ...u }, error: null };\n}\nasync function Y(t, r, e, s, n, a) {\n  const o = K(r, s, n, a);\n  let u;\n  try {\n    u = await t(e, o);\n  } catch (c) {\n    throw console.error(c), new v(w(c), 0);\n  }\n  if (u.ok || await A(u), s != null && s.noResolveJson)\n    return u;\n  try {\n    return await u.json();\n  } catch (c) {\n    await A(c);\n  }\n}\nfunction E(t) {\n  var s;\n  let r = null;\n  M(t == null ? void 0 : t.session) && (r = { ...t.session });\n  const e = (s = t.user) != null ? s : t;\n  return { data: { session: r, user: e }, error: null };\n}\nfunction L(t) {\n  var e;\n  return { data: { message: (e = t.message) != null ? e : t }, error: null };\n}\nfunction q(t) {\n  var e;\n  return { data: { message: (e = t.message) != null ? e : t }, error: null };\n}\nfunction z(t) {\n  var e;\n  return { data: { site: (e = t.site) != null ? e : t }, error: null };\n}\nfunction k(t) {\n  var e;\n  return { data: { user: (e = t.user) != null ? e : t }, error: null };\n}\nfunction C(t) {\n  var e;\n  return { data: { valid: (e = t.valid) != null ? e : t }, error: null };\n}\nfunction D(t) {\n  var e;\n  return { data: { message: (e = t.message) != null ? e : t }, error: null };\n}\nfunction F(t) {\n  return { data: t != null ? t : t, error: null };\n}\nfunction M(t) {\n  return (t == null ? void 0 : t.access_token) && (t == null ? void 0 : t.expires_in);\n}\nconst G = (t) => typeof t == \"object\" && t !== null && \"status\" in t && \"ok\" in t && \"json\" in t && typeof t.json == \"function\";\nclass H {\n  constructor(r) {\n    i(this, \"store\");\n    i(this, \"url\");\n    i(this, \"headers\");\n    i(this, \"setSite\", (r) => {\n      this.store.set(\"site\", r);\n    });\n    i(this, \"setUser\", (r) => {\n      this.store.set(\"user\", r);\n    });\n    i(this, \"setSession\", (r) => {\n      this.store.set(\"session\", r);\n    });\n    // TODO: This should be async for when we support refresh tokens.\n    i(this, \"getAccessToken\", () => {\n      if (!this.store.has(\"session\"))\n        return null;\n      const e = this.store.get(\"session\");\n      if (!e)\n        return null;\n      let s;\n      try {\n        s = JSON.parse(e);\n      } catch (a) {\n        return null;\n      }\n      const n = Math.floor(Date.now() / 1e3);\n      return s.expires_at && n > s.expires_at ? (this.store.remove(\"session\"), this.store.remove(\"user\"), null) : s.access_token;\n    });\n    i(this, \"getExpiresIn\", () => {\n      var e;\n      if (this.store.has(\"session\")) {\n        const s = this.store.get(\"session\");\n        if (s)\n          return (e = JSON.parse(s)) == null ? void 0 : e.expires_in;\n      }\n    });\n    i(this, \"getSite\", async (r = { cache: !0 }) => {\n      var n, a;\n      let e;\n      const s = this.store.get(\"site\");\n      return s && (r != null && r.cache) ? e = { data: { site: JSON.parse(s) }, error: null } : e = await this.fetchSite(), e.error && (e.error.status === 400 ? console.log(\n        `%cFramerAuth: Site not configured!\n\n%cPlease add your SITE_ID to the configuration script.\n%cError: ${((n = e.error) == null ? void 0 : n.message) || \"Unknown error\"}`,\n        \"color: orange; font-size: 16px;\",\n        \"color: inherit; font-size: 12px;\",\n        \"color: inherit; font-size: 12px;\"\n      ) : console.log(\n        `%cFramerAuth: Unable to load site data!\n\n%cNavigating to Homepage.\n%cError: ${((a = e.error) == null ? void 0 : a.message) || \"Site data not found\"}`,\n        \"color: red; font-size: 16px;\",\n        \"color: inherit; font-size: 12px;\",\n        \"color: inherit; font-size: 12px;\"\n      )), e;\n    });\n    i(this, \"getUser\", async (r = { cache: !0 }) => {\n      let e;\n      const s = Math.floor(Date.now() / 1e3), n = this.store.get(\"session\") || \"\";\n      if (!n)\n        e = { data: { user: null }, error: new m(\"Authorization token required.\", 401) };\n      else {\n        const a = JSON.parse(n), o = this.store.get(\"user\");\n        a.expires_at && s > a.expires_at ? (e = { data: { user: null }, error: new m(\"Token has expired.\", 401) }, this.store.remove(\"session\"), this.store.remove(\"user\")) : o && (r != null && r.cache) ? e = { data: { user: JSON.parse(o) }, error: null } : e = await this.fetchUser();\n      }\n      return e;\n    });\n    i(this, \"validateLicenseKey\", async (r) => {\n      try {\n        let e;\n        if (!r.license_key)\n          throw new l(\n            \"You must provide a license_key\"\n          );\n        const { license_key: s } = r;\n        e = await d(fetch, \"POST\", `${this.url}/validate`, {\n          headers: this.headers,\n          body: {\n            license_key: s\n          },\n          xform: C\n        });\n        const { data: n, error: a } = e;\n        return a ? { data: { valid: null }, error: a } : !n || n.valid === null ? { data: { valid: null }, error: new N() } : { data: { valid: n.valid }, error: null };\n      } catch (e) {\n        if (h(e))\n          return { data: { valid: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"activateLicenseKey\", async (r) => {\n      try {\n        let e;\n        const s = this.getAccessToken();\n        if (!s)\n          throw new l(\n            \"You must provide a token\"\n          );\n        if (!r.license_key)\n          throw new l(\n            \"You must provide a license_key\"\n          );\n        const { license_key: n } = r;\n        e = await d(fetch, \"POST\", `${this.url}/me/license-keys/activate`, {\n          headers: this.headers,\n          body: {\n            license_key: n\n          },\n          xform: D,\n          jwt: s\n        });\n        const { data: a, error: o } = e;\n        return o ? { data: { message: null }, error: o } : !a || a.message === null ? { data: { message: null }, error: new P() } : (await this.getUser({ cache: !1 }), { data: { message: a.message }, error: null });\n      } catch (e) {\n        if (h(e))\n          return { data: { message: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"signUp\", async (r) => {\n      var e;\n      try {\n        let s;\n        if (!r.email)\n          throw new l(\n            \"You must provide an email\"\n          );\n        if (!r.password)\n          throw new l(\n            \"You must provide a password\"\n          );\n        const { email: n, password: a, options: o } = r;\n        s = await d(fetch, \"POST\", `${this.url}/sign-up`, {\n          headers: this.headers,\n          redirectTo: o == null ? void 0 : o.emailRedirectTo,\n          body: {\n            email: n,\n            password: a,\n            data: (e = o == null ? void 0 : o.data) != null ? e : {}\n          },\n          xform: E\n        });\n        const { data: u, error: c } = s;\n        if (c)\n          return { data: { user: null, session: null }, error: c };\n        if (!u)\n          return { data: { user: null, session: null }, error: new x() };\n        const g = u.session, S = u.user;\n        return g && (this.setUser(JSON.stringify(S)), this.setSession(JSON.stringify(g))), { data: { user: S, session: g }, error: null };\n      } catch (s) {\n        if (h(s))\n          return { data: { user: null, session: null }, error: s };\n        throw s;\n      }\n    });\n    i(this, \"signInWithPassword\", async (r) => {\n      try {\n        if (!r.email)\n          throw new l(\n            \"You must provide an email\"\n          );\n        if (!r.password)\n          throw new l(\n            \"You must provide a password\"\n          );\n        let e;\n        const { email: s, password: n } = r;\n        e = await d(fetch, \"POST\", `${this.url}/token`, {\n          headers: this.headers,\n          body: {\n            email: s,\n            password: n\n          },\n          xform: E\n        });\n        const { data: a, error: o } = e;\n        return o ? { data: { user: null, session: null }, error: o } : !a || !a.session || !a.user ? { data: { user: null, session: null }, error: new x() } : (a.session && (this.setUser(JSON.stringify(a.user)), this.setSession(JSON.stringify(a.session))), { data: { user: a.user, session: a.session }, error: o });\n      } catch (e) {\n        if (h(e))\n          return { data: { user: null, session: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"resetPasswordForEmail\", async (r) => {\n      try {\n        if (!r.email)\n          throw new l(\n            \"You must provide an email\"\n          );\n        let e;\n        const { email: s } = r;\n        e = await d(fetch, \"POST\", `${this.url}/password/reset`, {\n          headers: this.headers,\n          body: {\n            email: s\n          },\n          xform: L\n        });\n        const { data: n, error: a } = e;\n        return a ? { data: { message: null }, error: a } : !n || !n.message ? { data: { message: null }, error: new p() } : { data: { message: n.message }, error: a };\n      } catch (e) {\n        if (h(e))\n          return { data: { message: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"updatePasswordForEmail\", async (r) => {\n      try {\n        if (!r.email)\n          throw new l(\n            \"You must provide an email\"\n          );\n        if (!r.code)\n          throw new l(\n            \"Reset token required\"\n          );\n        if (!r.email)\n          throw new l(\n            \"You must provide a new password\"\n          );\n        let e;\n        const { email: s, code: n, password: a } = r;\n        e = await d(fetch, \"POST\", `${this.url}/password/update`, {\n          headers: this.headers,\n          body: {\n            email: s,\n            code: n,\n            password: a\n          },\n          xform: q\n        });\n        const { data: o, error: u } = e;\n        return u ? { data: { message: null }, error: u } : !o || !o.message ? { data: { message: null }, error: new p() } : { data: { message: o.message }, error: u };\n      } catch (e) {\n        if (h(e))\n          return { data: { message: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"signOut\", async (r = null) => (this.store.remove(\"session\"), this.store.remove(\"user\"), r && window.location.replace(r), { error: null }));\n    i(this, \"fetchSite\", async () => {\n      try {\n        let r;\n        r = await d(fetch, \"GET\", `${this.url}/site`, {\n          headers: this.headers,\n          xform: z\n        });\n        const { data: e, error: s } = r;\n        return s ? { data: { site: null }, error: s } : !e || !e.site ? { data: { site: null }, error: new I() } : (e.site && this.setSite(JSON.stringify(e.site)), { data: { site: e.site }, error: null });\n      } catch (r) {\n        if (h(r))\n          return { data: { site: null }, error: r };\n        throw r;\n      }\n    });\n    i(this, \"fetchUser\", async () => {\n      try {\n        let r;\n        const e = this.getAccessToken();\n        if (!e)\n          throw new l(\n            \"You must provide a token\"\n          );\n        r = await d(fetch, \"GET\", `${this.url}/me`, {\n          headers: this.headers,\n          xform: k,\n          jwt: e\n        });\n        const { data: s, error: n } = r;\n        return n ? { data: { user: null }, error: n } : !s || !s.user ? { data: { user: null }, error: new J() } : (s.user && this.setUser(JSON.stringify(s.user)), { data: { user: s.user }, error: null });\n      } catch (r) {\n        if (h(r))\n          return { data: { user: null }, error: r };\n        throw r;\n      }\n    });\n    i(this, \"updateUser\", async (r) => {\n      try {\n        const e = this.getAccessToken();\n        if (!e)\n          throw new l(\n            \"You must provide a token\"\n          );\n        let s;\n        s = await d(fetch, \"PUT\", `${this.url}/me`, {\n          headers: this.headers,\n          body: r || {},\n          xform: k,\n          jwt: e\n        });\n        const { data: n, error: a } = s;\n        if (a)\n          return { data: { user: null }, error: a };\n        if (!n || n.user === null)\n          return { data: { user: null }, error: new j() };\n        const { data: { user: o } } = await this.getUser({ cache: !1 });\n        return o && this.setUser(JSON.stringify(o)), { data: n, error: null };\n      } catch (e) {\n        if (h(e))\n          return { data: { user: null }, error: e };\n        throw e;\n      }\n    });\n    i(this, \"patchUserData\", async (r) => {\n      try {\n        const e = this.getAccessToken();\n        if (!e)\n          throw new l(\n            \"You must provide a token\"\n          );\n        let s;\n        s = await d(fetch, \"PATCH\", `${this.url}/me/data`, {\n          headers: this.headers,\n          body: r || {},\n          xform: F,\n          jwt: e\n        });\n        const { data: n, error: a } = s;\n        if (a)\n          return { data: null, error: a };\n        if (!n || n.valid === null)\n          return { data: null, error: new b() };\n        const { data: { user: o } } = await this.getUser({ cache: !0 });\n        return o && (o.data = n, this.setUser(JSON.stringify(o))), { data: n, error: null };\n      } catch (e) {\n        if (h(e))\n          return { data: null, error: e };\n        throw e;\n      }\n    });\n    if (this.store = new U(\"fa-\"), this.url = \"https://api.framerauth.com/v1\", r)\n      this.headers = { \"Content-Type\": \"application/json\", \"x-site-id\": r };\n    else {\n      this.headers = {}, console.error(\"Unable to initialize the Auth module, ensure you have added the framer-auth.js file to the beginning of the body.\");\n      return;\n    }\n  }\n}\nconsole.log(\"Framer Auth - Module v0.0.0\");\nconst y = new U(\"fa-\"), V = (y == null ? void 0 : y.get(\"site-id\")) || null, B = new H(V);\nexport {\n  B as auth\n};\n", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{useRouter,inferInitialRouteFromPath}from\"framer\";import{auth}from\"https://cdn.framerauth.com/scripts/framerauth-sdk@beta.js\";const useStore=createStore({user:null,isAuthenticated:false,isLoaded:false});export function withAuth(Component){return props=>{const[store,setStore]=useStore();useEffect(()=>{if(!store.isAuthenticated){auth.getUser({cache:false}).then(({data,error})=>{const{user}=data;if(user){setStore({user:user,isAuthenticated:true,isLoaded:true});}else{setStore({isLoaded:true});}});}},[]);return /*#__PURE__*/_jsx(Component,{...props,store:store});};}export function withStore(Component){return props=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{...props,store:store});};}export function withSignOut(Component){const handleClick=()=>{auth.signOut(\"/\");};return props=>{const[store,setStore]=useStore();if(!store.user)return null;return /*#__PURE__*/_jsx(Component,{...props,onClick:handleClick});};}export function withEmail(Component){return props=>{const[store,setStore]=useStore();if(!store.user)return null;return /*#__PURE__*/_jsx(Component,{...props,text:store.user.email});};}export function withFirstName(Component){return props=>{const[store,setStore]=useStore();if(!store.user)return null;return /*#__PURE__*/_jsx(Component,{...props,text:store.user.first_name});};}export function withLoggedIn(Component){return props=>{const[store,setStore]=useStore();if(!store.user)return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function withLoggedOut(Component){return props=>{const[store]=useStore();if(store.user)return null;let className=props.className||\"\";if(!store.isLoaded){className+=\" fa-cloak\";}return /*#__PURE__*/_jsx(Component,{...props,className:className.trim()});};}export function withActiveLicense(Component){return props=>{var _store_user;const[store]=useStore();const hasActiveLicense=(_store_user=store.user)===null||_store_user===void 0?void 0:_store_user.licenses.some(license=>license.status===\"active\");if(!hasActiveLicense)return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function withVariant(Component){return props=>{const[store]=useStore();const variant=store.user?null:props===null||props===void 0?void 0:props.variant;return /*#__PURE__*/_jsx(Component,{...props,variant:variant});};}export function withVariantActiveLicense(Component){return props=>{var _store_user;const[store]=useStore();const hasActiveLicense=(_store_user=store.user)===null||_store_user===void 0?void 0:_store_user.licenses.some(license=>license.status===\"active\");const variant=hasActiveLicense?null:props===null||props===void 0?void 0:props.variant;return /*#__PURE__*/_jsx(Component,{...props,variant:variant});};}export function withIsLessonComplete(Component){return props=>{var _store_user_data,_store_user;const[store,setStore]=useStore();// Do not display the component if the user is logged out\nif(!store.user)return null;const key=`course:status:${props===null||props===void 0?void 0:props.slug}`;const isCompleted=((_store_user=store.user)===null||_store_user===void 0?void 0:(_store_user_data=_store_user.data)===null||_store_user_data===void 0?void 0:_store_user_data[key])===\"completed\";if(!isCompleted)return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function withActionCompleteLesson(Component){return props=>{var _store_user_data,_store_user;const router=useRouter();const[store,setStore]=useStore();const key=`course:status:${props===null||props===void 0?void 0:props.slug}`;let isCompleted=((_store_user=store.user)===null||_store_user===void 0?void 0:(_store_user_data=_store_user.data)===null||_store_user_data===void 0?void 0:_store_user_data[key])===\"completed\";// Do not display the component if the user is logged out\nif(!store.user)return null;// Define an async function handleClick to handle the click event.\nconst handleClick=async event=>{try{// If the lesson has been completed exit the function\nif(isCompleted)return;// Update the components local state (for instant UI update)\nisCompleted=true;// Call the FramerAuth API to update the user data, marking the course as completed.\nconst{data,error}=await auth.patchUserData({[key]:\"completed\"});// If there is an error throw it.\nif(error){throw new Error(\"Error updating course status.\");}// If there is no error, update the user data in the store with the updated data.\nconst updatedUser={...store.user,data};setStore({user:updatedUser});// If there is a link, redirect the user.\nif(props===null||props===void 0?void 0:props.link){const[path,hash]=props.link.split(\"#\");const{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,path);if(routeId){router.navigate(routeId,hash,pathVariables);}}}catch(error){console.error(error);isCompleted=false;}};// Set the variant based on the completed state\nconst variant=isCompleted?props===null||props===void 0?void 0:props.variant:null;// Render the original component with the modified props and onClick handler.\nreturn /*#__PURE__*/_jsx(Component,{...props,variant:variant,onClick:handleClick});};}export function withNoActiveLicense(Component){return props=>{var _store_user;const[store]=useStore();const hasActiveLicense=(_store_user=store.user)===null||_store_user===void 0?void 0:_store_user.licenses.some(license=>license.status===\"active\");if(hasActiveLicense)return null;return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withFirstName\":{\"type\":\"reactHoc\",\"name\":\"withFirstName\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withActionCompleteLesson\":{\"type\":\"reactHoc\",\"name\":\"withActionCompleteLesson\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withNoActiveLicense\":{\"type\":\"reactHoc\",\"name\":\"withNoActiveLicense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withIsLessonComplete\":{\"type\":\"reactHoc\",\"name\":\"withIsLessonComplete\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAuth\":{\"type\":\"reactHoc\",\"name\":\"withAuth\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStore\":{\"type\":\"reactHoc\",\"name\":\"withStore\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSignOut\":{\"type\":\"reactHoc\",\"name\":\"withSignOut\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLoggedOut\":{\"type\":\"reactHoc\",\"name\":\"withLoggedOut\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withActiveLicense\":{\"type\":\"reactHoc\",\"name\":\"withActiveLicense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLoggedIn\":{\"type\":\"reactHoc\",\"name\":\"withLoggedIn\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withVariant\":{\"type\":\"reactHoc\",\"name\":\"withVariant\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEmail\":{\"type\":\"reactHoc\",\"name\":\"withEmail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withVariantActiveLicense\":{\"type\":\"reactHoc\",\"name\":\"withVariantActiveLicense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FramerAuth.map", "// Generated by Framer (f030ee3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import CMSActionInterface from\"https://framerusercontent.com/modules/2S4XFDGrkqLDHzD4YKsL/xgMO7iTVBdrDTCa6FH2k/CMSActionInterface.js\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/CAjjxbTJBxHwH1MagCef/Phosphor.js\";const CMSActionInterfaceFonts=getFonts(CMSActionInterface);const PhosphorFonts=getFonts(Phosphor);const serializationHash=\"framer-K2ZP8\";const variantClassNames={qsOzKbDUy:\"framer-v-md42o7\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.3,ease:[.12,.23,.5,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,slug,width,...props})=>{return{...props,fztyqXWTo:slug??props.fztyqXWTo};};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,fztyqXWTo,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"qsOzKbDUy\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-md42o7\",className,classNames),\"data-framer-name\":\"Done\",layoutDependency:layoutDependency,layoutId:\"qsOzKbDUy\",ref:refBinding,style:{borderBottomLeftRadius:70,borderBottomRightRadius:70,borderTopLeftRadius:70,borderTopRightRadius:70,...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1pwzhhk-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"dPruMaAr9-container\",nodeId:\"dPruMaAr9\",rendersWithMotion:true,scopeId:\"K2vjcG65h\",children:/*#__PURE__*/_jsx(CMSActionInterface,{height:\"100%\",id:\"dPruMaAr9\",layoutId:\"dPruMaAr9\",slug:fztyqXWTo,width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-113mh4o-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"qTwwXLh7s-container\",nodeId:\"qTwwXLh7s\",rendersWithMotion:true,scopeId:\"K2vjcG65h\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-556a66a6-7f4b-4118-b327-ed374e4a0f03, rgb(173, 31, 255))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"Check\",id:\"qTwwXLh7s\",layoutId:\"qTwwXLh7s\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"bold\",width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-K2ZP8.framer-1xd9g31, .framer-K2ZP8 .framer-1xd9g31 { display: block; }\",\".framer-K2ZP8.framer-md42o7 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: center; overflow: visible; padding: 0px 2px 2px 2px; position: relative; width: min-content; }\",\".framer-K2ZP8 .framer-1pwzhhk-container { flex: none; height: auto; left: 0px; position: absolute; top: 0px; width: auto; z-index: 1; }\",\".framer-K2ZP8 .framer-113mh4o-container { flex: none; height: 20px; position: relative; width: 20px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-K2ZP8.framer-md42o7 { gap: 0px; } .framer-K2ZP8.framer-md42o7 > * { margin: 0px; margin-left: calc(6px / 2); margin-right: calc(6px / 2); } .framer-K2ZP8.framer-md42o7 > :first-child { margin-left: 0px; } .framer-K2ZP8.framer-md42o7 > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"fztyqXWTo\":\"slug\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerK2vjcG65h=withCSS(Component,css,\"framer-K2ZP8\");export default FramerK2vjcG65h;FramerK2vjcG65h.displayName=\"CMS / Lesson Complete Icon\";FramerK2vjcG65h.defaultProps={height:200,width:200};addPropertyControls(FramerK2vjcG65h,{fztyqXWTo:{defaultValue:\"\",title:\"Slug\",type:ControlType.String}});addFonts(FramerK2vjcG65h,[{explicitInter:true,fonts:[]},...CMSActionInterfaceFonts,...PhosphorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerK2vjcG65h\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"fztyqXWTo\\\":\\\"slug\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./K2vjcG65h.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";export default function CMSActionInterface(props){return /*#__PURE__*/ _jsx(\"div\",{style:styles});};addPropertyControls(CMSActionInterface,{slug:{title:\"Slug\",type:ControlType.String},link:{title:\"Link\",type:ControlType.Link}});const styles={};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSActionInterface\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSActionInterface.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";export function SearchIcon(props){return /*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:props.width,height:props.height,style:{...props.style,color:props.color},children:/*#__PURE__*/ _jsx(\"path\",{d:\"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",fill:\"currentColor\"})});}export function ClearIcon(props){return /*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",...props,children:[/*#__PURE__*/ _jsx(\"rect\",{width:\"256\",height:\"256\",fill:\"none\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",fill:\"currentColor\"})]});}export function SpinnerIcon(props){const borderWidth=3;return /*#__PURE__*/ _jsxs(\"div\",{style:{position:\"relative\",...props.style},children:[/*#__PURE__*/ _jsx(motion.div,{animate:{rotate:360},transition:{ease:\"linear\",duration:1,repeat:Infinity},style:{borderRadius:100,backgroundImage:`conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:props.backgroundColor,borderRadius:100,position:\"absolute\",top:borderWidth,left:borderWidth,bottom:borderWidth,right:borderWidth}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ClearIcon\":{\"type\":\"reactComponent\",\"name\":\"ClearIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpinnerIcon\":{\"type\":\"reactComponent\",\"name\":\"SpinnerIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIcon\":{\"type\":\"reactComponent\",\"name\":\"SearchIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map", "export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}", "// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map", "import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const defaultLocaleId=\"default\";export function isDefaultLocaleId(localeId){return!localeId||localeId===\"default\";}const INDEX_KEY=\"searchIndexCache\";function getIndexKey(localeId){if(isDefaultLocaleId(localeId))return INDEX_KEY;return`${INDEX_KEY}-${localeId}`;}const METADATA_KEY=\"searchCacheMetadata\";function getMetadataKey(localeId){if(isDefaultLocaleId(localeId))return METADATA_KEY;return`${METADATA_KEY}-${localeId}`;}export async function getCachedIndex(localeId){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst indexKey=getIndexKey(localeId);const cachedIndex=await checkForCachedData(indexKey);if(cachedIndex){return cachedIndex;}}export function setCachedIndex(localeId,index){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now()};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map", "// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map", "// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map", "export const localStorageDebugFlag=typeof window!==\"undefined\"&&window.localStorage.getItem(\"__framerDebugSearch\")===\"true\";const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/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+\"\u2026\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){var ref,ref1,ref2;if((ref=theme.inputFont)===null||ref===void 0?void 0:ref.fontFamily)return theme.inputFont.fontFamily;if((ref1=theme.titleFont)===null||ref1===void 0?void 0:ref1.fontFamily)return theme.titleFont.fontFamily;if((ref2=theme.subtitleFont)===null||ref2===void 0?void 0:ref2.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument===null||safeDocument===void 0?void 0:safeDocument.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};\nexport const __FramerMetadata__ = {\"exports\":{\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map", "import{clamp}from\"framer-motion\";import{useEffect,useMemo,useState}from\"react\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/PCK1x1QLNluYNoEoapwx/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}function splitWords(text){return text.split(RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\"));}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */ function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(/[\\u0300-\\u036f]/g,\"\").toLowerCase();}function getNormalizedItem(item){const normalizedItem={};for(const[key,value]of Object.entries(item)){if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */ function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6,];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore1=distance(query,headingWord);if(distanceScore1<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,query){const normalizedItem=getNormalizedItem(item);const normalizedQuery=getNormalizedString(query);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const results=useMemo(()=>{if(!query||!index){return[];}const path=safeWindow===null||safeWindow===void 0?void 0:safeWindow.location.pathname;time(\"query\");// Filter the results.\nconst results=Object.values(index).map(item=>{const score=getSearchIndexItemScore(item,query);// Use first `h1` instead of title if the page has one.\nconst heading=item.h1.length&&item.h1[0];// Convert index item to result item.\nconst result={url:item.url,title:heading?heading:item.title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score};return result;}).filter(item=>item.score>settings.minimumScore||0).filter(item=>{if(!path)return true;return item.url!==path;}).sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");return results;},[index,query]);return results;}function getIndexedScopedToUrl(index,rawUrlScope){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){if(!url.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,localeId,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const results=useRawSearch(searchIndex,query,settings);// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const metaTag=safeDocument===null||safeDocument===void 0?void 0:safeDocument.querySelector('meta[name=\"framer-search-index\"]');if(!metaTag){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cachedIndex=await getCachedIndex(localeId);const metaTagContent=metaTag.getAttribute(\"content\");const isOverLimit=metaTagContent===\"limit-reached\";if(isOverLimit){log(\"Page limit for plan exceeded\");}// If a cached index exists, use the cached version until latest one\n// from the network loads.\nif(cachedIndex&&!isOverLimit){setSearchIndex(cachedIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");}// Return early and do not make a fetch request if the URL is not valid.\nif(!metaTagContent||!isValidUrl(metaTagContent)){log(\"Meta tag exists but URL is not valid yet\");// If there is no cached index, show the pending index message.\n// Otherwise use the cache to as the index to search.\nif(!cachedIndex){setStatus(\"pending-index-generation\");log(\"No cache to use, page reload required to check for meta tag\");}else{log(\"Continue using cache\");}return;}const searchIndexURL=getSearchIndexURL(metaTagContent,localeId);const response=await fetch(searchIndexURL);if(!response.ok){throw new Error(response.statusText);}const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex);setStatus(\"success\");log(\"Using downloaded index\");}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getSearchIndexURL(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map", "export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map", "// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map", "// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/qCpBt7sCI0Lg2zcyNIfl/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/IUldo6dKZIdbnCORBbXK/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{// @ts-expect-error Internal API\nuseLocaleInfo}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===SearchInputClearButtonType.Icon;const iconOrText=shouldDisplayIcon?/*#__PURE__*/ _jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/ _jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/ _jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===SearchInputDividerType.Contained&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/ _jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/ forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==SearchInputClearButtonType.None;const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===SearchIconType.Custom&&theme.inputIconImage?/*#__PURE__*/ _jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize}):/*#__PURE__*/ _jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/ _jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/ _jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/ _jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/ _jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/ _jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/ React.memo(/*#__PURE__*/ React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=SearchResultItemType.Contained,subtitleType=SearchResultSubtitleType.Path,selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{if(!localeSlug)return url;return url.replace(`/${localeSlug}`,\"\");},[url]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===SearchResultItemType.Contained;const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===SearchResultSubtitleType.Path?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/ _jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/ _jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/ _jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/ _jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/ _jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */ function QuickMenuSpacer({onClick}){return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===SearchLayoutType.FixedTop?theme.offsetTop:0,height:layoutType===SearchLayoutType.Sidebar?\"100%\":\"auto\",maxHeight:layoutType===SearchLayoutType.QuickMenu?\"100%\":\"none\",justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-end\":\"flex-start\",flexDirection:layoutType===SearchLayoutType.Sidebar?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===SearchLayoutType.Sidebar?\"100%\":\"auto\",maxHeight:layoutType===SearchLayoutType.QuickMenu?\"100%\":\"none\",gap:layoutType===SearchLayoutType.Sidebar?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===SearchLayoutType.Sidebar?theme.backgroundColor:\"transparent\",justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-end\":\"flex-start\",flexDirection:layoutType===SearchLayoutType.Sidebar?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case SearchLayoutType.FixedTop:{const key=animationKeyFromLayout(SearchLayoutType.FixedTop);const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case SearchLayoutType.QuickMenu:{const key1=animationKeyFromLayout(SearchLayoutType.QuickMenu);const prop1=modalOptions?modalOptions[key1]:undefined;if(prop1){return prop1;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case SearchLayoutType.Sidebar:{const key2=animationKeyFromLayout(SearchLayoutType.Sidebar);const prop2=modalOptions?modalOptions[key2]:undefined;if(prop2){return prop2;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/ _jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===SearchLayoutType.QuickMenu&&/*#__PURE__*/ _jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/ _jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===SearchLayoutType.QuickMenu?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==SearchLayoutType.Sidebar?theme.shadow:undefined,maxHeight:layoutType===SearchLayoutType.QuickMenu?`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!==SearchLayoutType.QuickMenu||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/ _jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===SearchLayoutType.FixedTop?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/ React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/ _jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===SearchLayoutType.FixedTop?\"none\":theme.width,width:layoutType===SearchLayoutType.FixedTop?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==SearchLayoutType.Sidebar&&statusStyle.boxShadow,borderRadius:layoutType!==SearchLayoutType.Sidebar&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===SearchLayoutType.FixedTop?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/ _jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/ _jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case SearchLayoutType.Sidebar:return{...sidebarStyles,width:theme.width};case SearchLayoutType.FixedTop:return fixedTopStyles;case SearchLayoutType.QuickMenu:return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale===null||activeLocale===void 0?void 0:activeLocale.id;const localeSlug=activeLocale===null||activeLocale===void 0?void 0:activeLocale.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,localeId,{minimumScore:0,urlScope});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const navigateTo=useCallback(url=>{if(status===\"no-meta-tag-found\"){return;}window.location.href=url;},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==SearchInputDividerType.None);const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===SearchResultItemType.Contained);const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/ _jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/ _jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/ _jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/ _jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/ _jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/ _jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/ _jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,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:SearchLayoutType.Sidebar?\"100%\":\"auto\"},children:/*#__PURE__*/ _jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/ _jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__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,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/UEEXQECflV0hKcJt6sUR/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/IUldo6dKZIdbnCORBbXK/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var // SITE SEARCH\n// By Anthony and Hunter\nEntryPointOptions;(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/ forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/ createPortal(/*#__PURE__*/ _jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/ _jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/ _jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */ const EntryPoint=withCSS(function EntryPoint(props){var ref,ref1,ref2,ref3,ref4;const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=((ref=props.inputOptions)===null||ref===void 0?void 0:(ref1=ref.inputFont)===null||ref1===void 0?void 0:ref1.fontSize)?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore \u2013 Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:((ref2=props.resultOptions)===null||ref2===void 0?void 0:ref2.titleFont)&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:((ref3=props.resultOptions.subtitleOptions)===null||ref3===void 0?void 0:ref3.subtitleFont)&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:((ref4=props.inputOptions)===null||ref4===void 0?void 0:ref4.inputFont)&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/ _jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/ _jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",outline:\"inherit\",padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/ _jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/ _jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/ _jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/ _jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`,]);export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore \u2013\u00A0Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,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\"},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"40\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (f030ee3)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,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/SyUhdprSsFLhVnL3rlqz/Search.js\";import{Icon as Feather}from\"https://framerusercontent.com/modules/f0DboytQenYh21kfme7W/zb1zVBMZJKgPMiedOi0y/Feather.js\";const FeatherFonts=getFonts(Feather);const SearchFonts=getFonts(Search);const enabledGestures={tQUYC1ymO:{hover:true}};const serializationHash=\"framer-G8DKy\";const variantClassNames={tQUYC1ymO:\"framer-v-qsmcmi\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,title,width,...props})=>{return{...props,fEqTXl_DP:title??props.fEqTXl_DP??\"Search templates, resources, content\u2026\"};};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,fEqTXl_DP,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"tQUYC1ymO\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-qsmcmi\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"tQUYC1ymO\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-58389c29-c015-4427-a57c-637e65cb6404, rgb(235, 235, 235))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-db88a771-6701-4faa-b3c9-41f973b43aa0, rgb(255, 255, 255))\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,...style},variants:{\"tQUYC1ymO-hover\":{\"--border-color\":\"var(--token-3ab2d8b6-b506-4374-a6e8-5ad0c59c1eff, rgb(102, 102, 102))\"}},...addPropertyOverrides({\"tQUYC1ymO-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-q10ne5-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"zsdCwQCmJ-container\",nodeId:\"zsdCwQCmJ\",rendersWithMotion:true,scopeId:\"mgNaamhSq\",children:/*#__PURE__*/_jsx(Feather,{color:\"var(--token-3ab2d8b6-b506-4374-a6e8-5ad0c59c1eff, rgb(102, 102, 102))\",height:\"100%\",iconSearch:\"Home\",iconSelection:\"search\",id:\"zsdCwQCmJ\",layoutId:\"zsdCwQCmJ\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-line-height\":\"1.5em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-3ab2d8b6-b506-4374-a6e8-5ad0c59c1eff, rgb(102, 102, 102)))\"},children:\"Search design content\u2026\"})}),className:\"framer-2nmumz\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Ab1KhakTz\",style:{\"--extracted-r6o4lv\":\"var(--token-3ab2d8b6-b506-4374-a6e8-5ad0c59c1eff, rgb(102, 102, 102))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\"},text:fEqTXl_DP,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-hre60j-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"SrVqsFZjy-container\",nodeId:\"SrVqsFZjy\",rendersWithMotion:true,scopeId:\"mgNaamhSq\",style:{opacity:0},children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"var(--token-58389c29-c015-4427-a57c-637e65cb6404, rgb(227, 227, 227))\",iconSize:24,iconType:\"default\",id:\"SrVqsFZjy\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Search...\"},textColor:\"var(--token-58389c29-c015-4427-a57c-637e65cb6404, rgb(227, 227, 227))\"},layoutId:\"SrVqsFZjy\",modalOptions:{backgroundColor:\"var(--token-004153e9-836e-4588-87f8-07c9aa18e03d, rgb(250, 250, 250))\",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:{fontFamily:'\"Onest\", \"Onest Placeholder\", sans-serif',fontSize:\"13px\",fontStyle:\"normal\",fontWeight:400},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{fontFamily:'\"Onest\", \"Onest Placeholder\", sans-serif',fontSize:\"15px\",fontStyle:\"normal\",fontWeight:400}},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-G8DKy.framer-a0m2di, .framer-G8DKy .framer-a0m2di { display: block; }\",\".framer-G8DKy.framer-qsmcmi { align-content: center; align-items: center; cursor: text; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 16px; position: relative; width: 750px; }\",\".framer-G8DKy .framer-q10ne5-container { flex: none; height: 20px; position: relative; width: 20px; }\",\".framer-G8DKy .framer-2nmumz { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-G8DKy .framer-hre60j-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-G8DKy.framer-qsmcmi { gap: 0px; } .framer-G8DKy.framer-qsmcmi > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-G8DKy.framer-qsmcmi > :first-child { margin-left: 0px; } .framer-G8DKy.framer-qsmcmi > :last-child { margin-right: 0px; } }\",'.framer-G8DKy[data-border=\"true\"]::after, .framer-G8DKy [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 750\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"VZ0eaUNRC\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"fEqTXl_DP\":\"title\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramermgNaamhSq=withCSS(Component,css,\"framer-G8DKy\");export default FramermgNaamhSq;FramermgNaamhSq.displayName=\"Navigation / Search Bar Copy\";FramermgNaamhSq.defaultProps={height:200,width:750};addPropertyControls(FramermgNaamhSq,{fEqTXl_DP:{defaultValue:\"Search templates, resources, content\u2026\",displayTextArea:false,title:\"Title\",type:ControlType.String}});addFonts(FramermgNaamhSq,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{family:\"Onest\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/onest/v8/gNMZW3F-SZuj7zOT0IfSjTS16cPh9R-ZtxFMQWXgSQ.woff2\",weight:\"400\"}]},...FeatherFonts,...SearchFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermgNaamhSq\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"750\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"200\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VZ0eaUNRC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"fEqTXl_DP\\\":\\\"title\\\"}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mgNaamhSq.map"],
  "mappings": "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",
  "names": ["createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "R", "_", "t", "r", "e", "i", "U", "s", "m", "h", "T", "O", "f", "n", "x", "p", "l", "I", "J", "N", "P", "j", "b", "v", "w", "$", "A", "G", "K", "d", "c", "o", "u", "Y", "a", "E", "M", "L", "q", "z", "k", "C", "D", "F", "H", "g", "S", "window", "y", "V", "B", "useStore", "createStore", "withLoggedOut", "Component", "props", "store", "useStore", "className", "p", "withActiveLicense", "_store_user", "license", "withVariantActiveLicense", "Component", "props", "_store_user", "store", "useStore", "variant", "license", "p", "withIsLessonComplete", "_store_user_data", "setStore", "key", "K2vjcG65h_exports", "__export", "__FramerMetadata__", "K2vjcG65h_default", "CMSActionInterface", "props", "p", "styles", "addPropertyControls", "ControlType", "CMSActionInterfaceFonts", "getFonts", "CMSActionInterface", "PhosphorFonts", "Icon", "serializationHash", "variantClassNames", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "slug", "width", "props", "createLayoutDependency", "variants", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "variant", "fztyqXWTo", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "variantClassNames", "layoutDependency", "scopingClassNames", "cx", "serializationHash", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "CMSActionInterface", "Icon", "css", "FramerK2vjcG65h", "withCSS", "K2vjcG65h_default", "addPropertyControls", "ControlType", "addFonts", "CMSActionInterfaceFonts", "PhosphorFonts", "__FramerMetadata__", "SearchIcon", "props", "p", "ClearIcon", "u", "SpinnerIcon", "motion", "Storage", "name", "resolve", "reject", "request", "window", "e", "key", "value", "setCachedData", "url", "dataToCache", "cache", "Storage", "cacheKey", "data", "checkForCachedData", "VERSION", "isDefaultLocaleId", "localeId", "INDEX_KEY", "getIndexKey", "METADATA_KEY", "getMetadataKey", "getCachedIndex", "indexKey", "cachedIndex", "checkForCachedData", "setCachedIndex", "index", "setCachedData", "metadata", "VERSION", "metadataKey", "fakeResults", "peq", "myers_32", "a", "b", "n", "m", "lst", "pv", "mv", "sc", "i", "eq", "xv", "myers_x", "mhc", "phc", "hsize", "vsize", "j", "start", "vlen", "k", "i1", "pb", "mb", "xh", "ph", "mh", "k1", "mv1", "pv1", "start1", "vlen1", "k2", "score", "i2", "eq1", "pb1", "mb1", "xv1", "xh1", "ph1", "mh1", "k3", "distance", "tmp", "localStorageDebugFlag", "window", "groupsRegex", "capitalizeFirstLetter", "value", "titleCase", "clampText", "text", "maxLength", "textLength", "slicedText", "isEmptyObject", "object", "createLogger", "showOutput", "log", "data", "time", "label", "timeEnd", "noop", "DEFAULT_FONT_FAMILY", "getFontFamily", "theme", "ref", "ref1", "ref2", "animationKeyFromLayout", "layout", "safeDocument", "safeWindow", "metaTagSelector", "getMetaTagContent", "metaTag", "checkIfOverLimit", "log", "time", "timeEnd", "createLogger", "localStorageDebugFlag", "isValidUrl", "url", "splitWords", "text", "getUniqueWords", "str", "words", "word", "getNormalizedString", "getNormalizedItem", "item", "normalizedItem", "key", "value", "getMatchRange", "currentRange", "start", "end", "result", "getScoreForSearchIndexItem", "query", "fullQuery", "score", "match", "urlWords", "splitLength", "clamp", "titleWords", "titleIndex", "distance", "titleWord", "headings", "heading", "headingWords", "headingWord", "descriptionIndex", "codeblock", "getSearchIndexItemScore", "normalizedQuery", "queryWords", "total", "queryWord", "useRawSearch", "index", "settings", "se", "path", "safeWindow", "results", "itemA", "itemB", "getIndexedScopedToUrl", "rawUrlScope", "scopedIndex", "baseScopeUrlHasVariable", "urlUpToPathVariable", "urlScope", "useSearch", "localeId", "searchIndex", "_setSearchIndex", "ye", "status", "setStatus", "setSearchIndex", "options", "ue", "loadSearchIndex", "metaTag", "safeDocument", "fakeResults", "cachedIndex", "getCachedIndex", "metaTagContent", "isOverLimit", "searchIndexURL", "getSearchIndexURL", "response", "downloadedIndex", "setCachedIndex", "error", "baseURL", "isDefaultLocaleId", "Browser", "isTouch", "window", "navigator", "isChrome", "isWebKit", "isSafari", "isSafariDesktop", "isWindows", "isMacOS", "useCallbackOnMouseMove", "callback", "mousePositionRef", "prevPositionRef", "pe", "te", "event", "Browser", "ref", "clientX", "clientY", "prevCursorPosition", "scrollIntoView", "targetElement", "scrollElement", "offsetTop", "offsetBottom", "targetElementBounds", "scrollElementBounds", "difference", "topAligned", "minOffset", "bottomAligned", "offset", "MAX_DESCRIPTION_LENGTH", "MODAL_MAX_HEIGHT", "VERTICAL_SPACING_MULTIPLIER", "ClearButton", "theme", "type", "onClick", "text", "iconOrText", "SearchInputClearButtonType", "p", "ClearIcon", "Divider", "styles", "SearchInputDividerType", "Input", "Y", "props", "ref", "value", "status", "autofocus", "placeholder", "iconType", "clearButtonType", "onChange", "inputValue", "setInputValue", "ye", "isFocused", "setIsFocused", "inputRef", "pe", "ce", "e", "inputElement", "handleInputClick", "handleClearClick", "ue", "hasInputText", "showClearButton", "verticalSpacing", "searchIcon", "SearchIconType", "SearchIcon", "u", "inputContainerStyle", "getFontFamily", "SpinnerIcon", "inputStyle", "scrollOffset", "ResultRow", "index", "result", "prevMousePositionRef", "SearchResultItemType", "subtitleType", "SearchResultSubtitleType", "selected", "localeSlug", "style", "onMouseMove", "onPointerDown", "onNavigateTo", "url", "title", "score", "urlPath", "se", "handleMouseMove", "useCallbackOnMouseMove", "event", "isContained", "borderRadius", "clamp", "subtitleText", "clampText", "handleClick", "focusTrap", "resultContainer", "resultTitle", "localStorageDebugFlag", "QuickMenuSpacer", "layoutContainerStyle", "LayoutContainer", "layoutType", "onKeyDown", "onDismiss", "children", "modalOptions", "layoutStyles", "getLayoutBaseStyles", "SearchLayoutType", "innerStyle", "getContainerAnimation", "key", "animationKeyFromLayout", "prop", "Browser", "key1", "prop1", "key2", "prop2", "containerAnimation", "motion", "ModalContainer", "heightIsStatic", "heightTransition", "heightDeps", "scope", "animate", "useAnimate", "fe", "prevHeight", "height", "ScrollView", "isTouch", "canScroll", "setCanScroll", "element", "statusStyle", "StatusMessage", "previewInfoText", "sidebarStyles", "fixedTopStyles", "quickMenuStyles", "layoutOption", "SearchEntryType", "SearchModal", "urlScope", "inputOptions", "backdropOptions", "activeLocale", "useLocaleInfo", "localeId", "input", "selectedResultRow", "scrollView", "setSelected", "isKeyboardNavigationDisabled", "setIsKeyboardNavigationDisabled", "query", "setQuery", "deferredQuery", "oe", "results", "useSearch", "selectedResult", "handleResultRowPointerDown", "te", "handleResultRowMouseMove", "previousSelected", "navigateTo", "window", "handleKeyDown", "maxIndex", "showNoResults", "showDivider", "isItemContained", "spacing", "listPaddingTop", "scrollIntoView", "isSelected", "getViewportSize", "window", "useViewportSizeState", "getState", "state", "setState", "ye", "ue", "handleWindowResize", "EntryPointOptions", "buildShadow", "shadowProperty", "fallback", "x", "y", "blur", "color", "spread", "Overlay", "Y", "props", "ref", "layoutType", "theme", "onDismiss", "ue", "handleKeyDown", "event", "handlePointerDown", "window", "bodyOverflowHidden", "Ga", "u", "backdropStyles", "SearchLayoutType", "p", "motion", "SearchModal", "containerStyle", "EntryPoint", "withCSS", "ref1", "ref2", "ref3", "ref4", "overlay", "pe", "isOpen", "setIsOpen", "ye", "isOverLimit", "setIsOverLimit", "isSafariTouchDevice", "setIsSafariTouchDevice", "isOnCanvas", "RenderTarget", "checkIfOverLimit", "Browser", "baseInputFontSize", "inputFontSize", "useViewportSizeState", "size", "isEmptyObject", "DEFAULT_FONT_FAMILY", "handleClick", "SearchIconType", "SearchIcon", "AnimatePresence", "Search_default", "addPropertyControls", "ControlType", "titleCase", "iconType", "SearchInputDividerType", "SearchInputClearButtonType", "heightIsStatic", "animationKeyFromLayout", "SearchResultItemType", "SearchResultSubtitleType", "FeatherFonts", "getFonts", "Icon", "SearchFonts", "Search_default", "enabledGestures", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "title", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "fEqTXl_DP", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "RichText2", "css", "FramermgNaamhSq", "withCSS", "mgNaamhSq_default", "addPropertyControls", "ControlType", "addFonts"]
}
