{
  "version": 3,
  "sources": ["ssg:https://cdn.framerauth.com/scripts/framerauth-sdk@beta.js", "ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framerusercontent.com/modules/3A7VAuhQUt26uZbnJnpi/uT4EMgqICkX4gH2c81p3/FramerAuth.js", "ssg:https://framerusercontent.com/modules/kuAn7OimHPficEuroOZt/DMw87Et7cDQFaoFGUSyy/BoYcHe90r.js"],
  "sourcesContent": ["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{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", "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", "import{fontStore as e}from\"framer\";e.loadWebFontsFromSelectors([\"GF;Onest-regular\",\"Inter-Bold\",\"Inter-BoldItalic\",\"Inter-Italic\"]);export const fonts=[{family:\"Onest\",moduleAsset:{localModuleIdentifier:\"local-module:css/BoYcHe90r:default\",url:\"https://fonts.gstatic.com/s/onest/v2/gNMZW3F-SZuj7zOT0IfSjTS16cPh9R-ZshFMQWXgSQ.ttf\"},style:\"normal\",url:\"https://fonts.gstatic.com/s/onest/v2/gNMZW3F-SZuj7zOT0IfSjTS16cPh9R-ZshFMQWXgSQ.ttf\",weight:\"400\"}];export const css=['.framer-NrgsR .framer-styles-preset-16bjmx:not(.rich-text-wrapper), .framer-NrgsR .framer-styles-preset-16bjmx.rich-text-wrapper p { --framer-font-family: \"Onest\", \"Onest Placeholder\", sans-serif; --framer-font-family-bold: \"Inter-Bold\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Inter-BoldItalic\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter-Italic\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: 0em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-3ab2d8b6-b506-4374-a6e8-5ad0c59c1eff, #666666); --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-NrgsR\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["init_shims", "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", "Y", "a", "u", "E", "M", "L", "q", "z", "k", "C", "D", "F", "H", "g", "S", "y", "V", "B", "init_shims", "createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "init_shims", "useStore", "createStore", "withAuth", "Component", "props", "store", "setStore", "ue", "B", "data", "error", "user", "p", "withLoggedIn", "Component", "props", "store", "setStore", "useStore", "p", "withLoggedOut", "className", "withIsLessonComplete", "Component", "props", "_store_user_data", "_store_user", "store", "setStore", "useStore", "key", "p", "withNoActiveLicense", "Component", "props", "_store_user", "store", "useStore", "license", "p", "init_shims", "fontStore", "fonts", "css", "className"]
}
