{"version":3,"file":"AuthWidget.DCvmOIFw.mjs","names":["u","p","r","AuthWidget","useState"],"sources":["https:/cdn.framerauth.com/scripts/framerauth-sdk@beta.js","https:/framerusercontent.com/modules/h3MEKbymtpA7CfJnPnxw/qULX42saDg7DUhPhitna/AuthWidget.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{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType,withCSS,useRouter}from\"framer\";import{auth}from\"https://cdn.framerauth.com/scripts/framerauth-sdk@beta.js\";/**\n * These annotations control how your component sizes\n * Learn more: https://www.framer.com/docs/guides/auto-sizing\n *\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight auto\n */const AuthWidget=withCSS(function AuthWidget({links,primaryButton,secondaryButton,avatar,layout,align,store}){var _store_user_first_name_charAt,_store_user_first_name,_store_user,_store_user1,_store_user2;const router=useRouter();const[menuOpen,setMenuOpen]=useState(false);const{paddingPerSide:primaryButtonPaddingPerSide,paddingTop:primaryButtonPaddingTop,paddingRight:primaryButtonPaddingRight,paddingBottom:primaryButtonPaddingBottom,paddingLeft:primaryButtonPaddingLeft,padding:primaryButtonPadding,borderRadius:primaryButtonBorderRadius,borderObject:primaryButtonBorderObject,shadowObject:primaryButtonShadowObject}=primaryButton;const primaryButtonPaddingValue=primaryButtonPaddingPerSide?`${primaryButtonPaddingTop}px ${primaryButtonPaddingRight}px ${primaryButtonPaddingBottom}px ${primaryButtonPaddingLeft}px`:`${primaryButtonPadding}px ${primaryButtonPadding}px ${primaryButtonPadding}px ${primaryButtonPadding}px`;const primaryButtonShadowStyles=primaryButton.shadowObject?`${primaryButtonShadowObject.shadowX}px ${primaryButtonShadowObject.shadowY}px ${primaryButtonShadowObject.shadowBlur}px ${primaryButtonShadowObject.shadowColor}`:null;const primaryButtonBorderStyles=primaryButton.borderObject?`inset 0 0 0 ${primaryButtonBorderObject.borderWidth}px ${primaryButtonBorderObject.borderColor}`:null;const{paddingPerSide:secondaryButtonPaddingPerSide,paddingTop:secondaryButtonPaddingTop,paddingRight:secondaryButtonPaddingRight,paddingBottom:secondaryButtonPaddingBottom,paddingLeft:secondaryButtonPaddingLeft,padding:secondaryButtonPadding,borderRadius:secondaryButtonBorderRadius,borderObject:secondaryButtonBorderObject,shadowObject:secondaryButtonShadowObject}=secondaryButton;const secondaryButtonPaddingValue=secondaryButtonPaddingPerSide?`${secondaryButtonPaddingTop}px ${secondaryButtonPaddingRight}px ${secondaryButtonPaddingBottom}px ${secondaryButtonPaddingLeft}px`:`${secondaryButtonPadding}px ${secondaryButtonPadding}px ${secondaryButtonPadding}px ${secondaryButtonPadding}px`;// Button Box Shadow Styles\nconst secondaryButtonShadowStyles=secondaryButton.shadowObject?`${secondaryButtonShadowObject.shadowX}px ${secondaryButtonShadowObject.shadowY}px ${secondaryButtonShadowObject.shadowBlur}px ${secondaryButtonShadowObject.shadowColor}`:null;const secondaryButtonBorderStyles=secondaryButton.borderObject?`inset 0 0 0 ${secondaryButtonBorderObject.borderWidth}px ${secondaryButtonBorderObject.borderColor}`:null;const{paddingPerSide:avatarPaddingPerSide,paddingTop:avatarPaddingTop,paddingRight:avatarPaddingRight,paddingBottom:avatarPaddingBottom,paddingLeft:avatarPaddingLeft,padding:avatarPadding,borderRadius:avatarBorderRadius,borderObject:avatarBorderObject,shadowObject:avatarShadowObject}=avatar;const avatarPaddingValue=avatarPaddingPerSide?`${avatarPaddingTop}px ${avatarPaddingRight}px ${avatarPaddingBottom}px ${avatarPaddingLeft}px`:`${avatarPadding}px ${avatarPadding}px ${avatarPadding}px ${avatarPadding}px`;// Button Box Shadow Styles\nconst avatarShadowStyles=avatar.shadowObject?`${avatarShadowObject.shadowX}px ${avatarShadowObject.shadowY}px ${avatarShadowObject.shadowBlur}px ${avatarShadowObject.shadowColor}`:null;const avatarBorderStyles=avatar.borderObject?`inset 0 0 0 ${avatarBorderObject.borderWidth}px ${avatarBorderObject.borderColor}`:null;const toggleMenu=()=>{setMenuOpen(!menuOpen);};const loggedInOrEditor=()=>{var _window;return store&&store.isAuthenticated||((_window=window)===null||_window===void 0?void 0:_window[\"Framer\"]);};const loggedOutOrEditor=()=>{var _window;return store&&!store.isAuthenticated||((_window=window)===null||_window===void 0?void 0:_window[\"Framer\"]);};const displayLink=link=>{var _window;if(link.display===\"none\"){return false;}else if(link.display===\"allways\"||((_window=window)===null||_window===void 0?void 0:_window[\"Framer\"])){return true;}else if(link.display===\"loggedIn\"){return store&&store.isAuthenticated;}else if(link.display===\"loggedOut\"){return store&&!store.isAuthenticated;}};const handleClick=item=>{if(!item)return;const{linkType,link,action}=item;if(linkType===\"link\"){window.location.href=link;}else{if(action===\"signOut\"){auth.signOut(\"/\");}}};function dynamicBoxShadow(...shadows){const output=[];shadows.forEach(shadow=>shadow&&output.push(shadow));return output.join(\", \");}const primaryButtonStyle={...buttonStyle,...primaryButton.font,padding:primaryButtonPaddingValue,borderRadius:primaryButtonBorderRadius,background:primaryButton.fill,color:primaryButton.color,boxShadow:dynamicBoxShadow(primaryButtonShadowStyles,primaryButtonBorderStyles)};const secondaryButtonStyle={...buttonStyle,...secondaryButton.font,padding:secondaryButtonPaddingValue,borderRadius:secondaryButtonBorderRadius,background:secondaryButton.fill,color:secondaryButton.color,boxShadow:dynamicBoxShadow(secondaryButtonShadowStyles,secondaryButtonBorderStyles)};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,flexDirection:layout===\"vertical\"?\"column\":\"row\"},children:[links.filter(link=>displayLink(link)&&(link.location===\"nav\"||layout===\"vertical\")).map((item,index)=>/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",display:\"flex\",position:\"relative\",alignSelf:align},children:/*#__PURE__*/_jsx(\"button\",{onClick:()=>handleClick(item),style:item.style===\"primary\"?primaryButtonStyle:secondaryButtonStyle,children:item.label})})),loggedInOrEditor()&&layout===\"horizontal\"&&avatar.display&&/*#__PURE__*/_jsxs(\"div\",{style:relativeStyle,children:[/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:avatarWrapperStyle,onClick:toggleMenu,children:/*#__PURE__*/_jsx(\"div\",{style:{...avatarStyle,...avatar.font,height:`${avatar.size}px`,width:`${avatar.size}px`,borderRadius:avatarBorderRadius,fontWeight:avatar.fontWeight,background:avatar.fill,color:avatar.color,boxShadow:dynamicBoxShadow(avatarShadowStyles,avatarBorderStyles)},children:(store===null||store===void 0?void 0:(_store_user=store.user)===null||_store_user===void 0?void 0:(_store_user_first_name=_store_user.first_name)===null||_store_user_first_name===void 0?void 0:(_store_user_first_name_charAt=_store_user_first_name.charAt(0))===null||_store_user_first_name_charAt===void 0?void 0:_store_user_first_name_charAt.toUpperCase())||\"A\"})})}),menuOpen&&/*#__PURE__*/_jsxs(\"div\",{style:dropdownStyle,onMouseLeave:()=>setMenuOpen(false),children:[/*#__PURE__*/_jsxs(\"div\",{style:{...menuItemStyle,cursor:\"default\",borderBottom:\"1px solid #F3F4F6\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"16px\",fontWeight:\"bold\",marginBottom:\"4px\"},children:store===null||store===void 0?void 0:(_store_user1=store.user)===null||_store_user1===void 0?void 0:_store_user1.first_name}),/*#__PURE__*/_jsx(\"div\",{children:store===null||store===void 0?void 0:(_store_user2=store.user)===null||_store_user2===void 0?void 0:_store_user2.email})]}),links.filter(link=>link.location===\"menu\").map((item,index)=>/*#__PURE__*/_jsx(\"a\",{onClick:()=>handleClick(item),style:{...menuItemStyle,textAlign:\"center\"},target:item.newTab?\"_blank\":\"_self\",children:item.label},index))]})]})]});},[]);const containerStyle={display:\"flex\",width:\"100%\",gap:\"12px\",justifyContent:\"center\",alignItems:\"center\"};const relativeStyle={position:\"relative\"};const avatarWrapperStyle={display:\"flex\",border:0,padding:\"0\",backgroundColor:\"transparent\",fontSize:\"16px\",outline:\"none\",cursor:\"pointer\"};const avatarStyle={display:\"flex\",fontSize:\"16px\",justifyContent:\"center\",alignItems:\"center\"};const dropdownStyle={position:\"absolute\",right:\"0\",zIndex:\"999999\",marginTop:\"8px\",minWidth:\"192px\",background:\"#fff\",borderRadius:\"6px\",padding:\"4px\",boxShadow:\"0px 10px 15px rgba(0, 0, 0, 0.1)\",outline:\"none\"};const menuItemStyle={display:\"block\",padding:\"12px 16px\",fontSize:\"13px\",color:\"#4A5568\",textDecoration:\"none\",cursor:\"pointer\"};const buttonStyle={border:0,width:\"100%\",fontSize:\"16px\",cursor:\"pointer\",whiteSpace:\"nowrap\"};const paddingPropertyControls={padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:8,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0}};const sizePropertyControls={size:{title:\"Size\",type:ControlType.Number,defaultValue:34}};const buttonPropertycontrols={font:{type:ControlType.Font,title:\"Font\",controls:\"extended\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#333\"},color:{title:\"Text\",type:ControlType.Color,defaultValue:\"#FFF\"},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},borderObject:{type:ControlType.Object,title:\"Border\",optional:true,controls:{borderWidth:{title:\"Width\",type:ControlType.Number,displayStepper:true,defaultValue:1},borderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(200,200,200,0.5)\"}}},shadowObject:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"Shadow X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Shadow Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Shadow B\",type:ControlType.Number,min:0,max:100,defaultValue:4}}}};const basePropertyControls={links:{title:\"Links\",type:ControlType.Array,control:{type:ControlType.Object,controls:{label:{title:\"Label\",type:ControlType.String,defaultValue:\"Button\"},linkType:{type:ControlType.Enum,defaultValue:\"link\",options:[\"link\",\"action\"],optionTitles:[\"Link\",\"Action\"]},link:{title:\"Link\",type:ControlType.Link,hidden:props=>props.linkType!==\"link\"},newTab:{title:\"New Tab\",type:ControlType.Boolean,defaultValue:false,hidden:props=>props.linkType!==\"link\"},action:{type:ControlType.Enum,defaultValue:\"signOut\",options:[\"signOut\"],optionTitles:[\"Sign out\"],hidden:props=>props.linkType!==\"action\"},location:{type:ControlType.Enum,defaultValue:\"nav\",options:[\"nav\",\"menu\"],optionTitles:[\"Navigation\",\"Menu\"]},style:{type:ControlType.Enum,defaultValue:\"secondary\",options:[\"primary\",\"secondary\"],optionTitles:[\"Primary\",\"Secondary\"]},display:{type:ControlType.Enum,defaultValue:\"allways\",options:[\"allways\",\"loggedIn\",\"loggedOut\",\"none\"],optionTitles:[\"Allways\",\"Logged In\",\"Logged Out\",\"None\"]}}}},primaryButton:{title:\"Primary\",type:ControlType.Object,controls:{...buttonPropertycontrols,...paddingPropertyControls}},secondaryButton:{title:\"Secondary\",type:ControlType.Object,controls:{...buttonPropertycontrols,...paddingPropertyControls}},avatar:{title:\"Avatar\",type:ControlType.Object,controls:{...buttonPropertycontrols,...sizePropertyControls,display:{title:\"Display\",type:ControlType.Boolean,defaultValue:true}}},layout:{title:\"Layout\",type:ControlType.Enum,options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true},align:{title:\"Align\",type:ControlType.Enum,segmentedControlDirection:\"vertical\",options:[\"flex-start\",\"center\",\"flex-end\",\"stretch\"],optionTitles:[\"Start\",\"Center\",\"End\",\"Stretch\"],defaultValue:\"stretch\",hidden:props=>props.layout===\"horizontal\"}};addPropertyControls(AuthWidget,basePropertyControls);AuthWidget.defaultProps={layout:\"vertical\",avatar:{fill:\"#7421FC\"},links:[{label:\"Sign In\",location:\"nav\",linkType:\"link\",link:\"\",newTab:false,display:\"loggedOut\"},{label:\"Sign Up\",location:\"nav\",linkType:\"link\",link:\"\",newTab:false,display:\"loggedOut\"},{label:\"Sign out\",location:\"menu\",linkType:\"action\",link:\"\",action:\"signOut\",newTab:true,display:\"loggedIn\"}]};export default AuthWidget;export{basePropertyControls};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AuthWidget\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerContractVersion\":\"1\"}},\"basePropertyControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AuthWidget.map"],"mappings":"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"}