{"packageName":"@cedros/shop-react","packageRoot":"workspace/react","entryPath":"workspace/react/dist/web/register.js","surfaceEntryPaths":{"web":"workspace/react/dist/web/register.js"},"surfaceFilePaths":{"web":["workspace/react/dist/AccountTemplate-g_nx0moc.js","workspace/react/dist/CheckoutRecovery-BeJzj45u.js","workspace/react/dist/CheckoutTemplate-B1_EQM8l.js","workspace/react/dist/CountrySelect-CWjXE2X0.js","workspace/react/dist/SubscriptionTemplate-JCKiForP.js","workspace/react/dist/browserCheckoutAttemptStore-Bb1V7J9y.js","workspace/react/dist/styleInjection-D8xLNR6Q.js","workspace/react/dist/useCurrentIdentity--397tFNA.js","workspace/react/dist/web/register.js"]},"files":[{"path":"workspace/react/dist/AccountTemplate-g_nx0moc.js","kind":"module","text":"import { O as e, T as t, j as n } from \"./styleInjection-D8xLNR6Q.js\";\nimport { Ct as r, Et as i, Tt as a, W as o, Yt as s, a as c, jt as l, mn as u, pn as d, t as f, wt as p, xn as m, z as h } from \"./useCurrentIdentity--397tFNA.js\";\nimport { a as g, i as _, n as v, o as y, r as b, t as x } from \"./CountrySelect-CWjXE2X0.js\";\nimport * as S from \"react\";\nimport { Fragment as C, jsx as w, jsxs as T } from \"react/jsx-runtime\";\n//#region src/storefront/AccountTemplate.tsx\nvar E = null, D = {\n\tline1: \"\",\n\tline2: \"\",\n\tcity: \"\",\n\tstate: \"\",\n\tpostalCode: \"\",\n\tcountry: \"\",\n\tlabel: \"\"\n};\nfunction O({ className: e }) {\n\tlet { dataCacheKey: t } = d();\n\treturn /* @__PURE__ */ w(k, { className: e }, t);\n}\nfunction k({ className: t }) {\n\tlet { config: n, dataCacheKey: i } = d(), a = u(), o = s(), c = !!(n.customer?.isSignedIn && n.adapter.getCustomerAccount), { data: l, isLoading: f, isFetching: p, error: g, refetch: _ } = m({\n\t\tkey: `${i}:customer-account:${n.customer?.id ?? \"guest\"}`,\n\t\tenabled: c,\n\t\tinitialData: E,\n\t\tstaleTimeMs: 5e3,\n\t\tfetcher: async () => n.adapter.getCustomerAccount ? v(await n.adapter.getCustomerAccount()) : null\n\t});\n\treturn n.customer?.isSignedIn ? /* @__PURE__ */ T(A, {\n\t\tclassName: t,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ w(\"header\", {\n\t\t\t\tclassName: \"cedros-shop-public__history-header\",\n\t\t\t\tchildren: /* @__PURE__ */ T(\"div\", { children: [/* @__PURE__ */ w(\"h1\", {\n\t\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\t\tchildren: a.t(\"storefront.account.title\")\n\t\t\t\t}), /* @__PURE__ */ w(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\t\tchildren: a.t(\"storefront.account.subtitle\")\n\t\t\t\t})] })\n\t\t\t}),\n\t\t\t/* @__PURE__ */ T(\"nav\", {\n\t\t\t\tclassName: \"cedros-shop-public__account-navigation mt-6 flex flex-wrap gap-2\",\n\t\t\t\t\"aria-label\": a.t(\"storefront.account.title\"),\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ w(h, {\n\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(\"a\", {\n\t\t\t\t\t\t\thref: a.route(\"orders\", void 0, n.routes),\n\t\t\t\t\t\t\tchildren: a.t(\"storefront.history.title\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\to.subscriptions && (n.adapter.listSubscriptionTiers || n.adapter.getSubscriptionStatus) ? /* @__PURE__ */ w(h, {\n\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(\"a\", {\n\t\t\t\t\t\t\thref: a.route(\"subscribe\", void 0, n.routes),\n\t\t\t\t\t\t\tchildren: a.t(\"storefront.subscription.title\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}) : null,\n\t\t\t\t\t/* @__PURE__ */ w(h, {\n\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(\"a\", {\n\t\t\t\t\t\t\thref: a.route(\"shop\", void 0, n.routes),\n\t\t\t\t\t\t\tchildren: a.t(\"storefront.cart.continueShopping\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\tn.adapter.getCustomerAccount ? /* @__PURE__ */ w(j, {\n\t\t\t\tisLoading: f || p,\n\t\t\t\terror: g,\n\t\t\t\taccount: l ?? null,\n\t\t\t\tonRetry: _\n\t\t\t}) : /* @__PURE__ */ w(r, {\n\t\t\t\tclassName: \"mt-8\",\n\t\t\t\theadingLevel: 2,\n\t\t\t\ttitle: a.t(\"storefront.account.unavailableTitle\"),\n\t\t\t\tdescription: a.t(\"storefront.account.unavailableDescription\")\n\t\t\t}),\n\t\t\tl ? /* @__PURE__ */ T(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__account-grid mt-8\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ w(M, {\n\t\t\t\t\t\taccount: l,\n\t\t\t\t\t\tonRefresh: _,\n\t\t\t\t\t\tstale: p || g !== null\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(N, {\n\t\t\t\t\t\taccount: l,\n\t\t\t\t\t\tonRefresh: _,\n\t\t\t\t\t\tstale: p || g !== null\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(P, {\n\t\t\t\t\t\taccount: l,\n\t\t\t\t\t\tonRefresh: _,\n\t\t\t\t\t\tstale: p || g !== null\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\tl ? /* @__PURE__ */ w(te, { account: l }) : null\n\t\t]\n\t}) : /* @__PURE__ */ w(A, {\n\t\tclassName: t,\n\t\tchildren: /* @__PURE__ */ w(r, {\n\t\t\theadingLevel: 1,\n\t\t\ttitle: a.t(\"storefront.account.signInTitle\"),\n\t\t\tdescription: a.t(\"storefront.account.signInDescription\"),\n\t\t\tactionLabel: a.t(\"storefront.shop.signIn\"),\n\t\t\tonAction: () => e(n.signInUrl)\n\t\t})\n\t});\n}\nfunction A({ className: e, children: t }) {\n\tlet n = u(), r = S.useId();\n\treturn /* @__PURE__ */ T(\"div\", {\n\t\tdir: n.direction,\n\t\tclassName: l(\"cedros-shop-public cedros-shop-public--account min-h-screen\", e),\n\t\tchildren: [/* @__PURE__ */ w(c, { contentId: r }), /* @__PURE__ */ w(\"main\", {\n\t\t\tid: r,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\tchildren: t\n\t\t})]\n\t});\n}\nfunction j(e) {\n\tlet t = u();\n\treturn e.isLoading ? /* @__PURE__ */ T(\"p\", {\n\t\tclassName: \"mt-8 flex items-center gap-2 text-sm\",\n\t\trole: \"status\",\n\t\tchildren: [/* @__PURE__ */ w(\"span\", {\n\t\t\tclassName: \"cs-spinner\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t}), t.t(\"storefront.account.loading\")]\n\t}) : e.error ? /* @__PURE__ */ w(r, {\n\t\tclassName: \"mt-8\",\n\t\theadingLevel: 2,\n\t\ttitle: t.t(\"storefront.account.unavailableTitle\"),\n\t\tdescription: t.t(\"storefront.error.load\"),\n\t\tactionLabel: t.t(\"common.retry\"),\n\t\tonAction: () => void e.onRetry()\n\t}) : e.account ? null : /* @__PURE__ */ w(r, {\n\t\tclassName: \"mt-8\",\n\t\theadingLevel: 2,\n\t\ttitle: t.t(\"storefront.account.emptyTitle\"),\n\t\tdescription: t.t(\"storefront.account.emptyDescription\")\n\t});\n}\nfunction M({ account: e, onRefresh: t, stale: n }) {\n\tlet { config: r } = d(), s = u(), { form: c, setForm: l, accept: m, reset: _, hasChanges: v } = W(K(e)), [y, b] = S.useState(null), x = S.useRef(!1), [E, D] = S.useState(!1), O = f(), k = !!r.adapter.updateCustomerProfile, A = re(e.profile), j = ie(c, e.profile, A), M = Object.keys(j).length === 0, N = async () => {\n\t\tif (!(!r.adapter.updateCustomerProfile || n || M || x.current || !O())) {\n\t\t\tx.current = !0, b({\n\t\t\t\tkind: \"busy\",\n\t\t\t\tmessage: s.t(\"common.saving\")\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tlet n = g(await r.adapter.updateCustomerProfile(j), j);\n\t\t\t\tif (!O()) return;\n\t\t\t\tm(c, K({\n\t\t\t\t\t...e,\n\t\t\t\t\tprofile: {\n\t\t\t\t\t\t...e.profile,\n\t\t\t\t\t\t...n\n\t\t\t\t\t}\n\t\t\t\t})) && D(!1), b({\n\t\t\t\t\tkind: \"success\",\n\t\t\t\t\tmessage: s.t(\"storefront.account.profileSaved\")\n\t\t\t\t}), await t();\n\t\t\t} catch {\n\t\t\t\tb({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: s.t(\"storefront.account.saveError\")\n\t\t\t\t});\n\t\t\t} finally {\n\t\t\t\tx.current = !1;\n\t\t\t}\n\t\t}\n\t}, { email: P, name: F, phone: I } = e.profile;\n\treturn !k && !P && !F && !I ? null : /* @__PURE__ */ T(p, {\n\t\tclassName: \"cedros-shop-public__account-profile\",\n\t\tchildren: [/* @__PURE__ */ T(i, { children: [/* @__PURE__ */ w(H, { children: s.t(\"storefront.account.profileTitle\") }), /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: s.t(k ? \"storefront.account.profileDescription\" : \"storefront.account.profileReadOnlyDescription\")\n\t\t})] }), /* @__PURE__ */ T(a, {\n\t\t\tclassName: \"space-y-4\",\n\t\t\tchildren: [\n\t\t\t\tP ? /* @__PURE__ */ w(V, {\n\t\t\t\t\tlabel: s.t(\"storefront.checkout.email\"),\n\t\t\t\t\tvalue: P,\n\t\t\t\t\thint: s.t(\"storefront.account.emailManagedBySignIn\")\n\t\t\t\t}) : null,\n\t\t\t\tE ? null : /* @__PURE__ */ T(\"div\", {\n\t\t\t\t\tclassName: \"space-y-4\",\n\t\t\t\t\tchildren: [F ? /* @__PURE__ */ w(V, {\n\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.name\"),\n\t\t\t\t\t\tvalue: F\n\t\t\t\t\t}) : null, I ? /* @__PURE__ */ w(V, {\n\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.phone\"),\n\t\t\t\t\t\tvalue: I\n\t\t\t\t\t}) : null]\n\t\t\t\t}),\n\t\t\t\tk ? /* @__PURE__ */ T(L, {\n\t\t\t\t\tediting: E,\n\t\t\t\t\tonEdit: () => D(!0),\n\t\t\t\t\tonCancel: () => {\n\t\t\t\t\t\t_(), b(null), D(!1);\n\t\t\t\t\t},\n\t\t\t\t\tdisabled: n || y?.kind === \"busy\",\n\t\t\t\t\tlabel: s.t(\"common.edit\"),\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.name\"),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\t\tautoComplete: \"name\",\n\t\t\t\t\t\t\t\tvalue: c.name ?? \"\",\n\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\tname: e.target.value\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tA.phone ? /* @__PURE__ */ w(B, {\n\t\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.phone\"),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\t\ttype: \"tel\",\n\t\t\t\t\t\t\t\tautoComplete: \"tel\",\n\t\t\t\t\t\t\t\tvalue: c.phone ?? \"\",\n\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\tphone: e.target.value\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\tA.marketingOptIn ? /* @__PURE__ */ T(\"label\", {\n\t\t\t\t\t\t\tclassName: \"flex items-center gap-2 text-sm font-medium\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ w(\"input\", {\n\t\t\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\t\t\tchecked: !!c.marketingOptIn,\n\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\tmarketingOptIn: e.target.checked\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}), s.t(\"storefront.account.marketingOptIn\")]\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t/* @__PURE__ */ w(U, { state: y?.kind === \"success\" && v ? null : y }),\n\t\t\t\t\t\t/* @__PURE__ */ w(h, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tdisabled: n || M || y?.kind === \"busy\",\n\t\t\t\t\t\t\tonClick: () => void N(),\n\t\t\t\t\t\t\tchildren: y?.kind === \"busy\" ? s.t(\"common.saving\") : s.t(\"common.save\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}) : null,\n\t\t\t\tE ? null : /* @__PURE__ */ w(C, { children: y?.kind === \"success\" && !v ? /* @__PURE__ */ w(U, { state: y }) : null })\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction N({ account: e, onRefresh: t, stale: n }) {\n\tlet { config: r } = d(), o = u(), [s, c] = S.useState(D), [l, m] = S.useState(!1), g = S.useRef(s);\n\tg.current = s;\n\tlet [_, v] = S.useState(null), [y, x] = S.useState(0), C = S.useRef(null), E = S.useRef(!1), [O, k] = S.useState(!1), A = f(), j = (e) => {\n\t\tE.current || (c({ ...e }), m(!0), v(null), x(0));\n\t}, M = () => {\n\t\tm(!1), c(D), v(null), x(0);\n\t};\n\tS.useEffect(() => {\n\t\ty && C.current?.querySelector(\"[aria-invalid=\\\"true\\\"]\")?.focus();\n\t}, [y]);\n\tlet N = async () => {\n\t\tif (!(!r.adapter.upsertCustomerAddress || n || E.current || !A())) {\n\t\t\tif (X(s).length) {\n\t\t\t\tv({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: o.t(\"storefront.checkout.completeRequiredFields\")\n\t\t\t\t}), x((e) => e + 1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tE.current = !0, v({\n\t\t\t\tkind: \"busy\",\n\t\t\t\tmessage: o.t(\"common.saving\")\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tlet e = b(await r.adapter.upsertCustomerAddress(ae(s)), s.id);\n\t\t\t\tif (!A()) return;\n\t\t\t\tlet n = JSON.stringify(g.current) === JSON.stringify(s);\n\t\t\t\tc((t) => n ? D : {\n\t\t\t\t\t...t,\n\t\t\t\t\tid: e.id\n\t\t\t\t}), n && m(!1), x(0), v(n ? {\n\t\t\t\t\tkind: \"success\",\n\t\t\t\t\tmessage: o.t(\"storefront.account.addressSaved\")\n\t\t\t\t} : null), await t();\n\t\t\t} catch {\n\t\t\t\tv({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: o.t(\"storefront.account.saveError\")\n\t\t\t\t});\n\t\t\t} finally {\n\t\t\t\tE.current = !1;\n\t\t\t}\n\t\t}\n\t}, P = !!r.adapter.upsertCustomerAddress, F = P || !!r.adapter.deleteCustomerAddress;\n\treturn !P && !e.addresses.length ? null : /* @__PURE__ */ T(p, {\n\t\tclassName: \"cedros-shop-public__account-addresses\",\n\t\tchildren: [/* @__PURE__ */ T(i, { children: [/* @__PURE__ */ w(H, { children: o.t(\"storefront.account.addressesTitle\") }), /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: o.t(F ? \"storefront.account.addressesDescription\" : \"storefront.account.addressesReadOnlyDescription\")\n\t\t})] }), /* @__PURE__ */ T(a, {\n\t\t\tclassName: \"space-y-5\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ w(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__address-list\",\n\t\t\t\t\tchildren: e.addresses.length ? e.addresses.map((e) => /* @__PURE__ */ w(R, {\n\t\t\t\t\t\taddress: e,\n\t\t\t\t\t\tstale: n,\n\t\t\t\t\t\tcanEdit: P,\n\t\t\t\t\t\teditDisabled: _?.kind === \"busy\" || O,\n\t\t\t\t\t\tmutationBusy: E,\n\t\t\t\t\t\tonDeletingChange: k,\n\t\t\t\t\t\tonEdit: () => j(e),\n\t\t\t\t\t\tonDeleted: async () => {\n\t\t\t\t\t\t\ts.id === e.id && (c(D), x(0)), v({\n\t\t\t\t\t\t\t\tkind: \"success\",\n\t\t\t\t\t\t\t\tmessage: o.t(\"storefront.account.addressDeleted\")\n\t\t\t\t\t\t\t}), await t();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, e.id)) : /* @__PURE__ */ w(\"p\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__muted\",\n\t\t\t\t\t\tchildren: o.t(\"storefront.account.noAddresses\")\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\tP ? /* @__PURE__ */ T(L, {\n\t\t\t\t\tediting: l,\n\t\t\t\t\tonEdit: () => {\n\t\t\t\t\t\tc(D), v(null), m(!0);\n\t\t\t\t\t},\n\t\t\t\t\tonCancel: M,\n\t\t\t\t\tdisabled: n || _?.kind === \"busy\" || O,\n\t\t\t\t\tlabel: o.t(\"storefront.account.addAddress\"),\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ w(ee, {\n\t\t\t\t\t\t\tformRef: C,\n\t\t\t\t\t\t\tform: s,\n\t\t\t\t\t\t\tinvalidFields: y ? X(s) : [],\n\t\t\t\t\t\t\tsetForm: c\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ w(U, { state: _ }),\n\t\t\t\t\t\t/* @__PURE__ */ w(h, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tdisabled: n || _?.kind === \"busy\" || O,\n\t\t\t\t\t\t\tonClick: () => void N(),\n\t\t\t\t\t\t\tchildren: s.id ? o.t(\"common.update\") : o.t(\"common.create\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}) : null,\n\t\t\t\tl ? null : /* @__PURE__ */ w(U, { state: _ })\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction P({ account: e, onRefresh: t, stale: n }) {\n\tlet { config: r } = d(), s = u(), { form: c, setForm: l, accept: m, reset: g, hasChanges: v } = W(q(e)), [y, b] = S.useState(null), x = S.useRef(!1), [C, E] = S.useState(!1), D = f(), O = J(e), k = async () => {\n\t\tif (!(!r.adapter.updateSavedCheckoutData || n || x.current || !D())) {\n\t\t\tx.current = !0, b({\n\t\t\t\tkind: \"busy\",\n\t\t\t\tmessage: s.t(\"common.saving\")\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tlet n = Y(c, O), i = _(await r.adapter.updateSavedCheckoutData(n), n);\n\t\t\t\tif (!D()) return;\n\t\t\t\tm(c, q({\n\t\t\t\t\t...e,\n\t\t\t\t\tsavedCheckout: i\n\t\t\t\t})) && E(!1), b({\n\t\t\t\t\tkind: \"success\",\n\t\t\t\t\tmessage: s.t(\"storefront.account.savedCheckoutSaved\")\n\t\t\t\t}), await t();\n\t\t\t} catch {\n\t\t\t\tb({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: s.t(\"storefront.account.saveError\")\n\t\t\t\t});\n\t\t\t} finally {\n\t\t\t\tx.current = !1;\n\t\t\t}\n\t\t}\n\t};\n\treturn r.adapter.updateSavedCheckoutData ? /* @__PURE__ */ T(p, {\n\t\tclassName: \"cedros-shop-public__account-checkout\",\n\t\tchildren: [/* @__PURE__ */ T(i, { children: [/* @__PURE__ */ w(H, { children: s.t(\"storefront.account.savedCheckoutTitle\") }), /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: s.t(\"storefront.account.savedCheckoutDescription\")\n\t\t})] }), /* @__PURE__ */ T(a, {\n\t\t\tclassName: \"space-y-4\",\n\t\t\tchildren: [\n\t\t\t\tC ? null : /* @__PURE__ */ w(I, {\n\t\t\t\t\tsaved: Y(q(e), O),\n\t\t\t\t\tprofile: e.profile\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ T(L, {\n\t\t\t\t\tediting: C,\n\t\t\t\t\tonEdit: () => E(!0),\n\t\t\t\t\tonCancel: () => {\n\t\t\t\t\t\tg(), b(null), E(!1);\n\t\t\t\t\t},\n\t\t\t\t\tdisabled: n || y?.kind === \"busy\",\n\t\t\t\t\tlabel: s.t(\"common.edit\"),\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.email\"),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\t\ttype: \"email\",\n\t\t\t\t\t\t\t\tvalue: c.email,\n\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\temail: e.target.value\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ T(\"div\", {\n\t\t\t\t\t\t\tclassName: \"grid gap-4 sm:grid-cols-2\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ w(B, {\n\t\t\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.name\"),\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\t\t\tvalue: c.name,\n\t\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\t\tname: e.target.value\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}), /* @__PURE__ */ w(B, {\n\t\t\t\t\t\t\t\tlabel: s.t(\"storefront.checkout.phone\"),\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\t\t\tvalue: c.phone,\n\t\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\t\tphone: e.target.value\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ w(z, {\n\t\t\t\t\t\t\tlabel: s.t(\"storefront.account.defaultShippingAddress\"),\n\t\t\t\t\t\t\tvalue: c.shippingAddressId,\n\t\t\t\t\t\t\taddresses: O,\n\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\tshippingAddressId: e\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ w(z, {\n\t\t\t\t\t\t\tlabel: s.t(\"storefront.account.defaultBillingAddress\"),\n\t\t\t\t\t\t\tvalue: c.billingAddressId,\n\t\t\t\t\t\t\taddresses: O,\n\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\tbillingAddressId: e\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ T(\"label\", {\n\t\t\t\t\t\t\tclassName: \"flex items-center gap-2 text-sm font-medium\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ w(\"input\", {\n\t\t\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\t\t\tchecked: c.billingSameAsShipping,\n\t\t\t\t\t\t\t\tonChange: (e) => l({\n\t\t\t\t\t\t\t\t\t...c,\n\t\t\t\t\t\t\t\t\tbillingSameAsShipping: e.target.checked\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}), s.t(\"storefront.checkout.billingSameAsShipping\")]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ w(U, { state: y?.kind === \"success\" && v ? null : y }),\n\t\t\t\t\t\t/* @__PURE__ */ w(h, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tdisabled: n || y?.kind === \"busy\",\n\t\t\t\t\t\t\tonClick: () => void k(),\n\t\t\t\t\t\t\tchildren: y?.kind === \"busy\" ? s.t(\"common.saving\") : s.t(\"common.save\")\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\t!C && y?.kind === \"success\" && !v ? /* @__PURE__ */ w(U, { state: y }) : null\n\t\t\t]\n\t\t})]\n\t}) : e.savedCheckout ? /* @__PURE__ */ w(F, { saved: e.savedCheckout }) : null;\n}\nfunction F({ saved: e }) {\n\tlet t = u();\n\treturn /* @__PURE__ */ T(p, {\n\t\tclassName: \"cedros-shop-public__account-checkout\",\n\t\tchildren: [/* @__PURE__ */ T(i, { children: [/* @__PURE__ */ w(H, { children: t.t(\"storefront.account.savedCheckoutTitle\") }), /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: t.t(\"storefront.account.savedCheckoutReadOnlyDescription\")\n\t\t})] }), /* @__PURE__ */ w(a, { children: /* @__PURE__ */ w(I, { saved: e }) })]\n\t});\n}\nfunction I({ saved: e, profile: t }) {\n\tlet n = u(), r = [\n\t\te.email,\n\t\te.name,\n\t\te.phone\n\t], i = [\n\t\tt?.email,\n\t\tt?.name,\n\t\tt?.phone\n\t], a = !!t && r.some(Boolean) && r.every((e, t) => !e || e === i[t]), o = [\n\t\t...a ? [] : [\n\t\t\t[n.t(\"storefront.checkout.email\"), e.email],\n\t\t\t[n.t(\"storefront.checkout.name\"), e.name],\n\t\t\t[n.t(\"storefront.checkout.phone\"), e.phone]\n\t\t],\n\t\t[n.t(\"storefront.account.defaultShippingAddress\"), e.shippingAddress ? $(e.shippingAddress) : n.t(\"common.none\")],\n\t\t[n.t(\"storefront.account.defaultBillingAddress\"), e.billingSameAsShipping ? n.t(\"storefront.checkout.billingSameAsShipping\") : e.billingAddress ? $(e.billingAddress) : n.t(\"common.none\")]\n\t].filter((e) => !!e[1]?.trim());\n\treturn /* @__PURE__ */ T(\"div\", {\n\t\tclassName: \"space-y-4\",\n\t\tchildren: [a ? /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: n.t(\"storefront.account.savedContactMatchesProfile\")\n\t\t}) : null, o.map(([e, t]) => /* @__PURE__ */ w(V, {\n\t\t\tlabel: e,\n\t\t\tvalue: t\n\t\t}, e))]\n\t});\n}\nfunction L({ editing: e, onEdit: t, onCancel: n, disabled: r, label: i, children: a }) {\n\tlet o = u(), s = S.useId(), c = S.useRef(null), l = S.useRef(null), d = S.useRef(!1), f = S.useRef(!1);\n\treturn S.useEffect(() => {\n\t\te && !d.current && c.current?.querySelector(\"input, select, textarea\")?.focus(), !e && d.current && (f.current = !0), !e && f.current && !r && (l.current?.focus(), f.current = !1), d.current = e;\n\t}, [e, r]), /* @__PURE__ */ T(C, { children: [e ? null : /* @__PURE__ */ w(h, {\n\t\tref: l,\n\t\ttype: \"button\",\n\t\tvariant: \"outline\",\n\t\tsize: \"sm\",\n\t\t\"aria-expanded\": !1,\n\t\t\"aria-controls\": s,\n\t\tdisabled: r,\n\t\tonClick: t,\n\t\tchildren: i\n\t}), /* @__PURE__ */ T(\"div\", {\n\t\tref: c,\n\t\tid: s,\n\t\thidden: !e,\n\t\tclassName: \"cedros-shop-public__account-editor space-y-4\",\n\t\tchildren: [a, /* @__PURE__ */ w(h, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"ghost\",\n\t\t\tdisabled: r,\n\t\t\tonClick: n,\n\t\t\tchildren: o.t(\"common.cancel\")\n\t\t})]\n\t})] });\n}\nfunction R({ address: e, canEdit: t, editDisabled: n, mutationBusy: r, onDeletingChange: i, stale: a, onEdit: o, onDeleted: s }) {\n\tlet { config: c } = d(), l = u(), [p, m] = S.useState(!1), [g, _] = S.useState(null), v = S.useRef(!1), y = f(), b = async () => {\n\t\tif (!(!c.adapter.deleteCustomerAddress || a || r.current || v.current || !y())) {\n\t\t\tv.current = !0, r.current = !0, i(!0), _({\n\t\t\t\tkind: \"busy\",\n\t\t\t\tmessage: l.t(\"storefront.account.deletingAddress\")\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tif (await c.adapter.deleteCustomerAddress({ addressId: e.id }), !y()) return;\n\t\t\t\tm(!1), _(null), await s();\n\t\t\t} catch {\n\t\t\t\t_({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: l.t(\"storefront.account.deleteAddressError\")\n\t\t\t\t}), m(!1);\n\t\t\t} finally {\n\t\t\t\tv.current = !1, r.current = !1, i(!1);\n\t\t\t}\n\t\t}\n\t}, x = g?.kind === \"busy\", C = e.label || l.t(\"storefront.account.address\"), E = !!c.adapter.deleteCustomerAddress;\n\treturn /* @__PURE__ */ T(\"section\", {\n\t\tclassName: \"cedros-shop-public__address-row\",\n\t\tchildren: [/* @__PURE__ */ T(\"div\", { children: [\n\t\t\t/* @__PURE__ */ w(\"strong\", { children: e.label || l.t(\"storefront.account.address\") }),\n\t\t\t/* @__PURE__ */ w(\"p\", { children: $(e) }),\n\t\t\t/* @__PURE__ */ w(ne, { address: e })\n\t\t] }), t || E ? /* @__PURE__ */ T(\"div\", {\n\t\t\tclassName: \"space-y-2\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ T(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__address-actions flex flex-wrap gap-2\",\n\t\t\t\t\tchildren: [t ? /* @__PURE__ */ w(h, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tdisabled: a || n || x,\n\t\t\t\t\t\tonClick: o,\n\t\t\t\t\t\tchildren: l.t(\"common.edit\")\n\t\t\t\t\t}) : null, E ? /* @__PURE__ */ w(h, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tdisabled: a || n || x,\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t_(null), m(!0);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: l.t(\"common.delete\")\n\t\t\t\t\t}) : null]\n\t\t\t\t}),\n\t\t\t\tp ? /* @__PURE__ */ T(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__address-delete\",\n\t\t\t\t\trole: \"group\",\n\t\t\t\t\t\"aria-label\": l.t(\"storefront.account.deleteAddressTitle\", { name: C }),\n\t\t\t\t\tchildren: [/* @__PURE__ */ w(\"p\", { children: l.t(\"storefront.account.deleteAddressDescription\", { name: C }) }), /* @__PURE__ */ T(\"div\", {\n\t\t\t\t\t\tclassName: \"flex flex-wrap justify-end gap-2\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ w(h, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tdisabled: x,\n\t\t\t\t\t\t\tonClick: () => m(!1),\n\t\t\t\t\t\t\tchildren: l.t(\"common.cancel\")\n\t\t\t\t\t\t}), /* @__PURE__ */ w(h, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"destructive\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tdisabled: a || n || x,\n\t\t\t\t\t\t\tonClick: () => void b(),\n\t\t\t\t\t\t\tchildren: x ? l.t(\"storefront.account.deletingAddress\") : l.t(\"common.delete\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ w(U, { state: g?.kind === \"error\" ? g : null })\n\t\t\t]\n\t\t}) : null]\n\t});\n}\nfunction ee({ formRef: e, form: t, invalidFields: n, setForm: r }) {\n\tlet i = u(), a = (e) => r({\n\t\t...t,\n\t\t...e\n\t}), s = i.t(\"storefront.checkout.fieldRequired\");\n\treturn /* @__PURE__ */ T(\"div\", {\n\t\tref: e,\n\t\tclassName: \"space-y-4\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\tlabel: i.t(\"storefront.account.addressLabel\"),\n\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\tvalue: t.label ?? \"\",\n\t\t\t\t\tonChange: (e) => a({ label: e.target.value })\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ T(\"div\", {\n\t\t\t\tclassName: \"grid gap-4 sm:grid-cols-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.addressLine1\"),\n\t\t\t\t\t\tinvalid: n.includes(\"line1\"),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\tvalue: t.line1,\n\t\t\t\t\t\t\tonChange: (e) => a({ line1: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.addressLine2\"),\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\tvalue: t.line2 ?? \"\",\n\t\t\t\t\t\t\tonChange: (e) => a({ line2: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.city\"),\n\t\t\t\t\t\tinvalid: n.includes(\"city\"),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\tvalue: t.city,\n\t\t\t\t\t\t\tonChange: (e) => a({ city: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.region\"),\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\tvalue: t.state ?? \"\",\n\t\t\t\t\t\t\tonChange: (e) => a({ state: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.postalCode\"),\n\t\t\t\t\t\tinvalid: n.includes(\"postalCode\"),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(o, {\n\t\t\t\t\t\t\tvalue: t.postalCode,\n\t\t\t\t\t\t\tonChange: (e) => a({ postalCode: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ w(B, {\n\t\t\t\t\t\tlabel: i.t(\"storefront.checkout.country\"),\n\t\t\t\t\t\tinvalid: n.includes(\"country\"),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ w(x, {\n\t\t\t\t\t\t\tvalue: t.country,\n\t\t\t\t\t\t\tautoComplete: \"country\",\n\t\t\t\t\t\t\tinvalid: n.includes(\"country\"),\n\t\t\t\t\t\t\tonChange: (e) => a({ country: e })\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ T(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap gap-4 text-sm font-medium\",\n\t\t\t\tchildren: [/* @__PURE__ */ T(\"label\", {\n\t\t\t\t\tclassName: \"flex items-center gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ w(\"input\", {\n\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\tchecked: !!t.defaultShipping,\n\t\t\t\t\t\tonChange: (e) => a({ defaultShipping: e.target.checked })\n\t\t\t\t\t}), i.t(\"storefront.account.defaultShipping\")]\n\t\t\t\t}), /* @__PURE__ */ T(\"label\", {\n\t\t\t\t\tclassName: \"flex items-center gap-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ w(\"input\", {\n\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\tchecked: !!t.defaultBilling,\n\t\t\t\t\t\tonChange: (e) => a({ defaultBilling: e.target.checked })\n\t\t\t\t\t}), i.t(\"storefront.account.defaultBilling\")]\n\t\t\t\t})]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction z(e) {\n\tlet t = u();\n\treturn /* @__PURE__ */ w(B, {\n\t\tlabel: e.label,\n\t\tchildren: /* @__PURE__ */ T(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__select-field\",\n\t\t\tchildren: [/* @__PURE__ */ T(\"select\", {\n\t\t\t\tclassName: \"cedros-shop-public__select-trigger h-10 rounded-md border px-3 text-sm\",\n\t\t\t\tvalue: e.value,\n\t\t\t\tonChange: (t) => e.onChange(t.target.value),\n\t\t\t\tchildren: [/* @__PURE__ */ w(\"option\", {\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t\tchildren: t.t(\"common.none\")\n\t\t\t\t}), e.addresses.map((e) => /* @__PURE__ */ w(\"option\", {\n\t\t\t\t\tvalue: e.id,\n\t\t\t\t\tchildren: e.label || $(e)\n\t\t\t\t}, e.id))]\n\t\t\t}), /* @__PURE__ */ w(\"span\", {\n\t\t\t\tclassName: \"cedros-shop-public__select-arrow\",\n\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t})]\n\t\t})\n\t});\n}\nfunction te({ account: e }) {\n\tlet r = u(), i = t(), a = (e.supportLinks ?? []).flatMap((e) => {\n\t\tlet t = n(e.href, i);\n\t\treturn t ? [{\n\t\t\t...e,\n\t\t\thref: t\n\t\t}] : [];\n\t});\n\treturn a.length ? /* @__PURE__ */ T(\"section\", {\n\t\tclassName: \"cedros-shop-public__account-support\",\n\t\tchildren: [/* @__PURE__ */ T(\"div\", { children: [/* @__PURE__ */ w(H, { children: r.t(\"storefront.account.supportTitle\") }), /* @__PURE__ */ w(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: r.t(\"storefront.account.supportDescription\")\n\t\t})] }), /* @__PURE__ */ w(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__order-links\",\n\t\t\tchildren: a.map((e) => /* @__PURE__ */ w(\"a\", {\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--link\",\n\t\t\t\thref: e.href,\n\t\t\t\tchildren: e.label\n\t\t\t}, e.id))\n\t\t})]\n\t}) : null;\n}\nfunction B({ label: e, invalid: t, error: n, children: r }) {\n\tlet i = S.useId(), a = !!(t && n), o = t && S.isValidElement(r) ? S.cloneElement(r, {\n\t\t\"aria-invalid\": !0,\n\t\t...a ? { \"aria-describedby\": i } : {}\n\t}) : r;\n\treturn /* @__PURE__ */ T(\"div\", {\n\t\tclassName: \"space-y-1\",\n\t\tchildren: [/* @__PURE__ */ T(\"label\", {\n\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\tchildren: [/* @__PURE__ */ w(\"span\", { children: e }), o]\n\t\t}), a ? /* @__PURE__ */ w(\"p\", {\n\t\t\tid: i,\n\t\t\tclassName: \"cedros-shop-public__error text-xs\",\n\t\t\tchildren: n\n\t\t}) : null]\n\t});\n}\nfunction V({ label: e, value: t, hint: n }) {\n\treturn /* @__PURE__ */ T(\"div\", {\n\t\tclassName: \"cedros-shop-public__field cedros-shop-public__account-value\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ w(\"span\", { children: e }),\n\t\t\t/* @__PURE__ */ w(\"p\", {\n\t\t\t\tclassName: \"text-sm\",\n\t\t\t\tchildren: t\n\t\t\t}),\n\t\t\tn ? /* @__PURE__ */ w(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__muted text-xs\",\n\t\t\t\tchildren: n\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction H({ children: e }) {\n\treturn /* @__PURE__ */ w(\"h2\", {\n\t\tclassName: \"cedros-shop-public__card-title tracking-tight\",\n\t\tchildren: e\n\t});\n}\nfunction U({ state: e }) {\n\treturn e ? /* @__PURE__ */ w(\"p\", {\n\t\tclassName: e.kind === \"error\" ? \"cedros-shop-public__error\" : e.kind === \"busy\" ? \"cedros-shop-public__notice\" : \"cedros-shop-public__success\",\n\t\trole: e.kind === \"error\" ? \"alert\" : \"status\",\n\t\tchildren: e.message\n\t}) : null;\n}\nfunction ne({ address: e }) {\n\tlet t = u(), n = [e.defaultShipping ? t.t(\"storefront.account.defaultShipping\") : \"\", e.defaultBilling ? t.t(\"storefront.account.defaultBilling\") : \"\"].filter(Boolean);\n\treturn n.length ? /* @__PURE__ */ w(\"div\", {\n\t\tclassName: \"mt-2 flex flex-wrap gap-1\",\n\t\tchildren: n.map((e) => /* @__PURE__ */ w(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\tchildren: e\n\t\t}, e))\n\t}) : null;\n}\nfunction W(e) {\n\tlet [t, n] = S.useState(e), r = S.useRef(e), i = S.useRef(t);\n\ti.current = t;\n\tlet a = JSON.stringify(e);\n\treturn S.useEffect(() => {\n\t\tlet t = r.current;\n\t\tr.current = e, n((n) => G(n, t, e));\n\t}, [a]), {\n\t\tform: t,\n\t\tsetForm: n,\n\t\taccept: (e, t) => (r.current = t, n((n) => G(n, e, t)), JSON.stringify(i.current) === JSON.stringify(e)),\n\t\treset: () => n(r.current),\n\t\thasChanges: JSON.stringify(t) !== JSON.stringify(r.current)\n\t};\n}\nfunction G(e, t, n) {\n\tlet r = { ...n };\n\tfor (let i in n) Object.is(e[i], t[i]) || (r[i] = e[i]);\n\treturn r;\n}\nfunction K(e) {\n\treturn {\n\t\temail: e.profile.email ?? \"\",\n\t\tname: e.profile.name ?? \"\",\n\t\tphone: e.profile.phone ?? \"\",\n\t\tmarketingOptIn: e.profile.marketingOptIn\n\t};\n}\nfunction q(e) {\n\tlet t = e.savedCheckout ?? {}, n = J(e);\n\treturn {\n\t\temail: t.email ?? e.profile.email ?? \"\",\n\t\tname: t.name ?? e.profile.name ?? \"\",\n\t\tphone: t.phone ?? e.profile.phone ?? \"\",\n\t\tshippingAddressId: e.savedCheckout && !t.shippingAddress ? \"\" : Q(n, t.shippingAddress, \"defaultShipping\"),\n\t\tbillingAddressId: e.savedCheckout && !t.billingAddress ? \"\" : Q(n, t.billingAddress, \"defaultBilling\"),\n\t\tbillingSameAsShipping: t.billingSameAsShipping ?? !0,\n\t\tpreferredPaymentMethodId: t.preferredPaymentMethodId ?? \"\",\n\t\tpreferredShippingMethodId: t.preferredShippingMethodId ?? \"\"\n\t};\n}\nfunction J(e) {\n\tlet t = [...e.addresses];\n\tfor (let n of [e.savedCheckout?.shippingAddress, e.savedCheckout?.billingAddress]) {\n\t\tif (!n || Q(t, n, \"defaultShipping\")) continue;\n\t\tlet e = \"cedros-shop:saved-checkout-address\";\n\t\tfor (; t.some((t) => t.id === e);) e += \":\";\n\t\tt.push({\n\t\t\t...Z(n),\n\t\t\tid: e\n\t\t});\n\t}\n\treturn t;\n}\nfunction Y(e, t) {\n\tlet n = t.find((t) => t.id === e.shippingAddressId), r = t.find((t) => t.id === e.billingAddressId);\n\treturn {\n\t\temail: e.email.trim() || void 0,\n\t\tname: e.name.trim() || void 0,\n\t\tphone: e.phone.trim() || void 0,\n\t\tshippingAddress: n ? Z(n) : void 0,\n\t\tbillingAddress: r ? Z(r) : void 0,\n\t\tbillingSameAsShipping: e.billingSameAsShipping,\n\t\tpreferredPaymentMethodId: e.preferredPaymentMethodId.trim() || void 0,\n\t\tpreferredShippingMethodId: e.preferredShippingMethodId.trim() || void 0\n\t};\n}\nfunction re(e) {\n\treturn {\n\t\tphone: typeof e.phone == \"string\",\n\t\tmarketingOptIn: typeof e.marketingOptIn == \"boolean\"\n\t};\n}\nfunction ie(e, t, n) {\n\tlet r = {}, i = e.name?.trim();\n\ti && i !== (t.name?.trim() ?? \"\") && (r.name = i);\n\tlet a = e.phone?.trim() ?? \"\";\n\treturn n.phone && a !== (t.phone?.trim() ?? \"\") && (r.phone = a), n.marketingOptIn && !!e.marketingOptIn != !!t.marketingOptIn && (r.marketingOptIn = !!e.marketingOptIn), r;\n}\nfunction X(e) {\n\treturn [\n\t\t...e.line1.trim() ? [] : [\"line1\"],\n\t\t...e.city.trim() ? [] : [\"city\"],\n\t\t...e.postalCode.trim() ? [] : [\"postalCode\"],\n\t\t...y(e.country) ? [] : [\"country\"]\n\t];\n}\nfunction ae(e) {\n\treturn {\n\t\t...Z(e),\n\t\tid: e.id,\n\t\tlabel: e.label?.trim() || void 0,\n\t\tdefaultShipping: e.defaultShipping,\n\t\tdefaultBilling: e.defaultBilling\n\t};\n}\nfunction Z(e) {\n\treturn {\n\t\tline1: e.line1.trim(),\n\t\tline2: e.line2?.trim() || void 0,\n\t\tcity: e.city.trim(),\n\t\tstate: e.state?.trim() || void 0,\n\t\tpostalCode: e.postalCode.trim(),\n\t\tcountry: e.country.trim().toUpperCase()\n\t};\n}\nfunction Q(e, t, n) {\n\treturn t ? e.find((e) => JSON.stringify(Z(e)) === JSON.stringify(Z(t)))?.id ?? \"\" : e.find((e) => e[n])?.id ?? \"\";\n}\nfunction $(e) {\n\treturn [\n\t\te.line1,\n\t\te.line2,\n\t\te.city,\n\t\te.state,\n\t\te.postalCode,\n\t\te.country\n\t].filter(Boolean).join(\", \");\n}\n//#endregion\nexport { O as AccountTemplate };\n","imports":[{"dynamic":false,"end":68,"specifier":"./styleInjection-D8xLNR6Q.js","start":40},{"dynamic":false,"end":232,"specifier":"./useCurrentIdentity--397tFNA.js","start":200},{"dynamic":false,"end":326,"specifier":"./CountrySelect-CWjXE2X0.js","start":299},{"dynamic":false,"end":354,"specifier":"react","start":349},{"dynamic":false,"end":426,"specifier":"react/jsx-runtime","start":409}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/CheckoutRecovery-BeJzj45u.js","kind":"module","text":"import { mn as e, z as t } from \"./useCurrentIdentity--397tFNA.js\";\nimport { jsx as n, jsxs as r } from \"react/jsx-runtime\";\n//#region src/storefront/CheckoutRecovery.tsx\nfunction i({ routes: i }) {\n\tlet a = e();\n\treturn /* @__PURE__ */ r(\"nav\", {\n\t\t\"aria-label\": a.t(\"storefront.checkout.title\"),\n\t\tclassName: \"mt-4 flex flex-wrap justify-center gap-4\",\n\t\tchildren: [/* @__PURE__ */ n(t, {\n\t\t\tvariant: \"outline\",\n\t\t\tasChild: !0,\n\t\t\tchildren: /* @__PURE__ */ n(\"a\", {\n\t\t\t\thref: a.route(\"cart\", void 0, i),\n\t\t\t\tchildren: a.t(\"storefront.checkout.backToCart\")\n\t\t\t})\n\t\t}), /* @__PURE__ */ n(t, {\n\t\t\tvariant: \"link\",\n\t\t\tasChild: !0,\n\t\t\tchildren: /* @__PURE__ */ n(\"a\", {\n\t\t\t\thref: a.route(\"shop\", void 0, i),\n\t\t\t\tchildren: a.t(\"storefront.cart.continueShopping\")\n\t\t\t})\n\t\t})]\n\t});\n}\n//#endregion\nexport { i as t };\n","imports":[{"dynamic":false,"end":65,"specifier":"./useCurrentIdentity--397tFNA.js","start":33},{"dynamic":false,"end":122,"specifier":"react/jsx-runtime","start":105}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/CheckoutTemplate-B1_EQM8l.js","kind":"module","text":"import { D as e, O as t, g as n, p as r } from \"./styleInjection-D8xLNR6Q.js\";\nimport { D as i, E as a, O as o, S as s, T as c, b as l, k as u, y as d } from \"./SubscriptionTemplate-JCKiForP.js\";\nimport { A as f, At as p, Ct as m, D as h, Dt as g, Et as _, G as v, Gt as ee, Kt as te, Lt as ne, O as y, Ot as b, P as x, Pt as S, Qt as C, Tt as w, Ut as re, W as T, Xt as ie, Yt as ae, a as oe, c as se, dn as E, gn as ce, ht as D, jt as O, ln as k, mn as A, nn as le, pn as ue, t as de, un as fe, wt as j, z as M } from \"./useCurrentIdentity--397tFNA.js\";\nimport { n as pe, r as me } from \"./browserCheckoutAttemptStore-Bb1V7J9y.js\";\nimport { t as N } from \"./CheckoutRecovery-BeJzj45u.js\";\nimport { i as P, o as he, t as F } from \"./CountrySelect-CWjXE2X0.js\";\nimport * as I from \"react\";\nimport { Fragment as L, jsx as R, jsxs as z } from \"react/jsx-runtime\";\n//#region src/storefront/checkoutPaymentDisclosure.ts\nfunction ge(e, t) {\n\tlet n = BigInt(e.amountAtomic), r = e.decimals, i = n.toString().padStart(r + 1, \"0\"), a = r ? i.slice(0, -r) : i, o = r ? i.slice(-r) : \"\", s = Math.min(2, r), c = o.replace(/0+$/, \"\").padEnd(s, \"0\"), l = new Intl.NumberFormat(t, { maximumFractionDigits: 0 }).format(BigInt(a)), u = new Intl.NumberFormat(t).formatToParts(1.1).find((e) => e.type === \"decimal\")?.value ?? \".\", d = e.tokenSymbol ?? ve(e.tokenMint);\n\treturn `${l}${c ? `${u}${c}` : \"\"} ${d}`;\n}\nfunction _e(e) {\n\tlet t = e.trim().toLowerCase();\n\treturn t === \"solana\" || t === \"mainnet\" || t === \"mainnet-beta\" || t.endsWith(\":mainnet-beta\") ? \"Solana Mainnet\" : t === \"devnet\" || t.endsWith(\":devnet\") ? \"Solana Devnet\" : t === \"testnet\" || t.endsWith(\":testnet\") ? \"Solana Testnet\" : `Solana · ${e}`;\n}\nfunction ve(e) {\n\treturn e.length <= 14 ? e : `${e.slice(0, 6)}…${e.slice(-6)}`;\n}\n//#endregion\n//#region src/storefront/CheckoutOrderPanel.tsx\nfunction ye(e) {\n\tlet { config: t } = ue(), { t: n, route: r } = A(), i = le(), [a, o] = I.useState(!!i.promoCodes?.length);\n\tI.useEffect(() => {\n\t\ti.promoCodes?.length && o(!0);\n\t}, [i.promoCodes]);\n\tlet s = e.quote.currency || t.currency, c = I.useId();\n\treturn /* @__PURE__ */ R(\"aside\", {\n\t\tclassName: \"min-w-0 self-start lg:sticky lg:top-24\",\n\t\tchildren: /* @__PURE__ */ z(j, { children: [/* @__PURE__ */ R(_, { children: /* @__PURE__ */ z(\"div\", {\n\t\t\tclassName: \"flex items-center justify-between gap-3\",\n\t\t\tchildren: [/* @__PURE__ */ R(g, { children: n(\"storefront.checkout.reviewTitle\") }), /* @__PURE__ */ R(M, {\n\t\t\t\tvariant: \"link\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tasChild: !0,\n\t\t\t\tchildren: /* @__PURE__ */ R(\"a\", {\n\t\t\t\t\thref: r(\"cart\", void 0, t.routes),\n\t\t\t\t\tchildren: n(\"storefront.checkout.editCart\")\n\t\t\t\t})\n\t\t\t})]\n\t\t}) }), /* @__PURE__ */ z(w, {\n\t\t\tclassName: \"space-y-5\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ R(be, { getItemInventory: e.getItemInventory }),\n\t\t\t\t/* @__PURE__ */ R(xe, {\n\t\t\t\t\tquote: e.quote,\n\t\t\t\t\tquoteLoading: e.quoteLoading,\n\t\t\t\t\tshowShipping: e.showShipping,\n\t\t\t\t\tshowTax: e.showTax,\n\t\t\t\t\tcurrency: s\n\t\t\t\t}),\n\t\t\t\te.showPromoCode ? /* @__PURE__ */ R(v, {\n\t\t\t\t\topen: a,\n\t\t\t\t\tonOpenChange: o,\n\t\t\t\t\topenLabel: n(\"storefront.checkout.addPromoCode\"),\n\t\t\t\t\tcloseLabel: n(\"storefront.checkout.hidePromoCode\"),\n\t\t\t\t\tchildren: /* @__PURE__ */ R(x, {\n\t\t\t\t\t\tvalues: i.promoCodes,\n\t\t\t\t\t\tonAdd: i.addPromoCode,\n\t\t\t\t\t\tonRemove: i.removePromoCode,\n\t\t\t\t\t\tcodeStatus: e.quoteAuthoritative && !e.quoteLoading && !e.quoteError ? \"inTotal\" : void 0\n\t\t\t\t\t})\n\t\t\t\t}) : null,\n\t\t\t\t(e.paymentMethodId === \"crypto\" || e.paymentMethodId === \"x402\") && e.quote.x402 ? /* @__PURE__ */ R(B, { quote: e.quote }) : null,\n\t\t\t\te.quoteError ? /* @__PURE__ */ z(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__error space-y-3 rounded-lg border p-3 text-sm\",\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"p\", { children: e.quoteError }), e.onRetryQuote ? /* @__PURE__ */ R(M, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tonClick: e.onRetryQuote,\n\t\t\t\t\t\tchildren: n(\"common.retry\")\n\t\t\t\t\t}) : null]\n\t\t\t\t}) : null,\n\t\t\t\te.quote.promotionMessages?.map((e) => /* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\t\tchildren: e\n\t\t\t\t}, e)),\n\t\t\t\te.quote.warnings?.map((e) => /* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\t\tchildren: e\n\t\t\t\t}, e)),\n\t\t\t\te.checkoutDisabledReason ? /* @__PURE__ */ z(\"div\", {\n\t\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"p\", {\n\t\t\t\t\t\tid: c,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__notice text-xs\",\n\t\t\t\t\t\tchildren: e.checkoutDisabledReason\n\t\t\t\t\t}), e.hasInventoryIssues && !e.inventoryNoticeShown ? /* @__PURE__ */ R(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: e.onRemoveUnavailable,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--outline inline-flex w-full items-center justify-center rounded-md px-4 py-2 text-sm\",\n\t\t\t\t\t\tchildren: n(\"storefront.cart.removeUnavailable\")\n\t\t\t\t\t}) : null]\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ z(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tonClick: e.onCheckout,\n\t\t\t\t\tdisabled: e.checkoutDisabled,\n\t\t\t\t\t\"aria-busy\": e.checkoutBusy || void 0,\n\t\t\t\t\t\"aria-describedby\": e.checkoutDisabledReason ? c : void 0,\n\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--default cedros-shop-public__button--acquire inline-flex w-full items-center justify-center rounded-md px-4 py-2 text-sm font-medium disabled:opacity-50\",\n\t\t\t\t\tchildren: [e.checkoutBusy ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}) : null, /* @__PURE__ */ R(p, {\n\t\t\t\t\t\tswapKey: e.checkoutLabel,\n\t\t\t\t\t\tchildren: e.checkoutLabel\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t]\n\t\t})] })\n\t});\n}\nfunction B({ quote: e }) {\n\tlet { t, locale: n } = A(), r = e.x402;\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"cedros-shop-public__notice min-w-0 space-y-2 rounded-lg border p-3\",\n\t\trole: \"group\",\n\t\t\"aria-label\": t(\"storefront.checkout.paymentRailSolana\"),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(V, {\n\t\t\t\tlabel: t(\"storefront.checkout.paymentRail\"),\n\t\t\t\tvalue: t(\"storefront.checkout.paymentRailSolana\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ R(V, {\n\t\t\t\tlabel: t(\"storefront.checkout.paymentAsset\"),\n\t\t\t\tvalue: ge(r, n)\n\t\t\t}),\n\t\t\t/* @__PURE__ */ R(V, {\n\t\t\t\tlabel: t(\"storefront.checkout.paymentNetwork\"),\n\t\t\t\tvalue: _e(r.network)\n\t\t\t})\n\t\t]\n\t});\n}\nfunction V({ label: e, value: t }) {\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"flex min-w-0 items-start justify-between gap-3 text-sm\",\n\t\tchildren: [/* @__PURE__ */ R(\"span\", {\n\t\t\tclassName: \"shrink-0\",\n\t\t\tchildren: e\n\t\t}), /* @__PURE__ */ R(\"span\", {\n\t\t\tclassName: \"min-w-0 break-words text-right font-medium tabular-nums\",\n\t\t\tchildren: t\n\t\t})]\n\t});\n}\nfunction be({ getItemInventory: e }) {\n\treturn /* @__PURE__ */ R(\"div\", {\n\t\tclassName: \"divide-y\",\n\t\tchildren: le().items.map((t) => /* @__PURE__ */ R(\"div\", {\n\t\t\tclassName: \"py-3\",\n\t\t\tchildren: /* @__PURE__ */ R(f, {\n\t\t\t\titem: t,\n\t\t\t\tinventory: e(t.productId, t.variantId)\n\t\t\t})\n\t\t}, JSON.stringify([t.productId, t.variantId ?? \"\"])))\n\t});\n}\nfunction xe({ quote: e, quoteLoading: t, showShipping: n, showTax: r, currency: i }) {\n\tlet { t: a, formatMoney: o } = A();\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"space-y-3 border-t pt-4\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"flex items-center justify-between text-sm\",\n\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", { children: a(\"storefront.cart.subtotal\") }), /* @__PURE__ */ R(p, {\n\t\t\t\t\tswapKey: o(e.subtotal, i),\n\t\t\t\t\tclassName: \"font-medium tabular-nums\",\n\t\t\t\t\tchildren: o(e.subtotal, i)\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tn ? /* @__PURE__ */ R(Te, {\n\t\t\t\tlabel: a(\"storefront.checkout.shipping\"),\n\t\t\t\tvalue: e.shippingTotal,\n\t\t\t\tcurrency: i\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ R(Ce, {\n\t\t\t\tdiscounts: e.discounts,\n\t\t\t\tdiscountTotal: e.discountTotal,\n\t\t\t\tcurrency: i\n\t\t\t}),\n\t\t\tr ? /* @__PURE__ */ R(Ee, {\n\t\t\t\tquote: e,\n\t\t\t\tcurrency: i\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ R(Te, {\n\t\t\t\tlabel: a(\"storefront.checkout.tipAmount\"),\n\t\t\t\tvalue: e.tipAmount,\n\t\t\t\tcurrency: i,\n\t\t\t\thideZero: !0\n\t\t\t}),\n\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"border-t pt-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ z(\"div\", {\n\t\t\t\t\tclassName: \"flex items-center justify-between text-base font-semibold\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", { children: a(\"storefront.cart.total\") }), /* @__PURE__ */ R(p, {\n\t\t\t\t\t\tswapKey: o(e.total, i),\n\t\t\t\t\t\tclassName: \"tabular-nums\",\n\t\t\t\t\t\tchildren: o(e.total, i)\n\t\t\t\t\t})]\n\t\t\t\t}), t ? /* @__PURE__ */ z(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-xs\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\ta(\"storefront.checkout.refreshingQuote\")\n\t\t\t\t\t]\n\t\t\t\t}) : null]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Se(e) {\n\tlet { config: t } = ue(), { t: n, formatMoney: r } = A(), [i, a] = I.useState(!1), o = e.quote.currency || t.currency, s = r(e.quote.total, o);\n\treturn /* @__PURE__ */ R(\"div\", {\n\t\tclassName: \"cedros-shop-public__card mt-6 rounded-lg border px-4 py-2 lg:hidden\",\n\t\tchildren: /* @__PURE__ */ R(v, {\n\t\t\topen: i,\n\t\t\tonOpenChange: a,\n\t\t\topenLabel: n(\"storefront.checkout.showOrderSummary\", { total: s }),\n\t\t\tcloseLabel: n(\"storefront.checkout.hideOrderSummary\", { total: s }),\n\t\t\tchildren: /* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"space-y-5 pb-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ R(be, { getItemInventory: e.getItemInventory }), /* @__PURE__ */ R(xe, {\n\t\t\t\t\tquote: e.quote,\n\t\t\t\t\tquoteLoading: e.quoteLoading,\n\t\t\t\t\tshowShipping: e.showShipping,\n\t\t\t\t\tshowTax: e.showTax,\n\t\t\t\t\tcurrency: o\n\t\t\t\t})]\n\t\t\t})\n\t\t})\n\t});\n}\nfunction Ce({ discounts: e, discountTotal: t, currency: n }) {\n\tlet { t: r, formatMoney: i } = A();\n\treturn e?.length ? /* @__PURE__ */ R(b, { children: /* @__PURE__ */ R(\"div\", {\n\t\tclassName: \"space-y-2\",\n\t\trole: \"group\",\n\t\t\"aria-label\": r(\"storefront.checkout.appliedDiscounts\"),\n\t\tchildren: e.map((e, t) => /* @__PURE__ */ z(\"div\", {\n\t\t\tclassName: \"flex items-start justify-between gap-3 text-sm\",\n\t\t\tchildren: [/* @__PURE__ */ z(\"span\", { children: [\n\t\t\t\te.title || we(e, r),\n\t\t\t\te.code ? /* @__PURE__ */ z(\"span\", {\n\t\t\t\t\tclassName: \"ml-1 text-xs\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\"(\",\n\t\t\t\t\t\te.code,\n\t\t\t\t\t\t\")\"\n\t\t\t\t\t]\n\t\t\t\t}) : null,\n\t\t\t\te.message ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\tclassName: \"block text-xs\",\n\t\t\t\t\tchildren: e.message\n\t\t\t\t}) : null\n\t\t\t] }), /* @__PURE__ */ R(p, {\n\t\t\t\tswapKey: typeof e.amount == \"number\" ? i(-Math.abs(e.amount), e.currency ?? n) : r(\"storefront.checkout.discountApplied\"),\n\t\t\t\tclassName: \"font-medium tabular-nums\",\n\t\t\t\tchildren: typeof e.amount == \"number\" ? i(-Math.abs(e.amount), e.currency ?? n) : r(\"storefront.checkout.discountApplied\")\n\t\t\t})]\n\t\t}, e.id ?? `${e.type}:${e.code ?? e.title}:${t}`))\n\t}) }) : typeof t == \"number\" && t !== 0 ? /* @__PURE__ */ R(Te, {\n\t\tlabel: r(\"storefront.checkout.discount\"),\n\t\tvalue: -Math.abs(t),\n\t\tcurrency: n\n\t}) : null;\n}\nfunction we(e, t) {\n\treturn e.type === \"automatic\" ? t(\"storefront.checkout.discountAutomatic\") : e.type === \"bxgy\" ? t(\"storefront.checkout.discountBxgy\") : e.type === \"free_shipping\" ? t(\"storefront.checkout.discountFreeShipping\") : e.type === \"gift_card\" ? t(\"storefront.checkout.discountGiftCard\") : e.type === \"store_credit\" ? t(\"storefront.checkout.discountStoreCredit\") : e.type === \"abandoned_checkout\" ? t(\"storefront.checkout.discountRecovery\") : t(\"storefront.checkout.discount\");\n}\nfunction Te({ label: e, value: t, currency: n, hideZero: r }) {\n\tlet { formatMoney: i } = A();\n\treturn t == null || r && t === 0 ? null : /* @__PURE__ */ R(b, { children: /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"flex items-center justify-between text-sm\",\n\t\tchildren: [/* @__PURE__ */ R(\"span\", { children: e }), /* @__PURE__ */ R(p, {\n\t\t\tswapKey: i(t, n),\n\t\t\tclassName: \"font-medium tabular-nums\",\n\t\t\tchildren: i(t, n)\n\t\t})]\n\t}) });\n}\nfunction Ee({ quote: e, currency: t }) {\n\tlet { t: n, formatMoney: r } = A();\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"flex items-center justify-between text-sm\",\n\t\tchildren: [/* @__PURE__ */ R(\"span\", { children: n(\"storefront.checkout.tax\") }), /* @__PURE__ */ R(p, {\n\t\t\tswapKey: typeof e.taxTotal == \"number\" ? r(e.taxTotal, t) : n(\"storefront.checkout.calculatedByPay\"),\n\t\t\tclassName: \"text-xs tabular-nums\",\n\t\t\tchildren: typeof e.taxTotal == \"number\" ? r(e.taxTotal, t) : n(\"storefront.checkout.calculatedByPay\")\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/storefront/checkoutRequirements.ts\nvar De = {\n\tnone: 0,\n\toptional: 1,\n\trequired: 2\n};\nfunction Oe(e, t) {\n\tlet n = !1, r = !1, i = /* @__PURE__ */ new Set(), a = t.requireEmail ? \"required\" : \"none\", o = t.defaultMode === \"none\" ? \"none\" : \"optional\", s = t.defaultMode === \"full\" ? \"optional\" : \"none\", c = t.allowShipping && (t.defaultMode === \"shipping\" || t.defaultMode === \"full\"), l = t.defaultMode === \"full\";\n\tfor (let u of e) {\n\t\tAe(u) ? (r = !0, c = t.allowShipping || c) : n = !0;\n\t\tlet e = ke(u.metadata?.checkoutRequirements);\n\t\te?.email && (a = H(a, e.email)), e?.name && (o = H(o, e.name)), e?.phone && (s = H(s, e.phone)), typeof e?.shippingAddress == \"boolean\" && (c ||= e.shippingAddress), typeof e?.billingAddress == \"boolean\" && (l ||= e.billingAddress), u.metadata?.fulfillmentNotes && i.add(u.metadata.fulfillmentNotes);\n\t}\n\tr && c && (o = H(o, \"required\"));\n\tlet u = n && !r;\n\treturn {\n\t\temail: a,\n\t\tname: o,\n\t\tphone: s,\n\t\tshippingAddress: !u && c,\n\t\tbillingAddress: t.supportsBillingAddress !== !1 && l,\n\t\tfulfillmentNotes: Array.from(i).join(\" \"),\n\t\tisDigitalOnly: u,\n\t\thasPhysical: r\n\t};\n}\nfunction ke(e) {\n\tif (!e) return null;\n\ttry {\n\t\tlet t = JSON.parse(e);\n\t\treturn t && typeof t == \"object\" ? t : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction Ae(e) {\n\tlet t = e.metadata?.fulfillmentType;\n\treturn t === \"digital_download\" || t === \"service\" ? !1 : t === \"shipping\" || e.metadata?.shippingProfile !== \"digital\";\n}\nfunction H(e, t) {\n\treturn De[e] >= De[t] ? e : t;\n}\n//#endregion\n//#region src/storefront/checkoutModel.ts\nvar je = 1e4, Me = {\n\tline1: \"\",\n\tline2: \"\",\n\tcity: \"\",\n\tstate: \"\",\n\tpostalCode: \"\",\n\tcountry: \"\"\n};\nfunction Ne(e) {\n\tlet t = e.market?.country?.trim().toUpperCase() ?? \"\";\n\treturn Pe({\n\t\temail: e.customer?.email ?? \"\",\n\t\tname: e.customer?.name ?? \"\",\n\t\tphone: e.customer?.phone ?? \"\",\n\t\tnotes: \"\",\n\t\tshippingAddress: {\n\t\t\t...Me,\n\t\t\tcountry: he(t) ? t : \"\"\n\t\t},\n\t\tbillingAddress: { ...Me },\n\t\tbillingSameAsShipping: !0,\n\t\tshippingMethodId: \"\",\n\t\tpaymentMethodId: \"\",\n\t\ttipAmount: \"\"\n\t}, e.customer?.savedCheckout);\n}\nfunction Pe(e, t, n) {\n\tif (!t) return e;\n\tlet r = (t, r) => n && JSON.stringify(e[t]) !== JSON.stringify(n[t]) ? e[t] : r;\n\treturn {\n\t\t...e,\n\t\temail: r(\"email\", U(e.email, t.email)),\n\t\tname: r(\"name\", U(e.name, t.name)),\n\t\tphone: r(\"phone\", U(e.phone, t.phone)),\n\t\tshippingAddress: r(\"shippingAddress\", $e(e.shippingAddress, t.shippingAddress)),\n\t\tbillingAddress: r(\"billingAddress\", $e(e.billingAddress, t.billingAddress)),\n\t\tbillingSameAsShipping: r(\"billingSameAsShipping\", t.billingSameAsShipping ?? e.billingSameAsShipping),\n\t\tshippingMethodId: r(\"shippingMethodId\", U(e.shippingMethodId, t.preferredShippingMethodId)),\n\t\tpaymentMethodId: r(\"paymentMethodId\", U(e.paymentMethodId, t.preferredPaymentMethodId))\n\t};\n}\nfunction Fe(e) {\n\tlet t = [], { form: n, requirements: r } = e;\n\t(r.email === \"required\" || n.email.trim()) && !Xe(n.email) && t.push(\"email\"), r.name === \"required\" && !n.name.trim() && t.push(\"name\"), r.phone === \"required\" && !n.phone.trim() && t.push(\"phone\"), r.shippingAddress && !Ye(n.shippingAddress) && t.push(\"shippingAddress\");\n\tlet i = n.shippingAddress.country.trim().toUpperCase();\n\treturn r.shippingAddress && i && e.allowedShippingCountries && !e.allowedShippingCountries.includes(i) && t.push(\"shippingCountry\"), e.shippingMethodRequired && e.shippingMethods.length > 0 && !n.shippingMethodId && t.push(\"shippingMethod\"), r.billingAddress && !We(n, r) && !Ye(n.billingAddress) && t.push(\"billingAddress\"), (e.paymentOptions.length === 0 || !n.paymentMethodId) && t.push(\"paymentMethod\"), e.allowTipping && !Ze(n.tipAmount) && t.push(\"tipAmount\"), t;\n}\nfunction Ie(e) {\n\tlet t = null;\n\tfor (let n of e) {\n\t\tif (!Ae(n)) continue;\n\t\tlet e = (n.metadata?.shippingCountries ?? \"\").split(\",\").map((e) => e.trim().toUpperCase()).filter((e) => /^[A-Z]{2}$/.test(e));\n\t\te.length && (t = t ? t.filter((t) => e.includes(t)) : Array.from(new Set(e)));\n\t}\n\treturn t;\n}\nfunction Le(e, t, n) {\n\tlet r = e.checkout.paymentMethods, i = r?.length ? r.filter((e) => qe(e.id, t)) : [...[\n\t\t\"card\",\n\t\t\"crypto\",\n\t\t\"credits\"\n\t].filter((e) => t[e]).map((e) => n[e]), ...t.localMethods ?? []], a = e.adapter.supportedPaymentMethodIds;\n\treturn a ? i.filter((e) => a.includes(e.id)) : i;\n}\nfunction Re(e) {\n\tlet t = Qe(e.form.tipAmount), n = e.showPromoCode ? E([...e.promoCodes ?? [], e.promoCode]).slice(0, 1) : [], r = He(e.cartItems) ?? Ve(e.config, e.market);\n\treturn {\n\t\tcart: e.cartItems.map((e) => ({\n\t\t\tresource: e.paymentResource ?? e.productId,\n\t\t\tquantity: e.qty,\n\t\t\tvariantId: e.variantId\n\t\t})),\n\t\tcustomer: Ue(e.form, e.requirements),\n\t\toptions: {\n\t\t\tcurrency: r,\n\t\t\tsuccessUrl: e.config.checkout.successUrl,\n\t\t\tcancelUrl: e.config.checkout.cancelUrl,\n\t\t\tallowPromoCodes: e.showPromoCode,\n\t\t\tdiscountCode: n[0],\n\t\t\tdiscountCodes: n.length ? n : void 0,\n\t\t\tpromotionContext: Ke(e.promotionContext),\n\t\t\ttipAmount: t,\n\t\t\tshippingMethodId: e.form.shippingMethodId || void 0,\n\t\t\tpaymentMethodId: e.form.paymentMethodId || void 0,\n\t\t\tmetadata: Ge(e.config, e.requirements, e.form, e.quote, n, e.promotionContext, e.market)\n\t\t}\n\t};\n}\nfunction ze(e) {\n\treturn !!(e.country.trim() && e.postalCode.trim());\n}\nfunction Be(e, t, n, r) {\n\tlet i = Qe(r) ?? 0, a = n?.price;\n\treturn {\n\t\tsubtotal: e,\n\t\tshippingTotal: a,\n\t\ttipAmount: i,\n\t\ttaxTotal: void 0,\n\t\ttotal: e + (a ?? 0) + i,\n\t\tcurrency: t\n\t};\n}\nfunction Ve(e, t) {\n\treturn t?.currency || e.currency;\n}\nfunction He(e) {\n\tlet t = e[0]?.currency;\n\treturn t && e.every((e) => e.currency === t) ? t : void 0;\n}\nfunction Ue(e, t) {\n\treturn {\n\t\temail: e.email.trim() || void 0,\n\t\tname: e.name.trim() || void 0,\n\t\tphone: e.phone.trim() || void 0,\n\t\tnotes: e.notes.trim() || t.fulfillmentNotes || void 0,\n\t\tshippingAddress: t.shippingAddress ? Je(e.shippingAddress) : void 0,\n\t\tbillingAddress: t.billingAddress ? Je(We(e, t) ? e.shippingAddress : e.billingAddress) : void 0\n\t};\n}\nfunction We(e, t) {\n\treturn t.shippingAddress && e.billingSameAsShipping;\n}\nfunction Ge(e, t, n, r, i = [], a, o) {\n\treturn Object.fromEntries(Object.entries({\n\t\textensionId: \"cedros-shop\",\n\t\tcheckoutMode: e.checkout.mode,\n\t\tmarketId: o?.id,\n\t\tmarketCurrency: o?.currency,\n\t\tmarketPricingStrategy: o?.pricing.strategy,\n\t\tshippingRequired: String(t.shippingAddress),\n\t\tpaymentMethodId: n.paymentMethodId || void 0,\n\t\tshippingMethodId: n.shippingMethodId || void 0,\n\t\tquoteId: r?.id,\n\t\tpromotionCodeCount: i.length ? String(i.length) : void 0,\n\t\tpromotionSource: a?.source\n\t}).filter(([, e]) => e));\n}\nfunction Ke(e) {\n\tif (!e) return;\n\tlet t = {\n\t\tsource: e.source,\n\t\trecoveryToken: e.recoveryToken?.trim() || void 0,\n\t\trecoveryCode: e.recoveryCode?.trim() || void 0,\n\t\tlandingPath: e.landingPath?.trim() || void 0\n\t};\n\treturn Object.values(t).some(Boolean) ? t : void 0;\n}\nfunction qe(e, t) {\n\treturn e === \"card\" || e === \"stripe\" ? t.card : e === \"crypto\" || e === \"x402\" ? t.crypto : e === \"credits\" ? t.credits : !!t.localMethods?.some((t) => t.id === e);\n}\nfunction Je(e) {\n\treturn {\n\t\tline1: e.line1.trim(),\n\t\tline2: e.line2?.trim() || void 0,\n\t\tcity: e.city.trim(),\n\t\tstate: e.state?.trim() || void 0,\n\t\tpostalCode: e.postalCode.trim(),\n\t\tcountry: e.country.trim().toUpperCase()\n\t};\n}\nfunction Ye(e) {\n\treturn !!(e.line1.trim() && e.city.trim() && e.postalCode.trim() && e.country.trim());\n}\nfunction Xe(e) {\n\treturn /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(e.trim());\n}\nfunction Ze(e) {\n\tif (!e.trim()) return !0;\n\tlet t = Number(e);\n\treturn Number.isFinite(t) && t >= 0 && t <= 1e4;\n}\nfunction Qe(e) {\n\tif (!e.trim()) return;\n\tlet t = Number(e);\n\treturn Number.isFinite(t) && t > 0 ? Math.round(t * 100) / 100 : void 0;\n}\nfunction U(e, t) {\n\treturn e.trim() || !t?.trim() ? e : t;\n}\nfunction $e(e, t) {\n\treturn t ? [\n\t\te.line1,\n\t\te.line2,\n\t\te.city,\n\t\te.state,\n\t\te.postalCode\n\t].some((e) => e?.trim()) ? {\n\t\tline1: U(e.line1, t.line1),\n\t\tline2: U(e.line2 ?? \"\", t.line2) || void 0,\n\t\tcity: U(e.city, t.city),\n\t\tstate: U(e.state ?? \"\", t.state) || void 0,\n\t\tpostalCode: U(e.postalCode, t.postalCode),\n\t\tcountry: U(e.country, t.country)\n\t} : { ...t } : e;\n}\n//#endregion\n//#region src/storefront/regions.ts\nvar et = {\n\tUS: [\n\t\t{\n\t\t\tcode: \"AL\",\n\t\t\tname: \"Alabama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AK\",\n\t\t\tname: \"Alaska\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AZ\",\n\t\t\tname: \"Arizona\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AR\",\n\t\t\tname: \"Arkansas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CA\",\n\t\t\tname: \"California\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CO\",\n\t\t\tname: \"Colorado\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CT\",\n\t\t\tname: \"Connecticut\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DE\",\n\t\t\tname: \"Delaware\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DC\",\n\t\t\tname: \"District of Columbia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"FL\",\n\t\t\tname: \"Florida\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GA\",\n\t\t\tname: \"Georgia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HI\",\n\t\t\tname: \"Hawaii\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ID\",\n\t\t\tname: \"Idaho\"\n\t\t},\n\t\t{\n\t\t\tcode: \"IL\",\n\t\t\tname: \"Illinois\"\n\t\t},\n\t\t{\n\t\t\tcode: \"IN\",\n\t\t\tname: \"Indiana\"\n\t\t},\n\t\t{\n\t\t\tcode: \"IA\",\n\t\t\tname: \"Iowa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KS\",\n\t\t\tname: \"Kansas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KY\",\n\t\t\tname: \"Kentucky\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LA\",\n\t\t\tname: \"Louisiana\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ME\",\n\t\t\tname: \"Maine\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MD\",\n\t\t\tname: \"Maryland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MA\",\n\t\t\tname: \"Massachusetts\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MI\",\n\t\t\tname: \"Michigan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MN\",\n\t\t\tname: \"Minnesota\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MS\",\n\t\t\tname: \"Mississippi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MO\",\n\t\t\tname: \"Missouri\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MT\",\n\t\t\tname: \"Montana\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NE\",\n\t\t\tname: \"Nebraska\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NV\",\n\t\t\tname: \"Nevada\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NH\",\n\t\t\tname: \"New Hampshire\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NJ\",\n\t\t\tname: \"New Jersey\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NM\",\n\t\t\tname: \"New Mexico\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NY\",\n\t\t\tname: \"New York\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NC\",\n\t\t\tname: \"North Carolina\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ND\",\n\t\t\tname: \"North Dakota\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OH\",\n\t\t\tname: \"Ohio\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OK\",\n\t\t\tname: \"Oklahoma\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OR\",\n\t\t\tname: \"Oregon\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PA\",\n\t\t\tname: \"Pennsylvania\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RI\",\n\t\t\tname: \"Rhode Island\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SC\",\n\t\t\tname: \"South Carolina\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SD\",\n\t\t\tname: \"South Dakota\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TN\",\n\t\t\tname: \"Tennessee\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TX\",\n\t\t\tname: \"Texas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"UT\",\n\t\t\tname: \"Utah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VT\",\n\t\t\tname: \"Vermont\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VA\",\n\t\t\tname: \"Virginia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WA\",\n\t\t\tname: \"Washington\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WV\",\n\t\t\tname: \"West Virginia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WI\",\n\t\t\tname: \"Wisconsin\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WY\",\n\t\t\tname: \"Wyoming\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AS\",\n\t\t\tname: \"American Samoa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GU\",\n\t\t\tname: \"Guam\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MP\",\n\t\t\tname: \"Northern Mariana Islands\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PR\",\n\t\t\tname: \"Puerto Rico\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VI\",\n\t\t\tname: \"U.S. Virgin Islands\"\n\t\t}\n\t],\n\tCA: [\n\t\t{\n\t\t\tcode: \"AB\",\n\t\t\tname: \"Alberta\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BC\",\n\t\t\tname: \"British Columbia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MB\",\n\t\t\tname: \"Manitoba\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NB\",\n\t\t\tname: \"New Brunswick\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NL\",\n\t\t\tname: \"Newfoundland and Labrador\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NS\",\n\t\t\tname: \"Nova Scotia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NT\",\n\t\t\tname: \"Northwest Territories\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NU\",\n\t\t\tname: \"Nunavut\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ON\",\n\t\t\tname: \"Ontario\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PE\",\n\t\t\tname: \"Prince Edward Island\"\n\t\t},\n\t\t{\n\t\t\tcode: \"QC\",\n\t\t\tname: \"Quebec\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SK\",\n\t\t\tname: \"Saskatchewan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"YT\",\n\t\t\tname: \"Yukon\"\n\t\t}\n\t],\n\tAU: [\n\t\t{\n\t\t\tcode: \"ACT\",\n\t\t\tname: \"Australian Capital Territory\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NSW\",\n\t\t\tname: \"New South Wales\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NT\",\n\t\t\tname: \"Northern Territory\"\n\t\t},\n\t\t{\n\t\t\tcode: \"QLD\",\n\t\t\tname: \"Queensland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SA\",\n\t\t\tname: \"South Australia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TAS\",\n\t\t\tname: \"Tasmania\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VIC\",\n\t\t\tname: \"Victoria\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WA\",\n\t\t\tname: \"Western Australia\"\n\t\t}\n\t],\n\tNZ: [\n\t\t{\n\t\t\tcode: \"AUK\",\n\t\t\tname: \"Auckland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BOP\",\n\t\t\tname: \"Bay of Plenty\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CAN\",\n\t\t\tname: \"Canterbury\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CIT\",\n\t\t\tname: \"Chatham Islands\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GIS\",\n\t\t\tname: \"Gisborne\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HKB\",\n\t\t\tname: \"Hawke’s Bay\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MBH\",\n\t\t\tname: \"Marlborough\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MWT\",\n\t\t\tname: \"Manawatū-Whanganui\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NSN\",\n\t\t\tname: \"Nelson\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NTL\",\n\t\t\tname: \"Northland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OTA\",\n\t\t\tname: \"Otago\"\n\t\t},\n\t\t{\n\t\t\tcode: \"STL\",\n\t\t\tname: \"Southland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TAS\",\n\t\t\tname: \"Tasman\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TKI\",\n\t\t\tname: \"Taranaki\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WGN\",\n\t\t\tname: \"Wellington\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WKO\",\n\t\t\tname: \"Waikato\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WTC\",\n\t\t\tname: \"West Coast\"\n\t\t}\n\t],\n\tBR: [\n\t\t{\n\t\t\tcode: \"AC\",\n\t\t\tname: \"Acre\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AL\",\n\t\t\tname: \"Alagoas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AP\",\n\t\t\tname: \"Amapá\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AM\",\n\t\t\tname: \"Amazonas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BA\",\n\t\t\tname: \"Bahia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CE\",\n\t\t\tname: \"Ceará\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DF\",\n\t\t\tname: \"Distrito Federal\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ES\",\n\t\t\tname: \"Espírito Santo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GO\",\n\t\t\tname: \"Goiás\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MA\",\n\t\t\tname: \"Maranhão\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MT\",\n\t\t\tname: \"Mato Grosso\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MS\",\n\t\t\tname: \"Mato Grosso do Sul\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MG\",\n\t\t\tname: \"Minas Gerais\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PA\",\n\t\t\tname: \"Pará\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PB\",\n\t\t\tname: \"Paraíba\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PR\",\n\t\t\tname: \"Paraná\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PE\",\n\t\t\tname: \"Pernambuco\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PI\",\n\t\t\tname: \"Piauí\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RJ\",\n\t\t\tname: \"Rio de Janeiro\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RN\",\n\t\t\tname: \"Rio Grande do Norte\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RS\",\n\t\t\tname: \"Rio Grande do Sul\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RO\",\n\t\t\tname: \"Rondônia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RR\",\n\t\t\tname: \"Roraima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SC\",\n\t\t\tname: \"Santa Catarina\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SP\",\n\t\t\tname: \"São Paulo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SE\",\n\t\t\tname: \"Sergipe\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TO\",\n\t\t\tname: \"Tocantins\"\n\t\t}\n\t],\n\tMX: [\n\t\t{\n\t\t\tcode: \"AGU\",\n\t\t\tname: \"Aguascalientes\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BCN\",\n\t\t\tname: \"Baja California\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BCS\",\n\t\t\tname: \"Baja California Sur\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CAM\",\n\t\t\tname: \"Campeche\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CHP\",\n\t\t\tname: \"Chiapas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CHH\",\n\t\t\tname: \"Chihuahua\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CMX\",\n\t\t\tname: \"Ciudad de México\"\n\t\t},\n\t\t{\n\t\t\tcode: \"COA\",\n\t\t\tname: \"Coahuila\"\n\t\t},\n\t\t{\n\t\t\tcode: \"COL\",\n\t\t\tname: \"Colima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DUR\",\n\t\t\tname: \"Durango\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GUA\",\n\t\t\tname: \"Guanajuato\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GRO\",\n\t\t\tname: \"Guerrero\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HID\",\n\t\t\tname: \"Hidalgo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JAL\",\n\t\t\tname: \"Jalisco\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MEX\",\n\t\t\tname: \"Estado de México\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MIC\",\n\t\t\tname: \"Michoacán\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MOR\",\n\t\t\tname: \"Morelos\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NAY\",\n\t\t\tname: \"Nayarit\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NLE\",\n\t\t\tname: \"Nuevo León\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OAX\",\n\t\t\tname: \"Oaxaca\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PUE\",\n\t\t\tname: \"Puebla\"\n\t\t},\n\t\t{\n\t\t\tcode: \"QUE\",\n\t\t\tname: \"Querétaro\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ROO\",\n\t\t\tname: \"Quintana Roo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SLP\",\n\t\t\tname: \"San Luis Potosí\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SIN\",\n\t\t\tname: \"Sinaloa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SON\",\n\t\t\tname: \"Sonora\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TAB\",\n\t\t\tname: \"Tabasco\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TAM\",\n\t\t\tname: \"Tamaulipas\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TLA\",\n\t\t\tname: \"Tlaxcala\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VER\",\n\t\t\tname: \"Veracruz\"\n\t\t},\n\t\t{\n\t\t\tcode: \"YUC\",\n\t\t\tname: \"Yucatán\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ZAC\",\n\t\t\tname: \"Zacatecas\"\n\t\t}\n\t],\n\tJP: [\n\t\t{\n\t\t\tcode: \"Hokkaido\",\n\t\t\tname: \"Hokkaido\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Aomori\",\n\t\t\tname: \"Aomori\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Iwate\",\n\t\t\tname: \"Iwate\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Miyagi\",\n\t\t\tname: \"Miyagi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Akita\",\n\t\t\tname: \"Akita\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Yamagata\",\n\t\t\tname: \"Yamagata\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Fukushima\",\n\t\t\tname: \"Fukushima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Ibaraki\",\n\t\t\tname: \"Ibaraki\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Tochigi\",\n\t\t\tname: \"Tochigi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Gunma\",\n\t\t\tname: \"Gunma\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Saitama\",\n\t\t\tname: \"Saitama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Chiba\",\n\t\t\tname: \"Chiba\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Tokyo\",\n\t\t\tname: \"Tokyo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kanagawa\",\n\t\t\tname: \"Kanagawa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Niigata\",\n\t\t\tname: \"Niigata\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Toyama\",\n\t\t\tname: \"Toyama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Ishikawa\",\n\t\t\tname: \"Ishikawa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Fukui\",\n\t\t\tname: \"Fukui\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Yamanashi\",\n\t\t\tname: \"Yamanashi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Nagano\",\n\t\t\tname: \"Nagano\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Gifu\",\n\t\t\tname: \"Gifu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Shizuoka\",\n\t\t\tname: \"Shizuoka\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Aichi\",\n\t\t\tname: \"Aichi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Mie\",\n\t\t\tname: \"Mie\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Shiga\",\n\t\t\tname: \"Shiga\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kyoto\",\n\t\t\tname: \"Kyoto\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Osaka\",\n\t\t\tname: \"Osaka\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Hyogo\",\n\t\t\tname: \"Hyogo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Nara\",\n\t\t\tname: \"Nara\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Wakayama\",\n\t\t\tname: \"Wakayama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Tottori\",\n\t\t\tname: \"Tottori\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Shimane\",\n\t\t\tname: \"Shimane\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Okayama\",\n\t\t\tname: \"Okayama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Hiroshima\",\n\t\t\tname: \"Hiroshima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Yamaguchi\",\n\t\t\tname: \"Yamaguchi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Tokushima\",\n\t\t\tname: \"Tokushima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kagawa\",\n\t\t\tname: \"Kagawa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Ehime\",\n\t\t\tname: \"Ehime\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kochi\",\n\t\t\tname: \"Kochi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Fukuoka\",\n\t\t\tname: \"Fukuoka\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Saga\",\n\t\t\tname: \"Saga\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Nagasaki\",\n\t\t\tname: \"Nagasaki\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kumamoto\",\n\t\t\tname: \"Kumamoto\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Oita\",\n\t\t\tname: \"Oita\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Miyazaki\",\n\t\t\tname: \"Miyazaki\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kagoshima\",\n\t\t\tname: \"Kagoshima\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Okinawa\",\n\t\t\tname: \"Okinawa\"\n\t\t}\n\t],\n\tIN: [\n\t\t{\n\t\t\tcode: \"AP\",\n\t\t\tname: \"Andhra Pradesh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AR\",\n\t\t\tname: \"Arunachal Pradesh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AS\",\n\t\t\tname: \"Assam\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BR\",\n\t\t\tname: \"Bihar\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CG\",\n\t\t\tname: \"Chhattisgarh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GA\",\n\t\t\tname: \"Goa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GJ\",\n\t\t\tname: \"Gujarat\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HR\",\n\t\t\tname: \"Haryana\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HP\",\n\t\t\tname: \"Himachal Pradesh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JH\",\n\t\t\tname: \"Jharkhand\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KA\",\n\t\t\tname: \"Karnataka\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KL\",\n\t\t\tname: \"Kerala\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MP\",\n\t\t\tname: \"Madhya Pradesh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MH\",\n\t\t\tname: \"Maharashtra\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MN\",\n\t\t\tname: \"Manipur\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ML\",\n\t\t\tname: \"Meghalaya\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MZ\",\n\t\t\tname: \"Mizoram\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NL\",\n\t\t\tname: \"Nagaland\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OD\",\n\t\t\tname: \"Odisha\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PB\",\n\t\t\tname: \"Punjab\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RJ\",\n\t\t\tname: \"Rajasthan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SK\",\n\t\t\tname: \"Sikkim\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TN\",\n\t\t\tname: \"Tamil Nadu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TS\",\n\t\t\tname: \"Telangana\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TR\",\n\t\t\tname: \"Tripura\"\n\t\t},\n\t\t{\n\t\t\tcode: \"UP\",\n\t\t\tname: \"Uttar Pradesh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"UK\",\n\t\t\tname: \"Uttarakhand\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WB\",\n\t\t\tname: \"West Bengal\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AN\",\n\t\t\tname: \"Andaman and Nicobar Islands\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CH\",\n\t\t\tname: \"Chandigarh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DH\",\n\t\t\tname: \"Dadra and Nagar Haveli and Daman and Diu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DL\",\n\t\t\tname: \"Delhi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JK\",\n\t\t\tname: \"Jammu and Kashmir\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LA\",\n\t\t\tname: \"Ladakh\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LD\",\n\t\t\tname: \"Lakshadweep\"\n\t\t},\n\t\t{\n\t\t\tcode: \"PY\",\n\t\t\tname: \"Puducherry\"\n\t\t}\n\t],\n\tCN: [\n\t\t{\n\t\t\tcode: \"BJ\",\n\t\t\tname: \"Beijing\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TJ\",\n\t\t\tname: \"Tianjin\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HE\",\n\t\t\tname: \"Hebei\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SX\",\n\t\t\tname: \"Shanxi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NM\",\n\t\t\tname: \"Inner Mongolia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LN\",\n\t\t\tname: \"Liaoning\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JL\",\n\t\t\tname: \"Jilin\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HL\",\n\t\t\tname: \"Heilongjiang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SH\",\n\t\t\tname: \"Shanghai\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JS\",\n\t\t\tname: \"Jiangsu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ZJ\",\n\t\t\tname: \"Zhejiang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AH\",\n\t\t\tname: \"Anhui\"\n\t\t},\n\t\t{\n\t\t\tcode: \"FJ\",\n\t\t\tname: \"Fujian\"\n\t\t},\n\t\t{\n\t\t\tcode: \"JX\",\n\t\t\tname: \"Jiangxi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SD\",\n\t\t\tname: \"Shandong\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HA\",\n\t\t\tname: \"Henan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HB\",\n\t\t\tname: \"Hubei\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HN\",\n\t\t\tname: \"Hunan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GD\",\n\t\t\tname: \"Guangdong\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GX\",\n\t\t\tname: \"Guangxi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"HI\",\n\t\t\tname: \"Hainan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CQ\",\n\t\t\tname: \"Chongqing\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SC\",\n\t\t\tname: \"Sichuan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GZ\",\n\t\t\tname: \"Guizhou\"\n\t\t},\n\t\t{\n\t\t\tcode: \"YN\",\n\t\t\tname: \"Yunnan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"XZ\",\n\t\t\tname: \"Tibet\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SN\",\n\t\t\tname: \"Shaanxi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GS\",\n\t\t\tname: \"Gansu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"QH\",\n\t\t\tname: \"Qinghai\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NX\",\n\t\t\tname: \"Ningxia\"\n\t\t},\n\t\t{\n\t\t\tcode: \"XJ\",\n\t\t\tname: \"Xinjiang\"\n\t\t}\n\t],\n\tKR: [\n\t\t{\n\t\t\tcode: \"Seoul\",\n\t\t\tname: \"Seoul\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Busan\",\n\t\t\tname: \"Busan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Daegu\",\n\t\t\tname: \"Daegu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Incheon\",\n\t\t\tname: \"Incheon\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Gwangju\",\n\t\t\tname: \"Gwangju\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Daejeon\",\n\t\t\tname: \"Daejeon\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Ulsan\",\n\t\t\tname: \"Ulsan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Sejong\",\n\t\t\tname: \"Sejong\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Gyeonggi\",\n\t\t\tname: \"Gyeonggi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Gangwon\",\n\t\t\tname: \"Gangwon\"\n\t\t},\n\t\t{\n\t\t\tcode: \"North Chungcheong\",\n\t\t\tname: \"North Chungcheong\"\n\t\t},\n\t\t{\n\t\t\tcode: \"South Chungcheong\",\n\t\t\tname: \"South Chungcheong\"\n\t\t},\n\t\t{\n\t\t\tcode: \"North Jeolla\",\n\t\t\tname: \"North Jeolla\"\n\t\t},\n\t\t{\n\t\t\tcode: \"South Jeolla\",\n\t\t\tname: \"South Jeolla\"\n\t\t},\n\t\t{\n\t\t\tcode: \"North Gyeongsang\",\n\t\t\tname: \"North Gyeongsang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"South Gyeongsang\",\n\t\t\tname: \"South Gyeongsang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Jeju\",\n\t\t\tname: \"Jeju\"\n\t\t}\n\t],\n\tMY: [\n\t\t{\n\t\t\tcode: \"Johor\",\n\t\t\tname: \"Johor\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kedah\",\n\t\t\tname: \"Kedah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kelantan\",\n\t\t\tname: \"Kelantan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Melaka\",\n\t\t\tname: \"Melaka\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Negeri Sembilan\",\n\t\t\tname: \"Negeri Sembilan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Pahang\",\n\t\t\tname: \"Pahang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Penang\",\n\t\t\tname: \"Penang\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Perak\",\n\t\t\tname: \"Perak\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Perlis\",\n\t\t\tname: \"Perlis\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Sabah\",\n\t\t\tname: \"Sabah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Sarawak\",\n\t\t\tname: \"Sarawak\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Selangor\",\n\t\t\tname: \"Selangor\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Terengganu\",\n\t\t\tname: \"Terengganu\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Kuala Lumpur\",\n\t\t\tname: \"Kuala Lumpur\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Labuan\",\n\t\t\tname: \"Labuan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Putrajaya\",\n\t\t\tname: \"Putrajaya\"\n\t\t}\n\t],\n\tAR: [\n\t\t{\n\t\t\tcode: \"B\",\n\t\t\tname: \"Buenos Aires\"\n\t\t},\n\t\t{\n\t\t\tcode: \"C\",\n\t\t\tname: \"Ciudad Autónoma de Buenos Aires\"\n\t\t},\n\t\t{\n\t\t\tcode: \"K\",\n\t\t\tname: \"Catamarca\"\n\t\t},\n\t\t{\n\t\t\tcode: \"H\",\n\t\t\tname: \"Chaco\"\n\t\t},\n\t\t{\n\t\t\tcode: \"U\",\n\t\t\tname: \"Chubut\"\n\t\t},\n\t\t{\n\t\t\tcode: \"X\",\n\t\t\tname: \"Córdoba\"\n\t\t},\n\t\t{\n\t\t\tcode: \"W\",\n\t\t\tname: \"Corrientes\"\n\t\t},\n\t\t{\n\t\t\tcode: \"E\",\n\t\t\tname: \"Entre Ríos\"\n\t\t},\n\t\t{\n\t\t\tcode: \"P\",\n\t\t\tname: \"Formosa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Y\",\n\t\t\tname: \"Jujuy\"\n\t\t},\n\t\t{\n\t\t\tcode: \"L\",\n\t\t\tname: \"La Pampa\"\n\t\t},\n\t\t{\n\t\t\tcode: \"F\",\n\t\t\tname: \"La Rioja\"\n\t\t},\n\t\t{\n\t\t\tcode: \"M\",\n\t\t\tname: \"Mendoza\"\n\t\t},\n\t\t{\n\t\t\tcode: \"N\",\n\t\t\tname: \"Misiones\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Q\",\n\t\t\tname: \"Neuquén\"\n\t\t},\n\t\t{\n\t\t\tcode: \"R\",\n\t\t\tname: \"Río Negro\"\n\t\t},\n\t\t{\n\t\t\tcode: \"A\",\n\t\t\tname: \"Salta\"\n\t\t},\n\t\t{\n\t\t\tcode: \"J\",\n\t\t\tname: \"San Juan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"D\",\n\t\t\tname: \"San Luis\"\n\t\t},\n\t\t{\n\t\t\tcode: \"Z\",\n\t\t\tname: \"Santa Cruz\"\n\t\t},\n\t\t{\n\t\t\tcode: \"S\",\n\t\t\tname: \"Santa Fe\"\n\t\t},\n\t\t{\n\t\t\tcode: \"G\",\n\t\t\tname: \"Santiago del Estero\"\n\t\t},\n\t\t{\n\t\t\tcode: \"V\",\n\t\t\tname: \"Tierra del Fuego\"\n\t\t},\n\t\t{\n\t\t\tcode: \"T\",\n\t\t\tname: \"Tucumán\"\n\t\t}\n\t],\n\tCL: [\n\t\t{\n\t\t\tcode: \"AI\",\n\t\t\tname: \"Aysén\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AN\",\n\t\t\tname: \"Antofagasta\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AP\",\n\t\t\tname: \"Arica y Parinacota\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AR\",\n\t\t\tname: \"La Araucanía\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AT\",\n\t\t\tname: \"Atacama\"\n\t\t},\n\t\t{\n\t\t\tcode: \"BI\",\n\t\t\tname: \"Biobío\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CO\",\n\t\t\tname: \"Coquimbo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LI\",\n\t\t\tname: \"O’Higgins\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LL\",\n\t\t\tname: \"Los Lagos\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LR\",\n\t\t\tname: \"Los Ríos\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MA\",\n\t\t\tname: \"Magallanes\"\n\t\t},\n\t\t{\n\t\t\tcode: \"ML\",\n\t\t\tname: \"Maule\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NB\",\n\t\t\tname: \"Ñuble\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RM\",\n\t\t\tname: \"Región Metropolitana de Santiago\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TA\",\n\t\t\tname: \"Tarapacá\"\n\t\t},\n\t\t{\n\t\t\tcode: \"VS\",\n\t\t\tname: \"Valparaíso\"\n\t\t}\n\t],\n\tZA: [\n\t\t{\n\t\t\tcode: \"EC\",\n\t\t\tname: \"Eastern Cape\"\n\t\t},\n\t\t{\n\t\t\tcode: \"FS\",\n\t\t\tname: \"Free State\"\n\t\t},\n\t\t{\n\t\t\tcode: \"GP\",\n\t\t\tname: \"Gauteng\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KZN\",\n\t\t\tname: \"KwaZulu-Natal\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LP\",\n\t\t\tname: \"Limpopo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MP\",\n\t\t\tname: \"Mpumalanga\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NC\",\n\t\t\tname: \"Northern Cape\"\n\t\t},\n\t\t{\n\t\t\tcode: \"NW\",\n\t\t\tname: \"North West\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WC\",\n\t\t\tname: \"Western Cape\"\n\t\t}\n\t],\n\tAE: [\n\t\t{\n\t\t\tcode: \"AZ\",\n\t\t\tname: \"Abu Dhabi\"\n\t\t},\n\t\t{\n\t\t\tcode: \"AJ\",\n\t\t\tname: \"Ajman\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DU\",\n\t\t\tname: \"Dubai\"\n\t\t},\n\t\t{\n\t\t\tcode: \"FU\",\n\t\t\tname: \"Fujairah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RK\",\n\t\t\tname: \"Ras Al Khaimah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SH\",\n\t\t\tname: \"Sharjah\"\n\t\t},\n\t\t{\n\t\t\tcode: \"UQ\",\n\t\t\tname: \"Umm Al Quwain\"\n\t\t}\n\t],\n\tIE: [\n\t\t{\n\t\t\tcode: \"CW\",\n\t\t\tname: \"Carlow\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CN\",\n\t\t\tname: \"Cavan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CE\",\n\t\t\tname: \"Clare\"\n\t\t},\n\t\t{\n\t\t\tcode: \"CO\",\n\t\t\tname: \"Cork\"\n\t\t},\n\t\t{\n\t\t\tcode: \"DL\",\n\t\t\tname: \"Donegal\"\n\t\t},\n\t\t{\n\t\t\tcode: \"D\",\n\t\t\tname: \"Dublin\"\n\t\t},\n\t\t{\n\t\t\tcode: \"G\",\n\t\t\tname: \"Galway\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KY\",\n\t\t\tname: \"Kerry\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KE\",\n\t\t\tname: \"Kildare\"\n\t\t},\n\t\t{\n\t\t\tcode: \"KK\",\n\t\t\tname: \"Kilkenny\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LS\",\n\t\t\tname: \"Laois\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LM\",\n\t\t\tname: \"Leitrim\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LK\",\n\t\t\tname: \"Limerick\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LD\",\n\t\t\tname: \"Longford\"\n\t\t},\n\t\t{\n\t\t\tcode: \"LH\",\n\t\t\tname: \"Louth\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MO\",\n\t\t\tname: \"Mayo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MH\",\n\t\t\tname: \"Meath\"\n\t\t},\n\t\t{\n\t\t\tcode: \"MN\",\n\t\t\tname: \"Monaghan\"\n\t\t},\n\t\t{\n\t\t\tcode: \"OY\",\n\t\t\tname: \"Offaly\"\n\t\t},\n\t\t{\n\t\t\tcode: \"RN\",\n\t\t\tname: \"Roscommon\"\n\t\t},\n\t\t{\n\t\t\tcode: \"SO\",\n\t\t\tname: \"Sligo\"\n\t\t},\n\t\t{\n\t\t\tcode: \"TA\",\n\t\t\tname: \"Tipperary\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WD\",\n\t\t\tname: \"Waterford\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WH\",\n\t\t\tname: \"Westmeath\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WX\",\n\t\t\tname: \"Wexford\"\n\t\t},\n\t\t{\n\t\t\tcode: \"WW\",\n\t\t\tname: \"Wicklow\"\n\t\t}\n\t]\n};\nfunction tt(e) {\n\treturn et[e.trim().toUpperCase()] ?? null;\n}\n//#endregion\n//#region src/storefront/CheckoutFormSections.tsx\nfunction nt({ form: e, requirements: t, issues: n, updateForm: r, supportsOrderNotes: i = !0 }) {\n\tlet { t: a } = A(), [o, s] = I.useState(!!e.notes);\n\tI.useEffect(() => {\n\t\te.notes && s(!0);\n\t}, [e.notes]);\n\tlet c = t.phone !== \"none\", l = /* @__PURE__ */ R(W, {\n\t\tlabel: a(\"storefront.checkout.name\"),\n\t\trequired: t.name === \"required\",\n\t\tinvalid: n.includes(\"name\"),\n\t\terror: a(\"storefront.checkout.fieldRequired\"),\n\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\tautoComplete: \"name\",\n\t\t\tvalue: e.name,\n\t\t\tonChange: (e) => r({ name: e.target.value }),\n\t\t\t\"aria-invalid\": n.includes(\"name\") || void 0\n\t\t})\n\t});\n\treturn /* @__PURE__ */ z(j, { children: [/* @__PURE__ */ R(_, { children: /* @__PURE__ */ R(g, { children: a(\"storefront.checkout.contactTitle\") }) }), /* @__PURE__ */ z(w, {\n\t\tclassName: \"space-y-4\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\tlabel: a(\"storefront.checkout.email\"),\n\t\t\t\trequired: t.email === \"required\",\n\t\t\t\tinvalid: n.includes(\"email\"),\n\t\t\t\terror: a(\"storefront.checkout.emailInvalid\"),\n\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\ttype: \"email\",\n\t\t\t\t\tautoComplete: \"email\",\n\t\t\t\t\tvalue: e.email,\n\t\t\t\t\tonChange: (e) => r({ email: e.target.value }),\n\t\t\t\t\t\"aria-invalid\": n.includes(\"email\") || void 0\n\t\t\t\t})\n\t\t\t}),\n\t\t\tc ? /* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"grid gap-4 sm:grid-cols-2\",\n\t\t\t\tchildren: [l, /* @__PURE__ */ R(W, {\n\t\t\t\t\tlabel: a(\"storefront.checkout.phone\"),\n\t\t\t\t\trequired: t.phone === \"required\",\n\t\t\t\t\tinvalid: n.includes(\"phone\"),\n\t\t\t\t\terror: a(\"storefront.checkout.fieldRequired\"),\n\t\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\t\ttype: \"tel\",\n\t\t\t\t\t\tautoComplete: \"tel\",\n\t\t\t\t\t\tvalue: e.phone,\n\t\t\t\t\t\tonChange: (e) => r({ phone: e.target.value }),\n\t\t\t\t\t\t\"aria-invalid\": n.includes(\"phone\") || void 0\n\t\t\t\t\t})\n\t\t\t\t})]\n\t\t\t}) : l,\n\t\t\tt.fulfillmentNotes ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-xs\",\n\t\t\t\tchildren: t.fulfillmentNotes\n\t\t\t}) : null,\n\t\t\ti ? /* @__PURE__ */ R(v, {\n\t\t\t\topen: o,\n\t\t\t\tonOpenChange: s,\n\t\t\t\topenLabel: a(\"storefront.checkout.addOrderNote\"),\n\t\t\t\tcloseLabel: a(\"storefront.checkout.hideOrderNote\"),\n\t\t\t\tchildren: /* @__PURE__ */ R(W, {\n\t\t\t\t\tlabel: a(\"storefront.checkout.orderNotes\"),\n\t\t\t\t\tchildren: /* @__PURE__ */ R(\"textarea\", {\n\t\t\t\t\t\tclassName: \"resize-none\",\n\t\t\t\t\t\tvalue: e.notes,\n\t\t\t\t\t\tonChange: (e) => r({ notes: e.target.value }),\n\t\t\t\t\t\trows: 3\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}) : null\n\t\t]\n\t})] });\n}\nfunction rt(e) {\n\tlet { t, formatMoney: n } = A(), r = e;\n\treturn /* @__PURE__ */ z(j, { children: [/* @__PURE__ */ R(_, { children: /* @__PURE__ */ R(g, { children: t(r.requirements.shippingAddress ? \"storefront.checkout.deliveryTitle\" : \"storefront.checkout.billingTitle\") }) }), /* @__PURE__ */ z(w, {\n\t\tclassName: \"space-y-5\",\n\t\tchildren: [\n\t\t\tr.requirements.shippingAddress ? /* @__PURE__ */ R(ot, {\n\t\t\t\taddress: r.form.shippingAddress,\n\t\t\t\taddressKey: \"shippingAddress\",\n\t\t\t\tissue: r.issues.includes(\"shippingAddress\"),\n\t\t\t\tcountryUnavailable: r.issues.includes(\"shippingCountry\"),\n\t\t\t\tupdateAddress: r.updateAddress\n\t\t\t}) : null,\n\t\t\tr.shippingLoading ? /* @__PURE__ */ z(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tt(\"storefront.checkout.loadingShipping\")\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\tr.shippingError ? /* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__error space-y-3 rounded-lg border p-3 text-sm\",\n\t\t\t\trole: \"alert\",\n\t\t\t\tchildren: [/* @__PURE__ */ R(\"p\", { children: r.shippingError }), r.onRetryShipping ? /* @__PURE__ */ R(M, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tonClick: r.onRetryShipping,\n\t\t\t\t\tchildren: t(\"common.retry\")\n\t\t\t\t}) : null]\n\t\t\t}) : null,\n\t\t\tr.shippingRatesDeferred ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\tchildren: t(\"storefront.checkout.shippingDeferred\")\n\t\t\t}) : null,\n\t\t\tr.shippingUnavailable ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: t(\"storefront.checkout.shippingUnavailable\")\n\t\t\t}) : null,\n\t\t\tr.shippingRatesEmpty ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: t(\"storefront.checkout.noShippingOptions\")\n\t\t\t}) : null,\n\t\t\tr.shippingMethods.length ? /* @__PURE__ */ R(ct, {\n\t\t\t\tlabel: t(\"storefront.checkout.shippingMethod\"),\n\t\t\t\tinvalid: r.issues.includes(\"shippingMethod\"),\n\t\t\t\terror: t(\"storefront.checkout.selectShippingMethod\"),\n\t\t\t\tchildren: r.shippingMethods.map((e) => /* @__PURE__ */ z(lt, {\n\t\t\t\t\tactive: r.form.shippingMethodId === e.id,\n\t\t\t\t\tonClick: () => r.updateForm({ shippingMethodId: e.id }),\n\t\t\t\t\tchildren: [/* @__PURE__ */ z(\"span\", {\n\t\t\t\t\t\tclassName: \"min-w-0 flex-1 text-left\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"block text-sm font-medium\",\n\t\t\t\t\t\t\tchildren: e.label\n\t\t\t\t\t\t}), e.detail ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__muted block text-xs font-normal\",\n\t\t\t\t\t\t\tchildren: e.detail\n\t\t\t\t\t\t}) : null]\n\t\t\t\t\t}), /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\tclassName: \"text-sm font-semibold tabular-nums\",\n\t\t\t\t\t\tchildren: n(e.price, e.currency)\n\t\t\t\t\t})]\n\t\t\t\t}, e.id))\n\t\t\t}) : null,\n\t\t\tr.requirements.billingAddress ? /* @__PURE__ */ R(at, {\n\t\t\t\tform: r.form,\n\t\t\t\tissues: r.issues,\n\t\t\t\tcanReuseShipping: r.requirements.shippingAddress,\n\t\t\t\tupdateForm: r.updateForm,\n\t\t\t\tupdateAddress: r.updateAddress\n\t\t\t}) : null\n\t\t]\n\t})] });\n}\nfunction it({ form: e, issues: t, options: n, allowTipping: r, paymentMethodsLoading: i, updateForm: a }) {\n\tlet { t: o, formatNumber: s } = A(), c = Number(e.tipAmount) > je, [l, u] = I.useState(!!e.tipAmount);\n\treturn I.useEffect(() => {\n\t\te.tipAmount && u(!0);\n\t}, [e.tipAmount]), /* @__PURE__ */ z(j, { children: [/* @__PURE__ */ R(_, { children: /* @__PURE__ */ R(g, { children: o(\"storefront.checkout.paymentTitle\") }) }), /* @__PURE__ */ z(w, {\n\t\tclassName: \"space-y-5\",\n\t\tchildren: [\n\t\t\ti ? /* @__PURE__ */ z(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice text-sm\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\to(\"storefront.checkout.loadingPaymentMethods\")\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\t!i && !n.length ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__error rounded-lg border p-3 text-sm\",\n\t\t\t\trole: \"alert\",\n\t\t\t\tchildren: o(\"storefront.checkout.paymentUnavailable\")\n\t\t\t}) : null,\n\t\t\tn.length === 1 ? /* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ R(\"div\", {\n\t\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\t\tchildren: o(\"storefront.checkout.paymentMethod\")\n\t\t\t\t}), /* @__PURE__ */ R(\"div\", {\n\t\t\t\t\tclassName: \"flex items-center justify-between gap-3 rounded-lg border p-3\",\n\t\t\t\t\tchildren: /* @__PURE__ */ z(\"span\", {\n\t\t\t\t\t\tclassName: \"min-w-0\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"block text-sm font-medium\",\n\t\t\t\t\t\t\tchildren: n[0].label\n\t\t\t\t\t\t}), n[0].description ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__muted block text-xs font-normal\",\n\t\t\t\t\t\t\tchildren: n[0].description\n\t\t\t\t\t\t}) : null]\n\t\t\t\t\t})\n\t\t\t\t})]\n\t\t\t}) : n.length ? /* @__PURE__ */ R(ct, {\n\t\t\t\tlabel: o(\"storefront.checkout.paymentMethod\"),\n\t\t\t\tinvalid: t.includes(\"paymentMethod\"),\n\t\t\t\terror: o(\"storefront.checkout.selectPaymentMethod\"),\n\t\t\t\tchildren: n.map((t) => /* @__PURE__ */ R(lt, {\n\t\t\t\t\tactive: e.paymentMethodId === t.id,\n\t\t\t\t\tonClick: () => a({ paymentMethodId: t.id }),\n\t\t\t\t\tchildren: /* @__PURE__ */ z(\"span\", {\n\t\t\t\t\t\tclassName: \"min-w-0 text-left\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"block text-sm font-medium\",\n\t\t\t\t\t\t\tchildren: t.label\n\t\t\t\t\t\t}), t.description ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__muted block text-xs font-normal\",\n\t\t\t\t\t\t\tchildren: t.description\n\t\t\t\t\t\t}) : null]\n\t\t\t\t\t})\n\t\t\t\t}, t.id))\n\t\t\t}) : null,\n\t\t\tr ? /* @__PURE__ */ R(v, {\n\t\t\t\topen: l,\n\t\t\t\tonOpenChange: (t) => {\n\t\t\t\t\tu(t), !t && e.tipAmount && a({ tipAmount: \"\" });\n\t\t\t\t},\n\t\t\t\topenLabel: o(\"storefront.checkout.addTip\"),\n\t\t\t\tcloseLabel: o(\"storefront.checkout.hideTip\"),\n\t\t\t\tchildren: /* @__PURE__ */ R(W, {\n\t\t\t\t\tlabel: o(\"storefront.checkout.tipAmount\"),\n\t\t\t\t\tinvalid: t.includes(\"tipAmount\") || c,\n\t\t\t\t\terror: c ? o(\"storefront.checkout.tipTooLarge\", { max: s(je) }) : o(\"storefront.checkout.tipInvalid\"),\n\t\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\t\ttype: \"number\",\n\t\t\t\t\t\tmin: \"0\",\n\t\t\t\t\t\tmax: je,\n\t\t\t\t\t\tstep: \"0.01\",\n\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\tvalue: e.tipAmount,\n\t\t\t\t\t\tonChange: (e) => a({ tipAmount: e.target.value }),\n\t\t\t\t\t\t\"aria-invalid\": t.includes(\"tipAmount\") || void 0\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}) : null\n\t\t]\n\t})] });\n}\nfunction at({ form: e, issues: t, canReuseShipping: n, updateForm: r, updateAddress: i }) {\n\tlet { t: a } = A(), o = !n || !e.billingSameAsShipping;\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"space-y-4\",\n\t\tchildren: [n ? /* @__PURE__ */ z(\"label\", {\n\t\t\tclassName: \"flex items-center gap-2 text-sm font-medium\",\n\t\t\tchildren: [/* @__PURE__ */ R(\"input\", {\n\t\t\t\ttype: \"checkbox\",\n\t\t\t\tchecked: e.billingSameAsShipping,\n\t\t\t\tonChange: (e) => r({ billingSameAsShipping: e.target.checked })\n\t\t\t}), a(\"storefront.checkout.billingSameAsShipping\")]\n\t\t}) : null, o ? /* @__PURE__ */ R(ot, {\n\t\t\taddress: e.billingAddress,\n\t\t\taddressKey: \"billingAddress\",\n\t\t\tissue: t.includes(\"billingAddress\"),\n\t\t\tupdateAddress: i\n\t\t}) : null]\n\t});\n}\nfunction ot({ address: e, addressKey: t, issue: n, countryUnavailable: r = !1, updateAddress: i }) {\n\tlet { t: a } = A(), o = (e) => i(t, e), s = a(\"storefront.checkout.fieldRequired\");\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: O(\"space-y-4\", (n || r) && \"cedros-shop-public__error\"),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\tlabel: a(\"storefront.checkout.addressLine1\"),\n\t\t\t\trequired: !0,\n\t\t\t\tinvalid: n && !e.line1.trim(),\n\t\t\t\terror: s,\n\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping address-line1\" : \"billing address-line1\",\n\t\t\t\t\tvalue: e.line1,\n\t\t\t\t\tonChange: (e) => o({ line1: e.target.value })\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\tlabel: a(\"storefront.checkout.addressLine2\"),\n\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping address-line2\" : \"billing address-line2\",\n\t\t\t\t\tvalue: e.line2 ?? \"\",\n\t\t\t\t\tonChange: (e) => o({ line2: e.target.value })\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"grid gap-4 sm:grid-cols-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\t\t\tlabel: a(\"storefront.checkout.city\"),\n\t\t\t\t\t\trequired: !0,\n\t\t\t\t\t\tinvalid: n && !e.city.trim(),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping address-level2\" : \"billing address-level2\",\n\t\t\t\t\t\t\tvalue: e.city,\n\t\t\t\t\t\t\tonChange: (e) => o({ city: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\t\t\tlabel: a(\"storefront.checkout.region\"),\n\t\t\t\t\t\tchildren: /* @__PURE__ */ R(st, {\n\t\t\t\t\t\t\tcountry: e.country,\n\t\t\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping address-level1\" : \"billing address-level1\",\n\t\t\t\t\t\t\tvalue: e.state ?? \"\",\n\t\t\t\t\t\t\tonChange: (e) => o({ state: e })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\t\t\tlabel: a(\"storefront.checkout.postalCode\"),\n\t\t\t\t\t\trequired: !0,\n\t\t\t\t\t\tinvalid: n && !e.postalCode.trim(),\n\t\t\t\t\t\terror: s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ R(T, {\n\t\t\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping postal-code\" : \"billing postal-code\",\n\t\t\t\t\t\t\tvalue: e.postalCode,\n\t\t\t\t\t\t\tonChange: (e) => o({ postalCode: e.target.value })\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ R(W, {\n\t\t\t\t\t\tlabel: a(\"storefront.checkout.country\"),\n\t\t\t\t\t\trequired: !0,\n\t\t\t\t\t\tinvalid: n && !e.country.trim() || r,\n\t\t\t\t\t\terror: r ? a(\"storefront.checkout.shippingCountryUnavailable\") : s,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ R(F, {\n\t\t\t\t\t\t\tautoComplete: t === \"shippingAddress\" ? \"shipping country\" : \"billing country\",\n\t\t\t\t\t\t\tvalue: e.country,\n\t\t\t\t\t\t\tinvalid: n && !e.country.trim() || r,\n\t\t\t\t\t\t\tonChange: (e) => o({ country: e })\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction st({ country: e, value: t, autoComplete: n, onChange: r }) {\n\tlet { t: i } = A(), a = tt(e);\n\tif (!a) return /* @__PURE__ */ R(T, {\n\t\tautoComplete: n,\n\t\tvalue: t,\n\t\tonChange: (e) => r(e.target.value)\n\t});\n\tlet o = a.some((e) => e.code === t);\n\treturn /* @__PURE__ */ z(\"span\", {\n\t\tclassName: \"cedros-shop-public__select-field\",\n\t\tchildren: [/* @__PURE__ */ z(\"select\", {\n\t\t\tclassName: \"cedros-shop-public__select-trigger flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2\",\n\t\t\tautoComplete: n,\n\t\t\tvalue: t,\n\t\t\tonChange: (e) => r(e.target.value),\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ R(\"option\", {\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t\tdisabled: !0,\n\t\t\t\t\tchildren: i(\"storefront.checkout.selectRegion\")\n\t\t\t\t}),\n\t\t\t\tt && !o ? /* @__PURE__ */ R(\"option\", {\n\t\t\t\t\tvalue: t,\n\t\t\t\t\tchildren: t\n\t\t\t\t}) : null,\n\t\t\t\ta.map((e) => /* @__PURE__ */ R(\"option\", {\n\t\t\t\t\tvalue: e.code,\n\t\t\t\t\tchildren: e.name\n\t\t\t\t}, e.code))\n\t\t\t]\n\t\t}), /* @__PURE__ */ R(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__select-arrow\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t})]\n\t});\n}\nfunction W({ label: e, required: t, invalid: n, error: r, children: i }) {\n\tlet { t: a } = A(), o = I.useId(), s = !!(n && r), c = n && I.isValidElement(i) ? I.cloneElement(i, {\n\t\t\"aria-invalid\": !0,\n\t\t...s ? { \"aria-describedby\": o } : {}\n\t}) : i;\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tclassName: \"space-y-1\",\n\t\tchildren: [/* @__PURE__ */ z(\"label\", {\n\t\t\tclassName: O(\"block space-y-2 text-sm font-medium\", n && \"cedros-shop-public__error\"),\n\t\t\tchildren: [/* @__PURE__ */ z(\"span\", { children: [e, t ? /* @__PURE__ */ R(\"span\", {\n\t\t\t\tclassName: \"ml-1 text-xs\",\n\t\t\t\tchildren: a(\"storefront.checkout.required\")\n\t\t\t}) : null] }), c]\n\t\t}), s ? /* @__PURE__ */ R(\"p\", {\n\t\t\tid: o,\n\t\t\tclassName: \"cedros-shop-public__error text-xs\",\n\t\t\tchildren: r\n\t\t}) : null]\n\t});\n}\nfunction ct({ label: e, invalid: t, error: n, children: r }) {\n\tlet i = I.useId(), a = I.useId(), o = !!(t && n);\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\trole: \"group\",\n\t\t\"aria-labelledby\": i,\n\t\t\"aria-describedby\": o ? a : void 0,\n\t\t\"data-invalid\": t || void 0,\n\t\tclassName: O(\"space-y-2\", t && \"cedros-shop-public__error\"),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(\"div\", {\n\t\t\t\tid: i,\n\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\tchildren: e\n\t\t\t}),\n\t\t\t/* @__PURE__ */ R(\"div\", {\n\t\t\t\tclassName: \"grid gap-2\",\n\t\t\t\tchildren: r\n\t\t\t}),\n\t\t\to ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\tid: a,\n\t\t\t\tclassName: \"text-xs\",\n\t\t\t\tchildren: n\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction lt({ active: e, onClick: t, children: n }) {\n\treturn /* @__PURE__ */ R(\"button\", {\n\t\ttype: \"button\",\n\t\t\"aria-pressed\": e,\n\t\tonClick: t,\n\t\tclassName: \"flex min-h-0 w-full items-center justify-between gap-3 rounded-lg border p-3 text-left\",\n\t\tchildren: n\n\t});\n}\n//#endregion\n//#region src/storefront/checkoutRuntime.ts\nfunction ut(e, t) {\n\treturn e.kind === \"redirect\" ? t(\"storefront.checkout.opening\") : e.kind === \"payment\" ? e.status === \"completed\" ? t(\"storefront.checkout.paymentCompleted\") : e.status === \"pending\" ? t(\"storefront.checkout.paymentPending\") : t(\"storefront.checkout.paymentUnknown\") : t(\"storefront.checkout.created\");\n}\nfunction dt(e) {\n\treturn {\n\t\tcard: {\n\t\t\tid: \"card\",\n\t\t\tlabel: e(\"storefront.checkout.paymentCard\"),\n\t\t\tdescription: e(\"storefront.checkout.paymentCardDescription\")\n\t\t},\n\t\tcrypto: {\n\t\t\tid: \"crypto\",\n\t\t\tlabel: e(\"storefront.checkout.paymentCrypto\"),\n\t\t\tdescription: e(\"storefront.checkout.paymentCryptoDescription\")\n\t\t},\n\t\tcredits: {\n\t\t\tid: \"credits\",\n\t\t\tlabel: e(\"storefront.checkout.paymentCredits\"),\n\t\t\tdescription: e(\"storefront.checkout.paymentCreditsDescription\")\n\t\t}\n\t};\n}\nfunction ft(e) {\n\treturn e.some((e) => e !== \"shippingMethod\" && e !== \"paymentMethod\");\n}\nasync function pt(e, t, n) {\n\treturn e ? ie(await ht(() => e(t)), t.options.currency) : n;\n}\nasync function mt(e, t) {\n\treturn C(await ht(() => e(t)), t.currency);\n}\nasync function ht(e) {\n\tlet t, n = new Promise((e, n) => {\n\t\tt = setTimeout(() => n(/* @__PURE__ */ Error(\"Checkout read timed out\")), 3e4);\n\t});\n\ttry {\n\t\treturn await Promise.race([Promise.resolve().then(e), n]);\n\t} finally {\n\t\tt !== void 0 && clearTimeout(t);\n\t}\n}\nfunction gt(e, t) {\n\tif (!t) return !1;\n\tif (!e || t.currency !== e.currency || Math.abs(t.total - e.total) > 1e-9) return !0;\n\tlet n = e.x402, r = t.x402;\n\treturn !!n != !!r || !!(n && r && (n.network !== r.network || n.tokenMint !== r.tokenMint || n.amountAtomic !== r.amountAtomic || n.decimals !== r.decimals));\n}\nfunction _t(e) {\n\treturn e.canCheckout ? e.isSubmitting ? e.t(\"storefront.checkout.preparing\") : e.hasInventoryIssues ? e.t(\"storefront.cart.checkoutBlocked\") : e.paymentMethodsLoading ? e.t(\"storefront.checkout.loadingPaymentMethods\") : e.shippingLoading ? e.t(\"storefront.checkout.loadingShipping\") : e.shippingError ? e.shippingError : e.shippingUnavailable ? e.t(\"storefront.checkout.shippingUnavailable\") : e.quoteLoading ? e.t(\"storefront.checkout.updatingTotal\") : e.quoteError ? e.quoteError : vt(e.validationIssues[0], e.t) : e.t(\"storefront.checkout.unavailable\");\n}\nfunction vt(e, t) {\n\tif (e) return t(e === \"paymentMethod\" ? \"storefront.checkout.selectPaymentMethod\" : e === \"shippingMethod\" ? \"storefront.checkout.selectShippingMethod\" : e === \"shippingCountry\" ? \"storefront.checkout.shippingCountryUnavailable\" : \"storefront.checkout.completeRequiredFields\");\n}\nfunction yt() {\n\tlet e = new URLSearchParams(window.location.search);\n\treturn Object.fromEntries(Array.from(e.entries()));\n}\n//#endregion\n//#region src/storefront/checkoutFormSnapshot.ts\nvar bt = \"cedros_shop_checkout_form_v1:\", xt = [\n\t\"email\",\n\t\"name\",\n\t\"phone\",\n\t\"shippingMethodId\",\n\t\"paymentMethodId\",\n\t\"tipAmount\"\n], St = [\n\t\"line1\",\n\t\"line2\",\n\t\"city\",\n\t\"state\",\n\t\"postalCode\",\n\t\"country\"\n];\nfunction Ct(e, t, n, r) {\n\tlet i = q();\n\tif (!i || !e) return;\n\tlet a = {\n\t\temail: n.email,\n\t\tname: n.name,\n\t\tphone: n.phone,\n\t\tshippingAddress: { ...n.shippingAddress },\n\t\tbillingAddress: { ...n.billingAddress },\n\t\tbillingSameAsShipping: n.billingSameAsShipping,\n\t\tshippingMethodId: n.shippingMethodId,\n\t\tpaymentMethodId: n.paymentMethodId,\n\t\ttipAmount: n.tipAmount\n\t};\n\ttry {\n\t\ti.setItem(K(e, t), JSON.stringify({\n\t\t\tversion: 1,\n\t\t\tsnapshot: a,\n\t\t\t...r ? { purchased: k(r) } : {}\n\t\t}));\n\t} catch {\n\t\tJ(\"saved\");\n\t}\n}\nfunction wt(e, t) {\n\tlet n = q();\n\tif (!n || !e) return null;\n\ttry {\n\t\tlet r = `${bt}${e}:`, i = t ? K(e, t) : null;\n\t\tfor (let e of Array.from({ length: n.length }, (e, t) => n.key(t))) e?.startsWith(r) && e !== i && n.removeItem(e);\n\t\tif (!i) return null;\n\t\tlet a = n.getItem(i);\n\t\tif (!a) return null;\n\t\tlet o = Mt(a);\n\t\treturn o || n.removeItem(i), o;\n\t} catch {\n\t\treturn J(\"restored\"), null;\n\t}\n}\nfunction Tt(e, t) {\n\tlet n = q();\n\tif (!n || !e) return null;\n\ttry {\n\t\tlet r = n.getItem(K(e, t));\n\t\treturn !r || !Mt(r) ? null : k(JSON.parse(r).purchased);\n\t} catch {\n\t\treturn J(\"restored\"), null;\n\t}\n}\nfunction Et(e, t) {\n\tlet n = q();\n\tif (!(!n || !e)) try {\n\t\tn.removeItem(K(e, t));\n\t} catch {\n\t\tJ(\"cleared\");\n\t}\n}\nfunction Dt(e, t, n) {\n\tlet r = { ...e };\n\tfor (let e of Object.keys(t)) n.has(e) || (r[e] = t[e]);\n\treturn r;\n}\nvar Ot = \"cedros_shop_checkout_promotion_v1\", kt = /* @__PURE__ */ new Set([\n\t\"storefront\",\n\t\"abandoned_checkout\",\n\t\"manual\",\n\t\"host\"\n]);\nfunction At(e) {\n\tlet t = q();\n\tif (t) try {\n\t\tt.setItem(Ot, JSON.stringify({\n\t\t\tversion: 1,\n\t\t\tcontext: e\n\t\t}));\n\t} catch {\n\t\tJ(\"saved\");\n\t}\n}\nfunction jt() {\n\tlet e = q();\n\tif (e) try {\n\t\tlet t = e.getItem(Ot);\n\t\tif (!t) return;\n\t\tlet n = JSON.parse(t), r = G(n) && n.version === 1 && G(n.context) ? n.context : null;\n\t\tif (!r || r.source !== void 0 && !kt.has(String(r.source)) || ![\n\t\t\t\"recoveryToken\",\n\t\t\t\"recoveryCode\",\n\t\t\t\"landingPath\"\n\t\t].every((e) => r?.[e] === void 0 || typeof r[e] == \"string\") || !r.recoveryToken && !r.recoveryCode) {\n\t\t\te.removeItem(Ot);\n\t\t\treturn;\n\t\t}\n\t\treturn {\n\t\t\tsource: r.source,\n\t\t\trecoveryToken: r.recoveryToken,\n\t\t\trecoveryCode: r.recoveryCode,\n\t\t\tlandingPath: r.landingPath\n\t\t};\n\t} catch {\n\t\tJ(\"restored\");\n\t\treturn;\n\t}\n}\nfunction Mt(e) {\n\tlet t;\n\ttry {\n\t\tt = JSON.parse(e);\n\t} catch {\n\t\treturn null;\n\t}\n\tlet n = G(t) && t.version === 1 && G(t.snapshot) ? t.snapshot : null;\n\tif (!n || !xt.every((e) => typeof n[e] == \"string\") || typeof n.billingSameAsShipping != \"boolean\") return null;\n\tlet r = Nt(n.shippingAddress), i = Nt(n.billingAddress);\n\treturn !r || !i ? null : {\n\t\temail: n.email,\n\t\tname: n.name,\n\t\tphone: n.phone,\n\t\tshippingAddress: r,\n\t\tbillingAddress: i,\n\t\tbillingSameAsShipping: n.billingSameAsShipping,\n\t\tshippingMethodId: n.shippingMethodId,\n\t\tpaymentMethodId: n.paymentMethodId,\n\t\ttipAmount: n.tipAmount\n\t};\n}\nfunction Nt(e) {\n\treturn !G(e) || !St.every((t) => e[t] === void 0 || typeof e[t] == \"string\") ? null : {\n\t\tline1: String(e.line1 ?? \"\"),\n\t\tline2: String(e.line2 ?? \"\"),\n\t\tcity: String(e.city ?? \"\"),\n\t\tstate: String(e.state ?? \"\"),\n\t\tpostalCode: String(e.postalCode ?? \"\"),\n\t\tcountry: String(e.country ?? \"\")\n\t};\n}\nfunction G(e) {\n\treturn !!e && typeof e == \"object\" && !Array.isArray(e);\n}\nfunction K(e, t) {\n\treturn `${bt}${e}:${t}`;\n}\nfunction q() {\n\ttry {\n\t\treturn typeof window > \"u\" ? null : window.sessionStorage;\n\t} catch {\n\t\treturn J(\"accessed\"), null;\n\t}\n}\nfunction J(e) {\n\tconsole.warn(`[cedros] Checkout details could not be ${e} for this tab`);\n}\n//#endregion\n//#region src/storefront/useCheckoutTemplateController.ts\nvar Pt = /* @__PURE__ */ new Set([\n\t\"returnArtifact\",\n\t\"session_id\",\n\t\"checkout_session_id\",\n\t\"orderId\",\n\t\"order_id\",\n\t\"demoOrderId\",\n\t\"status\",\n\t\"checkout\",\n\t\"canceled\",\n\t\"cancelled\",\n\t\"cancel\",\n\t\"error\",\n\t\"error_message\",\n\t\"message\"\n]), Ft = 500, It = 3e4;\nfunction Lt(e, t, n) {\n\tlet [r, i] = I.useState(() => Ne(e)), a = I.useRef(r);\n\ta.current = r;\n\tlet o = I.useRef(/* @__PURE__ */ new Set()), s = I.useCallback((e) => i((t) => ({\n\t\t...t,\n\t\t...e\n\t})), []), c = I.useCallback((e) => {\n\t\tfor (let t of Object.keys(e)) o.current.add(t);\n\t\ts(e);\n\t}, [s]), l = I.useCallback((e, t) => {\n\t\to.current.add(e), i((n) => {\n\t\t\tlet r = n[e], i = t.country !== void 0 && t.country !== r.country, a = e === \"shippingAddress\" && (i || t.postalCode !== void 0 && t.postalCode !== r.postalCode), o = {\n\t\t\t\t...r,\n\t\t\t\t...t,\n\t\t\t\t...i && t.state === void 0 ? { state: \"\" } : {}\n\t\t\t};\n\t\t\treturn {\n\t\t\t\t...n,\n\t\t\t\t[e]: o,\n\t\t\t\tshippingMethodId: a ? \"\" : n.shippingMethodId\n\t\t\t};\n\t\t});\n\t}, []), u = I.useRef(null), d = I.useRef(t);\n\treturn d.current = t, I.useEffect(() => {\n\t\tt.length && !t.some((e) => e.id === r.paymentMethodId) && (u.current = t[0].id, s({ paymentMethodId: t[0].id }));\n\t}, [\n\t\tr.paymentMethodId,\n\t\tt,\n\t\ts\n\t]), I.useEffect(() => {\n\t\tif (!e.customer?.isSignedIn || !e.adapter.getSavedCheckoutData) return;\n\t\tlet t = !1, n = a.current;\n\t\treturn e.adapter.getSavedCheckoutData().then((e) => {\n\t\t\tif (t || e === null) return;\n\t\t\tlet r = P(e);\n\t\t\ti((e) => {\n\t\t\t\tlet t = Pe(e, r, n), i = r.preferredPaymentMethodId?.trim(), a = e.paymentMethodId !== \"\" && e.paymentMethodId === u.current, s = d.current.length === 0 || d.current.some((e) => e.id === i);\n\t\t\t\treturn i && a && !o.current.has(\"paymentMethodId\") && s ? {\n\t\t\t\t\t...t,\n\t\t\t\t\tpaymentMethodId: i\n\t\t\t\t} : t;\n\t\t\t});\n\t\t}).catch(() => {\n\t\t\tt || console.warn(\"[cedros] Saved checkout defaults failed to load\");\n\t\t}), () => {\n\t\t\tt = !0;\n\t\t};\n\t}, [\n\t\te.adapter,\n\t\te.customer?.id,\n\t\te.customer?.isSignedIn\n\t]), {\n\t\tform: r,\n\t\tupdateForm: c,\n\t\tupdateAddress: l,\n\t\tsetFormFields: s,\n\t\trestoreSettled: Rt(n, o, I.useCallback((e) => {\n\t\t\tu.current = null, i(e);\n\t\t}, []))\n\t};\n}\nfunction Rt(e, t, n) {\n\tlet [r, i] = I.useState(!e.scope);\n\treturn I.useEffect(() => {\n\t\tif (!e.scope) {\n\t\t\ti(!0);\n\t\t\treturn;\n\t\t}\n\t\tlet r = !1;\n\t\treturn u(e.store, e.scope).then((i) => {\n\t\t\tif (r) return;\n\t\t\tlet a = wt(e.scope, i?.attemptId);\n\t\t\ta && n((e) => Dt(e, a, t.current));\n\t\t}).catch(() => {}).finally(() => {\n\t\t\tr || i(!0);\n\t\t}), () => {\n\t\t\tr = !0;\n\t\t};\n\t}, [\n\t\te.scope,\n\t\te.store,\n\t\tt,\n\t\tn\n\t]), r;\n}\nasync function Y(e, t, n) {\n\tlet r = await i(e, t, n);\n\treturn Et(t, n), r;\n}\nfunction zt(e, t, n, r, i, a) {\n\tlet [o, s] = I.useState([]), [c, l] = I.useState(!1), [u, d] = I.useState(null), [f, p] = I.useState(!1), [m, h] = I.useReducer((e) => e + 1, 0);\n\tI.useEffect(() => {\n\t\to.length && !o.some((e) => e.id === n.shippingMethodId) && a({ shippingMethodId: o[0].id });\n\t}, [\n\t\tn.shippingMethodId,\n\t\to,\n\t\ta\n\t]);\n\tlet g = e.adapter.getShippingMethods, _ = I.useMemo(() => JSON.stringify({\n\t\tcurrency: i,\n\t\tshippingAddress: n.shippingAddress\n\t}), [i, n.shippingAddress]), v = I.useRef(n.shippingAddress);\n\treturn v.current = n.shippingAddress, I.useEffect(() => {\n\t\tlet e = v.current;\n\t\tif (p(!1), !r.shippingAddress || !g || !ze(e)) {\n\t\t\ts([]), d(null), l(!1);\n\t\t\treturn;\n\t\t}\n\t\tlet n = !1;\n\t\tl(!0), d(null);\n\t\tlet a = window.setTimeout(() => Promise.resolve().then(() => mt(g, {\n\t\t\tcurrency: i,\n\t\t\tcustomer: { shippingAddress: e }\n\t\t})).then((e) => {\n\t\t\tn || (s(e), p(!0));\n\t\t}).catch((e) => {\n\t\t\tn || (Z(\"shipping rates\", e), d(t(\"storefront.checkout.shippingError\")));\n\t\t}).finally(() => {\n\t\t\tn || l(!1);\n\t\t}), Ft);\n\t\treturn () => {\n\t\t\tn = !0, window.clearTimeout(a);\n\t\t};\n\t}, [\n\t\ti,\n\t\tg,\n\t\t_,\n\t\tr.shippingAddress,\n\t\tt,\n\t\tm\n\t]), {\n\t\tmethods: o,\n\t\tsetMethods: s,\n\t\tloading: c,\n\t\terror: u,\n\t\tloaded: f,\n\t\trefetch: h\n\t};\n}\nfunction Bt(e, t, n, r, i) {\n\tlet [a, o] = I.useState(null), [s, c] = I.useState(!1), [l, u] = I.useState(null), [d, f] = I.useReducer((e) => e + 1, 0), p = I.useMemo(() => JSON.stringify(n), [n]), m = I.useRef(n);\n\tm.current = n;\n\tlet h = e.adapter.createCheckoutQuote;\n\treturn I.useEffect(() => {\n\t\tif (!r || !h) {\n\t\t\to(null), u(null), c(!1);\n\t\t\treturn;\n\t\t}\n\t\tlet e = !1;\n\t\tc(!0), u(null);\n\t\tlet n = window.setTimeout(() => Promise.resolve().then(() => pt(h, m.current, null)).then((t) => {\n\t\t\te || (o(t), t?.shippingMethods?.length && i(t.shippingMethods));\n\t\t}).catch((n) => {\n\t\t\te || (Z(\"quote\", n), o(null), u(t(\"storefront.checkout.quoteError\")));\n\t\t}).finally(() => {\n\t\t\te || c(!1);\n\t\t}), Ft);\n\t\treturn () => {\n\t\t\te = !0, window.clearTimeout(n);\n\t\t};\n\t}, [\n\t\th,\n\t\tr,\n\t\tp,\n\t\ti,\n\t\tt,\n\t\td\n\t]), {\n\t\tquote: a,\n\t\tsetQuote: o,\n\t\tloading: s,\n\t\terror: l,\n\t\trefetch: f\n\t};\n}\nfunction Vt() {\n\tlet [e, t] = I.useState(null), [n, r] = I.useState(null), [i, a] = I.useState(null), [o, s] = I.useState(!1), [c, l] = I.useState(!1), [u, d] = I.useState(!1), [f, p] = I.useState(!1), [m, h] = I.useState(!1), [g, _] = I.useState(!1), [v, ee] = I.useReducer((e) => e + 1, 0);\n\treturn {\n\t\tmessage: e,\n\t\tsetMessage: t,\n\t\terror: n,\n\t\tsetError: r,\n\t\tconfirmation: i,\n\t\tsetConfirmation: a,\n\t\tisSubmitting: o,\n\t\tsetIsSubmitting: s,\n\t\tisPaymentPending: c,\n\t\tsetIsPaymentPending: l,\n\t\thasAttempted: u,\n\t\tsetHasAttempted: d,\n\t\tattemptConflict: f,\n\t\tsetAttemptConflict: p,\n\t\tcanResume: m,\n\t\tsetCanResume: h,\n\t\treturnCancelled: g,\n\t\tsetReturnCancelled: _,\n\t\tinvalidFocusRequest: v,\n\t\trequestInvalidFocus: ee\n\t};\n}\nvar X = class extends Error {};\nasync function Ht(e, t) {\n\tif (e.kind === \"idle\") return;\n\tif (e.kind === \"cancel\") {\n\t\tif ((await u(t.attemptStore, t.attemptScope))?.attemptId !== e.checkoutAttemptId) throw new X(\"Checkout return does not match the active attempt\");\n\t\tif (!t.isCurrent()) return;\n\t\ttn(), t.status.setReturnCancelled(!0), t.status.setError(null), t.status.setMessage(t.t(\"storefront.checkout.cancelled\"));\n\t\treturn;\n\t}\n\tlet n = e.kind === \"success\" ? Tt(t.attemptScope, e.checkoutAttemptId) : null;\n\tif (await Y(t.attemptStore, t.attemptScope, e.checkoutAttemptId) !== \"cleared\") throw new X(\"Checkout return does not match the active attempt\");\n\te.kind === \"success\" && n && t.cart.clear(n), t.isCurrent() && (tn(), e.kind === \"success\" ? (t.status.setConfirmation({ orderId: e.orderId }), t.status.setMessage(null), t.status.setError(null)) : (t.status.setMessage(null), t.status.setError(e.message || t.t(\"storefront.checkout.returnError\"))));\n}\nfunction Ut(e) {\n\tlet t = I.useRef(null), n = I.useRef(null), [r, i] = I.useState(() => !!e.config.adapter.resolveCheckoutReturn && Q()), [a, o] = I.useState(!0), [c, l] = I.useReducer((e) => e + 1, 0), d = I.useRef(e);\n\treturn d.current = e, I.useEffect(() => {\n\t\tlet r = e.config.adapter.resolveCheckoutReturn;\n\t\tif (!r || typeof window > \"u\") return;\n\t\tlet a = $t(yt()), c = en(a);\n\t\tif (!c || t.current === c || n.current === c) return;\n\t\tlet l = !1;\n\t\tn.current = c, i(!0), o(!0), e.status.setMessage(null), e.status.setError(null);\n\t\tlet f = u(e.attemptStore, e.attemptScope).then((t) => {\n\t\t\tif (l || !e.isCurrent()) return { kind: \"idle\" };\n\t\t\tif (!t) throw new X(\"No active checkout attempt is available for return verification\");\n\t\t\treturn r({\n\t\t\t\tquery: a,\n\t\t\t\texpectedAttemptId: t.attemptId\n\t\t\t});\n\t\t}), p, m = new Promise((e, t) => {\n\t\t\tp = setTimeout(() => t(/* @__PURE__ */ Error(\"Checkout return verification timed out\")), It);\n\t\t});\n\t\treturn Promise.race([f, m]).then(async (e) => {\n\t\t\tif (!l) {\n\t\t\t\tif (n.current === c && (n.current = null), e.kind === \"idle\") throw Error(\"Checkout return remains unverified\");\n\t\t\t\tawait Ht(e, d.current), l || (t.current = c);\n\t\t\t}\n\t\t}).catch((e) => {\n\t\t\tif (l) return;\n\t\t\tn.current === c && (n.current = null);\n\t\t\tlet t = e instanceof X, r = t || e instanceof s;\n\t\t\tr && o(!1), d.current.status.setMessage(null), d.current.status.setError(d.current.t(t ? \"storefront.checkout.returnUnverified\" : r ? \"storefront.checkout.returnUnconfirmed\" : \"storefront.checkout.returnError\"));\n\t\t}).finally(() => {\n\t\t\tclearTimeout(p), l || i(!1);\n\t\t}), () => {\n\t\t\tl = !0, clearTimeout(p), n.current === c && (n.current = null);\n\t\t};\n\t}, [\n\t\te.attemptScope,\n\t\te.attemptStore,\n\t\te.config.adapter,\n\t\te.t,\n\t\tc\n\t]), {\n\t\tactive: Q(),\n\t\tisVerifying: r,\n\t\tretry: e.config.adapter.resolveCheckoutReturn && a ? l : void 0\n\t};\n}\nasync function Wt(t, n = !0, r = !1) {\n\tif (!t.isCurrent()) return \"failed\";\n\tlet i, s, u = async () => {\n\t\tif (s) try {\n\t\t\tawait Y(t.attemptStore, t.attemptScope, s);\n\t\t} catch (e) {\n\t\t\tZ(\"unsubmitted attempt cleanup\", e);\n\t\t}\n\t};\n\ttry {\n\t\tlet { binding: n, created: a } = await c(t.attemptStore, t.attemptScope, l(t.quotePayload));\n\t\tif (a && (s = n.attemptId), !t.isCurrent()) return await u(), \"failed\";\n\t\ti = n.attemptId, Ct(t.attemptScope, n.attemptId, t.form, {\n\t\t\titems: t.cart.items,\n\t\t\tpromoCodes: t.cart.promoCodes\n\t\t});\n\t\tlet o = Yt(t.quotePayload, n.attemptId), d = await pt(t.config.adapter.createCheckoutQuote, o, t.quote);\n\t\tif (!t.isCurrent()) return await u(), \"failed\";\n\t\tif (d && t.setQuote(d), !r && d && gt(t.quote, d)) return await u(), t.status.setError(t.i18n.t(\"storefront.checkout.totalChanged\", { total: t.i18n.formatMoney(d.total, d.currency) })), \"failed\";\n\t\tlet f = Re({\n\t\t\tcartItems: t.cart.items,\n\t\t\tconfig: t.config,\n\t\t\tform: t.form,\n\t\t\tshowPromoCode: t.showPromoCode,\n\t\t\tpromoCodes: t.cart.promoCodes,\n\t\t\trequirements: t.requirements,\n\t\t\tquote: d ?? t.quote,\n\t\t\tpromotionContext: t.recovery,\n\t\t\tmarket: t.market\n\t\t});\n\t\tf.options.attemptId = n.attemptId, s = void 0;\n\t\tlet p = await t.config.adapter.createCheckoutSession(f), m = p.kind === \"payment\" && p.status === \"completed\";\n\t\tif (!m && !t.isCurrent()) return \"failed\";\n\t\tif (p.kind === \"payment\" && (p.status === \"pending\" || p.status === \"unknown\")) return t.status.setIsPaymentPending(!0), t.status.setMessage(t.i18n.t(p.status === \"pending\" ? \"storefront.checkout.paymentPending\" : Zt(p.code))), \"pending\";\n\t\tif (p.kind === \"embedded\" || p.kind === \"custom\") throw Error(\"Checkout session requires a host renderer\");\n\t\tlet h = !1;\n\t\tif (p.kind === \"payment\") try {\n\t\t\th = await Y(t.attemptStore, t.attemptScope, n.attemptId) === \"cleared\";\n\t\t} catch (e) {\n\t\t\tZ(\"paid attempt cleanup\", e);\n\t\t}\n\t\tif (m && h && t.cart.clear({\n\t\t\titems: t.cart.items,\n\t\t\tpromoCodes: t.cart.promoCodes\n\t\t}), !t.isCurrent()) return \"failed\";\n\t\tif (m) return t.status.setIsPaymentPending(!1), t.status.setConfirmation({}), t.status.setMessage(null), t.status.setError(null), \"resolved\";\n\t\tif (p.kind === \"redirect\") {\n\t\t\tlet n = e(p.url, \"checkout session\");\n\t\t\tif (n === \"blocked\" || n === \"failed\") return t.status.setError(t.i18n.t(\"storefront.checkout.error\")), r ? (t.status.setIsPaymentPending(!0), t.status.setMessage(t.i18n.t(\"storefront.checkout.paymentUnknown\")), \"pending\") : \"failed\";\n\t\t}\n\t\treturn t.status.setMessage(ut(p, t.i18n.t)), t.status.setIsPaymentPending(!1), \"resolved\";\n\t} catch (e) {\n\t\tif (await u(), !t.isCurrent()) return \"failed\";\n\t\tlet s = a(e);\n\t\tif ((o(e) || s === \"wallet_rejected\" || s === \"insufficient_funds\" || s === \"transaction_failed\") && i) try {\n\t\t\tawait Y(t.attemptStore, t.attemptScope, i);\n\t\t} catch (e) {\n\t\t\tZ(\"attempt cleanup\", e);\n\t\t}\n\t\tif (s === \"quote_expired\" && i) {\n\t\t\tif (r) return t.status.setIsPaymentPending(!0), t.status.setMessage(t.i18n.t(\"storefront.checkout.paymentUnknown\")), t.status.setError(null), \"pending\";\n\t\t\ttry {\n\t\t\t\tawait Y(t.attemptStore, t.attemptScope, i);\n\t\t\t} catch (e) {\n\t\t\t\tZ(\"expired attempt cleanup\", e);\n\t\t\t}\n\t\t\treturn n ? (t.status.setMessage(t.i18n.t(\"storefront.checkout.refreshingQuote\")), Wt(t, !1, r)) : (t.status.setIsPaymentPending(!1), t.status.setError(t.i18n.t(\"storefront.checkout.quoteExpired\")), \"failed\");\n\t\t}\n\t\tlet c = o(e) || s === \"wallet_rejected\" || s === \"insufficient_funds\" || s === \"transaction_failed\";\n\t\treturn c && t.status.setIsPaymentPending(!1), Z(\"session\", e), t.status.setError(t.i18n.t(Xt(s))), r && !c && t.status.setMessage(t.i18n.t(s === \"provider_outage\" ? \"storefront.checkout.providerOutagePending\" : \"storefront.checkout.paymentUnknown\")), r && !c ? \"pending\" : \"failed\";\n\t}\n}\nfunction Gt(e) {\n\tlet t = I.useRef(!1), n = I.useRef(null), [r, i] = I.useState(!1);\n\treturn {\n\t\tstartCheckout: I.useCallback(async () => {\n\t\t\tif (t.current) return;\n\t\t\tlet r = e.blockedReason;\n\t\t\tif (r || e.status.isSubmitting || e.status.isPaymentPending) {\n\t\t\t\te.status.setHasAttempted(!0), r && e.status.setError(r);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (e.validationIssues.length) {\n\t\t\t\te.status.setHasAttempted(!0), e.status.requestInvalidFocus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tt.current = !0, e.status.setHasAttempted(!0), e.status.setIsSubmitting(!0), e.status.setError(null), e.status.setMessage(null), e.status.setCanResume(!1), e.status.setReturnCancelled(!1), e.emit(\"cedros-shop:checkout-started\", {\n\t\t\t\tcart_item_count_bucket: S(e.cart.count),\n\t\t\t\tcheckout_mode: e.config.checkout.mode,\n\t\t\t\tsurface: \"checkout\"\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tlet t = await Wt(e);\n\t\t\t\tn.current = t === \"pending\" ? e : null, i(t === \"pending\");\n\t\t\t} finally {\n\t\t\t\tt.current = !1, e.status.setIsSubmitting(!1);\n\t\t\t}\n\t\t}, [e]),\n\t\tcheckPaymentStatus: I.useCallback(async () => {\n\t\t\tlet e = n.current;\n\t\t\tif (!(!e || t.current)) {\n\t\t\t\tt.current = !0, e.status.setIsSubmitting(!0), e.status.setError(null), e.status.setMessage(e.i18n.t(\"storefront.checkout.checkingPaymentStatus\"));\n\t\t\t\ttry {\n\t\t\t\t\tawait Wt(e, !0, !0) !== \"pending\" && (n.current = null, i(!1));\n\t\t\t\t} finally {\n\t\t\t\t\tt.current = !1, e.status.setIsSubmitting(!1);\n\t\t\t\t}\n\t\t\t}\n\t\t}, []),\n\t\tcanCheckPaymentStatus: r\n\t};\n}\nfunction Kt(e, t) {\n\tlet n = I.useMemo(rn, []), r = I.useRef(!1), i = e.isHydrated !== !1;\n\treturn I.useEffect(() => {\n\t\tif (!t || !i || !n?.recoveryCode || r.current) return;\n\t\tr.current = !0;\n\t\tlet a = fe(n.recoveryCode);\n\t\ta && !e.promoCodes.includes(a) && e.setPromoCode(a);\n\t}, [\n\t\te,\n\t\tt,\n\t\ti,\n\t\tn?.recoveryCode\n\t]), n;\n}\nfunction qt() {\n\tlet { config: e } = ue(), t = A(), i = le(), a = de(), o = ne(), { settings: s, isLoading: c, isFetching: l, error: u, refetch: f } = re(), p = ae(), { config: m, isLoading: h, error: g, refetch: _ } = me(), v = I.useMemo(() => Le(e, m, dt(t.t)), [\n\t\te,\n\t\tt.t,\n\t\tm\n\t]), y = e.checkout.attemptStore ?? pe(), b = e.adapter.checkoutProviderScope ? d({\n\t\tproviderScope: e.adapter.checkoutProviderScope,\n\t\tconfiguredScope: e.dataScope === void 0 ? e.checkout.attemptScope : ce(e.checkout.attemptScope ?? \"\", e.dataScope),\n\t\tcartStorageKey: e.cart?.storageKey,\n\t\tcustomerId: e.customer?.id\n\t}) : \"\", x = Lt(e, v, I.useMemo(() => ({\n\t\tscope: b,\n\t\tstore: y\n\t}), [b, y])), S = I.useMemo(() => Oe(i.items, {\n\t\trequireEmail: !!e.checkout.requireEmail,\n\t\tdefaultMode: e.checkout.mode,\n\t\tallowShipping: p.shipping && e.checkout.allowShipping !== !1,\n\t\tsupportsBillingAddress: e.adapter.checkoutInputSupport?.billingAddress\n\t}), [\n\t\ti.items,\n\t\te.adapter.checkoutInputSupport?.billingAddress,\n\t\te.checkout.allowShipping,\n\t\te.checkout.mode,\n\t\te.checkout.requireEmail,\n\t\tp.shipping\n\t]), C = I.useMemo(() => n(s.markets, r({\n\t\t...e.market,\n\t\tcountry: x.form.shippingAddress.country || e.market?.country\n\t}, t.locale, Qt())), [\n\t\te.market,\n\t\tx.form.shippingAddress.country,\n\t\tt.locale,\n\t\ts.markets\n\t]), w = i.items[0]?.currency ?? Ve(e, C), T = zt(e, t.t, x.form, S, w, x.setFormFields), ie = !!(S.shippingAddress && e.adapter.requiresShippingOption) && !T.methods.some((e) => e.id === x.form.shippingMethodId), oe = ie && !T.methods.length && ze(x.form.shippingAddress) && (!e.adapter.getShippingMethods || T.loaded && !T.loading && !T.error), se = I.useMemo(() => Ie(i.items), [i.items]), E = Fe({\n\t\tform: x.form,\n\t\trequirements: S,\n\t\tpaymentOptions: v,\n\t\tshippingMethods: T.methods,\n\t\tshippingMethodRequired: S.shippingAddress && T.methods.length > 0,\n\t\tallowTipping: !!e.checkout.allowTipping,\n\t\tallowedShippingCountries: se\n\t}), D = !!(p.coupons && e.checkout.allowPromoCodes), O = Kt(i, D), k = e.checkout.mode !== \"none\" && i.items.length > 0, fe = I.useMemo(() => Re({\n\t\tcartItems: i.items,\n\t\tconfig: e,\n\t\tform: x.form,\n\t\tshowPromoCode: D,\n\t\tpromoCodes: i.promoCodes,\n\t\trequirements: S,\n\t\tpromotionContext: O,\n\t\tmarket: C\n\t}), [\n\t\ti.items,\n\t\ti.promoCodes,\n\t\te,\n\t\tx.form,\n\t\tC,\n\t\tO,\n\t\tS,\n\t\tD\n\t]), j = !h && v.some((e) => e.id === x.form.paymentMethodId), M = !!(e.adapter.createCheckoutQuote && k && j && !ie && !ft(E)), N = Bt(e, t.t, fe, M, T.setMethods), P = Vt(), he = p.inventory && s.inventory.preCheckoutVerification, F = te({\n\t\titems: i.items,\n\t\trefreshInterval: 3e4,\n\t\tskip: i.items.length === 0 || !he\n\t}), L = u != null || g != null, R = !c && !L && !s.checkout.guestCheckout && !e.customer?.isSignedIn, z = I.useCallback(async () => {\n\t\tawait Promise.all([f(), _()]);\n\t}, [f, _]), ge = F.error ? t.t(\"storefront.cart.inventoryError\") : F.isLoading ? t.t(\"storefront.cart.inventoryLoading\") : void 0, _e = Q() ? t.t(\"storefront.checkout.returnError\") : L ? t.t(\"storefront.checkout.loadUnavailable\") : c || l ? t.t(\"common.loading\") : R ? t.t(\"storefront.checkout.signInDescription\") : ge ?? _t({\n\t\tcanCheckout: k,\n\t\thasInventoryIssues: F.hasIssues,\n\t\tpaymentMethodsLoading: h,\n\t\tshippingLoading: T.loading,\n\t\tshippingError: T.error,\n\t\tshippingUnavailable: oe,\n\t\tquoteLoading: M && !N.error && (N.loading || !N.quote),\n\t\tquoteError: N.error,\n\t\tvalidationIssues: v.length ? [] : [\"paymentMethod\"],\n\t\tisSubmitting: P.isSubmitting,\n\t\tt: t.t\n\t}), ve = vt(E[0], t.t), ye = !s.enabled && !P.canResume ? t.t(\"storefront.shop.unavailableTitle\") : void 0, B = P.attemptConflict ? t.t(\"storefront.checkout.attemptConflict\") : P.isPaymentPending ? t.t(\"storefront.checkout.paymentPending\") : ye ?? _e, V = B ?? ve, be = Ut(I.useMemo(() => ({\n\t\tconfig: e,\n\t\tt: t.t,\n\t\tcart: i,\n\t\tstatus: P,\n\t\tattemptScope: b,\n\t\tattemptStore: y,\n\t\tisCurrent: a\n\t}), [\n\t\tb,\n\t\ty,\n\t\ti,\n\t\te,\n\t\tt.t,\n\t\ta,\n\t\tP\n\t])), { startCheckout: xe, checkPaymentStatus: Se, canCheckPaymentStatus: Ce } = Gt({\n\t\tconfig: e,\n\t\ti18n: t,\n\t\tcart: i,\n\t\tform: x.form,\n\t\trequirements: S,\n\t\tmarket: C,\n\t\tshowPromoCode: D,\n\t\trecovery: O,\n\t\tquote: N.quote,\n\t\tquotePayload: fe,\n\t\tblockedReason: B,\n\t\tvalidationIssues: E,\n\t\tattemptScope: b,\n\t\tattemptStore: y,\n\t\tstatus: P,\n\t\tsetQuote: N.setQuote,\n\t\temit: o,\n\t\tisCurrent: a\n\t});\n\tJt({\n\t\tattemptScope: b,\n\t\tattemptStore: y,\n\t\tcanCheckout: k && !Q(),\n\t\tready: x.restoreSettled && !_e && !ve,\n\t\tpayload: fe,\n\t\tconflictMessage: t.t(\"storefront.checkout.attemptConflict\"),\n\t\tresumeMessage: t.t(\"storefront.checkout.resumeAttempt\"),\n\t\tstatus: P\n\t});\n\tlet we = T.methods.find((e) => e.id === x.form.shippingMethodId);\n\treturn {\n\t\tconfigurationError: L,\n\t\tretryConfiguration: z,\n\t\treturnVerification: be,\n\t\tconfig: e,\n\t\ti18n: t,\n\t\tcart: i,\n\t\tformState: x,\n\t\trequirements: S,\n\t\tpaymentOptions: v,\n\t\tpaymentLoading: h,\n\t\tshipping: T,\n\t\tshippingUnavailable: oe,\n\t\tquoteState: N,\n\t\tstatus: P,\n\t\tfeatures: p,\n\t\tshowPromoCode: D,\n\t\tvalidationIssues: E,\n\t\tdisabledReason: V,\n\t\tcheckoutBlockedReason: B,\n\t\tstartCheckout: xe,\n\t\tcheckPaymentStatus: Se,\n\t\tcanCheckPaymentStatus: Ce,\n\t\tdisplayQuote: N.quote ?? Be(i.subtotal, w, we, x.form.tipAmount),\n\t\tinventory: F,\n\t\tremoveUnavailable: I.useCallback(() => ee(i.items, F.getItemInventory, {\n\t\t\tremove: (e) => i.removeItem(e.productId, e.variantId),\n\t\t\tsetQty: (e, t) => i.setQty(e.productId, e.variantId, t)\n\t\t}), [i, F]),\n\t\trequireSignIn: R,\n\t\tstorefrontEnabled: s.enabled\n\t};\n}\nfunction Jt(e) {\n\tlet t = I.useRef(null), n = I.useRef(e);\n\tn.current = e;\n\tlet r = I.useMemo(() => l(e.payload), [e.payload]), [i, a] = I.useReducer((e) => e + 1, 0);\n\tI.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet e = (e) => {\n\t\t\te.persisted && (t.current = null, a());\n\t\t};\n\t\treturn window.addEventListener(\"pageshow\", e), () => window.removeEventListener(\"pageshow\", e);\n\t}, []), I.useEffect(() => {\n\t\tlet i = `${e.attemptScope}:${r}`;\n\t\tif (t.current === i || !e.canCheckout || !e.ready || !e.attemptScope || e.status.isSubmitting || e.status.isPaymentPending) return;\n\t\tlet a = !1;\n\t\treturn u(e.attemptStore, e.attemptScope).then((e) => {\n\t\t\tif (a) return;\n\t\t\tt.current = i;\n\t\t\tlet o = n.current;\n\t\t\tif (!e) {\n\t\t\t\t(o.status.attemptConflict || o.status.canResume) && (o.status.setAttemptConflict(!1), o.status.setCanResume(!1), o.status.setMessage(null));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet s = e.materialFingerprint === r;\n\t\t\to.status.setAttemptConflict(!s), o.status.setCanResume(s), !(s && o.status.returnCancelled) && (o.status.setMessage(s ? o.resumeMessage : o.conflictMessage), o.status.setError(null));\n\t\t}).catch(() => {}), () => {\n\t\t\ta = !0;\n\t\t};\n\t}, [\n\t\te.attemptScope,\n\t\te.attemptStore,\n\t\te.canCheckout,\n\t\te.ready,\n\t\te.status.isSubmitting,\n\t\te.status.isPaymentPending,\n\t\tr,\n\t\ti\n\t]);\n}\nfunction Z(e, t) {\n\tconsole.warn(`[cedros] Checkout ${e} failed`);\n}\nfunction Yt(e, t) {\n\treturn {\n\t\t...e,\n\t\toptions: {\n\t\t\t...e.options,\n\t\t\tattemptId: t\n\t\t}\n\t};\n}\nfunction Xt(e) {\n\treturn e === \"wallet_rejected\" ? \"storefront.checkout.walletRejected\" : e === \"insufficient_funds\" ? \"storefront.checkout.insufficientFunds\" : e === \"quote_expired\" ? \"storefront.checkout.quoteExpired\" : e === \"provider_outage\" ? \"storefront.checkout.providerOutage\" : e === \"transaction_failed\" ? \"storefront.checkout.transactionFailed\" : \"storefront.checkout.error\";\n}\nfunction Zt(e) {\n\treturn e && /provider|rpc|transport|outage/i.test(e) ? \"storefront.checkout.providerOutagePending\" : \"storefront.checkout.paymentUnknown\";\n}\nfunction Qt() {\n\treturn typeof window > \"u\" ? {} : {\n\t\thost: window.location.host,\n\t\tpath: window.location.pathname\n\t};\n}\nfunction $t(e) {\n\treturn Object.fromEntries(Object.entries(e).filter(([e]) => Pt.has(e)));\n}\nfunction en(e) {\n\tlet t = Object.entries(e).sort(([e], [t]) => e.localeCompare(t));\n\treturn t.length ? JSON.stringify(t) : null;\n}\nfunction Q() {\n\treturn typeof window < \"u\" && en($t(yt())) !== null;\n}\nfunction tn() {\n\tif (typeof window > \"u\") return;\n\tlet e = new URL(window.location.href);\n\tfor (let t of Pt) e.searchParams.delete(t);\n\tlet t = e.searchParams.toString();\n\twindow.history.replaceState(window.history.state, \"\", `${e.pathname}${t ? `?${t}` : \"\"}${e.hash}`);\n}\nfunction nn(e, t) {\n\tfor (let n of t) {\n\t\tlet t = e.get(n)?.trim();\n\t\tif (t) return t;\n\t}\n}\nfunction rn() {\n\tif (typeof window > \"u\") return;\n\tlet e = new URLSearchParams(window.location.search), t = nn(e, [\n\t\t\"checkout_recovery_token\",\n\t\t\"abandoned_checkout_token\",\n\t\t\"recovery_token\",\n\t\t\"recoveryToken\"\n\t]), n = nn(e, [\n\t\t\"recovery_discount\",\n\t\t\"discount_code\",\n\t\t\"discount\",\n\t\t\"promoCode\",\n\t\t\"promo\",\n\t\t\"code\"\n\t]);\n\tif (!t && !n) return Q() ? jt() : void 0;\n\tlet r = {\n\t\tsource: t ? \"abandoned_checkout\" : \"storefront\",\n\t\trecoveryToken: t,\n\t\trecoveryCode: n,\n\t\tlandingPath: window.location.pathname\n\t};\n\treturn At(r), r;\n}\n//#endregion\n//#region src/storefront/CheckoutTemplate.tsx\nfunction an({ className: e }) {\n\tlet { dataCacheKey: t } = ue();\n\treturn /* @__PURE__ */ R(on, { className: e }, t);\n}\nfunction on({ className: e }) {\n\tlet t = qt();\n\tif (t.status.confirmation) return /* @__PURE__ */ R(fn, {\n\t\tclassName: e,\n\t\tcontroller: t\n\t});\n\tif (t.returnVerification.active) return /* @__PURE__ */ R(sn, {\n\t\tclassName: e,\n\t\tcontroller: t\n\t});\n\tlet n = t.status;\n\treturn !t.storefrontEnabled && !n.isPaymentPending && !n.canResume && !n.attemptConflict ? /* @__PURE__ */ R(\"div\", {\n\t\tdir: t.i18n.direction,\n\t\tclassName: O(\"cedros-shop-public cedros-shop-public--checkout min-h-screen\", e),\n\t\tchildren: /* @__PURE__ */ R(se, {})\n\t}) : t.cart.isHydrated === !1 ? /* @__PURE__ */ R(cn, {\n\t\tclassName: e,\n\t\tcontroller: t\n\t}) : t.cart.items.length === 0 ? /* @__PURE__ */ R(pn, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tkind: \"empty\"\n\t}) : t.configurationError ? /* @__PURE__ */ R(pn, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tkind: \"configuration\"\n\t}) : t.requireSignIn ? /* @__PURE__ */ R(pn, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tkind: \"sign-in\"\n\t}) : /* @__PURE__ */ R(mn, {\n\t\tclassName: e,\n\t\tcontroller: t\n\t});\n}\nfunction sn({ className: e, controller: t }) {\n\tlet { t: n } = t.i18n, r = t.returnVerification.isVerifying, i = ln(!t.status.error), a = t.config.customer?.isSignedIn ? t.i18n.route(\"orders\", void 0, t.config.routes) : null;\n\treturn /* @__PURE__ */ R($, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tchildren: /* @__PURE__ */ z(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__state mx-auto max-w-lg rounded-xl border p-8 text-center\",\n\t\t\t\"aria-busy\": r,\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ R(\"h1\", {\n\t\t\t\t\tref: i,\n\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\tclassName: \"text-2xl font-semibold tracking-tight outline-none\",\n\t\t\t\t\tchildren: n(\"storefront.checkout.checkPaymentStatus\")\n\t\t\t\t}),\n\t\t\t\tr ? /* @__PURE__ */ z(\"p\", {\n\t\t\t\t\tclassName: \"mt-4 flex items-center justify-center gap-2 text-sm\",\n\t\t\t\t\trole: \"status\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ R(\"span\", {\n\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}), n(\"storefront.checkout.checkingPaymentStatus\")]\n\t\t\t\t}) : /* @__PURE__ */ R(un, { controller: t }),\n\t\t\t\t!r && !t.status.error ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"mt-4 text-sm\",\n\t\t\t\t\trole: \"alert\",\n\t\t\t\t\tchildren: n(t.returnVerification.retry ? \"storefront.checkout.returnError\" : \"storefront.checkout.returnUnconfirmed\")\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\t\tclassName: \"mt-6 flex flex-wrap items-center justify-center gap-2\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tt.returnVerification.retry ? /* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tdisabled: r,\n\t\t\t\t\t\t\tonClick: t.returnVerification.retry,\n\t\t\t\t\t\t\tchildren: n(\"common.retry\")\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t!r && a ? /* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ R(\"a\", {\n\t\t\t\t\t\t\t\thref: a,\n\t\t\t\t\t\t\t\tchildren: n(\"storefront.checkout.viewPurchaseHistory\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\tr ? null : /* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\tvariant: \"link\",\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ R(\"a\", {\n\t\t\t\t\t\t\t\thref: t.i18n.route(\"cart\", void 0, t.config.routes),\n\t\t\t\t\t\t\t\tchildren: n(\"storefront.checkout.backToCart\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nfunction cn({ className: e, controller: t }) {\n\treturn /* @__PURE__ */ z($, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tbusy: !0,\n\t\tchildren: [/* @__PURE__ */ R(D, { className: \"h-8 w-48\" }), /* @__PURE__ */ R(D, { className: \"mt-6 h-64 w-full\" })]\n\t});\n}\nfunction ln(e = !0) {\n\tlet t = I.useRef(null), n = I.useRef(e);\n\treturn I.useEffect(() => {\n\t\tn.current && t.current?.focus();\n\t}, []), t;\n}\nfunction $({ className: e, controller: t, children: n, busy: r }) {\n\tlet i = I.useId();\n\treturn /* @__PURE__ */ z(\"div\", {\n\t\tdir: t.i18n.direction,\n\t\tclassName: O(\"cedros-shop-public cedros-shop-public--checkout min-h-screen\", e),\n\t\tchildren: [/* @__PURE__ */ R(oe, { contentId: i }), /* @__PURE__ */ R(\"main\", {\n\t\t\tid: i,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\t\"aria-busy\": r || void 0,\n\t\t\tchildren: n\n\t\t})]\n\t});\n}\nfunction un({ controller: e }) {\n\tlet t = I.useRef(null);\n\treturn I.useEffect(() => {\n\t\te.status.error && t.current?.focus();\n\t}, [e.status.error]), /* @__PURE__ */ z(L, { children: [e.status.message ? /* @__PURE__ */ R(\"p\", {\n\t\tclassName: \"cedros-shop-public__notice mt-4 rounded-lg border p-3 text-sm\",\n\t\trole: \"status\",\n\t\tchildren: e.status.message\n\t}) : null, e.status.error ? /* @__PURE__ */ R(\"p\", {\n\t\tref: t,\n\t\ttabIndex: -1,\n\t\tclassName: \"cedros-shop-public__error mt-4 rounded-lg border p-3 text-sm outline-none focus-visible:ring-2\",\n\t\trole: \"alert\",\n\t\tchildren: e.status.error\n\t}) : null] });\n}\nfunction dn(e) {\n\treturn /* @__PURE__ */ z(\"svg\", {\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t...e,\n\t\tchildren: [/* @__PURE__ */ R(\"circle\", {\n\t\t\tcx: \"12\",\n\t\t\tcy: \"12\",\n\t\t\tr: \"10\"\n\t\t}), /* @__PURE__ */ R(\"path\", {\n\t\t\tclassName: \"cs-anim-check\",\n\t\t\tpathLength: 1,\n\t\t\td: \"m8.5 12.5 2.5 2.5 5-5.5\"\n\t\t})]\n\t});\n}\nfunction fn({ className: e, controller: t }) {\n\tlet { t: n } = t.i18n, r = t.status.confirmation, i = t.config.customer?.isSignedIn ? t.i18n.route(\"orders\", void 0, t.config.routes) : null, a = ln();\n\treturn /* @__PURE__ */ R($, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tchildren: /* @__PURE__ */ z(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__state cedros-shop-public__state--confirmed mx-auto max-w-lg rounded-xl border p-10 text-center\",\n\t\t\trole: \"status\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ R(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__state-icon--success\",\n\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\tchildren: /* @__PURE__ */ R(dn, { className: \"h-5 w-5\" })\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ R(\"h1\", {\n\t\t\t\t\tref: a,\n\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\tclassName: \"mt-3 text-2xl font-semibold tracking-tight outline-none\",\n\t\t\t\t\tchildren: n(\"storefront.checkout.confirmedTitle\")\n\t\t\t\t}),\n\t\t\t\tr?.orderId ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-sm font-medium tabular-nums\",\n\t\t\t\t\tchildren: n(\"storefront.checkout.confirmedOrder\", { orderId: r.orderId })\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\t\tchildren: n(\"storefront.checkout.confirmedDescription\")\n\t\t\t\t}),\n\t\t\t\tt.cart.items.length ? /* @__PURE__ */ R(\"p\", {\n\t\t\t\t\tclassName: \"mt-3 text-sm cedros-shop-public__notice\",\n\t\t\t\t\tchildren: n(\"storefront.checkout.remainingCart\")\n\t\t\t\t}) : null,\n\t\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\t\tclassName: \"mt-6 flex flex-col items-center gap-2\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tt.cart.items.length ? /* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ R(\"a\", {\n\t\t\t\t\t\t\t\thref: t.i18n.route(\"cart\", void 0, t.config.routes),\n\t\t\t\t\t\t\t\tchildren: n(\"storefront.checkout.reviewCart\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t/* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\tonClick: () => hn(t.i18n, t.config.routes),\n\t\t\t\t\t\t\tchildren: n(\"storefront.cart.continueShopping\")\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ti ? /* @__PURE__ */ R(M, {\n\t\t\t\t\t\t\tvariant: \"link\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ R(\"a\", {\n\t\t\t\t\t\t\t\thref: i,\n\t\t\t\t\t\t\t\tchildren: n(\"storefront.checkout.viewPurchaseHistory\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}) : null\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nfunction pn({ className: e, controller: n, kind: r }) {\n\tlet { t: i } = n.i18n, a = r === \"empty\";\n\treturn r === \"configuration\" ? /* @__PURE__ */ R($, {\n\t\tclassName: e,\n\t\tcontroller: n,\n\t\tchildren: /* @__PURE__ */ z(\"div\", {\n\t\t\trole: \"alert\",\n\t\t\tchildren: [/* @__PURE__ */ R(m, {\n\t\t\t\theadingLevel: 1,\n\t\t\t\ttitle: i(\"storefront.checkout.loadUnavailable\"),\n\t\t\t\tdescription: i(\"storefront.error.load\"),\n\t\t\t\tactionLabel: i(\"common.retry\"),\n\t\t\t\tonAction: () => void n.retryConfiguration()\n\t\t\t}), /* @__PURE__ */ R(N, { routes: n.config.routes })]\n\t\t})\n\t}) : /* @__PURE__ */ z($, {\n\t\tclassName: e,\n\t\tcontroller: n,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(un, { controller: n }),\n\t\t\t/* @__PURE__ */ R(m, {\n\t\t\t\theadingLevel: 1,\n\t\t\t\ttitle: i(a ? \"storefront.cart.emptyTitle\" : \"storefront.checkout.signInTitle\"),\n\t\t\t\tdescription: i(a ? \"storefront.cart.emptyDescription\" : \"storefront.checkout.signInDescription\"),\n\t\t\t\tactionLabel: i(a ? \"storefront.cart.continueShopping\" : \"storefront.shop.signIn\"),\n\t\t\t\tactionHref: a ? n.i18n.route(\"shop\", void 0, n.config.routes) : void 0,\n\t\t\t\tonAction: a ? void 0 : () => t(n.config.signInUrl)\n\t\t\t}),\n\t\t\ta ? null : /* @__PURE__ */ R(N, { routes: n.config.routes })\n\t\t]\n\t});\n}\nfunction mn({ className: e, controller: t }) {\n\tlet n = t.status.hasAttempted ? t.validationIssues : [], r = t.requirements.shippingAddress || t.requirements.billingAddress, i = I.useRef(null);\n\tI.useEffect(() => {\n\t\tt.status.invalidFocusRequest && i.current?.querySelector(\"[aria-invalid=\\\"true\\\"], [data-invalid] button\")?.focus();\n\t}, [t.status.invalidFocusRequest]);\n\tlet a = t.status.isPaymentPending ? t.i18n.t(\"storefront.checkout.paymentPendingCta\") : t.status.isSubmitting ? t.i18n.t(\"storefront.checkout.preparing\") : t.status.canResume ? t.i18n.t(\"storefront.checkout.resumePayment\") : t.paymentOptions.find((e) => e.id === t.formState.form.paymentMethodId)?.ctaLabel ?? t.i18n.t(\"storefront.checkout.continueToPayment\");\n\treturn /* @__PURE__ */ z($, {\n\t\tclassName: e,\n\t\tcontroller: t,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ R(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__surface-heading\",\n\t\t\t\tchildren: /* @__PURE__ */ R(\"h1\", {\n\t\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\t\tchildren: t.i18n.t(\"storefront.checkout.title\")\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ R(un, { controller: t }),\n\t\t\t!t.status.isPaymentPending && !t.status.isSubmitting ? /* @__PURE__ */ R(y, { ...t.inventory }) : null,\n\t\t\tt.inventory.hasIssues && !t.status.isPaymentPending && !t.status.isSubmitting ? /* @__PURE__ */ R(h, { onResolve: t.removeUnavailable }) : null,\n\t\t\tt.status.isPaymentPending && t.canCheckPaymentStatus ? /* @__PURE__ */ R(M, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tclassName: \"mt-4\",\n\t\t\t\tdisabled: t.status.isSubmitting,\n\t\t\t\tonClick: () => void t.checkPaymentStatus(),\n\t\t\t\tchildren: t.status.isSubmitting ? t.i18n.t(\"storefront.checkout.checkingPaymentStatus\") : t.i18n.t(\"storefront.checkout.checkPaymentStatus\")\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ R(Se, {\n\t\t\t\tquote: t.displayQuote,\n\t\t\t\tquoteLoading: t.quoteState.loading,\n\t\t\t\tshowShipping: t.features.shipping,\n\t\t\t\tshowTax: t.features.taxes,\n\t\t\t\tgetItemInventory: t.inventory.getItemInventory\n\t\t\t}),\n\t\t\t/* @__PURE__ */ z(\"div\", {\n\t\t\t\tclassName: \"mt-8 grid grid-cols-1 gap-6 lg:grid-cols-[1fr_360px]\",\n\t\t\t\tchildren: [/* @__PURE__ */ z(\"section\", {\n\t\t\t\t\tref: i,\n\t\t\t\t\tclassName: \"cedros-shop-public__checkout-fields min-w-0 space-y-6\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ R(nt, {\n\t\t\t\t\t\t\tsupportsOrderNotes: t.config.adapter.checkoutInputSupport?.orderNotes,\n\t\t\t\t\t\t\tform: t.formState.form,\n\t\t\t\t\t\t\trequirements: t.requirements,\n\t\t\t\t\t\t\tissues: n,\n\t\t\t\t\t\t\tupdateForm: t.formState.updateForm\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tr ? /* @__PURE__ */ R(rt, {\n\t\t\t\t\t\t\tform: t.formState.form,\n\t\t\t\t\t\t\trequirements: t.requirements,\n\t\t\t\t\t\t\tissues: n,\n\t\t\t\t\t\t\tshippingMethods: t.shipping.methods,\n\t\t\t\t\t\t\tshippingLoading: t.shipping.loading,\n\t\t\t\t\t\t\tshippingError: t.shipping.error,\n\t\t\t\t\t\t\tonRetryShipping: t.shipping.refetch,\n\t\t\t\t\t\t\tshippingRatesDeferred: t.requirements.shippingAddress && !t.config.adapter.requiresShippingOption && !t.config.adapter.getShippingMethods && !t.shipping.methods.length,\n\t\t\t\t\t\t\tshippingRatesEmpty: t.requirements.shippingAddress && !t.shippingUnavailable && t.shipping.loaded && !t.shipping.loading && !t.shipping.error && !t.shipping.methods.length,\n\t\t\t\t\t\t\tshippingUnavailable: t.shippingUnavailable,\n\t\t\t\t\t\t\tupdateForm: t.formState.updateForm,\n\t\t\t\t\t\t\tupdateAddress: t.formState.updateAddress\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t/* @__PURE__ */ R(it, {\n\t\t\t\t\t\t\tform: t.formState.form,\n\t\t\t\t\t\t\tissues: n,\n\t\t\t\t\t\t\toptions: t.paymentOptions,\n\t\t\t\t\t\t\tallowTipping: !!t.config.checkout.allowTipping,\n\t\t\t\t\t\t\tpaymentMethodsLoading: t.paymentLoading,\n\t\t\t\t\t\t\tupdateForm: t.formState.updateForm\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}), /* @__PURE__ */ R(ye, {\n\t\t\t\t\tquote: t.displayQuote,\n\t\t\t\t\tquoteLoading: t.quoteState.loading,\n\t\t\t\t\tquoteAuthoritative: !!t.quoteState.quote,\n\t\t\t\t\tquoteError: t.quoteState.error,\n\t\t\t\t\tonRetryQuote: t.quoteState.refetch,\n\t\t\t\t\tshowPromoCode: t.showPromoCode,\n\t\t\t\t\tshowShipping: t.features.shipping,\n\t\t\t\t\tshowTax: t.features.taxes,\n\t\t\t\t\tcheckoutLabel: a,\n\t\t\t\t\tcheckoutBusy: t.status.isSubmitting || t.status.isPaymentPending,\n\t\t\t\t\tcheckoutDisabled: !!t.checkoutBlockedReason,\n\t\t\t\t\tcheckoutDisabledReason: t.disabledReason,\n\t\t\t\t\tpaymentMethodId: t.formState.form.paymentMethodId,\n\t\t\t\t\tgetItemInventory: t.inventory.getItemInventory,\n\t\t\t\t\thasInventoryIssues: t.inventory.hasIssues,\n\t\t\t\t\tinventoryNoticeShown: !t.status.isPaymentPending && !t.status.isSubmitting,\n\t\t\t\t\tonRemoveUnavailable: t.removeUnavailable,\n\t\t\t\t\tonCheckout: () => void t.startCheckout()\n\t\t\t\t})]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction hn(e, t) {\n\ttypeof window < \"u\" && window.location.assign(e.route(\"shop\", void 0, t));\n}\n//#endregion\nexport { an as CheckoutTemplate };\n","imports":[{"dynamic":false,"end":76,"specifier":"./styleInjection-D8xLNR6Q.js","start":48},{"dynamic":false,"end":193,"specifier":"./SubscriptionTemplate-JCKiForP.js","start":159},{"dynamic":false,"end":553,"specifier":"./useCurrentIdentity--397tFNA.js","start":521},{"dynamic":false,"end":631,"specifier":"./browserCheckoutAttemptStore-Bb1V7J9y.js","start":590},{"dynamic":false,"end":688,"specifier":"./CheckoutRecovery-BeJzj45u.js","start":658},{"dynamic":false,"end":759,"specifier":"./CountrySelect-CWjXE2X0.js","start":732},{"dynamic":false,"end":787,"specifier":"react","start":782},{"dynamic":false,"end":859,"specifier":"react/jsx-runtime","start":842}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/CountrySelect-CWjXE2X0.js","kind":"module","text":"import { mn as e } from \"./useCurrentIdentity--397tFNA.js\";\nimport * as t from \"react\";\nimport { jsx as n, jsxs as r } from \"react/jsx-runtime\";\n//#region src/storefront/countries.ts\nvar i = [\n\t{\n\t\tcode: \"AD\",\n\t\tname: \"Andorra\"\n\t},\n\t{\n\t\tcode: \"AE\",\n\t\tname: \"United Arab Emirates\"\n\t},\n\t{\n\t\tcode: \"AF\",\n\t\tname: \"Afghanistan\"\n\t},\n\t{\n\t\tcode: \"AG\",\n\t\tname: \"Antigua & Barbuda\"\n\t},\n\t{\n\t\tcode: \"AI\",\n\t\tname: \"Anguilla\"\n\t},\n\t{\n\t\tcode: \"AL\",\n\t\tname: \"Albania\"\n\t},\n\t{\n\t\tcode: \"AM\",\n\t\tname: \"Armenia\"\n\t},\n\t{\n\t\tcode: \"AO\",\n\t\tname: \"Angola\"\n\t},\n\t{\n\t\tcode: \"AQ\",\n\t\tname: \"Antarctica\"\n\t},\n\t{\n\t\tcode: \"AR\",\n\t\tname: \"Argentina\"\n\t},\n\t{\n\t\tcode: \"AS\",\n\t\tname: \"American Samoa\"\n\t},\n\t{\n\t\tcode: \"AT\",\n\t\tname: \"Austria\"\n\t},\n\t{\n\t\tcode: \"AU\",\n\t\tname: \"Australia\"\n\t},\n\t{\n\t\tcode: \"AW\",\n\t\tname: \"Aruba\"\n\t},\n\t{\n\t\tcode: \"AX\",\n\t\tname: \"Åland Islands\"\n\t},\n\t{\n\t\tcode: \"AZ\",\n\t\tname: \"Azerbaijan\"\n\t},\n\t{\n\t\tcode: \"BA\",\n\t\tname: \"Bosnia & Herzegovina\"\n\t},\n\t{\n\t\tcode: \"BB\",\n\t\tname: \"Barbados\"\n\t},\n\t{\n\t\tcode: \"BD\",\n\t\tname: \"Bangladesh\"\n\t},\n\t{\n\t\tcode: \"BE\",\n\t\tname: \"Belgium\"\n\t},\n\t{\n\t\tcode: \"BF\",\n\t\tname: \"Burkina Faso\"\n\t},\n\t{\n\t\tcode: \"BG\",\n\t\tname: \"Bulgaria\"\n\t},\n\t{\n\t\tcode: \"BH\",\n\t\tname: \"Bahrain\"\n\t},\n\t{\n\t\tcode: \"BI\",\n\t\tname: \"Burundi\"\n\t},\n\t{\n\t\tcode: \"BJ\",\n\t\tname: \"Benin\"\n\t},\n\t{\n\t\tcode: \"BL\",\n\t\tname: \"St. Barthélemy\"\n\t},\n\t{\n\t\tcode: \"BM\",\n\t\tname: \"Bermuda\"\n\t},\n\t{\n\t\tcode: \"BN\",\n\t\tname: \"Brunei\"\n\t},\n\t{\n\t\tcode: \"BO\",\n\t\tname: \"Bolivia\"\n\t},\n\t{\n\t\tcode: \"BQ\",\n\t\tname: \"Caribbean Netherlands\"\n\t},\n\t{\n\t\tcode: \"BR\",\n\t\tname: \"Brazil\"\n\t},\n\t{\n\t\tcode: \"BS\",\n\t\tname: \"Bahamas\"\n\t},\n\t{\n\t\tcode: \"BT\",\n\t\tname: \"Bhutan\"\n\t},\n\t{\n\t\tcode: \"BV\",\n\t\tname: \"Bouvet Island\"\n\t},\n\t{\n\t\tcode: \"BW\",\n\t\tname: \"Botswana\"\n\t},\n\t{\n\t\tcode: \"BY\",\n\t\tname: \"Belarus\"\n\t},\n\t{\n\t\tcode: \"BZ\",\n\t\tname: \"Belize\"\n\t},\n\t{\n\t\tcode: \"CA\",\n\t\tname: \"Canada\"\n\t},\n\t{\n\t\tcode: \"CC\",\n\t\tname: \"Cocos (Keeling) Islands\"\n\t},\n\t{\n\t\tcode: \"CD\",\n\t\tname: \"Congo - Kinshasa\"\n\t},\n\t{\n\t\tcode: \"CF\",\n\t\tname: \"Central African Republic\"\n\t},\n\t{\n\t\tcode: \"CG\",\n\t\tname: \"Congo - Brazzaville\"\n\t},\n\t{\n\t\tcode: \"CH\",\n\t\tname: \"Switzerland\"\n\t},\n\t{\n\t\tcode: \"CI\",\n\t\tname: \"Côte d’Ivoire\"\n\t},\n\t{\n\t\tcode: \"CK\",\n\t\tname: \"Cook Islands\"\n\t},\n\t{\n\t\tcode: \"CL\",\n\t\tname: \"Chile\"\n\t},\n\t{\n\t\tcode: \"CM\",\n\t\tname: \"Cameroon\"\n\t},\n\t{\n\t\tcode: \"CN\",\n\t\tname: \"China\"\n\t},\n\t{\n\t\tcode: \"CO\",\n\t\tname: \"Colombia\"\n\t},\n\t{\n\t\tcode: \"CR\",\n\t\tname: \"Costa Rica\"\n\t},\n\t{\n\t\tcode: \"CU\",\n\t\tname: \"Cuba\"\n\t},\n\t{\n\t\tcode: \"CV\",\n\t\tname: \"Cape Verde\"\n\t},\n\t{\n\t\tcode: \"CW\",\n\t\tname: \"Curaçao\"\n\t},\n\t{\n\t\tcode: \"CX\",\n\t\tname: \"Christmas Island\"\n\t},\n\t{\n\t\tcode: \"CY\",\n\t\tname: \"Cyprus\"\n\t},\n\t{\n\t\tcode: \"CZ\",\n\t\tname: \"Czechia\"\n\t},\n\t{\n\t\tcode: \"DE\",\n\t\tname: \"Germany\"\n\t},\n\t{\n\t\tcode: \"DJ\",\n\t\tname: \"Djibouti\"\n\t},\n\t{\n\t\tcode: \"DK\",\n\t\tname: \"Denmark\"\n\t},\n\t{\n\t\tcode: \"DM\",\n\t\tname: \"Dominica\"\n\t},\n\t{\n\t\tcode: \"DO\",\n\t\tname: \"Dominican Republic\"\n\t},\n\t{\n\t\tcode: \"DZ\",\n\t\tname: \"Algeria\"\n\t},\n\t{\n\t\tcode: \"EC\",\n\t\tname: \"Ecuador\"\n\t},\n\t{\n\t\tcode: \"EE\",\n\t\tname: \"Estonia\"\n\t},\n\t{\n\t\tcode: \"EG\",\n\t\tname: \"Egypt\"\n\t},\n\t{\n\t\tcode: \"EH\",\n\t\tname: \"Western Sahara\"\n\t},\n\t{\n\t\tcode: \"ER\",\n\t\tname: \"Eritrea\"\n\t},\n\t{\n\t\tcode: \"ES\",\n\t\tname: \"Spain\"\n\t},\n\t{\n\t\tcode: \"ET\",\n\t\tname: \"Ethiopia\"\n\t},\n\t{\n\t\tcode: \"FI\",\n\t\tname: \"Finland\"\n\t},\n\t{\n\t\tcode: \"FJ\",\n\t\tname: \"Fiji\"\n\t},\n\t{\n\t\tcode: \"FK\",\n\t\tname: \"Falkland Islands\"\n\t},\n\t{\n\t\tcode: \"FM\",\n\t\tname: \"Micronesia\"\n\t},\n\t{\n\t\tcode: \"FO\",\n\t\tname: \"Faroe Islands\"\n\t},\n\t{\n\t\tcode: \"FR\",\n\t\tname: \"France\"\n\t},\n\t{\n\t\tcode: \"GA\",\n\t\tname: \"Gabon\"\n\t},\n\t{\n\t\tcode: \"GB\",\n\t\tname: \"United Kingdom\"\n\t},\n\t{\n\t\tcode: \"GD\",\n\t\tname: \"Grenada\"\n\t},\n\t{\n\t\tcode: \"GE\",\n\t\tname: \"Georgia\"\n\t},\n\t{\n\t\tcode: \"GF\",\n\t\tname: \"French Guiana\"\n\t},\n\t{\n\t\tcode: \"GG\",\n\t\tname: \"Guernsey\"\n\t},\n\t{\n\t\tcode: \"GH\",\n\t\tname: \"Ghana\"\n\t},\n\t{\n\t\tcode: \"GI\",\n\t\tname: \"Gibraltar\"\n\t},\n\t{\n\t\tcode: \"GL\",\n\t\tname: \"Greenland\"\n\t},\n\t{\n\t\tcode: \"GM\",\n\t\tname: \"Gambia\"\n\t},\n\t{\n\t\tcode: \"GN\",\n\t\tname: \"Guinea\"\n\t},\n\t{\n\t\tcode: \"GP\",\n\t\tname: \"Guadeloupe\"\n\t},\n\t{\n\t\tcode: \"GQ\",\n\t\tname: \"Equatorial Guinea\"\n\t},\n\t{\n\t\tcode: \"GR\",\n\t\tname: \"Greece\"\n\t},\n\t{\n\t\tcode: \"GS\",\n\t\tname: \"South Georgia & South Sandwich Islands\"\n\t},\n\t{\n\t\tcode: \"GT\",\n\t\tname: \"Guatemala\"\n\t},\n\t{\n\t\tcode: \"GU\",\n\t\tname: \"Guam\"\n\t},\n\t{\n\t\tcode: \"GW\",\n\t\tname: \"Guinea-Bissau\"\n\t},\n\t{\n\t\tcode: \"GY\",\n\t\tname: \"Guyana\"\n\t},\n\t{\n\t\tcode: \"HK\",\n\t\tname: \"Hong Kong SAR China\"\n\t},\n\t{\n\t\tcode: \"HM\",\n\t\tname: \"Heard & McDonald Islands\"\n\t},\n\t{\n\t\tcode: \"HN\",\n\t\tname: \"Honduras\"\n\t},\n\t{\n\t\tcode: \"HR\",\n\t\tname: \"Croatia\"\n\t},\n\t{\n\t\tcode: \"HT\",\n\t\tname: \"Haiti\"\n\t},\n\t{\n\t\tcode: \"HU\",\n\t\tname: \"Hungary\"\n\t},\n\t{\n\t\tcode: \"ID\",\n\t\tname: \"Indonesia\"\n\t},\n\t{\n\t\tcode: \"IE\",\n\t\tname: \"Ireland\"\n\t},\n\t{\n\t\tcode: \"IL\",\n\t\tname: \"Israel\"\n\t},\n\t{\n\t\tcode: \"IM\",\n\t\tname: \"Isle of Man\"\n\t},\n\t{\n\t\tcode: \"IN\",\n\t\tname: \"India\"\n\t},\n\t{\n\t\tcode: \"IO\",\n\t\tname: \"British Indian Ocean Territory\"\n\t},\n\t{\n\t\tcode: \"IQ\",\n\t\tname: \"Iraq\"\n\t},\n\t{\n\t\tcode: \"IR\",\n\t\tname: \"Iran\"\n\t},\n\t{\n\t\tcode: \"IS\",\n\t\tname: \"Iceland\"\n\t},\n\t{\n\t\tcode: \"IT\",\n\t\tname: \"Italy\"\n\t},\n\t{\n\t\tcode: \"JE\",\n\t\tname: \"Jersey\"\n\t},\n\t{\n\t\tcode: \"JM\",\n\t\tname: \"Jamaica\"\n\t},\n\t{\n\t\tcode: \"JO\",\n\t\tname: \"Jordan\"\n\t},\n\t{\n\t\tcode: \"JP\",\n\t\tname: \"Japan\"\n\t},\n\t{\n\t\tcode: \"KE\",\n\t\tname: \"Kenya\"\n\t},\n\t{\n\t\tcode: \"KG\",\n\t\tname: \"Kyrgyzstan\"\n\t},\n\t{\n\t\tcode: \"KH\",\n\t\tname: \"Cambodia\"\n\t},\n\t{\n\t\tcode: \"KI\",\n\t\tname: \"Kiribati\"\n\t},\n\t{\n\t\tcode: \"KM\",\n\t\tname: \"Comoros\"\n\t},\n\t{\n\t\tcode: \"KN\",\n\t\tname: \"St. Kitts & Nevis\"\n\t},\n\t{\n\t\tcode: \"KP\",\n\t\tname: \"North Korea\"\n\t},\n\t{\n\t\tcode: \"KR\",\n\t\tname: \"South Korea\"\n\t},\n\t{\n\t\tcode: \"KW\",\n\t\tname: \"Kuwait\"\n\t},\n\t{\n\t\tcode: \"KY\",\n\t\tname: \"Cayman Islands\"\n\t},\n\t{\n\t\tcode: \"KZ\",\n\t\tname: \"Kazakhstan\"\n\t},\n\t{\n\t\tcode: \"LA\",\n\t\tname: \"Laos\"\n\t},\n\t{\n\t\tcode: \"LB\",\n\t\tname: \"Lebanon\"\n\t},\n\t{\n\t\tcode: \"LC\",\n\t\tname: \"St. Lucia\"\n\t},\n\t{\n\t\tcode: \"LI\",\n\t\tname: \"Liechtenstein\"\n\t},\n\t{\n\t\tcode: \"LK\",\n\t\tname: \"Sri Lanka\"\n\t},\n\t{\n\t\tcode: \"LR\",\n\t\tname: \"Liberia\"\n\t},\n\t{\n\t\tcode: \"LS\",\n\t\tname: \"Lesotho\"\n\t},\n\t{\n\t\tcode: \"LT\",\n\t\tname: \"Lithuania\"\n\t},\n\t{\n\t\tcode: \"LU\",\n\t\tname: \"Luxembourg\"\n\t},\n\t{\n\t\tcode: \"LV\",\n\t\tname: \"Latvia\"\n\t},\n\t{\n\t\tcode: \"LY\",\n\t\tname: \"Libya\"\n\t},\n\t{\n\t\tcode: \"MA\",\n\t\tname: \"Morocco\"\n\t},\n\t{\n\t\tcode: \"MC\",\n\t\tname: \"Monaco\"\n\t},\n\t{\n\t\tcode: \"MD\",\n\t\tname: \"Moldova\"\n\t},\n\t{\n\t\tcode: \"ME\",\n\t\tname: \"Montenegro\"\n\t},\n\t{\n\t\tcode: \"MF\",\n\t\tname: \"St. Martin\"\n\t},\n\t{\n\t\tcode: \"MG\",\n\t\tname: \"Madagascar\"\n\t},\n\t{\n\t\tcode: \"MH\",\n\t\tname: \"Marshall Islands\"\n\t},\n\t{\n\t\tcode: \"MK\",\n\t\tname: \"North Macedonia\"\n\t},\n\t{\n\t\tcode: \"ML\",\n\t\tname: \"Mali\"\n\t},\n\t{\n\t\tcode: \"MM\",\n\t\tname: \"Myanmar (Burma)\"\n\t},\n\t{\n\t\tcode: \"MN\",\n\t\tname: \"Mongolia\"\n\t},\n\t{\n\t\tcode: \"MO\",\n\t\tname: \"Macao SAR China\"\n\t},\n\t{\n\t\tcode: \"MP\",\n\t\tname: \"Northern Mariana Islands\"\n\t},\n\t{\n\t\tcode: \"MQ\",\n\t\tname: \"Martinique\"\n\t},\n\t{\n\t\tcode: \"MR\",\n\t\tname: \"Mauritania\"\n\t},\n\t{\n\t\tcode: \"MS\",\n\t\tname: \"Montserrat\"\n\t},\n\t{\n\t\tcode: \"MT\",\n\t\tname: \"Malta\"\n\t},\n\t{\n\t\tcode: \"MU\",\n\t\tname: \"Mauritius\"\n\t},\n\t{\n\t\tcode: \"MV\",\n\t\tname: \"Maldives\"\n\t},\n\t{\n\t\tcode: \"MW\",\n\t\tname: \"Malawi\"\n\t},\n\t{\n\t\tcode: \"MX\",\n\t\tname: \"Mexico\"\n\t},\n\t{\n\t\tcode: \"MY\",\n\t\tname: \"Malaysia\"\n\t},\n\t{\n\t\tcode: \"MZ\",\n\t\tname: \"Mozambique\"\n\t},\n\t{\n\t\tcode: \"NA\",\n\t\tname: \"Namibia\"\n\t},\n\t{\n\t\tcode: \"NC\",\n\t\tname: \"New Caledonia\"\n\t},\n\t{\n\t\tcode: \"NE\",\n\t\tname: \"Niger\"\n\t},\n\t{\n\t\tcode: \"NF\",\n\t\tname: \"Norfolk Island\"\n\t},\n\t{\n\t\tcode: \"NG\",\n\t\tname: \"Nigeria\"\n\t},\n\t{\n\t\tcode: \"NI\",\n\t\tname: \"Nicaragua\"\n\t},\n\t{\n\t\tcode: \"NL\",\n\t\tname: \"Netherlands\"\n\t},\n\t{\n\t\tcode: \"NO\",\n\t\tname: \"Norway\"\n\t},\n\t{\n\t\tcode: \"NP\",\n\t\tname: \"Nepal\"\n\t},\n\t{\n\t\tcode: \"NR\",\n\t\tname: \"Nauru\"\n\t},\n\t{\n\t\tcode: \"NU\",\n\t\tname: \"Niue\"\n\t},\n\t{\n\t\tcode: \"NZ\",\n\t\tname: \"New Zealand\"\n\t},\n\t{\n\t\tcode: \"OM\",\n\t\tname: \"Oman\"\n\t},\n\t{\n\t\tcode: \"PA\",\n\t\tname: \"Panama\"\n\t},\n\t{\n\t\tcode: \"PE\",\n\t\tname: \"Peru\"\n\t},\n\t{\n\t\tcode: \"PF\",\n\t\tname: \"French Polynesia\"\n\t},\n\t{\n\t\tcode: \"PG\",\n\t\tname: \"Papua New Guinea\"\n\t},\n\t{\n\t\tcode: \"PH\",\n\t\tname: \"Philippines\"\n\t},\n\t{\n\t\tcode: \"PK\",\n\t\tname: \"Pakistan\"\n\t},\n\t{\n\t\tcode: \"PL\",\n\t\tname: \"Poland\"\n\t},\n\t{\n\t\tcode: \"PM\",\n\t\tname: \"St. Pierre & Miquelon\"\n\t},\n\t{\n\t\tcode: \"PN\",\n\t\tname: \"Pitcairn Islands\"\n\t},\n\t{\n\t\tcode: \"PR\",\n\t\tname: \"Puerto Rico\"\n\t},\n\t{\n\t\tcode: \"PS\",\n\t\tname: \"Palestinian Territories\"\n\t},\n\t{\n\t\tcode: \"PT\",\n\t\tname: \"Portugal\"\n\t},\n\t{\n\t\tcode: \"PW\",\n\t\tname: \"Palau\"\n\t},\n\t{\n\t\tcode: \"PY\",\n\t\tname: \"Paraguay\"\n\t},\n\t{\n\t\tcode: \"QA\",\n\t\tname: \"Qatar\"\n\t},\n\t{\n\t\tcode: \"RE\",\n\t\tname: \"Réunion\"\n\t},\n\t{\n\t\tcode: \"RO\",\n\t\tname: \"Romania\"\n\t},\n\t{\n\t\tcode: \"RS\",\n\t\tname: \"Serbia\"\n\t},\n\t{\n\t\tcode: \"RU\",\n\t\tname: \"Russia\"\n\t},\n\t{\n\t\tcode: \"RW\",\n\t\tname: \"Rwanda\"\n\t},\n\t{\n\t\tcode: \"SA\",\n\t\tname: \"Saudi Arabia\"\n\t},\n\t{\n\t\tcode: \"SB\",\n\t\tname: \"Solomon Islands\"\n\t},\n\t{\n\t\tcode: \"SC\",\n\t\tname: \"Seychelles\"\n\t},\n\t{\n\t\tcode: \"SD\",\n\t\tname: \"Sudan\"\n\t},\n\t{\n\t\tcode: \"SE\",\n\t\tname: \"Sweden\"\n\t},\n\t{\n\t\tcode: \"SG\",\n\t\tname: \"Singapore\"\n\t},\n\t{\n\t\tcode: \"SH\",\n\t\tname: \"St. Helena\"\n\t},\n\t{\n\t\tcode: \"SI\",\n\t\tname: \"Slovenia\"\n\t},\n\t{\n\t\tcode: \"SJ\",\n\t\tname: \"Svalbard & Jan Mayen\"\n\t},\n\t{\n\t\tcode: \"SK\",\n\t\tname: \"Slovakia\"\n\t},\n\t{\n\t\tcode: \"SL\",\n\t\tname: \"Sierra Leone\"\n\t},\n\t{\n\t\tcode: \"SM\",\n\t\tname: \"San Marino\"\n\t},\n\t{\n\t\tcode: \"SN\",\n\t\tname: \"Senegal\"\n\t},\n\t{\n\t\tcode: \"SO\",\n\t\tname: \"Somalia\"\n\t},\n\t{\n\t\tcode: \"SR\",\n\t\tname: \"Suriname\"\n\t},\n\t{\n\t\tcode: \"SS\",\n\t\tname: \"South Sudan\"\n\t},\n\t{\n\t\tcode: \"ST\",\n\t\tname: \"São Tomé & Príncipe\"\n\t},\n\t{\n\t\tcode: \"SV\",\n\t\tname: \"El Salvador\"\n\t},\n\t{\n\t\tcode: \"SX\",\n\t\tname: \"Sint Maarten\"\n\t},\n\t{\n\t\tcode: \"SY\",\n\t\tname: \"Syria\"\n\t},\n\t{\n\t\tcode: \"SZ\",\n\t\tname: \"Eswatini\"\n\t},\n\t{\n\t\tcode: \"TC\",\n\t\tname: \"Turks & Caicos Islands\"\n\t},\n\t{\n\t\tcode: \"TD\",\n\t\tname: \"Chad\"\n\t},\n\t{\n\t\tcode: \"TF\",\n\t\tname: \"French Southern Territories\"\n\t},\n\t{\n\t\tcode: \"TG\",\n\t\tname: \"Togo\"\n\t},\n\t{\n\t\tcode: \"TH\",\n\t\tname: \"Thailand\"\n\t},\n\t{\n\t\tcode: \"TJ\",\n\t\tname: \"Tajikistan\"\n\t},\n\t{\n\t\tcode: \"TK\",\n\t\tname: \"Tokelau\"\n\t},\n\t{\n\t\tcode: \"TL\",\n\t\tname: \"Timor-Leste\"\n\t},\n\t{\n\t\tcode: \"TM\",\n\t\tname: \"Turkmenistan\"\n\t},\n\t{\n\t\tcode: \"TN\",\n\t\tname: \"Tunisia\"\n\t},\n\t{\n\t\tcode: \"TO\",\n\t\tname: \"Tonga\"\n\t},\n\t{\n\t\tcode: \"TR\",\n\t\tname: \"Türkiye\"\n\t},\n\t{\n\t\tcode: \"TT\",\n\t\tname: \"Trinidad & Tobago\"\n\t},\n\t{\n\t\tcode: \"TV\",\n\t\tname: \"Tuvalu\"\n\t},\n\t{\n\t\tcode: \"TW\",\n\t\tname: \"Taiwan\"\n\t},\n\t{\n\t\tcode: \"TZ\",\n\t\tname: \"Tanzania\"\n\t},\n\t{\n\t\tcode: \"UA\",\n\t\tname: \"Ukraine\"\n\t},\n\t{\n\t\tcode: \"UG\",\n\t\tname: \"Uganda\"\n\t},\n\t{\n\t\tcode: \"UM\",\n\t\tname: \"U.S. Outlying Islands\"\n\t},\n\t{\n\t\tcode: \"US\",\n\t\tname: \"United States\"\n\t},\n\t{\n\t\tcode: \"UY\",\n\t\tname: \"Uruguay\"\n\t},\n\t{\n\t\tcode: \"UZ\",\n\t\tname: \"Uzbekistan\"\n\t},\n\t{\n\t\tcode: \"VA\",\n\t\tname: \"Vatican City\"\n\t},\n\t{\n\t\tcode: \"VC\",\n\t\tname: \"St. Vincent & Grenadines\"\n\t},\n\t{\n\t\tcode: \"VE\",\n\t\tname: \"Venezuela\"\n\t},\n\t{\n\t\tcode: \"VG\",\n\t\tname: \"British Virgin Islands\"\n\t},\n\t{\n\t\tcode: \"VI\",\n\t\tname: \"U.S. Virgin Islands\"\n\t},\n\t{\n\t\tcode: \"VN\",\n\t\tname: \"Vietnam\"\n\t},\n\t{\n\t\tcode: \"VU\",\n\t\tname: \"Vanuatu\"\n\t},\n\t{\n\t\tcode: \"WF\",\n\t\tname: \"Wallis & Futuna\"\n\t},\n\t{\n\t\tcode: \"WS\",\n\t\tname: \"Samoa\"\n\t},\n\t{\n\t\tcode: \"YE\",\n\t\tname: \"Yemen\"\n\t},\n\t{\n\t\tcode: \"YT\",\n\t\tname: \"Mayotte\"\n\t},\n\t{\n\t\tcode: \"ZA\",\n\t\tname: \"South Africa\"\n\t},\n\t{\n\t\tcode: \"ZM\",\n\t\tname: \"Zambia\"\n\t},\n\t{\n\t\tcode: \"ZW\",\n\t\tname: \"Zimbabwe\"\n\t}\n], a = i.map((e) => e.code), o = new Set(a), s = /* @__PURE__ */ new Map();\nfunction c(e) {\n\treturn o.has(e.trim().toUpperCase());\n}\nfunction l(e) {\n\tlet t = s.get(e);\n\tif (t) return t;\n\tlet n = null;\n\ttry {\n\t\tlet t = Intl.DisplayNames;\n\t\tn = t ? new t([e], { type: \"region\" }) : null;\n\t} catch {\n\t\tn = null;\n\t}\n\tlet r = i.map(({ code: e, name: t }) => {\n\t\tlet r = t;\n\t\ttry {\n\t\t\tr = n?.of(e) ?? t;\n\t\t} catch {\n\t\t\tr = t;\n\t\t}\n\t\treturn {\n\t\t\tcode: e,\n\t\t\tlabel: r\n\t\t};\n\t});\n\ttry {\n\t\tlet t = new Intl.Collator(e);\n\t\tr.sort((e, n) => t.compare(e.label, n.label));\n\t} catch {\n\t\tr.sort((e, t) => e.label < t.label ? -1 : +(e.label > t.label));\n\t}\n\treturn s.set(e, r), r;\n}\n//#endregion\n//#region src/storefront/accountResponse.ts\nfunction u(e) {\n\tif (e === null) return null;\n\tif (!d(e)) throw Error(\"Invalid customer account response\");\n\treturn e;\n}\nfunction d(e) {\n\treturn b(e) && h(e.profile) && Array.isArray(e.addresses) && e.addresses.every(_) && (e.savedCheckout === void 0 || g(e.savedCheckout)) && (e.supportLinks === void 0 || Array.isArray(e.supportLinks) && e.supportLinks.every((e) => b(e) && typeof e.id == \"string\" && typeof e.label == \"string\" && typeof e.href == \"string\" && y(e, [\"description\"], \"string\")));\n}\nfunction f(e, t) {\n\tif (!h(e) || !Object.keys(t).every((t) => e[t] !== void 0)) throw Error(\"Invalid saved profile response\");\n\treturn e;\n}\nfunction p(e, t = {}) {\n\tif (!g(e) || !Object.entries(t).every(([t, n]) => n === void 0 || e[t] !== void 0)) throw Error(\"Invalid saved checkout response\");\n\treturn e;\n}\nfunction m(e, t) {\n\tif (!_(e) || !e.line1.trim() || !e.city.trim() || !e.postalCode.trim() || !c(e.country) || t !== void 0 && e.id !== t) throw Error(\"Invalid saved address response\");\n\treturn e;\n}\nfunction h(e) {\n\treturn b(e) && y(e, [\n\t\t\"id\",\n\t\t\"email\",\n\t\t\"name\",\n\t\t\"phone\",\n\t\t\"avatarUrl\"\n\t], \"string\") && y(e, [\"marketingOptIn\"], \"boolean\");\n}\nfunction g(e) {\n\treturn b(e) && y(e, [\n\t\t\"email\",\n\t\t\"name\",\n\t\t\"phone\",\n\t\t\"preferredPaymentMethodId\",\n\t\t\"preferredShippingMethodId\"\n\t], \"string\") && y(e, [\"billingSameAsShipping\"], \"boolean\") && (e.shippingAddress === void 0 || v(e.shippingAddress)) && (e.billingAddress === void 0 || v(e.billingAddress));\n}\nfunction _(e) {\n\treturn v(e) && b(e) && typeof e.id == \"string\" && !!e.id.trim() && y(e, [\"label\"], \"string\") && y(e, [\"defaultShipping\", \"defaultBilling\"], \"boolean\");\n}\nfunction v(e) {\n\treturn b(e) && [\n\t\t\"line1\",\n\t\t\"city\",\n\t\t\"postalCode\",\n\t\t\"country\"\n\t].every((t) => typeof e[t] == \"string\") && y(e, [\"line2\", \"state\"], \"string\");\n}\nfunction y(e, t, n) {\n\treturn t.every((t) => e[t] === void 0 || typeof e[t] === n);\n}\nfunction b(e) {\n\treturn typeof e == \"object\" && !!e && !Array.isArray(e);\n}\n//#endregion\n//#region src/storefront/CountrySelect.tsx\nfunction x({ value: i, invalid: a, autoComplete: o, onChange: s, \"aria-describedby\": u }) {\n\tlet { t: d, locale: f } = e(), p = t.useMemo(() => l(f), [f]), m = i.trim().toUpperCase(), h = c(i) ? m : i;\n\treturn /* @__PURE__ */ r(\"span\", {\n\t\tclassName: \"cedros-shop-public__select-field\",\n\t\tchildren: [/* @__PURE__ */ r(\"select\", {\n\t\t\tclassName: \"cedros-shop-public__select-trigger flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2\",\n\t\t\tautoComplete: o,\n\t\t\tvalue: h,\n\t\t\t\"aria-invalid\": a || void 0,\n\t\t\t\"aria-describedby\": u,\n\t\t\tonChange: (e) => s(e.target.value),\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ n(\"option\", {\n\t\t\t\t\tvalue: \"\",\n\t\t\t\t\tdisabled: !0,\n\t\t\t\t\tchildren: d(\"storefront.checkout.selectCountry\")\n\t\t\t\t}),\n\t\t\t\th && !c(h) ? /* @__PURE__ */ n(\"option\", {\n\t\t\t\t\tvalue: h,\n\t\t\t\t\tchildren: h\n\t\t\t\t}) : null,\n\t\t\t\tp.map((e) => /* @__PURE__ */ n(\"option\", {\n\t\t\t\t\tvalue: e.code,\n\t\t\t\t\tchildren: e.label\n\t\t\t\t}, e.code))\n\t\t\t]\n\t\t}), /* @__PURE__ */ n(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__select-arrow\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t})]\n\t});\n}\n//#endregion\nexport { f as a, p as i, u as n, c as o, m as r, x as t };\n","imports":[{"dynamic":false,"end":57,"specifier":"./useCurrentIdentity--397tFNA.js","start":25},{"dynamic":false,"end":85,"specifier":"react","start":80},{"dynamic":false,"end":142,"specifier":"react/jsx-runtime","start":125}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/SubscriptionTemplate-JCKiForP.js","kind":"module","text":"import { B as e, C as t, D as n, F as r, I as i, M as a, N as o, O as s, R as c, T as l, V as u, c as d, g as f, h as p, j as m, k as h, m as g, p as _, s as v, z as y } from \"./styleInjection-D8xLNR6Q.js\";\nimport { $t as b, At as x, B as S, Bt as C, Ct as w, E as T, F as E, Ft as ee, G as D, H as O, Ht as k, I as A, L as j, Lt as te, Mt as ne, R as M, Rt as re, S as ie, Sn as N, St as ae, T as oe, U as se, Ut as ce, V as P, Vt as le, W as F, Wt as I, Yt as ue, Zt as L, _ as de, _n as fe, _t as pe, a as R, an as me, bn as z, bt as he, c as ge, ct as B, d as _e, dn as V, f as ve, ft as ye, g as be, gt as xe, h as Se, ht as H, i as Ce, j as we, jt as U, kt as Te, l as Ee, lt as De, m as Oe, mn as W, mt as ke, n as Ae, nn as je, o as Me, p as Ne, pn as G, pt as Pe, r as Fe, rn as Ie, s as Le, t as Re, tn as ze, u as Be, ut as Ve, v as He, vn as Ue, vt as We, x as Ge, xn as Ke, xt as qe, y as Je, yn as Ye, yt as Xe, z as K, zt as Ze } from \"./useCurrentIdentity--397tFNA.js\";\nimport * as q from \"react\";\nimport { useId as Qe } from \"react\";\nimport { Fragment as $e, jsx as J, jsxs as Y } from \"react/jsx-runtime\";\n//#region src/storefront/styles.css?inline\nvar et = \".cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content,.cedros-shop-public__overlay,.cedros-shop-toast{--cs-text:var(--c154w00l-runtime-text,var(--c154w00lr-fg,oklch(14.5% 0 0)));--cs-muted:var(--c154w00l-runtime-muted,var(--c154w00lr-muted,oklch(55.6% 0 0)));--cs-border:var(--c154w00l-runtime-border,var(--c154w00lr-border,oklch(92.2% 0 0)));--cs-bg:var(--c154w00l-runtime-bg,var(--c154w00lr-bg,oklch(98.5% 0 0)));--cs-panel:var(--c154w00l-runtime-panel,var(--c154w00lr-panel,oklch(100% 0 0)));--cs-accent:var(--c154w00l-runtime-accent,var(--c154w00lr-link-strong,var(--c154w00lr-primary,oklch(20.5% 0 0))));--cs-action-bg:var(--c154w00l-runtime-action-bg,var(--c154w00lr-primary,var(--cs-accent)));--cs-action-fg:var(--c154w00l-runtime-action-fg,var(--c154w00lr-primary-fg,oklch(98.5% 0 0)));--cs-success:var(--cs-text);--cs-error:var(--c154w00l-runtime-error,oklch(57.7% .245 27.325));--cs-warning:var(--c154w00l-runtime-warning,oklch(76.9% .188 70.08));--cs-font-body:var(--c154w00l-font-body,var(--c154w00l-font-sans,var(--c154w00lr-font-sans,var(--c154w00lr-font,ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, Helvetica, Arial, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\"))));--cs-font-mono:var(--c154w00l-font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);--cs-font-heading:var(--c154w00l-font-heading,var(--c154w00l-font-display,var(--cs-font-body)));--cs-line-height-body:var(--c154w00l-line-height-body,1.6);--cs-line-height-heading:var(--c154w00l-line-height-heading,1.1);--cs-page-inset:var(--c154w00l-space-page-inset,var(--c154w00lr-space-page-inset,clamp(1rem, 2vw, 2rem)));--cs-content-gap:var(--c154w00l-space-content,var(--c154w00lr-space-content,1rem));--cs-container-wide:var(--c154w00l-container-wide,var(--c154w00lr-container-wide,80rem));--cs-surface-1:var(--cs-panel);--cs-surface-2:color-mix(in srgb, var(--cs-text) 3%, var(--cs-panel));--cs-surface-3:color-mix(in srgb, var(--cs-text) 6%, var(--cs-panel));--cs-overlay-bg:color-mix(in srgb, var(--cs-text) 32%, transparent);--cs-accent-soft:var(--c154w00l-runtime-accent-soft,var(--c154w00lr-link-soft,color-mix(in srgb, var(--cs-accent) 8%, transparent)));--cs-error-soft:color-mix(in srgb, var(--cs-error) 9%, transparent);--cs-warning-soft:color-mix(in srgb, var(--cs-warning) 12%, transparent);--cs-success-soft:var(--cs-surface-2);--cs-border-strong:color-mix(in srgb, var(--cs-text) 22%, var(--cs-border));--cs-control-border:color-mix(in srgb, var(--cs-muted) 80%, var(--cs-border));--cs-ring:var(--c154w00l-ring,var(--cs-accent));--cs-shadow-tint:color-mix(in srgb, var(--cs-text) 7%, transparent);--cs-shadow-tint-strong:color-mix(in srgb, var(--cs-text) 13%, transparent);--cs-shadow-xs:var(--c154w00l-shadow-sm,var(--c154w00lr-shadow-sm,0 1px 2px var(--cs-shadow-tint)));--cs-shadow-sm:var(--c154w00l-shadow-sm,var(--c154w00lr-shadow-sm,0 1px 2px var(--cs-shadow-tint), 0 2px 8px -2px var(--cs-shadow-tint)));--cs-shadow-md:var(--c154w00l-shadow-md,var(--c154w00lr-shadow-md,0 2px 4px -1px var(--cs-shadow-tint), 0 8px 20px -6px var(--cs-shadow-tint-strong)));--cs-shadow-lg:var(--c154w00l-shadow-lg,var(--c154w00lr-shadow-lg,0 4px 8px -2px var(--cs-shadow-tint), 0 16px 40px -8px var(--cs-shadow-tint-strong)));--cs-shadow-pop:0 0 0 1px var(--cs-border), var(--c154w00l-shadow-lg,var(--c154w00lr-shadow-lg,0 8px 16px -4px var(--cs-shadow-tint), 0 24px 56px -12px var(--cs-shadow-tint-strong)));--cs-radius-detail:var(--c154w00l-radius-sm,var(--c154w00lr-radius-sm,.375rem));--cs-radius-none:0;--cs-radius-control:var(--c154w00l-radius-md,var(--c154w00l-radius,var(--c154w00lr-radius,.5rem)));--cs-radius-card:var(--c154w00l-radius-lg,var(--c154w00lr-radius-lg,.75rem));--cs-radius-panel:var(--cs-radius-card);--cs-radius-full:var(--c154w00l-radius-pill,var(--c154w00lr-radius-pill,999px));--cs-radius-sm:var(--cs-radius-detail);--cs-radius-md:var(--cs-radius-control);--cs-radius-lg:var(--cs-radius-card);--cs-radius-xl:var(--cs-radius-panel);--cs-dur-fast:var(--motion-duration-micro,.1s);--cs-dur:var(--motion-duration-fast,.16s);--cs-dur-slow:var(--motion-duration-modal,.24s);--cs-dur-entrance:var(--motion-duration-standard,.22s);--cs-ease-out:var(--motion-ease-standard,cubic-bezier(.16, 1, .3, 1));--cs-ease-in:var(--motion-ease-in,cubic-bezier(.4, 0, 1, 1));--cs-ease-spring:var(--cs-ease-out);accent-color:var(--cs-accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content,.cedros-shop-public__overlay,.cedros-shop-toast):where(.c154w00l-dark *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@keyframes cedros-shop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cedros-shop-fade-out{0%{opacity:1}to{opacity:0}}@keyframes cedros-shop-rise{0%{opacity:0;translate:0 .625rem}to{opacity:1;translate:0}}@keyframes cedros-shop-dialog-in{0%{opacity:0;translate:-50% calc(.5rem - 50%);scale:.98}to{opacity:1;translate:-50% -50%;scale:1}}@keyframes cedros-shop-dialog-out{to{opacity:0;translate:-50% calc(.5rem - 50%);scale:.98}}@keyframes cedros-shop-slide-in-right{0%{translate:100%}to{translate:0}}@keyframes cedros-shop-slide-out-right{0%{translate:0}to{translate:100%}}@keyframes cedros-shop-slide-in-left{0%{translate:-100%}to{translate:0}}@keyframes cedros-shop-slide-out-left{0%{translate:0}to{translate:-100%}}@keyframes cedros-shop-slide-in-up{0%{translate:0 100%}to{translate:0}}@keyframes cedros-shop-slide-out-down{0%{translate:0}to{translate:0 100%}}@keyframes cedros-shop-slide-in-down{0%{translate:0 -100%}to{translate:0}}@keyframes cedros-shop-slide-out-up{0%{translate:0}to{translate:0 -100%}}@keyframes cedros-shop-pop-in{0%{opacity:0;translate:0 .5rem;scale:.97}to{opacity:1;translate:0;scale:1}}@keyframes cedros-shop-pop-out{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 .5rem;scale:.97}}@keyframes cedros-shop-shimmer{0%{translate:-100%}to{translate:100%}}@keyframes cedros-shop-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes cedros-shop-spin{to{rotate:360deg}}@keyframes cedros-shop-value-in{0%{opacity:0}to{opacity:1}}@keyframes cedros-shop-badge-in{0%{opacity:0;translate:var(--cs-badge-x,.375rem) -.375rem;scale:.9}to{opacity:1;translate:0;scale:1}}@keyframes cedros-shop-check-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes cedros-shop-toast-in{0%{opacity:0;translate:0 -.5rem}to{opacity:1;translate:0}}@keyframes cedros-shop-toast-throw{to{opacity:0;translate:0 var(--cs-toast-throw,-6rem)}}@keyframes cedros-shop-toast-out{to{opacity:0;translate:0 -.5rem}}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(.cs-anim-fade){animation:cedros-shop-fade-in var(--cs-dur) var(--cs-ease-out) backwards}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(.cs-anim-value){animation:cedros-shop-value-in var(--cs-dur) var(--cs-ease-out) backwards}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(.cs-anim-check){stroke-dasharray:1;animation:cedros-shop-check-draw var(--cs-dur-slow) var(--cs-ease-out) backwards}.cedros-shop-public .cs-spinner,.cedros-shop-public__dialog .cs-spinner,.cedros-shop-public__sheet .cs-spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:var(--cs-radius-full);border-top-color:currentColor;flex-shrink:0;width:1em;height:1em;animation:.7s linear infinite cedros-shop-spin;display:inline-block}.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content{box-sizing:border-box;color:var(--cs-text,oklch(14.5% 0 0));font:inherit;font-family:var(--cs-font-body);line-height:var(--cs-line-height-body)}.cedros-shop-public *,.cedros-shop-public :before,.cedros-shop-public :after,.cedros-shop-public__dialog *,.cedros-shop-public__sheet *,.cedros-shop-public__select-content *{box-sizing:border-box}.cedros-shop-public{width:100%;min-width:0;color:var(--cs-text,oklch(14.5% 0 0));-webkit-font-smoothing:antialiased;container:cedros-shop/inline-size}.cedros-shop-public :where(h1,h2,h3,p){letter-spacing:0;margin:0}.cedros-shop-public :where(div,section,article,aside,h1,h2,h3,p){overflow-wrap:anywhere;min-width:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(h1,h2,h3){font-family:var(--cs-font-heading)}.cedros-shop-public :where(h1){letter-spacing:-.02em;font-size:clamp(1.75rem,1.2rem + 1.6vw,2.5rem);font-weight:600;line-height:var(--cs-line-height-heading);text-wrap:balance}.cedros-shop-public :where(h2){letter-spacing:-.01em;font-size:clamp(1.125rem,.95rem + .6vw,1.35rem);font-weight:600;line-height:var(--cs-line-height-heading)}.cedros-shop-public :where(p){color:var(--cs-muted);font-size:.925rem;line-height:var(--cs-line-height-body)}.cedros-shop-public :where(a){color:var(--cs-accent);text-underline-offset:.18em;transition:color var(--cs-dur) var(--cs-ease-out), text-decoration-color var(--cs-dur) var(--cs-ease-out);text-decoration-thickness:.08em}.cedros-shop-public :where(img){max-width:100%;height:auto}.cedros-shop-public__eyebrow{color:var(--cs-muted);font-size:.8125rem;font-weight:600;line-height:1.4}.cedros-shop-public__main{scroll-margin-block-start:12rem}.cedros-shop-public .cedros-shop-public__skip-link{z-index:1;max-width:calc(100% - 2 * var(--cs-page-inset));position:absolute;inset-block-start:.5rem;inset-inline-start:var(--cs-page-inset);translate:0 calc(-100% - 1rem)}.cedros-shop-public .cedros-shop-public__skip-link:focus{translate:0}.cedros-shop-public:where(main),.cedros-shop-public :where(main){width:min(100%, var(--cs-container-wide));padding:var(--cs-page-inset);margin:0 auto}.cedros-shop-public :where(header){z-index:20;border-bottom:1px solid color-mix(in srgb, var(--cs-border) 80%, transparent);position:relative}.cedros-shop-public :where(header):before{content:\\\"\\\";z-index:-1;background:var(--cs-bg);pointer-events:none;position:absolute;inset:0}.cedros-shop-public .cedros-shop-public__header-inner{align-items:center;gap:min(.75rem, var(--cs-content-gap));min-width:0;width:min(100%, var(--cs-container-wide));grid-template-columns:minmax(10rem,1fr) auto auto;margin:0 auto;padding:.75rem clamp(1rem,2vw,1.25rem);display:grid}.cedros-shop-public__header-inner>*,.cedros-shop-public__header-search{min-width:0}.cedros-shop-public .cedros-shop-public__header-inner :is(input[type=search],.cedros-shop-public__button){white-space:nowrap;height:2.75rem;min-height:2.75rem}.cedros-shop-public__brand{color:var(--cs-text);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.cedros-shop-public__brand:hover{color:var(--cs-accent)}.cedros-shop-public__header-actions{align-items:center;gap:.5rem;min-width:0;display:flex}.cedros-shop-public__header-actions>*{min-width:0}.cedros-shop-public__surface-heading{gap:.35rem;max-width:64ch;display:grid}.cedros-shop-public__shop-layout,.cedros-shop-public__category-layout,.cedros-shop-public__cart-layout{align-items:start;gap:var(--cs-content-gap);display:grid}.cedros-shop-public__shop-layout,.cedros-shop-public__category-layout{grid-template-columns:minmax(0,1fr)}.cedros-shop-public__cart-layout{grid-template-columns:minmax(0,1fr) minmax(18rem,22.5rem)}.cedros-shop-public__card,.cedros-shop-public article,.cedros-shop-public__cart-panel,.cedros-shop-public__state{border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);background:var(--cs-surface-1);box-shadow:var(--cs-shadow-xs)}.cedros-shop-public__card{overflow:hidden}.cedros-shop-public__card-header,.cedros-shop-public__card-content{padding:1rem}.cedros-shop-public__card-title{font-size:1.25rem;font-weight:600;line-height:1.25}.cedros-shop-public__state{text-align:center;place-items:center;min-height:12rem;padding:clamp(1.25rem,4vw,2.5rem);display:grid}.cedros-shop-public__state>div{gap:.6rem;max-width:32rem;display:grid}.cedros-shop-public__button,.cedros-shop-public :where(button){border:1px solid var(--cs-border);border-radius:var(--cs-radius-md);background:var(--cs-surface-1);min-height:2.5rem;color:var(--cs-text);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--cs-dur) var(--cs-ease-out), border-color var(--cs-dur) var(--cs-ease-out), color var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur) var(--cs-ease-out), scale var(--cs-dur-fast) var(--cs-ease-out), filter var(--cs-dur-fast) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-out);justify-content:center;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.875rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.cedros-shop-public__button:hover,.cedros-shop-public :where(button:hover){border-color:var(--cs-border-strong);background:var(--cs-surface-2)}.cedros-shop-public__button:active:not(:disabled),.cedros-shop-public :where(button:active:not(:disabled)){scale:.98}.cedros-shop-public__button:disabled,.cedros-shop-public :where(button:disabled){cursor:not-allowed;opacity:.55;scale:1}.cedros-shop-public__button--default,.cedros-shop-public :where(button[type=submit]){border-color:var(--cs-action-bg);background:var(--cs-action-bg);color:var(--cs-action-fg);box-shadow:var(--cs-shadow-xs)}.cedros-shop-public__button--default:hover,.cedros-shop-public :where(button[type=submit]:hover){border-color:var(--cs-action-bg);background:var(--cs-action-bg);filter:brightness(1.06)}.cedros-shop-public__button--default:active:not(:disabled){filter:brightness(.97)}.cedros-shop-public__button--secondary{background:var(--cs-surface-3);border-color:#0000}.cedros-shop-public__button--secondary:hover{background:color-mix(in srgb, var(--cs-text) 10%, var(--cs-panel));border-color:#0000}.cedros-shop-public__button--ghost{background:0 0;border-color:#0000}.cedros-shop-public__button--ghost:hover{background:var(--cs-accent-soft);border-color:#0000}.cedros-shop-public__button--outline{background:0 0}.cedros-shop-public__button--link,.cedros-shop-public__button--link:hover{color:var(--cs-accent);box-shadow:none;text-underline-offset:.25rem;background:0 0;border-color:#0000;text-decoration:underline}.cedros-shop-public__button--destructive{border-color:var(--cs-error);background:color-mix(in srgb, var(--cs-error) 8%, var(--cs-panel));color:color-mix(in srgb, var(--cs-error) 70%, var(--cs-text))}.cedros-shop-public__button--destructive:hover{border-color:var(--cs-error);background:color-mix(in srgb, var(--cs-error) 12%, var(--cs-panel))}.cedros-shop-public__button--icon{color:var(--cs-muted);padding:0}.cedros-shop-public__button--icon:hover{color:var(--cs-text)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(input:not([type=checkbox]):not([type=radio]),textarea,select),.cedros-shop-public__input,.cedros-shop-public__select-trigger{border:1px solid var(--cs-control-border);border-radius:var(--cs-radius-md);background:var(--cs-surface-1);width:100%;min-width:0;min-height:2.5rem;color:var(--cs-text);font:inherit;transition:border-color var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur) var(--cs-ease-out);padding:.55rem .75rem;font-size:.875rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(input:where(:not([type=checkbox]):not([type=radio])),textarea,select),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) .cedros-shop-public__select-trigger{border-color:var(--cs-control-border)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :where(input[type=checkbox],input[type=radio]){width:1rem;height:1rem;accent-color:var(--cs-accent);cursor:pointer;flex-shrink:0;margin:0}.cedros-shop-public :where(input:hover,textarea:hover,select:hover),.cedros-shop-public__select-trigger:hover{border-color:var(--cs-control-border)}.cedros-shop-public :where(){color:var(--cs-muted)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus-visible{border-color:var(--cs-ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--cs-ring) 18%, transparent);outline:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) input:is([type=checkbox],[type=radio]):focus-visible,.cedros-shop-public :where(button:focus-visible,a:focus-visible),.cedros-shop-public__dialog :where(button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible),.cedros-shop-public__sheet :where(button:focus-visible,a:focus-visible,input:focus-visible),.cedros-shop-public__select-content :where([role=option]:focus-visible){outline:2px solid var(--cs-ring);outline-offset:2px}.cedros-shop-public.min-h-screen{min-height:100vh}.cedros-shop-public__scroll-y{overscroll-behavior-y:contain;-webkit-mask-image:var(--cs-fade-block);-webkit-mask-image:var(--cs-fade-block);mask-image:var(--cs-fade-block);overflow-y:auto}.cedros-shop-public__scroll-x{overscroll-behavior-inline:contain;-webkit-mask-image:var(--cs-fade-inline);-webkit-mask-image:var(--cs-fade-inline);mask-image:var(--cs-fade-inline);overflow-x:auto}.cedros-shop-public__scroll-y,.cedros-shop-public__scroll-x{--cs-fade-block:linear-gradient(to bottom, transparent 0, #000 var(--cs-fade-top,0px), #000 calc(100% - var(--cs-fade-bottom,0px)), transparent 100%);--cs-fade-inline:linear-gradient(to right, transparent 0, #000 var(--cs-fade-left,0px), #000 calc(100% - var(--cs-fade-right,0px)), transparent 100%)}.cedros-shop-public__modal-layer{z-index:50;background:0 0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;display:block;position:fixed;inset:0;overflow:visible}.cedros-shop-public__overlay{z-index:50;background:var(--cs-overlay-bg);position:fixed;inset:0}.cedros-shop-public__overlay[data-state=open]{animation:cedros-shop-fade-in var(--cs-dur-slow) var(--cs-ease-out)}.cedros-shop-public__overlay[data-state=closed]{animation:cedros-shop-fade-out var(--cs-dur) var(--cs-ease-in) forwards}.cedros-shop-public__overlay--ghost{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0}.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content{border:1px solid var(--cs-border);background:var(--cs-surface-1);color:var(--cs-text)}.cedros-shop-public__dialog{z-index:50;overscroll-behavior:contain;border-radius:var(--cs-radius-xl);width:calc(100% - 2rem);max-width:28rem;max-height:calc(100dvh - 2rem);box-shadow:var(--cs-shadow-lg);position:fixed;top:50%;left:50%;overflow-y:auto;translate:-50% -50%}.cedros-shop-public__dialog[data-state=open]{animation:cedros-shop-dialog-in var(--cs-dur-slow) var(--cs-ease-out)}.cedros-shop-public__dialog[data-state=closed]{animation:cedros-shop-dialog-out var(--cs-dur) var(--cs-ease-in) forwards;pointer-events:none}.cedros-shop-public__sheet{z-index:50;box-shadow:var(--cs-shadow-lg)}.cedros-shop-public__sheet[data-state=closed],.cedros-shop-public__overlay[data-state=closed]{pointer-events:none}.cedros-shop-public__sheet--right[data-state=open]{animation:cedros-shop-slide-in-right var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-public__sheet--right[data-state=closed]{animation:cedros-shop-slide-out-right var(--cs-dur) var(--cs-ease-in) forwards}.cedros-shop-public__sheet--left[data-state=open]{animation:cedros-shop-slide-in-left var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-public__sheet--left[data-state=closed]{animation:cedros-shop-slide-out-left var(--cs-dur) var(--cs-ease-in) forwards}.cedros-shop-public__sheet--bottom[data-state=open]{animation:cedros-shop-slide-in-up var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-public__sheet--bottom[data-state=closed]{animation:cedros-shop-slide-out-down var(--cs-dur) var(--cs-ease-in) forwards}.cedros-shop-public__sheet--top[data-state=open]{animation:cedros-shop-slide-in-down var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-public__sheet--top[data-state=closed]{animation:cedros-shop-slide-out-up var(--cs-dur) var(--cs-ease-in) forwards}.cedros-shop-public__sheet--left,.cedros-shop-public__sheet--right{width:min(92vw,26rem)}.cedros-shop-public__sheet--popup{border-radius:var(--cs-radius-xl);box-shadow:var(--cs-shadow-pop)}.cedros-shop-public__sheet--popup[data-state=open]{animation:cedros-shop-pop-in var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-public__sheet--popup[data-state=closed]{animation:cedros-shop-pop-out var(--cs-dur) var(--cs-ease-in) forwards}@container cedros-shop (width<=1023.98px){.cedros-shop-public__shop-layout,.cedros-shop-public__category-layout{grid-template-columns:1fr}}@container cedros-shop (width<=900px){.cedros-shop-public__cart-layout{grid-template-columns:1fr}}@container cedros-shop (width<=640px){.cedros-shop-public .cedros-shop-public__header-inner{grid-template-columns:minmax(0,1fr) auto}.cedros-shop-public__header-search{grid-column:1/-1}.cedros-shop-public__header-inner>.cedros-shop-public__catalog-refine{grid-column:1}.cedros-shop-public__header-inner>.cedros-shop-public__header-actions{grid-column:2}.cedros-shop-public__header-actions{flex-direction:column;align-items:stretch}.cedros-shop-public__header-actions,.cedros-shop-public__button:where(:not(.cedros-shop-public__button--link)){width:100%}.cedros-shop-public__header-inner .cedros-shop-public__header-actions,.cedros-shop-public__header-inner .cedros-shop-public__filter-trigger,.cedros-shop-public__header-inner .cedros-shop-public__header-actions>.cedros-shop-public__button{width:auto}.cedros-shop-public__header-inner .cedros-shop-public__header-actions{flex-direction:row;align-items:center}.cedros-shop-public__cart-line{grid-template-columns:3rem minmax(0,1fr)}}.cedros-shop-public__product-grid{grid-template-columns:repeat(var(--c154w00l-shop-grid-base,1), minmax(0, 1fr));gap:1rem;display:grid}.cedros-shop-public__product-grid-item{min-width:0;height:100%}.cedros-shop-public__product-thumbnails{scroll-snap-type:inline mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-padding-inline:.125rem}.cedros-shop-public__dialog .cedros-shop-public__dialog-title{padding-block:calc(1.375rem - .625em);padding-inline-end:3rem;line-height:1.25}.cedros-shop-public__dialog.cedros-shop-public__quick-view-dialog{grid-template-rows:auto minmax(0,1fr) auto;gap:0;max-width:40rem;padding:0;overflow:hidden}.cedros-shop-public__quick-view-heading{text-align:start;border-bottom:1px solid var(--cs-border);gap:.5rem;padding:1rem 4.5rem 1rem 1.5rem;display:grid}.cedros-shop-public__quick-view-heading h2{overflow-wrap:anywhere;margin:0}.cedros-shop-public__quick-view-heading a{color:var(--cs-accent);justify-self:start}.cedros-shop-public__quick-view-body{min-height:0;padding:1.5rem}.cedros-shop-public__quick-view-body:focus-visible{outline:2px solid var(--cs-ring);outline-offset:-3px}.cedros-shop-public__quick-view-footer{border-top:1px solid var(--cs-border);gap:.5rem;padding:1rem 1.5rem;display:grid}@container cedros-shop (width<=640px){.cedros-shop-public__quick-view-body,.cedros-shop-public__quick-view-footer{padding:1rem}.cedros-shop-public__quick-view-heading{padding-inline-start:1rem}}.cedros-shop-public__product-thumbnails>*{scroll-snap-align:start;scroll-snap-stop:normal}.cedros-shop-public__category-nav{gap:.25rem;display:grid}.cedros-shop-public__category-nav-item{width:100%;min-height:2.75rem;color:var(--cs-muted);background:0 0;border-color:#0000;justify-content:space-between;font-weight:500}.cedros-shop-public__category-nav-item:hover{background:var(--cs-surface-2);color:var(--cs-text);border-color:#0000}.cedros-shop-public__category-nav-item[aria-current=page]{background:var(--cs-accent-soft);color:var(--cs-text);font-weight:600}.cedros-shop-public__category-nav-chevron{color:var(--cs-muted);flex-shrink:0;display:inline-flex}.cedros-shop-public__category-nav-chevron:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){scale:-1 1}.cedros-shop-public__tag-options{max-height:16rem}.cedros-shop-public__filters{gap:1rem;display:grid}.cedros-shop-public__skeleton{background:color-mix(in srgb, var(--cs-muted) 13%, transparent);min-height:1rem;position:relative;overflow:hidden}.cedros-shop-public__skeleton:after{content:\\\"\\\";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cs-panel) 55%, transparent), transparent);animation:cedros-shop-shimmer 1.8s var(--cs-ease-out) infinite;position:absolute;inset:0;translate:-100%}.cedros-shop-public__product-card{min-width:0;height:100%;transition:border-color var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur-slow) var(--cs-ease-out);flex-direction:column;display:flex;overflow:hidden}.cedros-shop-public .cedros-shop-public__product-card{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.cedros-shop-public .cedros-shop-public__product-card>.cedros-shop-public__product-media{border-radius:var(--cs-radius-lg)}.cedros-shop-public .cedros-shop-public__product-card-body{padding-inline:0}.cedros-shop-public .cedros-shop-public__product-badges>.cedros-shop-public__badge:not(.cedros-shop-public__badge--accent){color:var(--cs-muted);background:0 0;border:0;padding-inline:0}.cedros-shop-public .cedros-shop-public__product-badges{gap:.75rem}.cedros-shop-public .cedros-shop-public__product-card .cedros-shop-public__product-title{font-size:.9375rem;line-height:1.35}.cedros-shop-public .cedros-shop-public__product-card-price .cedros-shop-public__price-current{font-size:.9375rem;font-weight:400}.cedros-shop-public .cedros-shop-public__product-card--unavailable .cedros-shop-public__product-media img{opacity:.55;filter:grayscale(.35)}.cedros-shop-public .cedros-shop-public__product-card-action{width:auto;color:var(--cs-text);margin-inline-start:-.5rem;padding-inline:.5rem}.cedros-shop-public .cedros-shop-public__product-card-action:hover{background:var(--cs-accent-soft)}.cedros-shop-public__catalog-toolbar{border-bottom:1px solid var(--cs-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-block:1rem;padding-block:.5rem;display:flex}.cedros-shop-public .cedros-shop-public__category-nav--inline{flex-wrap:wrap;flex:24rem;gap:.25rem 1rem;display:flex}.cedros-shop-public .cedros-shop-public__category-nav--inline .cedros-shop-public__category-nav-item{width:auto;min-height:2.75rem;color:var(--cs-muted);background:0 0;border-radius:0;padding-inline:0;text-decoration:none}.cedros-shop-public .cedros-shop-public__category-nav--inline .cedros-shop-public__category-nav-item[aria-current=page]{color:var(--cs-text);text-underline-offset:.5rem;font-weight:600;text-decoration:underline}.cedros-shop-public__category-nav--inline .cedros-shop-public__category-nav-chevron{display:none}.cedros-shop-public__category-nav--inline .truncate{white-space:normal;overflow:visible}.cedros-shop-public__catalog-refine{align-items:center;gap:.75rem;min-width:0;display:flex}.cedros-shop-public__catalog-sort,.cedros-shop-public__sort{min-width:0;position:relative}.cedros-shop-public .cedros-shop-public__sort-trigger{justify-content:space-between;gap:1rem;width:100%;min-width:10rem;display:flex}.cedros-shop-public__sort-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cedros-shop-public__sort-trigger>svg{flex:none}.cedros-shop-public__sort-menu{z-index:30;border-radius:var(--cs-radius-md);width:max-content;min-width:100%;max-width:min(22rem,80vw);box-shadow:var(--cs-shadow-md);padding:.25rem;position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-end:0}.cedros-shop-public .cedros-shop-public__sort-menu [role=option]{border-radius:var(--cs-radius-sm);width:100%;min-height:2.75rem;color:var(--cs-text);font:inherit;text-align:start;background:0 0;border:0;justify-content:space-between;gap:1rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.cedros-shop-public .cedros-shop-public__sort-menu [data-active=true]{background:var(--cs-surface-2);outline:1px solid var(--cs-ring);outline-offset:-1px}.cedros-shop-public .cedros-shop-public__filter-trigger{flex:none;gap:.5rem}@container cedros-shop (width<=640px){.cedros-shop-public__catalog-refine{gap:.5rem}.cedros-shop-public__catalog-sort{flex:1}.cedros-shop-public .cedros-shop-public__header-inner .cedros-shop-public__button{padding-inline:.6rem}.cedros-shop-public .cedros-shop-public__catalog-refine .cedros-shop-public__sort-trigger{width:100%;min-width:0}.cedros-shop-public__catalog-refine .cedros-shop-public__button{width:auto}}.cedros-shop-public__catalog-query{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.cedros-shop-public__catalog-query p{overflow-wrap:anywhere;margin:0}.cedros-shop-public__product-actions{gap:.5rem;display:grid}.cedros-shop-public__product-quantity-label{color:var(--cs-muted)}.cedros-shop-public__product-buy-row{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.cedros-shop-public__product-buy-row>.cedros-shop-public__product-quantity{flex:0 10rem}.cedros-shop-public__product-buy-row>.cedros-shop-public__product-add{flex:9rem;min-width:0}.cedros-shop-public .cedros-shop-public__product-actions .cedros-shop-public__button--acquire{width:100%}@media (hover:hover){.cedros-shop-public__product-card:hover{border-color:var(--cs-border-strong);box-shadow:var(--cs-shadow-md)}}.cedros-shop-public__product-card:focus-within{border-color:var(--cs-border-strong)}.cedros-shop-public__product-card-body{gap:.75rem;padding:1rem;display:grid}.cedros-shop-public__product-media{background:color-mix(in srgb, var(--cs-muted) 10%, transparent);position:relative;overflow:hidden}.cedros-shop-public__product-media img{object-fit:cover;width:100%;height:100%;transition:scale calc(var(--cs-dur-slow) * 1.5) var(--cs-ease-out);display:block}@media (hover:hover){.cedros-shop-public__product-card:hover .cedros-shop-public__product-media img{scale:1.045}}.cedros-shop-public__product-media-actions{z-index:1;top:.75rem;pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex;position:absolute;inset-inline:.75rem}.cedros-shop-public__quick-view{pointer-events:auto;opacity:0;max-width:100%;transition:opacity var(--cs-dur) var(--cs-ease-out), translate var(--cs-dur) var(--cs-ease-out);margin-inline-start:auto;translate:0 -.25rem}.cedros-shop-public__product-card:hover .cedros-shop-public__quick-view,.cedros-shop-public__product-card:focus-within .cedros-shop-public__quick-view{opacity:1;translate:0}.cedros-shop-public__quick-view .cedros-shop-public__button{background:var(--cs-panel);box-shadow:var(--cs-shadow-sm)}@media (hover:none){.cedros-shop-public__quick-view{opacity:1;translate:0}}.cedros-shop-public__product-title{color:var(--cs-text);font-size:.9rem;font-weight:600;line-height:1.35}.cedros-shop-public__product-description,.cedros-shop-public__muted{color:var(--cs-muted);font-size:.8125rem;line-height:1.5}.cedros-shop-public__price{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.cedros-shop-public__price-current{color:var(--cs-text);font-weight:600}.cedros-shop-public__price-compare{color:var(--cs-muted);text-decoration:line-through}.cedros-shop-public__product-badges{min-width:0}.cedros-shop-public .cedros-shop-public__product-media-link{color:inherit;text-decoration:none}.cedros-shop-public__product-stock{max-width:100%}.cedros-shop-public__product-badges>*,.cedros-shop-public__product-stock>*{overflow-wrap:anywhere;min-width:0;max-width:100%}.cedros-shop-public__badge{border:1px solid var(--cs-border);border-radius:var(--cs-radius-detail);background:var(--cs-panel);min-height:1.5rem;color:var(--cs-text);align-items:center;gap:.3rem;padding:.18rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.cedros-shop-public__badge--accent{border-color:color-mix(in srgb, var(--cs-accent) 45%, var(--cs-border));background:var(--cs-accent-soft);color:var(--cs-accent)}.cedros-shop-public__badge--warning,.cedros-shop-public__badge--error{background:var(--cs-panel)}.cedros-shop-public__badge--warning:before,.cedros-shop-public__badge--error:before{content:\\\"\\\";border-radius:var(--cs-radius-full);background:currentColor;flex:none;width:.375rem;height:.375rem}.cedros-shop-public__badge--warning{border-color:color-mix(in srgb, var(--cs-warning) 45%, var(--cs-border));color:color-mix(in srgb, var(--cs-warning) 55%, var(--cs-text))}.cedros-shop-public__badge--error,.cedros-shop-public__error{border-color:color-mix(in srgb, var(--cs-error) 45%, var(--cs-border));color:color-mix(in srgb, var(--cs-error) 75%, var(--cs-text))}.cedros-shop-public__asset-badge{background:color-mix(in srgb, var(--cs-accent) 10%, var(--cs-panel));color:var(--cs-accent);white-space:normal;overflow-wrap:anywhere;max-width:100%}.cedros-shop-public__warning{color:color-mix(in srgb, var(--cs-warning) 55%, var(--cs-text))}.cedros-shop-public__notice{border:1px solid color-mix(in srgb, var(--cs-warning) 50%, var(--cs-border));border-radius:var(--cs-radius-lg);background:var(--cs-warning-soft);color:var(--cs-text);padding:.75rem}.cedros-shop-public__notice :where(p){color:var(--cs-text)}.cedros-shop-public__success{border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);background:var(--cs-success-soft);color:var(--cs-text);padding:.75rem}.cedros-shop-public p.cedros-shop-public__success,.cedros-shop-public p.cedros-shop-public__error.border,.cedros-shop-public p.cedros-shop-public__success[role=status],.cedros-shop-public p.cedros-shop-public__error[role=alert]{animation:cedros-shop-fade-in var(--cs-dur) var(--cs-ease-out) backwards}.cedros-shop-public p.cedros-shop-public__error.border{background:var(--cs-error-soft)}@container cedros-shop (width>=768px){.cedros-shop-public__product-grid{grid-template-columns:repeat(var(--c154w00l-shop-grid-md,3), minmax(0, 1fr))}}@container cedros-shop (width>=1024px){.cedros-shop-public__product-grid{grid-template-columns:repeat(var(--c154w00l-shop-grid-lg,3), minmax(0, 1fr))}}@container cedros-shop (width>=1280px){.cedros-shop-public .cedros-shop-public__product-grid{grid-template-columns:repeat(var(--c154w00l-shop-grid-xl,4), minmax(0, 1fr))}}@container cedros-shop (width<=640px){.cedros-shop-public__product-grid{grid-template-columns:1fr;gap:.75rem}.cedros-shop-public__product-card-body{gap:.5rem;padding:.75rem}}.cedros-shop-public .cedros-shop-public__catalog-sidebar{box-shadow:none;background:0 0;border:0}.cedros-shop-public__catalog-sidebar>.cedros-shop-public__card-header,.cedros-shop-public__catalog-sidebar>.cedros-shop-public__card-content{padding-inline:0}.cedros-shop-public__product-title a{color:inherit;text-decoration:none}.cedros-shop-public__product-title a:hover{text-decoration:underline}.cedros-shop-public__missing-media{width:100%;height:100%;min-height:inherit;background:var(--cs-surface-2);color:color-mix(in srgb, var(--cs-muted) 80%, var(--cs-text));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.cedros-shop-public__product-intro{max-width:60ch;color:var(--cs-muted);white-space:pre-line;line-height:1.65}.cedros-shop-public__product-layout{align-items:start;gap:1.5rem;display:grid}.cedros-shop-public__product-gallery>.cedros-shop-public__product-media{max-height:70vh}.cedros-shop-public__product-media .cedros-shop-public__gallery-image{object-fit:cover}.cedros-shop-public .cedros-shop-public__product-price .cedros-shop-public__price-current{font-size:1.375rem;font-weight:500}.cedros-shop-public .cedros-shop-public__product-price .cedros-shop-public__price-compare{font-size:1rem}@container cedros-shop (width>=768px){.cedros-shop-public__product-layout{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem}.cedros-shop-public__product-layout>.cedros-shop-public__surface-heading{grid-area:1/2}.cedros-shop-public__product-gallery{grid-area:1/1/span 2}.cedros-shop-public__product-gallery>.cedros-shop-public__product-media{max-height:none}.cedros-shop-public__product-purchase{grid-area:2/2}}.cedros-shop-public__product-specs{margin:0}.cedros-shop-public__product-specs>div{border-bottom:1px solid var(--cs-border);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:1rem;padding-block:.5rem;display:grid}.cedros-shop-public__product-specs dt{color:var(--cs-muted)}.cedros-shop-public__product-specs dd{overflow-wrap:anywhere;margin:0}.cedros-shop-public__asset-fact>*{overflow-wrap:anywhere;min-width:0}.cedros-shop-public__asset-fact>:last-child{text-align:end}.cedros-shop-public .cedros-shop-public__identifier{font-family:var(--cs-font-mono);font-variant-ligatures:none;overflow-wrap:anywhere;font-size:.9em}.cedros-shop-public .cedros-shop-public__identifier-copy{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.cedros-shop-public .cedros-shop-public__identifier-status{color:var(--cs-muted);font-size:.75rem;line-height:1.4}.cedros-shop-public :where(button[aria-pressed=true]) .cedros-shop-public__muted{color:color-mix(in srgb, var(--cs-muted) 80%, var(--cs-text))}.cedros-shop-public :where(button[aria-pressed=true]),.cedros-shop-public__dialog :where(button[aria-pressed=true]),.cedros-shop-public__sheet :where(button[aria-pressed=true]){border-color:var(--cs-accent);background:var(--cs-accent-soft);box-shadow:inset 0 0 0 1px var(--cs-accent)}.cedros-shop-public__segmented{border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);background:var(--cs-surface-2);gap:.25rem;padding:.25rem;display:inline-flex}.cedros-shop-public__segmented :where(button){min-height:2rem;color:color-mix(in srgb, var(--cs-muted) 90%, var(--cs-text));background:0 0;border-color:#0000;font-weight:600}.cedros-shop-public__segmented :where(button:hover){color:var(--cs-text);background:0 0;border-color:#0000}.cedros-shop-public__segmented :where(button[aria-pressed=true]){border-color:var(--cs-border);background:var(--cs-surface-1);color:var(--cs-text);box-shadow:var(--cs-shadow-xs)}.cedros-shop-public__plan-card{transition:border-color var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur-slow) var(--cs-ease-out);flex-direction:column;padding:1.5rem;display:flex}@media (hover:hover){.cedros-shop-public__plan-card:hover{border-color:var(--cs-border-strong);box-shadow:var(--cs-shadow-md)}}.cedros-shop-public .cedros-shop-public__plan-card--popular{border-color:var(--cs-accent);box-shadow:0 0 0 1px var(--cs-accent), var(--cs-shadow-sm)}@media (hover:hover){.cedros-shop-public .cedros-shop-public__plan-card--popular:hover{border-color:var(--cs-accent);box-shadow:0 0 0 1px var(--cs-accent), var(--cs-shadow-md)}}.cedros-shop-public__plan-price{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:2rem;font-weight:600}.cedros-shop-public__plan-price>span{display:inline-block}@container cedros-shop (width<=480px){.cedros-shop-public__plan-price{font-size:1.5rem}}.cedros-shop-public__plan-card h3{overflow-wrap:anywhere;margin:0}.cedros-shop-public .cedros-shop-public__plan-action{margin-top:auto}.cedros-shop-public__plan-features{gap:.5rem;margin:0;padding:0 0 1.5rem;list-style:none;display:grid}.cedros-shop-public__plan-features :where(li){color:var(--cs-muted);align-items:flex-start;gap:.5rem;display:flex}.cedros-shop-public__plan-features :where(svg){color:var(--cs-accent);flex-shrink:0;margin-top:.125rem}.cedros-shop-public__order-card{transition:border-color var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur-slow) var(--cs-ease-out)}.cedros-shop-public__order-card:hover{border-color:var(--cs-border-strong);box-shadow:var(--cs-shadow-sm)}.cedros-shop-public__order-lines{color:var(--cs-muted);font-variant-numeric:tabular-nums}.cedros-shop-public .cedros-shop-public__checkout-fields>.cedros-shop-public__card{border:0;border-top:1px solid var(--cs-border);box-shadow:none;background:0 0;border-radius:0;overflow:visible}.cedros-shop-public .cedros-shop-public__checkout-fields>.cedros-shop-public__card:first-child{border-top:0}.cedros-shop-public .cedros-shop-public__checkout-fields>.cedros-shop-public__card>.cedros-shop-public__card-header,.cedros-shop-public .cedros-shop-public__checkout-fields>.cedros-shop-public__card>.cedros-shop-public__card-content{padding-inline:0}.cedros-shop-public .cedros-shop-public__checkout-fields>.cedros-shop-public__card:first-child>.cedros-shop-public__card-header{padding-top:0}.cedros-shop-public__inventory-notice{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-block:1.5rem;padding:1rem;display:flex}.cedros-shop-public__inventory-notice p{flex:24rem;margin:0}.cedros-shop-public__inline-form{flex-wrap:wrap;gap:.5rem;display:flex}.cedros-shop-public__inline-form input{flex:12rem}.cedros-shop-public__cart-panel{gap:1rem;padding:1rem;display:grid}.cedros-shop-public__cart-list{overscroll-behavior-inline:contain;overflow-x:auto}.cedros-shop-public__cart-line{border-bottom:1px solid var(--cs-border);transition:background var(--cs-dur) var(--cs-ease-out);grid-template-columns:4rem minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:1rem;display:grid}.cedros-shop-public__cart-line--compact{align-items:flex-start;display:flex}.cedros-shop-public .cedros-shop-public__cart-line-main{flex-wrap:wrap;row-gap:.25rem}.cedros-shop-public .cedros-shop-public__cart-line-text{flex:8rem}.cedros-shop-public__collapsible-inner>.cedros-shop-public__cart-line{padding:0}.cedros-shop-public .cedros-shop-public__cart-line-heading>:first-child{flex:auto;min-width:0}.cedros-shop-public .cedros-shop-public__cart-line-heading>:last-child{flex:none}.cedros-shop-public .cedros-shop-public__cart-line .cedros-shop-public__cart-remove{width:auto}.cedros-shop-public__cart-summary-card{gap:1rem;display:grid}.cedros-shop-public .cedros-shop-public__cart-continue{min-height:2.75rem;color:var(--cs-text);text-decoration:none}.cedros-shop-public .cedros-shop-public__cart-continue:hover{text-decoration:underline}.cedros-shop-public__cart-line--summary{flex-wrap:wrap}.cedros-shop-public .cedros-shop-public__cart-line--summary{padding:.75rem 0}.cedros-shop-public .cedros-shop-public__cart-line--summary:first-child{padding-top:0}.cedros-shop-public__cart-line-title{overflow-wrap:anywhere}.cedros-shop-public__cart-line:last-child{border-bottom:0}@container cedros-shop (width>=640px){.cedros-shop-public .cedros-shop-public__cart-list-header{padding-inline:2.25rem}.cedros-shop-public .cedros-shop-public__cart-line-total{text-align:end;align-items:flex-end}.cedros-shop-public .cedros-shop-public__cart-line-total .cedros-shop-public__cart-remove{margin-inline-end:-.5rem}}.cedros-shop-public .cedros-shop-public__cart-remove{color:var(--cs-muted);font-weight:500}.cedros-shop-public .cedros-shop-public__cart-remove:hover{color:var(--cs-text)}.cedros-shop-public__cart-summary{gap:.85rem;display:grid}.cedros-shop-public__collapsible{transition:grid-template-rows var(--cs-dur-entrance) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-in);grid-template-rows:1fr;display:grid}.cedros-shop-public__collapsible-inner{min-width:0;min-height:0;overflow:hidden}.cedros-shop-public__collapsible[data-leaving]{opacity:0;pointer-events:none;grid-template-rows:0fr}.cedros-shop-public .cedros-shop-public__reveal{opacity:1;transition:grid-template-rows var(--cs-dur-entrance) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-out);grid-template-rows:1fr;display:grid}@starting-style{.cedros-shop-public .cedros-shop-public__reveal{opacity:0;grid-template-rows:0fr}}.cedros-shop-public__select-field{width:100%;display:block;position:relative}.cedros-shop-public .cedros-shop-public__select-trigger{appearance:none;padding-inline-end:2.25rem}.cedros-shop-public__select-arrow{inset-inline-end:.75rem;pointer-events:none;background-color:var(--cs-muted);width:1rem;height:1rem;position:absolute;top:50%;translate:0 -50%;-webkit-mask:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\\\") 50%/contain no-repeat;mask:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\\\") 50%/contain no-repeat}.cedros-shop-public__select-content{z-index:60;border-radius:var(--cs-radius-md);box-shadow:var(--cs-shadow-md);padding:.25rem}.cedros-shop-public__select-content[data-state=open]{animation:cedros-shop-pop-in var(--cs-dur) var(--cs-ease-out)}.cedros-shop-public__select-content [role=option]{border-radius:var(--cs-radius-sm);transition:background var(--cs-dur-fast) var(--cs-ease-out)}.cedros-shop-public__select-content [role=option]:hover,.cedros-shop-public__select-content [role=option][data-highlighted]{background:var(--cs-accent-soft);outline:none}.cedros-shop-public__select-content [role=option][data-state=checked]{font-weight:600}.cedros-shop-public__accordion-trigger{border-radius:var(--cs-radius-none);background:0 0;border:0;min-height:0;padding:0;font-weight:600}.cedros-shop-public__accordion-trigger:hover{color:var(--cs-accent);background:0 0;border:0}.cedros-shop-public__accordion-trigger:active:not(:disabled){scale:1}.cedros-shop-public__accordion-chevron{color:var(--cs-muted);transition:rotate var(--cs-dur-entrance) var(--cs-ease-out);display:inline-flex}.cedros-shop-public__accordion-trigger[data-state=open] .cedros-shop-public__accordion-chevron{rotate:180deg}.cedros-shop-public__accordion-content{opacity:0;transition:grid-template-rows var(--cs-dur-entrance) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-out);grid-template-rows:0fr;display:grid;overflow:hidden}.cedros-shop-public__accordion-content[data-state=open]{opacity:1;grid-template-rows:1fr}.cedros-shop-public__accordion-content-inner{min-height:0;overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) .cedros-shop-public__disclosure-trigger{justify-content:space-between;width:100%;padding-inline:0}.cedros-shop-public__disclosure-chevron{transition:rotate var(--cs-dur) var(--cs-ease-out);display:inline-flex}.cedros-shop-public__disclosure-chevron[data-state=open]{rotate:180deg}.cedros-shop-public__disclosure-content{opacity:0;transition:grid-template-rows var(--cs-dur-entrance) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-out);grid-template-rows:0fr;display:grid}.cedros-shop-public__disclosure-content[data-state=open]{opacity:1;grid-template-rows:1fr}.cedros-shop-public__disclosure-content-inner{min-height:0;overflow:hidden}.cedros-shop-public__disclosure-content-inner>:first-child{margin-top:.5rem}.cedros-shop-public__state--empty{background:var(--cs-surface-1);animation:cedros-shop-rise var(--cs-dur-entrance) var(--cs-ease-out) backwards;border-style:dashed}.cedros-shop-public__state-illustration{color:var(--cs-muted);place-items:center;margin:0 auto .75rem;display:grid}.cedros-shop-public__state-illustration .cs-illo-accent{color:var(--cs-accent)}.cedros-shop-public__state-icon--error{border-radius:var(--cs-radius-control);background:var(--cs-error-soft);width:2.5rem;height:2.5rem;color:var(--cs-error);place-items:center;margin:0 auto .25rem;display:grid}.cedros-shop-public__state--confirmed{background:var(--cs-surface-1);animation:cedros-shop-rise var(--cs-dur-entrance) var(--cs-ease-out) backwards}.cedros-shop-public__state-icon--success{border-radius:var(--cs-radius-control);background:var(--cs-success-soft);width:2.5rem;height:2.5rem;color:var(--cs-success);place-items:center;margin:0 auto .25rem;display:grid}.cedros-shop-public__search-icon{color:var(--cs-muted);pointer-events:none;align-items:center;display:flex;position:absolute;inset-block:0;inset-inline-start:.75rem}.cedros-shop-public__search-clear{top:50%;border-radius:var(--cs-radius-control);width:2.75rem;height:2.75rem;min-height:0;color:var(--cs-muted);animation:cedros-shop-fade-in var(--cs-dur) var(--cs-ease-out);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-inline-end:0;translate:0 -50%}.cedros-shop-public__search-clear:hover{background:var(--cs-surface-3);color:var(--cs-text);border:0}.cedros-shop-toast{z-index:70;width:auto;height:auto;color:inherit;pointer-events:none;font-family:var(--cs-font-body);background:0 0;border:0;justify-items:center;gap:.5rem;margin:0;padding:0;display:grid;position:fixed;inset:1rem 1rem auto;overflow:visible}.cedros-shop-toast .cedros-shop-toast__toast{border:1px solid var(--cs-border,oklch(92.2% 0 0));border-radius:var(--cs-radius-card,1rem);background:var(--cs-panel,oklch(100% 0 0));width:min(100%,28rem);color:var(--cs-text,oklch(14.5% 0 0));box-shadow:var(--cs-shadow-lg);font:inherit;pointer-events:auto;scale:calc(1 - var(--cs-toast-depth,0) * .025);opacity:calc(1 - var(--cs-toast-depth,0) * .14);translate:0 var(--cs-toast-drag,0px);touch-action:none;transition:scale var(--cs-dur-slow) var(--cs-ease-out), opacity var(--cs-dur-slow) var(--cs-ease-out), translate var(--cs-dur-slow) var(--cs-ease-out);align-items:flex-start;gap:.5rem;padding:.85rem 1rem;font-size:.875rem;display:flex}.cedros-shop-toast .cedros-shop-toast__toast[data-dragging]{cursor:grabbing;transition:none}.cedros-shop-toast .cedros-shop-toast__toast[data-state=open]{animation:cedros-shop-toast-in var(--cs-dur-entrance) var(--cs-ease-out)}.cedros-shop-toast .cedros-shop-toast__toast[data-state=closed]{animation:cedros-shop-toast-out var(--cs-dur) var(--cs-ease-in) forwards;pointer-events:none}.cedros-shop-toast .cedros-shop-toast__toast[data-swipe=out]{animation:cedros-shop-toast-throw var(--cs-dur) var(--cs-ease-in) forwards;pointer-events:none}.cedros-shop-toast .cedros-shop-toast__content{flex:auto;align-self:center;min-width:0}.cedros-shop-toast .cedros-shop-toast__close{border-radius:var(--cs-radius-control,.5rem);width:2.75rem;height:2.75rem;color:var(--cs-muted,oklch(55.6% 0 0));cursor:pointer;transition:background var(--cs-dur) var(--cs-ease-out), color var(--cs-dur) var(--cs-ease-out);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-.5rem -.75rem -.5rem 0;padding:0;display:inline-flex}.cedros-shop-toast .cedros-shop-toast__close:hover{background:var(--cs-surface-3,oklch(96% 0 0));color:var(--cs-text,oklch(14.5% 0 0))}.cedros-shop-toast .cedros-shop-toast__close:focus-visible{outline:2px solid var(--cs-ring);outline-offset:-2px}.cedros-shop-toast .cedros-shop-toast__title{color:var(--cs-text,oklch(14.5% 0 0));font-family:var(--cs-font-heading);font-weight:600;line-height:1.4}.cedros-shop-toast .cedros-shop-toast__description{color:var(--cs-muted,oklch(55.6% 0 0));font-size:.8125rem;line-height:1.5}.cedros-shop-toast .cedros-shop-toast__action{border:1px solid var(--cs-border,oklch(92.2% 0 0));border-radius:var(--cs-radius-control,.75rem);background:var(--cs-surface-2,oklch(98.5% 0 0));min-height:2.75rem;color:var(--cs-text,oklch(14.5% 0 0));cursor:pointer;transition:background var(--cs-dur) var(--cs-ease-out), border-color var(--cs-dur) var(--cs-ease-out);justify-content:center;align-items:center;padding:0 .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.cedros-shop-toast .cedros-shop-toast__action:hover{border-color:var(--cs-border-strong,oklch(75% 0 0));background:var(--cs-surface-3,oklch(96% 0 0))}.cedros-shop-toast .cedros-shop-toast__action:focus-visible{outline:2px solid var(--cs-ring);outline-offset:2px}.cedros-shop-cart-badge{animation:.22s cubic-bezier(.16,1,.3,1) backwards cedros-shop-badge-in}.cedros-shop-cart-badge:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){--cs-badge-x:-.375rem}.cedros-shop-public__search input::-webkit-search-cancel-button{-webkit-appearance:none}.cedros-shop-public__history-header,.cedros-shop-public__order-card-head,.cedros-shop-public__order-total{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cedros-shop-public__history-header{flex-wrap:wrap}.cedros-shop-public .cedros-shop-public__history-header{z-index:auto;border-bottom:0;position:static}.cedros-shop-public .cedros-shop-public__history-header:before{content:none}.cedros-shop-public__order-total{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;font-weight:600}.cedros-shop-public__order-totals{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:.75rem;margin:1rem 0 0;display:grid}.cedros-shop-public__order-totals div,.cedros-shop-public__shipment-card{border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);background:var(--cs-surface-1)}.cedros-shop-public__order-totals div{padding:.75rem}.cedros-shop-public__order-totals dt{color:var(--cs-muted);font-size:.75rem}.cedros-shop-public__order-totals dd{color:var(--cs-text);font-variant-numeric:tabular-nums;margin:.2rem 0 0;font-weight:600}.cedros-shop-public__order-ops{border-top:1px solid var(--cs-border);gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.cedros-shop-public__shipment-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.cedros-shop-public__shipment-card{gap:.75rem;padding:.9rem;display:grid}.cedros-shop-public__compact-list{color:var(--cs-muted);gap:.25rem;margin:0;padding:0;font-size:.8125rem;list-style:none;display:grid}.cedros-shop-public__timeline{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.cedros-shop-public__timeline li{grid-template-columns:.75rem 1fr;align-items:start;gap:.75rem;display:grid}.cedros-shop-public__timeline li>span{border-radius:var(--cs-radius-full);background:var(--cs-accent);width:.65rem;height:.65rem;margin-top:.35rem}.cedros-shop-public__timeline p{color:var(--cs-muted);margin:.15rem 0 0;font-size:.8125rem}.cedros-shop-public__order-links,.cedros-shop-public__order-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cedros-shop-public__return-policy{color:var(--cs-muted);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.cedros-shop-public__operation-form{border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);background:var(--cs-surface-1);gap:.9rem;padding:1rem;display:grid}.cedros-shop-public__operation-form h3{margin:0;font-size:1rem}.cedros-shop-public__operation-form p{color:var(--cs-muted);margin:.25rem 0 0;font-size:.875rem}.cedros-shop-public__field,.cedros-shop-public__line-selector{gap:.45rem;display:grid}.cedros-shop-public__field span,.cedros-shop-public__line-selector legend{color:var(--cs-text);font-size:.8125rem;font-weight:500}.cedros-shop-public__textarea{resize:vertical;border:1px solid var(--cs-border);border-radius:var(--cs-radius-md);background:var(--cs-panel);width:100%;min-height:5rem;color:var(--cs-text);font:inherit;padding:.65rem .75rem}.cedros-shop-public__line-selector{border:0;margin:0;padding:0}.cedros-shop-public__line-selector label{color:var(--cs-muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.cedros-shop-public__order-detail{gap:1rem;padding-top:1rem;display:grid}.cedros-shop-public__order-card-head{flex-wrap:wrap}.cedros-shop-public__order-card-head>div{min-width:0}.cedros-shop-public__order-card-head>div:first-child{flex:12rem}.cedros-shop-public__order-card-head h2{overflow-wrap:anywhere}.cedros-shop-public__order-total{overflow-wrap:anywhere;flex:none;max-width:100%;margin-inline-start:auto}.cedros-shop-public__order-lines>div>:first-child{overflow-wrap:anywhere;min-width:0}.cedros-shop-public__order-lines>div>:last-child{text-align:end;font-variant-numeric:tabular-nums}.cedros-shop-public__order-totals div{background:0 0;border:0;padding:0}.cedros-shop-public__order-ops .cedros-shop-public__disclosure-trigger{text-align:start;justify-content:flex-start;gap:.5rem}.cedros-shop-public__account-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}@container cedros-shop (width>=1024px){.cedros-shop-public__account-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.cedros-shop-public__account-profile{grid-area:1/1}.cedros-shop-public__account-addresses{grid-area:1/2/span 2}.cedros-shop-public__account-checkout{grid-area:2/1}}.cedros-shop-public__account-support{border-top:1px solid var(--cs-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-block:1rem;display:flex}.cedros-shop-public__account-support p{margin:.5rem 0 0}.cedros-shop-public__address-list{gap:.75rem;display:grid}.cedros-shop-public__address-row{border-bottom:1px solid var(--cs-border);justify-content:space-between;align-items:flex-start;gap:1rem;padding-block:1rem;display:flex}.cedros-shop-public__address-row p{color:var(--cs-muted);margin:.25rem 0 0;font-size:.8125rem;line-height:1.5}.cedros-shop-public__address-delete{border:1px solid color-mix(in srgb, var(--cs-error) 35%, var(--cs-border));border-radius:var(--cs-radius-md);background:color-mix(in srgb, var(--cs-error) 8%, var(--cs-surface-1));gap:.6rem;max-width:24rem;padding:.75rem;font-size:.8125rem;display:grid}@container cedros-shop (width<=640px){.cedros-shop-public__address-row{display:grid}}.cedros-shop-public__account-editor[hidden]{display:none}.cedros-shop-public__account-grid .cedros-shop-public__field p{overflow-wrap:anywhere;margin:0}.cedros-shop-public__account-value{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:baseline;gap:.25rem 1rem}.cedros-shop-public__account-value>p{grid-column:2}@container cedros-shop (width<=480px){.cedros-shop-public__account-value{grid-template-columns:minmax(0,1fr)}.cedros-shop-public__account-value>p{grid-column:1}}@container cedros-shop (width<=640px){.cedros-shop-public .cedros-shop-public__account-navigation>.cedros-shop-public__button,.cedros-shop-public .cedros-shop-public__address-actions>.cedros-shop-public__button{width:auto;min-width:0}}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.block){display:block}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.inline-block){display:inline-block}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.inline-flex){display:inline-flex}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.flex),.cedros-shop-public__dialog :where(.flex),.cedros-shop-public__sheet :where(.flex){display:flex}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.grid),.cedros-shop-public__dialog :where(.grid),.cedros-shop-public__sheet :where(.grid){display:grid}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.hidden),.cedros-shop-public__sheet :where(.hidden){display:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.flex-col),.cedros-shop-public__sheet :where(.flex-col){flex-direction:column}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.flex-wrap),.cedros-shop-public__dialog :where(.flex-wrap){flex-wrap:wrap}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.items-start){align-items:flex-start}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.items-center),.cedros-shop-public__sheet :where(.items-center){align-items:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.items-end){align-items:flex-end}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.items-baseline){align-items:baseline}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.justify-start){justify-content:flex-start}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.justify-center){justify-content:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.justify-end){justify-content:flex-end}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.justify-between),.cedros-shop-public__sheet :where(.justify-between){justify-content:space-between}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.flex-1),.cedros-shop-public__sheet :where(.flex-1){flex:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.shrink-0){flex-shrink:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.min-w-0){min-width:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.min-h-0){min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-full),.cedros-shop-public__dialog:where(.w-full),.cedros-shop-public__sheet:where(.w-full){width:100%}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-full),.cedros-shop-public__sheet:where(.h-full){height:100%}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mx-auto){margin-inline:auto}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.self-start){align-self:start}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sticky){position:sticky}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.relative){position:relative}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.absolute){position:absolute}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sr-only){clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.fixed),.cedros-shop-public__dialog:where(.fixed),.cedros-shop-public__sheet:where(.fixed){position:fixed}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.inset-0),.cedros-shop-public__sheet:where(.inset-0){inset:0}.cedros-shop-public__sheet:where(.inset-x-0),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.inset-x-0){inset-inline:0}.cedros-shop-public__sheet:where(.inset-y-0),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.inset-y-0){inset-block:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.top-0){top:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.top-3){top:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.top-4){top:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.top-24){top:6rem}.cedros-shop-public__sheet:where(.right-0),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.right-0){right:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.right-3){inset-inline-end:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.right-4){inset-inline-end:1rem}.cedros-shop-public__sheet:where(.right-4){right:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.bottom-0),.cedros-shop-public__sheet:where(.bottom-0){bottom:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.bottom-3){bottom:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.bottom-4),.cedros-shop-public__sheet:where(.bottom-4){bottom:1rem}.cedros-shop-public__sheet:where(.left-0),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.left-0){left:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.left-3){inset-inline-start:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.z-30){z-index:30}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.z-40){z-index:40}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.z-50),.cedros-shop-public__dialog:where(.z-50),.cedros-shop-public__sheet:where(.z-50){z-index:50}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-1){gap:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-1\\\\.5){gap:.375rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-2){gap:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-3){gap:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-4),.cedros-shop-public__dialog :where(.gap-4),.cedros-shop-public__dialog:where(.gap-4){gap:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-6){gap:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-8){gap:2rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-10){gap:2.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-x-4){column-gap:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.gap-y-3){row-gap:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-1)>*+*{margin-top:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-1\\\\.5)>*+*{margin-top:.375rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-2)>*+*{margin-top:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-3)>*+*{margin-top:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-4)>*+*{margin-top:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-5)>*+*{margin-top:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.space-y-6)>*+*{margin-top:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-1){margin-top:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-0\\\\.5){margin-top:.125rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-1\\\\.5){margin-top:.375rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-2){margin-top:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-3){margin-top:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-4){margin-top:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-5){margin-top:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-6){margin-top:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-8){margin-top:2rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-12){margin-top:3rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.mt-auto){margin-top:auto}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.my-4){margin-block:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.ml-1){margin-inline-start:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.ml-2),.cedros-shop-public__dialog :where(.ml-2){margin-inline-start:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.ml-3),.cedros-shop-public__dialog :where(.ml-3){margin-inline-start:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.-mr-4){margin-inline-end:-1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-0){padding:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-1){padding:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-2){padding:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-3){padding:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-4),.cedros-shop-public__sheet:where(.p-4){padding:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-5){padding:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-6),.cedros-shop-public__dialog:where(.p-6),.cedros-shop-public__sheet:where(.p-6){padding:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.p-10){padding:2.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.px-2){padding-inline:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.px-0){padding-inline:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.px-3){padding-inline:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.px-4){padding-inline:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.px-5){padding-inline:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-0\\\\.5){padding-block:.125rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-1\\\\.5){padding-block:.375rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-2){padding-block:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-3){padding-block:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-4){padding-block:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-6){padding-block:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-8){padding-block:2rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.py-10){padding-block:2.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pt-0){padding-top:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pt-2){padding-top:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pt-3){padding-top:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pt-4){padding-top:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pt-6){padding-top:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pb-1){padding-bottom:.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pb-4){padding-bottom:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pr-2){padding-inline-end:.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pr-4){padding-inline-end:1rem}.cedros-shop-public__dialog :where(.pr-12),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pr-12){padding-inline-end:3rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pl-9){padding-inline-start:2.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-sm){border-radius:var(--cs-radius-sm)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-md){border-radius:var(--cs-radius-md)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-lg),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-xl){border-radius:var(--cs-radius-lg)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-2xl),.cedros-shop-public__dialog:where(.rounded-2xl),.cedros-shop-public__sheet:where(.rounded-2xl){border-radius:var(--cs-radius-xl)}.cedros-shop-public__sheet:where(.rounded-t-2xl),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-t-2xl){border-start-start-radius:var(--cs-radius-xl);border-start-end-radius:var(--cs-radius-xl)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.rounded-full){border-radius:var(--cs-radius-full)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.border),.cedros-shop-public__dialog:where(.border),.cedros-shop-public__sheet:where(.border){border:1px solid var(--cs-border,oklch(92.2% 0 0))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.border-0){border:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.border-t),.cedros-shop-public__sheet:where(.border-t){border-top:1px solid var(--cs-border,oklch(92.2% 0 0))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.border-b),.cedros-shop-public__sheet:where(.border-b){border-bottom:1px solid var(--cs-border,oklch(92.2% 0 0))}.cedros-shop-public__sheet:where(.border-l){border-left:1px solid var(--cs-border,oklch(92.2% 0 0))}.cedros-shop-public__sheet:where(.border-r){border-right:1px solid var(--cs-border,oklch(92.2% 0 0))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.divide-y)>*+*{border-top:1px solid var(--cs-border,oklch(92.2% 0 0))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.shadow-none){box-shadow:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.shadow-sm){box-shadow:var(--cs-shadow-sm)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.shadow-md){box-shadow:var(--cs-shadow-md)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.shadow-lg),.cedros-shop-public__dialog:where(.shadow-lg),.cedros-shop-public__sheet:where(.shadow-lg){box-shadow:var(--cs-shadow-lg)}.cedros-shop-public__sheet:where(.shadow-xl){box-shadow:var(--cs-shadow-pop)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-xs){font-size:.75rem;line-height:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-sm){font-size:.875rem;line-height:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-base){font-size:1rem;line-height:1.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-lg){font-size:1.125rem;line-height:1.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-2xl){font-size:1.5rem;line-height:2rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-3xl){font-size:1.875rem;line-height:2.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"text-[10px]\\\"]){font-size:10px;line-height:1.3}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"text-[11px]\\\"]){font-size:11px;line-height:1.3}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-center){text-align:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.text-left){text-align:start}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.font-normal){font-weight:400}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.font-medium){font-weight:500}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.font-semibold){font-weight:600}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.font-mono){font-family:var(--cs-font-mono)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.tracking-tight){letter-spacing:-.01em}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.tabular-nums){font-variant-numeric:tabular-nums}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.leading-none){line-height:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.leading-4){line-height:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.underline){text-decoration-line:underline}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.underline-offset-2){text-underline-offset:2px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.line-through){text-decoration-line:line-through}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.hover\\\\:underline:hover){text-decoration-line:underline}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.line-clamp-1){-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.line-clamp-2){-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.overflow-hidden),.cedros-shop-public__sheet:where(.overflow-hidden){overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.overflow-x-auto){overflow-x:auto}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.overflow-x-hidden){overflow-x:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.overflow-y-auto){overflow-y:auto}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-cover){object-fit:cover}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-center){object-position:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-top){object-position:top}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-bottom){object-position:bottom}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-left){object-position:left}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.object-right){object-position:right}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.truncate){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.whitespace-pre-wrap){white-space:pre-wrap}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.whitespace-nowrap){white-space:nowrap}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.break-words){overflow-wrap:break-word}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.pointer-events-none),.cedros-shop-public__overlay:where(.pointer-events-none){pointer-events:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.cursor-pointer){cursor:pointer}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.resize-none){resize:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.opacity-0){opacity:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.opacity-70){opacity:.7}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.opacity-100){opacity:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.animate-pulse){animation:cedros-shop-pulse 2s var(--cs-ease-out) infinite}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-sm){max-width:24rem}.cedros-shop-public__dialog:where(.max-w-lg),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-lg){max-width:32rem}.cedros-shop-public__dialog:where(.max-w-3xl),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-3xl){max-width:48rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-5xl){max-width:64rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-6xl){max-width:72rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-7xl){max-width:var(--cs-container-wide)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.max-w-none){max-width:none}.cedros-shop-public__sheet:where([class~=\\\"max-w-[calc(100vw-2rem)]\\\"]){max-width:calc(100vw - 2rem)}.cedros-shop-public__sheet:where([class~=\\\"max-h-[calc(100vh-2rem)]\\\"]){max-height:calc(100vh - 2rem)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"max-h-[calc(100vh-6rem)]\\\"]){max-height:calc(100vh - 6rem)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-3){width:.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-4){width:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-5){width:1.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-9){width:2.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-10){width:2.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-11){width:2.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-12){width:3rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-14){width:3.5rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-16){width:4rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-32){width:8rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.w-40){width:10rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=w-3\\\\.5]){width:.875rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=w-2\\\\/3]){width:66.6667%}.cedros-shop-public__sheet:where([class~=w-3\\\\/4]){width:75%}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"w-[62px]\\\"]){width:62px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"w-[140px]\\\"]){width:140px}.cedros-shop-public__sheet:where([class~=\\\"w-[420px]\\\"]){width:420px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"max-w-[85%]\\\"]){max-width:85%}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-px){height:1px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-3){height:.75rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=h-3\\\\.5]){height:.875rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-4){height:1rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-5){height:1.25rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-6){height:1.5rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-7){height:1.75rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-8){height:2rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-9){height:2.25rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-10){height:2.5rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-11){height:2.75rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-12){height:3rem;min-height:0}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-16){height:4rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.h-20){height:5rem}.cedros-shop-public__sheet:where([class~=\\\"h-[85vh]\\\"]){height:85vh}.cedros-shop-public__sheet:where([class~=\\\"h-[min(640px,calc(100vh-2rem))]\\\"]){height:min(640px,100vh - 2rem)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.min-h-8){min-height:2rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"min-h-[40px]\\\"]){min-height:40px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"max-h-[120px]\\\"]){max-height:120px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=aspect-square]){aspect-ratio:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"aspect-[4/5]\\\"]){aspect-ratio:4/5}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"aspect-[3/4]\\\"]){aspect-ratio:3/4}.cedros-shop-public__select-content :where([class~=\\\"min-w-[8rem]\\\"]),.cedros-shop-public__select-content:where([class~=\\\"min-w-[8rem]\\\"]){min-width:8rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.grid-cols-1){grid-template-columns:repeat(1,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.grid-cols-2){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.grid-cols-3){grid-template-columns:repeat(3,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.grid-cols-4){grid-template-columns:repeat(4,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"grid-cols-[64px_1fr]\\\"]){grid-template-columns:64px minmax(0,1fr)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"grid-cols-[64px_1fr_176px_120px]\\\"]){grid-template-columns:64px minmax(0,1fr) 176px 120px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.col-span-2){grid-column:span 2/span 2}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.col-start-1){grid-column-start:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.col-start-2){grid-column-start:2}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.row-start-1){grid-row-start:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.row-start-2){grid-row-start:2}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.transition),.cedros-shop-public__dialog:where(.transition),.cedros-shop-public__sheet:where(.transition){transition:color var(--cs-dur) var(--cs-ease-out), background var(--cs-dur) var(--cs-ease-out), border-color var(--cs-dur) var(--cs-ease-out), opacity var(--cs-dur) var(--cs-ease-out), box-shadow var(--cs-dur) var(--cs-ease-out), translate var(--cs-dur) var(--cs-ease-out), scale var(--cs-dur) var(--cs-ease-out)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.transition-colors){transition:color var(--cs-dur) var(--cs-ease-out), background var(--cs-dur) var(--cs-ease-out), border-color var(--cs-dur) var(--cs-ease-out)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.transition-opacity),.cedros-shop-public__overlay:where(.transition-opacity){transition:opacity var(--cs-dur) var(--cs-ease-out)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.transition-transform){transition:translate var(--cs-dur) var(--cs-ease-out), scale var(--cs-dur) var(--cs-ease-out), rotate var(--cs-dur) var(--cs-ease-out)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.transition-all){transition:all var(--cs-dur) var(--cs-ease-out)}@container cedros-shop (width>=640px){:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:grid){display:grid}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:flex){display:flex}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:hidden){display:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:flex-col){flex-direction:column}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:items-center){align-items:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:justify-center){justify-content:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:text-center){text-align:center}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:text-left){text-align:start}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:grid-cols-2){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"sm:grid-cols-[64px_1fr_176px_120px]\\\"]){grid-template-columns:64px minmax(0,1fr) 176px 120px}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"sm:grid-cols-[1fr_auto]\\\"]){grid-template-columns:minmax(0,1fr) auto}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:col-span-1){grid-column:span 1/span 1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:col-start-3){grid-column-start:3}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:col-start-4){grid-column-start:4}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:row-start-1){grid-row-start:1}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.sm\\\\:px-5){padding-inline:1.25rem}.cedros-shop-public__sheet:where(.sm\\\\:max-w-sm){max-width:24rem}.cedros-shop-public__sheet:where(.sm\\\\:max-w-md){max-width:28rem}}@container cedros-shop (width>=768px){:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.md\\\\:grid-cols-1){grid-template-columns:repeat(1,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.md\\\\:grid-cols-2),.cedros-shop-public__dialog :where(.md\\\\:grid-cols-2){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.md\\\\:grid-cols-3){grid-template-columns:repeat(3,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.md\\\\:grid-cols-4){grid-template-columns:repeat(4,minmax(0,1fr))}}@container cedros-shop (width>=1024px){:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:block){display:block}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:flex){display:flex}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:hidden){display:none}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:sticky){position:sticky}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:top-24){top:6rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:grid-cols-1){grid-template-columns:repeat(1,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:grid-cols-2){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:grid-cols-3){grid-template-columns:repeat(3,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where(.lg\\\\:grid-cols-4){grid-template-columns:repeat(4,minmax(0,1fr))}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"lg:grid-cols-[224px_1fr]\\\"]){grid-template-columns:224px minmax(0,1fr)}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet,.cedros-shop-public__select-content) :where([class~=\\\"lg:grid-cols-[1fr_360px]\\\"]){grid-template-columns:minmax(0,1fr) 360px}}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(button,.cedros-shop-public__button,.cedros-shop-public__select-trigger,input:not([type=checkbox]):not([type=radio]),textarea,select){min-height:2.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(button,.cedros-shop-public__button){white-space:normal;overflow-wrap:anywhere;height:auto;font-weight:500;line-height:1.45}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.cedros-shop-public__select-trigger){font-size:1rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(.cedros-shop-public__button--size-icon,.cedros-shop-public__button--icon,button[aria-label]){min-width:2.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) label:has(>input:is([type=checkbox],[type=radio])){min-height:2.75rem}.cedros-shop-public header :is(a,button){min-height:2.75rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) .cedros-shop-public__button.cedros-shop-public__button--acquire:is(button,a),:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) :is(.cedros-shop-public__product-buy-row,.cedros-shop-public__quick-view-buy) .cedros-shop-public__product-quantity>:is(button,input){min-height:3.25rem}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) .cedros-shop-public__quantity-controls{grid-template-columns:44px minmax(44px,1fr) 44px;gap:4px;width:min(100%,10rem);max-width:100%;display:grid}:is(.cedros-shop-public,.cedros-shop-public__dialog,.cedros-shop-public__sheet) .cedros-shop-public__quantity-controls>:is(button,input){width:100%;min-width:0;padding-inline:0}@media (prefers-reduced-motion:reduce){.cedros-shop-public *,.cedros-shop-public :before,.cedros-shop-public :after,.cedros-shop-public__dialog,.cedros-shop-public__dialog *,.cedros-shop-public__sheet,.cedros-shop-public__sheet *,.cedros-shop-public__select-content,.cedros-shop-public__select-content *,.cedros-shop-toast,.cedros-shop-toast *,.cedros-shop-toast .cedros-shop-toast__action,.cedros-shop-public__overlay,.cedros-shop-public__overlay[data-state],.cedros-shop-public__dialog[data-state],.cedros-shop-public__sheet[data-state],.cedros-shop-public__select-content[data-state],.cedros-shop-cart-badge,.cedros-shop-public .cedros-shop-public__reveal,.cedros-shop-toast .cedros-shop-toast__toast[data-state],.cedros-shop-toast .cedros-shop-toast__toast[data-swipe]{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}.cedros-shop-public p.cedros-shop-public__success,.cedros-shop-public p.cedros-shop-public__error.border,.cedros-shop-public p.cedros-shop-public__success[role=status],.cedros-shop-public p.cedros-shop-public__error[role=alert]{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}.cedros-shop-public__button:active:not(:disabled),.cedros-shop-public :where(button:active:not(:disabled)),.cedros-shop-public__product-card:hover .cedros-shop-public__product-media img{scale:1}.cedros-shop-public .cs-spinner,.cedros-shop-public__dialog .cs-spinner,.cedros-shop-public__sheet .cs-spinner{animation-duration:.7s;animation-iteration-count:infinite}}.cedros-shop-public ::selection{background:color-mix(in srgb, var(--cs-accent,oklch(20.5% 0 0)) 16%, transparent)}.cedros-shop-public__dialog ::selection{background:color-mix(in srgb, var(--cs-accent,oklch(20.5% 0 0)) 16%, transparent)}.cedros-shop-public__sheet ::selection{background:color-mix(in srgb, var(--cs-accent,oklch(20.5% 0 0)) 16%, transparent)}.cedros-shop-public{caret-color:var(--cs-accent,oklch(20.5% 0 0))}.cedros-shop-public:where(main),.cedros-shop-public :where(main),.cedros-shop-public__header-inner{padding-inline:var(--cs-page-inset)}\", X = class extends Error {\n\tconstructor(e, t, n) {\n\t\tsuper(t), this.name = \"MarketCatalogError\", this.code = e, this.cause = n;\n\t}\n};\nfunction tt() {\n\treturn new X(\"obsolete-query\", \"The market catalog query is no longer active.\");\n}\n//#endregion\n//#region src/storefront/marketCatalogSupport.ts\nvar nt = {\n\tsourcePageSize: 24,\n\tmaxSourcePages: 250,\n\tmaxCacheEntries: 24,\n\tmaxCachedProducts: 6e3,\n\tmaxRetainedProducts: 24e3,\n\tmaxConcurrentScans: 4,\n\tmaxQueuedScans: 24,\n\tabandonDelayMs: 25,\n\tstaleTimeMs: 3e4,\n\trequestTimeoutMs: 3e4\n};\nfunction rt(e) {\n\tlet t = {\n\t\t...nt,\n\t\t...e\n\t};\n\tfor (let [e, n] of Object.entries(t)) if (!(e === \"abandonDelayMs\" ? Number.isSafeInteger(n) && n >= 0 : Number.isSafeInteger(n) && n > 0)) throw new X(\"invalid-request\", `${e} must be a valid integer bound.`);\n\treturn t;\n}\nfunction it(e) {\n\tlet t = e.page ?? 1, n = e.pageSize ?? nt.sourcePageSize;\n\tif (!Number.isSafeInteger(t) || t <= 0 || !Number.isSafeInteger(n) || n <= 0) throw new X(\"invalid-request\", \"Catalog page and pageSize must be positive integers.\");\n\tlet { page: r, pageSize: i, ...a } = e;\n\treturn {\n\t\tpage: t,\n\t\tpageSize: n,\n\t\tbaseParams: a\n\t};\n}\nfunction at(e) {\n\treturn {\n\t\tmode: e.productAvailability.mode,\n\t\tproductIds: [...new Set(e.productAvailability.productIds)].sort()\n\t};\n}\nfunction ot(e) {\n\tif (!e) return !1;\n\tlet t = at(e);\n\treturn t.mode === \"include\" || t.mode === \"exclude\" && t.productIds.length > 0;\n}\nfunction st(e, t, n = \"\") {\n\treturn ht({\n\t\tbaseParams: e,\n\t\tpolicy: at(t),\n\t\tscope: n\n\t});\n}\nfunction ct(e, t, n, r = \"\") {\n\tlet i = at(t);\n\treturn {\n\t\tkey: e,\n\t\tscope: r,\n\t\tcreatedAt: Date.now(),\n\t\teligible: [],\n\t\tseenProductIds: /* @__PURE__ */ new Set(),\n\t\tpageSignatures: /* @__PURE__ */ new Set(),\n\t\tpolicyIds: new Set(i.productIds),\n\t\tpolicyMode: i.mode,\n\t\tincludeRemaining: i.mode === \"include\" ? new Set(i.productIds) : null,\n\t\tnextSourcePage: 1,\n\t\tsourcePagesRead: 0,\n\t\texhausted: !1,\n\t\tpagePromise: null,\n\t\tadmissionPromise: null,\n\t\tcancelAdmission: null,\n\t\treleaseAdmission: null,\n\t\twaiters: 0,\n\t\tactive: !0,\n\t\tlastAccess: n,\n\t\tabandonTimer: null\n\t};\n}\nfunction lt(e, t) {\n\tt.active = !1, t.eligible.length = 0, t.seenProductIds.clear(), t.pageSignatures.clear(), t.includeRemaining?.clear(), t.policyIds.clear(), t.cancelAdmission?.(), t.cancelAdmission = null, t.pagePromise || (t.releaseAdmission?.(), t.releaseAdmission = null), t.abandonTimer && clearTimeout(t.abandonTimer), t.abandonTimer = null, e.get(t.key) === t && e.delete(t.key);\n}\nfunction ut(e, t) {\n\tfor (; e.size > t.maxCacheEntries || mt(e) > t.maxCachedProducts;) {\n\t\tlet t = [...e.values()].filter((e) => e.waiters === 0 && !e.pagePromise).sort((e, t) => e.lastAccess - t.lastAccess)[0];\n\t\tif (!t) return;\n\t\tlt(e, t);\n\t}\n}\nfunction dt(e, t, n) {\n\tif (!e || !Array.isArray(e.items) || e.page !== t || e.pageSize !== n) throw new X(\"invalid-page\", \"The product catalog returned invalid pagination metadata.\");\n\tif (e.items.length > n || e.items.some((e) => !e || typeof e.id != \"string\" || !e.id.trim())) throw new X(\"invalid-page\", \"The product catalog returned invalid product data.\");\n\tif (e.hasNextPage !== void 0 && typeof e.hasNextPage != \"boolean\") throw new X(\"invalid-page\", \"The product catalog returned an invalid hasNextPage value.\");\n\tlet r = (t - 1) * n + e.items.length;\n\tif (e.total !== void 0) {\n\t\tif (!Number.isSafeInteger(e.total) || e.total < r) throw new X(\"invalid-page\", \"The product catalog returned an inconsistent total.\");\n\t\tlet t = r < e.total;\n\t\tif (e.hasNextPage !== void 0 && e.hasNextPage !== t) throw new X(\"invalid-page\", \"The product catalog returned conflicting pagination boundaries.\");\n\t\treturn !t;\n\t}\n\tif (e.items.length === 0 && e.hasNextPage === !0) throw new X(\"invalid-page\", \"The product catalog returned an empty page with a successor.\");\n\tif (e.hasNextPage !== void 0) return !e.hasNextPage;\n\tif (e.items.length < n) return !0;\n\tthrow new X(\"invalid-page\", \"The product catalog omitted an unambiguous pagination boundary.\");\n}\nfunction ft(e, t, n, r) {\n\tfor (; pt(e) + t > n.maxRetainedProducts;) {\n\t\tlet t = [...e.values()].filter((e) => e !== r && e.waiters === 0 && !e.pagePromise && !e.releaseAdmission).sort((e, t) => e.lastAccess - t.lastAccess)[0];\n\t\tif (!t) return !1;\n\t\tlt(e, t);\n\t}\n\treturn !0;\n}\nfunction pt(e) {\n\tlet t = 0;\n\tfor (let n of e.values()) t += n.seenProductIds.size;\n\treturn t;\n}\nvar mt = pt;\nfunction ht(e) {\n\treturn Array.isArray(e) ? `[${e.map(ht).join(\",\")}]` : e && typeof e == \"object\" ? `{${Object.entries(e).sort(([e], [t]) => e.localeCompare(t)).map(([e, t]) => `${JSON.stringify(e)}:${ht(t)}`).join(\",\")}}` : JSON.stringify(e);\n}\n//#endregion\n//#region src/storefront/marketCatalogAdmission.ts\nfunction gt(e, t) {\n\tlet n = 0, r = [], i = (e) => {\n\t\te.queued = !1, n += 1;\n\t\tlet t = !1;\n\t\te.resolve(() => {\n\t\t\tif (t) return;\n\t\t\tt = !0, --n;\n\t\t\tlet e = r.shift();\n\t\t\te && i(e);\n\t\t});\n\t};\n\treturn { acquire() {\n\t\tlet a, o = new Promise((e, t) => {\n\t\t\ta = {\n\t\t\t\tresolve: e,\n\t\t\t\treject: t,\n\t\t\t\tqueued: !0\n\t\t\t};\n\t\t});\n\t\treturn n < e ? i(a) : r.length < t ? r.push(a) : (a.queued = !1, a.reject(new X(\"scan-queue-limit\", \"The market catalog scan queue is full.\"))), {\n\t\t\tpromise: o,\n\t\t\tcancel: () => {\n\t\t\t\tif (!a.queued) return;\n\t\t\t\ta.queued = !1;\n\t\t\t\tlet e = r.indexOf(a);\n\t\t\t\te >= 0 && r.splice(e, 1), a.reject(tt());\n\t\t\t}\n\t\t};\n\t} };\n}\nasync function _t(e, t, n) {\n\tif (!e.releaseAdmission) {\n\t\tif (!e.admissionPromise) {\n\t\t\tlet n = t.acquire();\n\t\t\te.cancelAdmission = n.cancel;\n\t\t\tlet r = n.promise.then((t) => {\n\t\t\t\tif (!e.active || e.waiters === 0) throw t(), tt();\n\t\t\t\te.releaseAdmission = t, e.cancelAdmission = null;\n\t\t\t}).finally(() => {\n\t\t\t\te.admissionPromise === r && (e.admissionPromise = null);\n\t\t\t});\n\t\t\te.admissionPromise = r;\n\t\t}\n\t\tawait yt(e.admissionPromise, n);\n\t}\n}\nfunction vt(e) {\n\te.releaseAdmission?.(), e.releaseAdmission = null;\n}\nasync function yt(e, t) {\n\tif (!t) return e;\n\tif (t.aborted) throw tt();\n\treturn new Promise((n, r) => {\n\t\tlet i = () => r(tt());\n\t\tt.addEventListener(\"abort\", i, { once: !0 }), e.then(n, r).finally(() => t.removeEventListener(\"abort\", i));\n\t});\n}\n//#endregion\n//#region src/storefront/marketCatalog.ts\nvar bt = /* @__PURE__ */ new WeakMap();\nfunction xt(e) {\n\tlet t = bt.get(e);\n\tif (t) return t;\n\tlet n = St(e);\n\treturn bt.set(e, n), N(e, (e) => n.invalidateScope(e)), n;\n}\nfunction St(e, t = {}) {\n\tlet n = rt(t), r = /* @__PURE__ */ new Map(), i = gt(n.maxConcurrentScans, n.maxQueuedScans), a = 0;\n\treturn {\n\t\tasync list(t, o, s) {\n\t\t\tif (!ot(o)) return e.listProducts(t);\n\t\t\tlet c = it(t);\n\t\t\tif (at(o).productIds.length === 0) return {\n\t\t\t\titems: [],\n\t\t\t\tpage: c.page,\n\t\t\t\tpageSize: c.pageSize,\n\t\t\t\ttotal: 0,\n\t\t\t\thasNextPage: !1\n\t\t\t};\n\t\t\tlet l = c.page * c.pageSize + 1;\n\t\t\tif (!Number.isSafeInteger(l)) throw new X(\"invalid-request\", \"The requested page is too large.\");\n\t\t\tlet u = st(c.baseParams, o, s?.scope), d = r.get(u);\n\t\t\td && d.waiters === 0 && !d.pagePromise && Date.now() - d.createdAt >= n.staleTimeMs && lt(r, d), d?.active ? (d.lastAccess = ++a, d.abandonTimer && clearTimeout(d.abandonTimer), d.abandonTimer = null) : (d = ct(u, o, ++a, s?.scope), r.set(u, d)), d.waiters += 1;\n\t\t\tlet f = !1, p = new AbortController(), m = !1, h = () => p.abort();\n\t\t\ts?.signal?.addEventListener(\"abort\", h, { once: !0 }), s?.signal?.aborted && p.abort();\n\t\t\tlet g = setTimeout(() => {\n\t\t\t\tm = !0, p.abort();\n\t\t\t}, n.requestTimeoutMs);\n\t\t\ttry {\n\t\t\t\tif (await Ct(e, r, d, c.baseParams, l, n, i, p.signal), !d.active) throw tt();\n\t\t\t\treturn Tt(d, c.page, c.pageSize);\n\t\t\t} catch (e) {\n\t\t\t\tthrow f = p.signal.aborted, m ? new X(\"source-timeout\", \"The product catalog took too long to respond.\") : e;\n\t\t\t} finally {\n\t\t\t\tclearTimeout(g), s?.signal?.removeEventListener(\"abort\", h), --d.waiters, d.waiters === 0 && !d.pagePromise && vt(d), f && d.waiters === 0 && d.active && (d.admissionPromise && !d.releaseAdmission ? lt(r, d) : Et(r, d, n.abandonDelayMs)), ut(r, n);\n\t\t\t}\n\t\t},\n\t\tinvalidateScope(e) {\n\t\t\tfor (let t of r.values()) t.scope.startsWith(e) && lt(r, t);\n\t\t},\n\t\tinvalidate(e, t, n) {\n\t\t\tif (!e) {\n\t\t\t\tfor (let e of r.values()) lt(r, e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!t || !ot(t)) return;\n\t\t\tlet i = r.get(st(it(e).baseParams, t, n));\n\t\t\ti && lt(r, i);\n\t\t}\n\t};\n}\nasync function Ct(e, t, n, r, i, a, o, s) {\n\tif (!(n.eligible.length >= i || n.exhausted)) for (await _t(n, o, s); n.eligible.length < i && !n.exhausted;) {\n\t\tif (!n.active) throw tt();\n\t\tif (n.sourcePagesRead >= a.maxSourcePages) throw new X(\"scan-limit\", \"The market catalog exceeded its safe pagination scan limit.\");\n\t\tif (!n.pagePromise) {\n\t\t\tlet i = wt(e, t, n, r, a).finally(() => {\n\t\t\t\tn.pagePromise === i && (n.pagePromise = null), n.waiters === 0 && vt(n);\n\t\t\t});\n\t\t\tn.pagePromise = i;\n\t\t}\n\t\tawait yt(n.pagePromise, s);\n\t}\n}\nasync function wt(e, t, n, r, i) {\n\tlet a = n.nextSourcePage, o;\n\ttry {\n\t\tif (!n.active) throw tt();\n\t\to = await e.listProducts({\n\t\t\t...r,\n\t\t\tpage: a,\n\t\t\tpageSize: i.sourcePageSize\n\t\t});\n\t} catch (e) {\n\t\tthrow e instanceof X && e.code === \"obsolete-query\" ? e : new X(\"source-failure\", \"The product catalog could not be loaded.\", e);\n\t}\n\tif (!n.active || n.waiters === 0) throw lt(t, n), tt();\n\tlet s = dt(o, a, i.sourcePageSize), c = new Set(o.items.filter((e) => !n.seenProductIds.has(e.id)).map((e) => e.id)).size;\n\tif (!ft(t, c, i, n)) throw new X(\"retention-limit\", \"The market catalog reached its hard retained-product limit.\");\n\tlet l = JSON.stringify(o.items.map((e) => e.id));\n\tif (!s && n.pageSignatures.has(l)) throw new X(\"pagination-loop\", \"The product catalog returned a repeating pagination page.\");\n\tn.pageSignatures.add(l), n.sourcePagesRead += 1, n.nextSourcePage += 1;\n\tfor (let e of o.items) {\n\t\tif (n.seenProductIds.has(e.id)) continue;\n\t\tn.seenProductIds.add(e.id);\n\t\tlet t = n.policyIds.has(e.id);\n\t\t(n.policyMode === \"include\" ? t : !t) && n.eligible.push(e), n.includeRemaining?.delete(e.id);\n\t}\n\tn.exhausted = s || n.includeRemaining?.size === 0, ut(t, i);\n}\nfunction Tt(e, t, n) {\n\tlet r = (t - 1) * n, i = r + n;\n\treturn {\n\t\titems: e.eligible.slice(r, i),\n\t\tpage: t,\n\t\tpageSize: n,\n\t\t...e.exhausted ? { total: e.eligible.length } : {},\n\t\thasNextPage: e.eligible.length > i\n\t};\n}\nfunction Et(e, t, n) {\n\tt.abandonTimer && clearTimeout(t.abandonTimer), t.abandonTimer = setTimeout(() => {\n\t\tt.abandonTimer = null, t.waiters === 0 && t.active && lt(e, t);\n\t}, n);\n}\n//#endregion\n//#region src/runtime/ssrIdentity.ts\nvar Dt = 256;\nfunction Ot(e, t) {\n\tif (!e || e.length > Dt) return;\n\tlet n;\n\tfor (let r of e) if (t(r)) {\n\t\tif (n !== void 0) return;\n\t\tn = r;\n\t}\n\treturn n;\n}\n//#endregion\n//#region src/runtime/dataHooks.ts\nvar kt = [], At = /* @__PURE__ */ new Map();\nfunction jt(e, t) {\n\tlet n = e.get(t);\n\treturn n || (n = {\n\t\tcontrollers: /* @__PURE__ */ new Set(),\n\t\ttimer: null\n\t}, e.set(t, n)), n;\n}\nfunction Mt(e = null, t = !0) {\n\tlet { config: n, i18n: r, dataCacheKey: i } = G(), a = Ot(n.ssr?.categories, (t) => t.marketId === e?.id && t.locale === r.locale), o = q.useMemo(() => a === void 0 ? kt : re(a.categories), [a]), { data: s, isLoading: c, error: l, refetch: u } = Ke({\n\t\tkey: `${i}:categories:${e?.id ?? \"default\"}:${r.locale}`,\n\t\tenabled: t,\n\t\tinitialData: o,\n\t\tinitialDataIsResolved: a !== void 0,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => re(await n.adapter.listCategories())\n\t});\n\treturn {\n\t\tcategories: s ?? kt,\n\t\tisLoading: c,\n\t\terror: l,\n\t\trefetch: u\n\t};\n}\nfunction Nt(e) {\n\tlet { config: t, i18n: n, dataCacheKey: r } = G(), i = q.useMemo(() => z(e.filters ?? {}), [e.filters]), a = q.useMemo(() => ({\n\t\tcategory: e.category,\n\t\tsearch: e.search,\n\t\tfilters: e.filters,\n\t\tsort: e.sort,\n\t\tpage: e.page,\n\t\tpageSize: e.pageSize\n\t}), [\n\t\ti,\n\t\te.category,\n\t\te.page,\n\t\te.pageSize,\n\t\te.search,\n\t\te.sort\n\t]);\n\treturn Ke({\n\t\tkey: `${r}:products:${n.locale}:${t.currency}:${z(a)}`,\n\t\tinitialData: null,\n\t\tstaleTimeMs: 3e4,\n\t\tfetcher: async () => It(await t.adapter.listProducts(a), a.page ?? 1, a.pageSize ?? 24)\n\t});\n}\nfunction Pt(e, t, n = !0) {\n\tlet { config: r, i18n: i, dataCacheKey: a } = G(), o = q.useMemo(() => z(e.filters ?? {}), [e.filters]), s = q.useMemo(() => ({\n\t\tcategory: e.category,\n\t\tsearch: e.search,\n\t\tfilters: e.filters,\n\t\tsort: e.sort,\n\t\tpage: e.page,\n\t\tpageSize: e.pageSize\n\t}), [\n\t\to,\n\t\te.category,\n\t\te.page,\n\t\te.pageSize,\n\t\te.search,\n\t\te.sort\n\t]), c = z({\n\t\tlocale: i.locale,\n\t\tfallbackCurrency: r.currency,\n\t\tmarket: t ? {\n\t\t\tid: t.id,\n\t\t\tcurrency: t.currency,\n\t\t\tdefaultLocale: t.defaultLocale,\n\t\t\tpricing: t.pricing,\n\t\t\tcontent: t.content,\n\t\t\tmode: t.productAvailability.mode,\n\t\t\tproductIds: [...t.productAvailability.productIds].sort()\n\t\t} : null\n\t}), l = q.useMemo(() => Ft(r.ssr?.catalogPages, s, t?.id, i.locale, t?.currency ?? r.currency), [\n\t\tr.currency,\n\t\tr.ssr?.catalogPages,\n\t\ti.locale,\n\t\tt?.currency,\n\t\tt?.id,\n\t\ts\n\t]), u = `${a}:market-products:${z(s)}:${c}`, d = xt(r.adapter), f = q.useRef(/* @__PURE__ */ new Map()), p = Ke({\n\t\tkey: u,\n\t\tenabled: n,\n\t\tinitialData: l ?? null,\n\t\tinitialDataIsResolved: l !== void 0,\n\t\tstaleTimeMs: 3e4,\n\t\tfetcher: async () => {\n\t\t\tlet e = jt(f.current, u), n = new AbortController();\n\t\t\te.controllers.add(n);\n\t\t\ttry {\n\t\t\t\treturn It(await d.list(s, t, {\n\t\t\t\t\tsignal: n.signal,\n\t\t\t\t\tscope: `${a}:${c}`\n\t\t\t\t}), s.page ?? 1, s.pageSize ?? 24, t?.currency);\n\t\t\t} finally {\n\t\t\t\te.controllers.delete(n);\n\t\t\t}\n\t\t}\n\t});\n\tq.useEffect(() => {\n\t\tlet e = jt(f.current, u);\n\t\treturn e.timer && clearTimeout(e.timer), e.timer = null, () => {\n\t\t\te.timer = setTimeout(() => {\n\t\t\t\te.controllers.forEach((e) => e.abort()), e.controllers.clear(), f.current.delete(u);\n\t\t\t}, 25);\n\t\t};\n\t}, [n, u]);\n\tlet m = q.useCallback(() => (d.invalidate(s, t, `${a}:${c}`), p.refetch()), [\n\t\ta,\n\t\tc,\n\t\td,\n\t\ts,\n\t\tp.refetch\n\t]);\n\treturn {\n\t\t...p,\n\t\trefetch: m\n\t};\n}\nfunction Ft(e, t, n, r, i) {\n\tlet a = z(t), o = Ot(e, (e) => e.marketId === n && e.locale === r && e.currency.toUpperCase() === i.toUpperCase() && z(e.request) === a);\n\tif (!o) return;\n\tlet s = t.page ?? 1, c = t.pageSize ?? 24;\n\treturn C(o.result, s, c, n ? i : void 0) ?? void 0;\n}\nfunction It(e, t, n, r) {\n\tlet i = C(e, t, n, r);\n\tif (!i) throw Error(\"The public catalog returned unsafe or inconsistent product data.\");\n\treturn i;\n}\nfunction Lt(e, t = null) {\n\tlet { config: n, i18n: r, dataCacheKey: i } = G(), a = q.useMemo(() => z([...e].sort()), [e]), o = t?.currency ?? n.currency;\n\treturn Ke({\n\t\tkey: `${i}:productsByIds:${t?.id ?? \"default\"}:${r.locale}:${o}:${a}`,\n\t\tinitialData: At,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => {\n\t\t\tlet r = n.adapter.getProductsByIds;\n\t\t\tif (e.length === 0 || !r) return At;\n\t\t\tlet i = await r.call(n.adapter, e);\n\t\t\treturn new Map(le([...i.values()]).filter((e) => !t || e.currency === o.toUpperCase()).map((e) => [e.id, e]));\n\t\t}\n\t});\n}\nfunction Rt(e, t, n) {\n\tif (!t || t.length === 0) return [];\n\tlet r = new Map(e.map((e) => [e.id, e])), i = /* @__PURE__ */ new Set(), a = [];\n\tfor (let e of t) {\n\t\tlet t = r.get(e);\n\t\tif (!(!t || i.has(e)) && (i.add(e), a.push(t), a.length >= n)) break;\n\t}\n\treturn a;\n}\nfunction zt(e, t, n, r) {\n\tlet { config: i, dataCacheKey: a } = G(), o = q.useMemo(() => t.map((e) => e.id).join(\",\"), [t]), s = r && !!e && !!i.adapter.curateRelatedProducts && t.length > 0, { data: c } = Ke({\n\t\tkey: `${a}:ai-related:${e?.id ?? \"\"}:${n}:${o}`,\n\t\tenabled: s,\n\t\tinitialData: null,\n\t\tstaleTimeMs: 5 * 6e4,\n\t\tfetcher: async () => {\n\t\t\tlet r = i.adapter.curateRelatedProducts;\n\t\t\treturn !r || !e ? null : r.call(i.adapter, {\n\t\t\t\tproduct: e,\n\t\t\t\tcandidates: t,\n\t\t\t\tmaxItems: n\n\t\t\t});\n\t\t}\n\t});\n\treturn c ?? null;\n}\nfunction Bt(e, n = null, r = !0) {\n\tlet { config: i, i18n: a, dataCacheKey: o } = G(), s = t(e), c = n?.currency, l = Ot(i.ssr?.productPages, (t) => t.marketId === n?.id && t.locale === a.locale && (!c || t.currency.toUpperCase() === c.toUpperCase()) && t.slug === e), u = l?.product, d = s ? Ze(u) : null, f = d?.slug === e && d.currency === l?.currency.toUpperCase() ? d : null, { data: p, isLoading: m, error: h, refetch: g } = Ke({\n\t\tkey: `${o}:product:${n?.id ?? \"default\"}:${a.locale}:${c ?? \"mixed\"}:${e}`,\n\t\tenabled: s && r,\n\t\tinitialData: f,\n\t\tinitialDataIsResolved: !s || l !== void 0,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => {\n\t\t\tlet t = Ze(await i.adapter.getProductBySlug(e));\n\t\t\treturn t?.slug === e && (!c || t.currency === c.toUpperCase()) ? t : null;\n\t\t}\n\t});\n\treturn {\n\t\tproduct: p ?? null,\n\t\tisLoading: m,\n\t\terror: h,\n\t\trefetch: g\n\t};\n}\n//#endregion\n//#region src/runtime/catalogUrlState.ts\nfunction Vt(e) {\n\tif (!e) return;\n\tlet t = Number(e);\n\treturn Number.isFinite(t) ? t : void 0;\n}\nfunction Ht(e) {\n\tlet t = e.getAll(\"tags\"), n = (t.length === 1 ? t[0].split(\",\") : t).map((e) => e.trim()).filter(Boolean), r = Vt(e.get(\"min\")), i = Vt(e.get(\"max\")), a = e.get(\"inStock\"), o = a === \"1\" || a !== \"0\" && void 0;\n\treturn {\n\t\ttags: n.length ? n : void 0,\n\t\tpriceMin: r,\n\t\tpriceMax: i,\n\t\tinStock: o\n\t};\n}\nfunction Ut(e, t) {\n\te.delete(\"tags\");\n\tfor (let n of t.tags ?? []) e.append(\"tags\", n);\n\tt.tags?.length === 1 && t.tags[0].includes(\",\") && e.append(\"tags\", \"\"), typeof t.priceMin == \"number\" ? e.set(\"min\", String(t.priceMin)) : e.delete(\"min\"), typeof t.priceMax == \"number\" ? e.set(\"max\", String(t.priceMax)) : e.delete(\"max\"), typeof t.inStock == \"boolean\" ? e.set(\"inStock\", t.inStock ? \"1\" : \"0\") : e.delete(\"inStock\");\n}\nfunction Wt(e) {\n\tlet t = e.searchParams.toString();\n\treturn `${e.pathname}${t ? `?${t}` : \"\"}${e.hash}`;\n}\nfunction Gt({ baseUrl: e, state: t, includeCategory: n }) {\n\tlet r = new URL(e, \"https://cedros.local\");\n\tr.search = \"\", r.hash = \"\";\n\tlet i = r.searchParams;\n\treturn t.search.trim() ? i.set(\"q\", t.search.trim()) : i.delete(\"q\"), t.sort && t.sort !== \"featured\" ? i.set(\"sort\", t.sort) : i.delete(\"sort\"), t.page && t.page !== 1 ? i.set(\"page\", String(t.page)) : i.delete(\"page\"), n && t.category ? i.set(\"cat\", t.category) : i.delete(\"cat\"), Ut(i, t.filters), Wt(r);\n}\nfunction Kt({ includeCategory: e }) {\n\tif (typeof window > \"u\") return null;\n\tlet t = new URLSearchParams(window.location.search), n = t.get(\"q\") ?? \"\", r = t.get(\"sort\") ?? \"featured\", i = Vt(t.get(\"page\")) ?? 1, a = Ht(t), o = e ? t.get(\"cat\") ?? void 0 : void 0;\n\treturn {\n\t\tsearch: n,\n\t\tsort: r,\n\t\tpage: Math.max(1, Math.floor(i)),\n\t\tcategory: o,\n\t\tfilters: a\n\t};\n}\nfunction qt(e, { includeCategory: t, onRestore: n, baseUrl: r }) {\n\tlet i = q.useRef(!1), a = q.useRef(!1), o = q.useRef(n);\n\to.current = n, q.useEffect(() => {\n\t\tlet e = () => {\n\t\t\ta.current = !0;\n\t\t\tlet e = Kt({ includeCategory: t });\n\t\t\te && o.current?.(e);\n\t\t};\n\t\treturn window.addEventListener(\"popstate\", e), () => window.removeEventListener(\"popstate\", e);\n\t}, [t]);\n\tlet s = JSON.stringify(e.filters.tags ?? []);\n\tq.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet n = Gt({\n\t\t\tbaseUrl: r ?? window.location.href,\n\t\t\tstate: e,\n\t\t\tincludeCategory: t\n\t\t}), o = `${window.location.pathname}${window.location.search}${window.location.hash}`, s = !i.current || a.current;\n\t\tif (i.current = !0, a.current = !1, n !== o) {\n\t\t\tlet e = window.history.state && typeof window.history.state == \"object\" ? window.history.state : {};\n\t\t\twindow.history[s ? \"replaceState\" : \"pushState\"]({ ...e }, \"\", n);\n\t\t}\n\t}, [\n\t\tr,\n\t\tt,\n\t\te.category,\n\t\te.page,\n\t\te.search,\n\t\te.sort,\n\t\ts,\n\t\te.filters.priceMin,\n\t\te.filters.priceMax,\n\t\te.filters.inStock\n\t]);\n}\n//#endregion\n//#region src/runtime/checkoutAttempt.ts\nvar Jt = 4320 * 60 * 1e3, Yt = 3e3, Z = class extends Error {\n\tconstructor(e = \"Durable checkout attempt storage is unavailable\") {\n\t\tsuper(e), this.name = \"CheckoutAttemptStoreError\";\n\t}\n}, Xt = class extends Error {\n\tconstructor(e, t, n) {\n\t\tsuper(e), this.terminal = !0, this.name = \"CheckoutSessionTerminalError\", this.code = t, this.paymentMethod = n;\n\t}\n}, Zt = class extends Error {\n\tconstructor(e = \"Checkout return cannot be verified\") {\n\t\tsuper(e), this.name = \"CheckoutReturnUnverifiableError\";\n\t}\n}, Qt = class extends Error {\n\tconstructor(e, t) {\n\t\tsuper(t), this.kind = e, this.name = \"CheckoutSessionFailureError\";\n\t}\n};\nfunction $t(e) {\n\tif (e instanceof Qt) return e.kind;\n\tif (e instanceof Xt) {\n\t\tif (e.code === \"quote_expired\") return \"quote_expired\";\n\t\tif (e.paymentMethod !== \"x402\") return;\n\t\tif (e.code === \"insufficient-funds\") return \"insufficient_funds\";\n\t\tif (e.code?.includes(\"transaction\") || e.code?.includes(\"failed\")) return \"transaction_failed\";\n\t}\n}\nfunction en(e) {\n\treturn e instanceof Xt;\n}\nasync function tn(e, t, n, r = Date.now(), i = Yt) {\n\tif (on(e), dn(t), fn(n), !Number.isFinite(r) || r < 0) throw new Z(\"Checkout attempt timestamp is invalid\");\n\tlet a = await rn(e, t, r, i);\n\tif (a && a.materialFingerprint !== n) throw new Z(\"An unresolved checkout has different details\");\n\tlet o = {\n\t\tversion: 1,\n\t\tattemptId: an(),\n\t\tmaterialFingerprint: n,\n\t\tcreatedAt: r\n\t}, s = await un(e.resolve(t, {\n\t\tcandidate: o,\n\t\tnow: r,\n\t\tttlMs: Jt\n\t}), i);\n\treturn sn(s, o, r, Jt), {\n\t\tbinding: s.binding,\n\t\tcreated: s.outcome === \"created\"\n\t};\n}\nasync function nn(e, t, n, r = Yt) {\n\ton(e), dn(t), pn(n);\n\tlet i = await un(e.clear(t, { expectedAttemptId: n }), r);\n\tif (i !== \"cleared\" && i !== \"missing\" && i !== \"mismatch\") throw new Z(\"Checkout attempt store returned an invalid clear result\");\n\treturn i;\n}\nasync function rn(e, t, n = Date.now(), r = Yt) {\n\tif (on(e), dn(t), !Number.isFinite(n) || n < 0) throw new Z(\"Checkout attempt timestamp is invalid\");\n\tlet i = await un(e.read(t, {\n\t\tnow: n,\n\t\tttlMs: Jt\n\t}), r);\n\tif (i === null) return null;\n\tln(i, n);\n\tlet a = n - i.createdAt;\n\tif (a < 0 || a >= 2592e5) throw new Z(\"Checkout attempt store returned an expired binding\");\n\treturn i;\n}\nfunction an() {\n\tlet e = globalThis.crypto;\n\tif (typeof e?.randomUUID == \"function\") return e.randomUUID();\n\tif (typeof e?.getRandomValues != \"function\") throw Error(\"Secure checkout initialization is unavailable\");\n\tlet t = e.getRandomValues(/* @__PURE__ */ new Uint8Array(16));\n\tt[6] = t[6] & 15 | 64, t[8] = t[8] & 63 | 128;\n\tlet n = Array.from(t, (e) => e.toString(16).padStart(2, \"0\")).join(\"\");\n\treturn `${n.slice(0, 8)}-${n.slice(8, 12)}-${n.slice(12, 16)}-${n.slice(16, 20)}-${n.slice(20)}`;\n}\nfunction on(e) {\n\tif (!e || e.atomicVersion !== 2 || typeof e.resolve != \"function\" || typeof e.read != \"function\" || typeof e.clear != \"function\") throw new Z(\"Atomic checkout attempt storage v2 is unavailable\");\n}\nfunction sn(e, t, n, r) {\n\tif (!e || e.outcome !== \"created\" && e.outcome !== \"existing\") throw new Z(\"Checkout attempt store returned an invalid resolve result\");\n\tif (ln(e.binding, n), e.binding.materialFingerprint !== t.materialFingerprint) throw new Z(\"Checkout attempt store returned a binding for different checkout material\");\n\tif (e.outcome === \"created\" && (e.binding.attemptId !== t.attemptId || e.binding.createdAt !== t.createdAt || e.binding.version !== t.version)) throw new Z(\"Checkout attempt store returned an invalid created binding\");\n\tlet i = n - e.binding.createdAt;\n\tif (e.outcome === \"existing\" && (i < 0 || i >= r)) throw new Z(\"Checkout attempt store returned an expired binding\");\n}\nfunction cn(e, t) {\n\treturn ln(e, t), e;\n}\nfunction ln(e, t) {\n\tif (!e || typeof e != \"object\") throw new Z(\"Stored checkout attempt is corrupt\");\n\tlet n = e, r = Object.keys(n).sort().join(\",\");\n\tif (n.version !== 1 || !mn(n.attemptId) || !hn(n.materialFingerprint) || !Number.isFinite(n.createdAt) || !Number.isSafeInteger(n.createdAt) || n.createdAt < 0 || n.createdAt > t + 300 * 1e3 || r !== \"attemptId,createdAt,materialFingerprint,version\") throw new Z(\"Stored checkout attempt is corrupt\");\n}\nasync function un(e, t) {\n\tif (!Number.isFinite(t) || t <= 0) throw new Z(\"Checkout attempt storage timeout is invalid\");\n\tlet n, r = new Promise((e, r) => {\n\t\tn = setTimeout(() => r(new Z(\"Checkout attempt storage timed out\")), t);\n\t});\n\ttry {\n\t\treturn await Promise.race([e, r]);\n\t} catch (e) {\n\t\tthrow e instanceof Z ? e : new Z();\n\t} finally {\n\t\tn !== void 0 && clearTimeout(n);\n\t}\n}\nfunction dn(e) {\n\tif (!e || e.length > 256 || /[\\u0000-\\u001f\\u007f]/.test(e)) throw new Z(\"Checkout attempt scope is invalid\");\n}\nfunction fn(e) {\n\tif (!hn(e)) throw new Z(\"Checkout material fingerprint is invalid\");\n}\nfunction pn(e) {\n\tif (!mn(e)) throw new Z(\"Checkout attempt identifier is invalid\");\n}\nfunction mn(e) {\n\treturn typeof e == \"string\" && e.length >= 16 && e.length <= 128 && /^[A-Za-z0-9_-]+$/.test(e);\n}\nfunction hn(e) {\n\treturn typeof e == \"string\" && /^cedros-shop-checkout-material-[A-Za-z0-9_-]{43}$/.test(e);\n}\n//#endregion\n//#region src/runtime/checkoutIdempotency.ts\nvar gn = \"cedros-shop-checkout-\", _n = \"cedros-shop-checkout-material-\", vn = \"cedros-shop-checkout-scope-\", yn = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\";\nfunction bn(e) {\n\tlet t = V([e.options.discountCode, ...e.options.discountCodes ?? []]).slice(0, 1);\n\treturn {\n\t\tcart: Tn(e.cart),\n\t\tcustomer: {\n\t\t\temail: e.customer.email,\n\t\t\tname: e.customer.name,\n\t\t\tphone: e.customer.phone,\n\t\t\tshippingAddress: Dn(e.customer.shippingAddress),\n\t\t\tbillingAddress: Dn(e.customer.billingAddress)\n\t\t},\n\t\tcheckout: {\n\t\t\tcurrency: e.options.currency,\n\t\t\tsuccessUrl: e.options.successUrl,\n\t\t\tcancelUrl: e.options.cancelUrl,\n\t\t\tmetadata: En(e.options.metadata),\n\t\t\tdiscountCodes: t.length ? t : void 0,\n\t\t\tpromotionContext: e.options.promotionContext,\n\t\t\ttipAmount: e.options.tipAmount,\n\t\t\tshippingMethodId: e.options.shippingMethodId,\n\t\t\tpaymentMethodId: e.options.paymentMethodId\n\t\t}\n\t};\n}\nfunction xn(e) {\n\treturn `${_n}${An({\n\t\tversion: 3,\n\t\t...bn(e)\n\t})}`;\n}\nfunction Sn(e) {\n\tlet t = e.options.attemptId?.trim();\n\tif (!t) throw Error(\"A checkout attempt ID is required for a derived idempotency key\");\n\treturn `${gn}${An({\n\t\tversion: 3,\n\t\tattemptId: t,\n\t\t...bn(e)\n\t})}`;\n}\nfunction Cn(e, t) {\n\tlet n = t.trim();\n\tif (!/^[A-Za-z0-9_-]{16,128}$/.test(n)) throw Error(\"A valid opaque quote attempt ID is required for a derived idempotency key\");\n\treturn `${gn}${An({\n\t\tversion: 3,\n\t\toperation: \"quote\",\n\t\tquoteAttemptId: n,\n\t\t...bn(e)\n\t})}`;\n}\nfunction wn(e) {\n\tlet t = e.providerScope.trim();\n\tif (!t || t.length > 512 || /[\\u0000-\\u001f\\u007f]/.test(t)) throw Error(\"A valid opaque checkout provider scope is required\");\n\treturn `${vn}${An({\n\t\tproviderScope: t,\n\t\tconfiguredScope: e.configuredScope?.trim() || void 0,\n\t\tcartStorageKey: e.cartStorageKey?.trim() || \"cedros_shop_cart_v1\",\n\t\tcustomerId: e.customerId?.trim() || \"guest\"\n\t})}`;\n}\nfunction Tn(e) {\n\treturn e.map((e) => ({\n\t\tresource: e.resource,\n\t\tquantity: e.quantity,\n\t\tvariantId: e.variantId\n\t})).sort((e, t) => kn(On(e), On(t)));\n}\nfunction En(e) {\n\tlet t = {\n\t\textensionId: \"cedros-shop\",\n\t\t...e\n\t};\n\treturn Object.fromEntries(Object.entries(t).filter(([e]) => e !== \"idempotencyKey\" && e !== \"quoteId\").sort(([e], [t]) => kn(e, t)));\n}\nfunction Dn(e) {\n\tif (e) return Object.fromEntries(Object.entries(e).filter(([, e]) => e !== void 0 && e !== \"\").map(([e, t]) => [e, String(t)]).sort(([e], [t]) => kn(e, t)));\n}\nfunction On(e) {\n\treturn Array.isArray(e) ? `[${e.map(On).join(\",\")}]` : typeof e != \"object\" || !e ? JSON.stringify(e) ?? \"null\" : `{${Object.entries(e).filter(([, e]) => e !== void 0).sort(([e], [t]) => kn(e, t)).map(([e, t]) => `${JSON.stringify(e)}:${On(t)}`).join(\",\")}}`;\n}\nfunction kn(e, t) {\n\treturn e < t ? -1 : +(e > t);\n}\nfunction An(e) {\n\treturn jn(fe(Ye(On(e))));\n}\nfunction jn(e) {\n\tlet t = \"\";\n\tfor (let n = 0; n < e.length; n += 3) {\n\t\tlet r = e[n] << 16 | (e[n + 1] ?? 0) << 8 | (e[n + 2] ?? 0);\n\t\tt += yn[r >>> 18 & 63] + yn[r >>> 12 & 63], n + 1 < e.length && (t += yn[r >>> 6 & 63]), n + 2 < e.length && (t += yn[r & 63]);\n\t}\n\treturn t;\n}\n//#endregion\n//#region src/runtime/cedrosPayCheckout.ts\nvar Mn = \"cedros-pay-checkout\", Nn = Mn, Pn = \"cedros-pay:checkout\", Fn = \"cedros-pay-checkout:quote\", In = \"cedros-pay-checkout:checkout\", Ln = 67, Rn = 64, Q = class extends Error {\n\tconstructor(e = \"Cedros Pay checkout capability is unavailable\") {\n\t\tsuper(e), this.name = \"CedrosPayCheckoutConfigurationError\";\n\t}\n}, zn = class extends Error {\n\tconstructor(e = \"Cedros Pay checkout outcome is indeterminate\") {\n\t\tsuper(e), this.name = \"CedrosPayCheckoutIndeterminateError\";\n\t}\n}, Bn = class {\n\tconstructor(e, t) {\n\t\tthis.correlations = /* @__PURE__ */ new Map();\n\t\tlet n = Hn(e);\n\t\tthis.client = n.client, this.x402Wallet = t, this.providerScope = n.descriptor.providerScope.trim();\n\t}\n\tasync quote(e) {\n\t\tlet t = e.options.attemptId ? fr(e.options.attemptId) : an(), n = Wn(e, t);\n\t\tur(n);\n\t\tlet r = Kn(await this.client.quote(n), t);\n\t\treturn this.correlate(r.operationId, {\n\t\t\tmaterial: ar(e),\n\t\t\tpaymentMethods: r.quote.requestedPaymentMethods,\n\t\t\texpiresAt: r.quote.expiresAt,\n\t\t\tx402: r.quote.x402 ? yr(r.quote.x402) : void 0\n\t\t}), Jn(r);\n\t}\n\tasync checkout(e) {\n\t\tlet t = fr(e.options.attemptId), n = e.options.metadata?.quoteId;\n\t\tif (!cr(n)) throw new Q(\"Pay quote correlation is required\");\n\t\tlet r = this.correlations.get(n);\n\t\tif (!r || r.material !== ar(e)) throw new Q(\"Checkout does not match its authoritative Pay quote\");\n\t\tlet i = dr(Sn(e)), a = br(e.options.paymentMethodId);\n\t\tif (!r.paymentMethods.includes(a)) throw new Q(\"The payment method was not quoted by Pay\");\n\t\tlet o = Gn(e, t, n, i, a, await this.railProof(a, i, r));\n\t\tur(o);\n\t\tlet s;\n\t\ttry {\n\t\t\ts = await this.client.checkout(o);\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tkind: \"payment\",\n\t\t\t\tstatus: \"unknown\",\n\t\t\t\tpaymentMethod: a,\n\t\t\t\toperationId: `pending_${t}`,\n\t\t\t\tcode: \"provider-outage\"\n\t\t\t};\n\t\t}\n\t\treturn this.resolveCheckout(s, t, i, a);\n\t}\n\tasync verifyReturn(e, t) {\n\t\tlet n = fr(t);\n\t\tif (!Qn(e) && $n(e)) return {\n\t\t\tkind: \"cancel\",\n\t\t\tcheckoutAttemptId: n\n\t\t};\n\t\tlet r = Zn(e);\n\t\treturn Xn(await this.client.verifyReturn({\n\t\t\tschemaVersion: 1,\n\t\t\texpectedAttemptId: n,\n\t\t\treturnArtifact: r\n\t\t}), n);\n\t}\n\tasync resolveCheckout(e, t, n, r) {\n\t\tif (!e || e.attemptId !== t || !cr(e.operationId) || e.paymentMethod !== r || typeof e.replayed != \"boolean\") throw new zn();\n\t\tif (e.status === \"terminal\") throw mr(e.code, 256) ? (await this.clearSignedTransaction(n), new Xt(\"Checkout was rejected by Cedros Pay\", e.code, e.paymentMethod)) : new zn();\n\t\tif (e.status === \"indeterminate\") {\n\t\t\tif (!mr(e.code, 256)) throw new zn();\n\t\t\treturn {\n\t\t\t\tkind: \"payment\",\n\t\t\t\tstatus: \"unknown\",\n\t\t\t\tpaymentMethod: e.paymentMethod,\n\t\t\t\toperationId: e.operationId,\n\t\t\t\tcode: e.code\n\t\t\t};\n\t\t}\n\t\tif (e.status === \"paid\") return await this.clearSignedTransaction(n), {\n\t\t\tkind: \"payment\",\n\t\t\tstatus: \"completed\",\n\t\t\tpaymentMethod: e.paymentMethod,\n\t\t\toperationId: e.operationId\n\t\t};\n\t\tif (e.status === \"processing\") return {\n\t\t\tkind: \"payment\",\n\t\t\tstatus: \"pending\",\n\t\t\tpaymentMethod: e.paymentMethod,\n\t\t\toperationId: e.operationId\n\t\t};\n\t\tif (e.status !== \"action_required\" || e.paymentMethod !== \"stripe\" || !lr(e.returnArtifact)) throw new zn();\n\t\tlet i;\n\t\ttry {\n\t\t\ti = await this.client.resolve({\n\t\t\t\tschemaVersion: 1,\n\t\t\t\toperationId: e.operationId,\n\t\t\t\texpectedAttemptId: t,\n\t\t\t\treturnArtifact: e.returnArtifact\n\t\t\t});\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tkind: \"payment\",\n\t\t\t\tstatus: \"unknown\",\n\t\t\t\tpaymentMethod: e.paymentMethod,\n\t\t\t\toperationId: e.operationId,\n\t\t\t\tcode: \"provider-outage\"\n\t\t\t};\n\t\t}\n\t\treturn Yn(i, e.operationId, t);\n\t}\n\tasync railProof(e, t, n) {\n\t\tif (e === \"stripe\") return { kind: \"stripe\" };\n\t\tif (e === \"credits\") return { kind: \"credits\" };\n\t\tif (!n.x402 || !this.x402Wallet) throw new Q(\"Quoted x402 wallet instructions are unavailable\");\n\t\tlet r;\n\t\ttry {\n\t\t\tr = await this.x402Wallet.recoverSignedTransaction(t);\n\t\t} catch {\n\t\t\tthrow new Qt(\"provider_outage\", \"Wallet recovery is unavailable\");\n\t\t}\n\t\tif (!r && _r(n.expiresAt)) throw new Qt(\"quote_expired\", \"The payment quote expired before wallet approval\");\n\t\tif (!r) try {\n\t\t\tr = await this.x402Wallet.signQuotedPayment({\n\t\t\t\tidempotencyKey: t,\n\t\t\t\tinstructions: yr(n.x402)\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthrow xr(e);\n\t\t}\n\t\tif (!$(r, 16384)) throw new Q(\"The signed x402 transaction is invalid\");\n\t\treturn {\n\t\t\tkind: \"x402\",\n\t\t\ttransaction: r\n\t\t};\n\t}\n\tasync clearSignedTransaction(e) {\n\t\ttry {\n\t\t\tawait this.x402Wallet?.clearSignedTransaction?.(e);\n\t\t} catch {}\n\t}\n\tcorrelate(e, t) {\n\t\tif (!cr(e)) throw new zn(\"Pay quote operation is invalid\");\n\t\tfor (this.correlations.delete(e), this.correlations.set(e, t); this.correlations.size > Rn;) {\n\t\t\tlet e = this.correlations.keys().next().value;\n\t\t\tif (e === void 0) break;\n\t\t\tthis.correlations.delete(e);\n\t\t}\n\t}\n};\nfunction Vn(e) {\n\treturn e?.capabilityId === \"cedros-pay:checkout\" && Un(e.descriptor) ? e.descriptor.providerScope : void 0;\n}\nfunction Hn(e) {\n\tif (e?.capabilityId !== \"cedros-pay:checkout\" || !e.client || !Un(e.descriptor)) throw new Q(\"Cedros Pay checkout descriptor is invalid\");\n\tlet t = e.client;\n\tif (typeof t.quote != \"function\" || typeof t.checkout != \"function\" || typeof t.status != \"function\" || typeof t.resolve != \"function\" || typeof t.verifyReturn != \"function\") throw new Q(\"Cedros Pay checkout client is invalid\");\n\treturn e;\n}\nfunction Un(e) {\n\tif (!e || typeof e != \"object\") return !1;\n\tlet t = e;\n\treturn t.protocol === \"cedros-pay-checkout\" && pr(t.providerScope) && Number.isFinite(t.replayTtlMs) && t.replayTtlMs === 2592e5 && t.acceptsExternalIdempotencyKey === !0 && t.maxIdempotencyKeyLength === Ln && t.idempotencyKeyCharacterSet === \"ascii-visible\" && t.operationScopes?.quote === \"cedros-pay-checkout:quote\" && t.operationScopes.checkout === \"cedros-pay-checkout:checkout\";\n}\nfunction Wn(e, t) {\n\tlet n = er(e);\n\treturn {\n\t\tschemaVersion: 1,\n\t\tidempotencyKey: dr(Cn(e, t)),\n\t\tattemptId: t,\n\t\tclientMaterialSha256: or(Fn, n),\n\t\t...n\n\t};\n}\nfunction Gn(e, t, n, r, i, a) {\n\tlet o = {\n\t\tquoteOperationId: n,\n\t\tpaymentMethod: i,\n\t\tcustomerContext: nr(e),\n\t\trailProof: a\n\t};\n\treturn {\n\t\tschemaVersion: 1,\n\t\tidempotencyKey: r,\n\t\tattemptId: t,\n\t\tclientMaterialSha256: or(In, o),\n\t\t...o\n\t};\n}\nfunction Kn(e, t) {\n\tif (e?.schemaVersion !== 1 || e.attemptId !== t || !cr(e.operationId) || typeof e.replayed != \"boolean\" || !qn(e.quote)) throw new zn(\"Pay quote outcome is indeterminate\");\n\treturn e;\n}\nfunction qn(e) {\n\tif (!e || e.schemaVersion !== 1 || !/^[A-Za-z]{3}$/.test(e.currency) || !hr(e.subtotalCents) || !hr(e.totalCents) || e.totalCents < 1 || !hr(e.discountCents) || !hr(e.taxCents) || !hr(e.tipCents) || !hr(e.shippingCents) || !Array.isArray(e.lines) || !e.lines.length || e.lines.length > 100 || !gr(e.expiresAt) || !Array.isArray(e.requestedPaymentMethods) || !e.requestedPaymentMethods.length || e.requestedPaymentMethods.length > 3 || new Set(e.requestedPaymentMethods).size !== e.requestedPaymentMethods.length || !e.requestedPaymentMethods.every((e) => [\n\t\t\"stripe\",\n\t\t\"x402\",\n\t\t\"credits\"\n\t].includes(e)) || e.x402 !== void 0 && !vr(e.x402) || e.source?.kind !== \"items\" || !/^[0-9a-f]{64}$/.test(e.source.intentSha256)) return !1;\n\tlet t = 0;\n\tfor (let n of e.lines) {\n\t\tif (!sr(n.resource) || !Number.isSafeInteger(n.qty) || n.qty <= 0 || !hr(n.unitAmountCents) || !hr(n.lineTotalCents) || typeof n.currency != \"string\" || n.currency.toUpperCase() !== e.currency.toUpperCase()) return !1;\n\t\tlet r = n.qty * n.unitAmountCents;\n\t\tif (!Number.isSafeInteger(r) || n.lineTotalCents !== r || !Number.isSafeInteger(t + r)) return !1;\n\t\tt += r;\n\t}\n\tlet n = t - e.discountCents + e.taxCents + e.shippingCents + e.tipCents;\n\treturn t === e.subtotalCents && Number.isSafeInteger(n) && n > 0 && n === e.totalCents;\n}\nfunction Jn(e) {\n\treturn {\n\t\tid: e.operationId,\n\t\tsubtotal: e.quote.subtotalCents / 100,\n\t\tdiscountTotal: e.quote.discountCents / 100,\n\t\tshippingTotal: e.quote.shippingCents / 100,\n\t\ttaxTotal: e.quote.taxCents / 100,\n\t\ttipAmount: e.quote.tipCents / 100,\n\t\ttotal: e.quote.totalCents / 100,\n\t\tcurrency: e.quote.currency.toUpperCase(),\n\t\texpiresAt: e.quote.expiresAt,\n\t\tx402: e.quote.x402 ? yr(e.quote.x402) : void 0\n\t};\n}\nfunction Yn(e, t, n) {\n\tif (e?.status !== \"resolved\" || e.operationId !== t || e.attemptId !== n || e.paymentMethod !== \"stripe\" || !Sr(e.checkoutUrl)) throw new zn(\"Checkout provider URL is indeterminate or mismatched\");\n\treturn {\n\t\tkind: \"redirect\",\n\t\turl: e.checkoutUrl\n\t};\n}\nfunction Xn(e, t) {\n\tif (e?.status !== \"verified\" || e.checkoutAttemptId !== t) throw new zn(\"Checkout return verification failed or mismatched\");\n\treturn {\n\t\tkind: \"success\",\n\t\tcheckoutAttemptId: t\n\t};\n}\nfunction Zn(e) {\n\tlet t = lr(e.returnArtifact) ? e.returnArtifact : void 0, n = lr(e.session_id) ? e.session_id : void 0;\n\tif (t && n && t !== n) throw new zn(\"Checkout return artifacts mismatch\");\n\tlet r = t ?? n;\n\tif (!r) throw new Zt(\"Checkout return artifact is missing\");\n\treturn r;\n}\nfunction Qn(e) {\n\treturn [\n\t\t\"returnArtifact\",\n\t\t\"session_id\",\n\t\t\"checkout_session_id\"\n\t].some((t) => !!e[t]?.trim());\n}\nfunction $n(e) {\n\tlet t = (t) => e[t]?.trim().toLowerCase() ?? \"\";\n\treturn [\n\t\t\"canceled\",\n\t\t\"cancelled\",\n\t\t\"cancel\"\n\t].some((e) => t(e) === \"1\" || t(e) === \"true\") || [\"checkout\", \"status\"].some((e) => [\n\t\t\"cancel\",\n\t\t\"canceled\",\n\t\t\"cancelled\"\n\t].includes(t(e)));\n}\nfunction er(e) {\n\tlet t = e.options.tipAmount, n = t === void 0 ? 0 : Math.round(t * 100);\n\tif (t !== void 0 && (!Number.isFinite(t) || t < 0 || !Number.isSafeInteger(n) || n > 1e6 || Math.abs(t * 100 - n) > 1e-6)) throw new Q(\"Checkout tip is invalid\");\n\treturn {\n\t\tsource: {\n\t\t\tkind: \"items\",\n\t\t\titems: tr(e)\n\t\t},\n\t\tpromotionCode: V([e.options.discountCode, ...e.options.discountCodes ?? []])[0],\n\t\tcustomerContext: nr(e),\n\t\t...n ? { tip: {\n\t\t\tkind: \"fixed\",\n\t\t\tamountCents: n\n\t\t} } : {},\n\t\trequestedPaymentMethods: [br(e.options.paymentMethodId)]\n\t};\n}\nfunction tr(e) {\n\tif (!Array.isArray(e.cart) || !e.cart.length || e.cart.length > 100) throw new Q(\"Checkout cart must contain 1 to 100 items\");\n\treturn e.cart.map((e) => {\n\t\tif (!sr(e.resource) || !Number.isSafeInteger(e.quantity) || e.quantity < 1 || e.quantity > 999 || e.variantId !== void 0 && !sr(e.variantId)) throw new Q(\"Checkout cart contains an invalid line\");\n\t\treturn {\n\t\t\tresource: e.resource,\n\t\t\tqty: e.quantity,\n\t\t\t...e.variantId ? { variantId: e.variantId } : {}\n\t\t};\n\t}).sort((e, t) => JSON.stringify(e) < JSON.stringify(t) ? -1 : +(JSON.stringify(e) > JSON.stringify(t)));\n}\nfunction nr(e) {\n\tlet t = e.customer.shippingAddress, n = e.options.metadata?.shippingRequired === \"true\" || !!t, r = { kind: \"digital\" };\n\tif (n) {\n\t\tif (!t || !$(t.line1, 200) || !$(t.city, 100) || !$(t.postalCode, 32) || !/^[A-Za-z]{2}$/.test(t.country ?? \"\") || !$(e.options.shippingMethodId, 128)) throw new Q(\"A complete shipping address and shipping option are required\");\n\t\tr = {\n\t\t\tkind: \"shipping\",\n\t\t\taddress: {\n\t\t\t\tline1: t.line1,\n\t\t\t\tcity: t.city,\n\t\t\t\tpostalCode: t.postalCode,\n\t\t\t\tcountry: t.country,\n\t\t\t\t...t.line2 ? { line2: rr(t.line2, 200) } : {},\n\t\t\t\t...t.state ? { region: rr(t.state, 100) } : {}\n\t\t\t},\n\t\t\tshipping: { optionId: e.options.shippingMethodId }\n\t\t};\n\t}\n\tlet i = {\n\t\t...e.customer.email ? { email: rr(e.customer.email, 254) } : {},\n\t\t...e.customer.phone ? { phone: rr(e.customer.phone, 64) } : {},\n\t\t...e.customer.name ? { displayName: rr(e.customer.name, 200) } : {}\n\t};\n\treturn {\n\t\tfulfillment: r,\n\t\t...Object.keys(i).length ? { contact: i } : {},\n\t\treturnUrls: {\n\t\t\tsuccess: ir(e.options.successUrl),\n\t\t\tcancel: ir(e.options.cancelUrl)\n\t\t}\n\t};\n}\nfunction rr(e, t) {\n\tif (!$(e, t)) throw new Q(\"Checkout contact or address is invalid\");\n\treturn e;\n}\nfunction ir(e) {\n\tif (!$(e, 2048)) throw new Q(\"Checkout return URL is required\");\n\ttry {\n\t\tlet t = new URL(e);\n\t\tif (t.protocol === \"https:\" && !t.username && !t.password) return e;\n\t} catch {}\n\tthrow new Q(\"Checkout return URL must use HTTPS without credentials\");\n}\nfunction ar(e) {\n\treturn JSON.stringify(er(e));\n}\nfunction or(e, t) {\n\treturn Ue(fe(Ye(JSON.stringify({\n\t\toperationScope: e,\n\t\t...t\n\t}))));\n}\nfunction sr(e) {\n\treturn typeof e == \"string\" && /^[A-Za-z0-9_.:-]{1,128}$/.test(e);\n}\nfunction cr(e) {\n\treturn typeof e == \"string\" && /^payop_[0-9a-f]{64}$/.test(e);\n}\nfunction lr(e) {\n\treturn typeof e == \"string\" && e.length <= 255 && /^cs_[A-Za-z0-9_-]+$/.test(e);\n}\nfunction ur(e) {\n\tif (Ye(JSON.stringify(e)).length > 16 * 1024) throw new Q(\"Checkout request exceeds the Pay transport limit\");\n}\nfunction dr(e) {\n\tif (!$(e, Ln)) throw new Q(\"Checkout idempotency key is incompatible with Pay\");\n\treturn e;\n}\nfunction fr(e) {\n\tif (!$(e, 256)) throw new Q(\"Checkout attempt identifier is required\");\n\treturn e;\n}\nfunction pr(e) {\n\treturn typeof e == \"string\" && e === e.trim() && mr(e, 512);\n}\nfunction $(e, t) {\n\treturn typeof e == \"string\" && e === e.trim() && mr(e, t);\n}\nfunction mr(e, t) {\n\treturn typeof e == \"string\" && e.length > 0 && e.length <= t && !/[\\u0000-\\u001f\\u007f]/.test(e);\n}\nfunction hr(e) {\n\treturn Number.isSafeInteger(e) && e >= 0;\n}\nfunction gr(e) {\n\treturn typeof e == \"string\" && e.length <= 64 && Number.isFinite(Date.parse(e));\n}\nfunction _r(e) {\n\treturn Date.now() >= Date.parse(e);\n}\nfunction vr(e) {\n\tif (!e || typeof e != \"object\") return !1;\n\tlet t = e;\n\treturn $(t.network, 128) && (t.tokenSymbol === void 0 || $(t.tokenSymbol, 32)) && $(t.payTo, 44) && t.payTo.length >= 32 && (t.feePayer === void 0 || $(t.feePayer, 44) && t.feePayer.length >= 32) && $(t.recipientTokenAccount, 44) && t.recipientTokenAccount.length >= 32 && $(t.tokenMint, 44) && t.tokenMint.length >= 32 && Number.isSafeInteger(t.amountAtomic) && t.amountAtomic > 0 && Number.isInteger(t.decimals) && t.decimals >= 0 && t.decimals <= 255 && $(t.memo, 512);\n}\nfunction yr(e) {\n\treturn {\n\t\tnetwork: e.network,\n\t\ttokenSymbol: e.tokenSymbol,\n\t\ttokenMint: e.tokenMint,\n\t\tpayTo: e.payTo,\n\t\tfeePayer: e.feePayer,\n\t\trecipientTokenAccount: e.recipientTokenAccount,\n\t\tamountAtomic: e.amountAtomic,\n\t\tdecimals: e.decimals,\n\t\tmemo: e.memo\n\t};\n}\nfunction br(e) {\n\tif (e === \"card\" || e === \"stripe\") return \"stripe\";\n\tif (e === \"crypto\" || e === \"x402\") return \"x402\";\n\tif (e === \"credits\") return \"credits\";\n\tthrow new Q(\"A supported payment method is required\");\n}\nfunction xr(e) {\n\tlet t = e && typeof e == \"object\" && \"code\" in e ? String(e.code) : \"\";\n\treturn [\n\t\t\"4001\",\n\t\t\"wallet-rejected\",\n\t\t\"wallet_rejected\",\n\t\t\"user_rejected_signature\",\n\t\t\"user-rejected-signature\"\n\t].includes(t) ? new Qt(\"wallet_rejected\", \"Wallet approval was rejected\") : t === \"insufficient-funds\" || t === \"insufficient_funds\" ? new Qt(\"insufficient_funds\", \"The wallet has insufficient funds\") : t.includes(\"transaction\") || t.includes(\"failed\") ? new Qt(\"transaction_failed\", \"The wallet transaction failed\") : new Qt(\"provider_outage\", \"The wallet provider is unavailable\");\n}\nfunction Sr(e) {\n\tif (typeof e != \"string\" || e.length > 2048) return !1;\n\ttry {\n\t\tlet t = new URL(e);\n\t\treturn t.protocol === \"https:\" && t.hostname === \"checkout.stripe.com\" && !t.port && !t.username && !t.password;\n\t} catch {\n\t\treturn !1;\n\t}\n}\n//#endregion\n//#region src/runtime/useCedrosPayCheckoutAdapter.ts\nasync function Cr(e) {\n\tlet t = await e?.(), n = typeof t == \"string\" ? t.trim() : \"\";\n\tif (!n) throw Error(\"Buyer authentication is required for this order action\");\n\treturn n;\n}\nfunction wr(e, t, n) {\n\treturn !t?.createReorderCart && !t?.createOrderPaymentSession ? e : {\n\t\t...e,\n\t\t...t.createReorderCart ? { async createReorderCart({ orderId: e }) {\n\t\t\tlet r = await Cr(n);\n\t\t\treturn t.createReorderCart({\n\t\t\t\torderId: e,\n\t\t\t\tauthToken: r\n\t\t\t});\n\t\t} } : {},\n\t\t...t.createOrderPaymentSession ? { async createOrderPaymentSession(e) {\n\t\t\tlet r = await Cr(n);\n\t\t\treturn t.createOrderPaymentSession({\n\t\t\t\t...e,\n\t\t\t\tauthToken: r\n\t\t\t});\n\t\t} } : {}\n\t};\n}\nfunction Tr(e, t, n) {\n\treturn !t || Object.values(t).every((e) => typeof e != \"function\") ? e : {\n\t\t...e,\n\t\t...t.getSubscriptionStatus ? { async getSubscriptionStatus() {\n\t\t\treturn t.getSubscriptionStatus({ authToken: await Cr(n) });\n\t\t} } : {},\n\t\t...t.pauseSubscription ? { async pauseSubscription(e) {\n\t\t\treturn t.pauseSubscription({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {},\n\t\t...t.resumeSubscription ? { async resumeSubscription(e) {\n\t\t\treturn t.resumeSubscription({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {},\n\t\t...t.skipSubscriptionRenewal ? { async skipSubscriptionRenewal(e) {\n\t\t\treturn t.skipSubscriptionRenewal({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {},\n\t\t...t.cancelSubscription ? { async cancelSubscription(e) {\n\t\t\treturn t.cancelSubscription({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {},\n\t\t...t.changeSubscriptionPlan ? { async changeSubscriptionPlan(e) {\n\t\t\treturn t.changeSubscriptionPlan({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {},\n\t\t...t.createSubscriptionManagementSession ? { async createSubscriptionManagementSession(e) {\n\t\t\treturn t.createSubscriptionManagementSession({\n\t\t\t\t...e,\n\t\t\t\tauthToken: await Cr(n)\n\t\t\t});\n\t\t} } : {}\n\t};\n}\nvar Er = [\n\t\"card\",\n\t\"stripe\",\n\t\"crypto\",\n\t\"x402\",\n\t\"credits\"\n];\nfunction Dr(e, t = {}) {\n\tlet n = t.checkout?.client ? t.checkout : void 0, r, i = () => {\n\t\tif (!n) throw new Q();\n\t\treturn r ??= new Bn(n, t.x402Wallet);\n\t};\n\treturn Tr(wr({\n\t\t...e,\n\t\tcheckoutInputSupport: {\n\t\t\tbillingAddress: !1,\n\t\t\torderNotes: !1\n\t\t},\n\t\trequiresShippingOption: !0,\n\t\tsupportedPaymentMethodIds: Er,\n\t\tcheckoutProviderScope: Vn(n),\n\t\tasync createCheckoutQuote(e) {\n\t\t\treturn i().quote(e);\n\t\t},\n\t\tasync createCheckoutSession(e) {\n\t\t\treturn i().checkout(e);\n\t\t},\n\t\tasync resolveCheckoutReturn({ query: e, expectedAttemptId: t }) {\n\t\t\treturn i().verifyReturn(e, t);\n\t\t}\n\t}, t.orderRecovery, t.getBuyerAuthToken), t.subscriptionManagement, t.getBuyerAuthToken);\n}\nfunction Or(e, t = {}) {\n\tlet n = t.checkout, r = t.getBuyerAuthToken, i = t.orderRecovery, a = t.subscriptionManagement, o = t.x402Wallet;\n\treturn q.useMemo(() => Dr(e, {\n\t\tcheckout: n,\n\t\tx402Wallet: o,\n\t\tgetBuyerAuthToken: r,\n\t\torderRecovery: i,\n\t\tsubscriptionManagement: a\n\t}), [\n\t\te,\n\t\tn,\n\t\tr,\n\t\ti,\n\t\ta,\n\t\to\n\t]);\n}\n//#endregion\n//#region src/storefront/QuickViewDialog.tsx\nfunction kr({ product: e, open: t, onOpenChange: n, productHref: r, onAddToCart: i, className: a }) {\n\tlet { t: o } = W(), s = ue(), [c, l] = q.useState(1), [u, d] = q.useState({\n\t\tselectedOptions: {},\n\t\tvariant: null\n\t}), [f, p] = q.useState(null);\n\tif (!e) return f !== null && p(null), null;\n\tif (!t) f !== null && p(null);\n\telse if (e.id !== f) {\n\t\tlet t = e.variants?.[0];\n\t\tp(e.id), l(1), d(t ? {\n\t\t\tselectedOptions: { ...t.options },\n\t\t\tvariant: t\n\t\t} : {\n\t\t\tselectedOptions: {},\n\t\t\tvariant: null\n\t\t});\n\t}\n\tlet m = e.variants?.find((e) => e.id === u.variant?.id) ?? null, h = !!e.variants?.length && !m, g = m?.price ?? e.price, _ = pe(e, m), v = !h && s.inventory && I(m ?? e), y = h || v, b = he(e, m, s.inventory);\n\treturn /* @__PURE__ */ J(S, {\n\t\topen: t,\n\t\tonOpenChange: n,\n\t\tchildren: /* @__PURE__ */ Y(P, {\n\t\t\tclassName: U(\"cedros-shop-public__quick-view-dialog\", a),\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ J(O, { children: /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__quick-view-heading\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ J(se, { children: e.title }), r ? /* @__PURE__ */ J(\"a\", {\n\t\t\t\t\t\thref: r(e.slug),\n\t\t\t\t\t\tclassName: \"text-sm font-normal hover:underline\",\n\t\t\t\t\t\tchildren: o(\"storefront.product.viewDetails\")\n\t\t\t\t\t}) : null]\n\t\t\t\t}) }),\n\t\t\t\t/* @__PURE__ */ Y(Te, {\n\t\t\t\t\trole: \"region\",\n\t\t\t\t\t\"aria-label\": o(\"storefront.product.description\"),\n\t\t\t\t\ttabIndex: 0,\n\t\t\t\t\tclassName: \"cedros-shop-public__quick-view-body grid gap-6 md:grid-cols-2\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ J(ye, {\n\t\t\t\t\t\timages: We(e, m),\n\t\t\t\t\t\tfallbackAlt: e.title\n\t\t\t\t\t}), /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"space-y-5\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(x, {\n\t\t\t\t\t\t\tswapKey: `${g}:${_ ?? \"\"}:${e.currency}`,\n\t\t\t\t\t\t\tclassName: \"inline-block\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ J(Ve, {\n\t\t\t\t\t\t\t\tamount: g,\n\t\t\t\t\t\t\t\tcurrency: e.currency,\n\t\t\t\t\t\t\t\tcompareAt: _\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}), /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\tclassName: \"mt-3 text-sm\",\n\t\t\t\t\t\t\tchildren: e.description\n\t\t\t\t\t\t})] }), /* @__PURE__ */ J(xe, {\n\t\t\t\t\t\t\tproduct: e,\n\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\tselectedOptions: u.selectedOptions,\n\t\t\t\t\t\t\t\tvariantId: m?.id\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonChange: (e) => d(e),\n\t\t\t\t\t\t\tshowInventory: s.inventory\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__quick-view-footer\",\n\t\t\t\t\tchildren: [h ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\tclassName: \"text-xs\",\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: o(\"storefront.product.combinationUnavailable\")\n\t\t\t\t\t}) : s.inventory ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\tclassName: \"text-xs\",\n\t\t\t\t\t\tchildren: o(v ? \"storefront.stock.out\" : \"storefront.stock.in\")\n\t\t\t\t\t}) : null, /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__quick-view-buy flex flex-wrap items-center gap-3\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(ke, {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-quantity\",\n\t\t\t\t\t\t\tqty: c,\n\t\t\t\t\t\t\tonChange: l,\n\t\t\t\t\t\t\tmax: b\n\t\t\t\t\t\t}), /* @__PURE__ */ J(K, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__button--acquire flex-1\",\n\t\t\t\t\t\t\tdisabled: y,\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ty || (i(e, m, b ? Math.min(c, b) : c), n(!1));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: o(h ? \"storefront.product.unavailable\" : v ? \"storefront.stock.out\" : \"storefront.product.addToCart\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\n//#endregion\n//#region src/runtime/useCatalogFacets.ts\nfunction Ar(e, t, n, r) {\n\tlet { config: i, i18n: a, dataCacheKey: o } = G(), s = `${o}:facets:${z({\n\t\tcategory: e,\n\t\tsearch: t,\n\t\tmarket: n,\n\t\tlocale: a.locale,\n\t\tcurrency: i.currency\n\t})}`, c = q.useRef(/* @__PURE__ */ new Map()), l = q.useRef(/* @__PURE__ */ new Map()), u = Ke({\n\t\tkey: s,\n\t\tenabled: r,\n\t\tinitialData: null,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => {\n\t\t\tlet r = new AbortController(), a = l.current.get(s) ?? /* @__PURE__ */ new Set();\n\t\t\tl.current.set(s, a), a.add(r);\n\t\t\ttry {\n\t\t\t\tlet a = xt(i.adapter);\n\t\t\t\treturn await oe((e) => a.list(e, n, {\n\t\t\t\t\tsignal: r.signal,\n\t\t\t\t\tscope: s\n\t\t\t\t}), {\n\t\t\t\t\tcategory: e,\n\t\t\t\t\tsearch: t || void 0\n\t\t\t\t}, n?.currency, r.signal);\n\t\t\t} finally {\n\t\t\t\ta.delete(r);\n\t\t\t}\n\t\t}\n\t});\n\tq.useEffect(() => (clearTimeout(c.current.get(s)), c.current.delete(s), () => {\n\t\tc.current.set(s, setTimeout(() => {\n\t\t\tl.current.get(s)?.forEach((e) => e.abort()), l.current.delete(s), c.current.delete(s);\n\t\t}, 25));\n\t}), [r, s]);\n\tlet d = q.useCallback(() => (xt(i.adapter).invalidateScope(s), u.refetch()), [\n\t\ti.adapter,\n\t\ts,\n\t\tu.refetch\n\t]);\n\treturn {\n\t\t...u,\n\t\trefetch: d\n\t};\n}\n//#endregion\n//#region src/runtime/useCatalogSearch.ts\nfunction jr(e = \"\", t = 1) {\n\tlet [n, r] = q.useState(e), [i, a] = q.useState({\n\t\tquery: e.trim(),\n\t\tpage: t\n\t}), o = q.useRef(e), s = q.useRef(!1), c = q.useRef(null), l = q.useCallback(() => {\n\t\tc.current !== null && clearTimeout(c.current), c.current = null;\n\t}, []);\n\tq.useEffect(() => l, [l]);\n\tlet u = q.useCallback((e, t = 1) => {\n\t\tl(), s.current = !1, o.current = e, r(e), a({\n\t\t\tquery: e.trim(),\n\t\t\tpage: t\n\t\t});\n\t}, [l]), d = q.useCallback((e) => {\n\t\tif (l(), o.current = e, r(e), !s.current) {\n\t\t\tif (!e.trim()) {\n\t\t\t\tu(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tc.current = setTimeout(() => u(o.current), 250);\n\t\t}\n\t}, [l, u]), f = q.useCallback((e) => {\n\t\tl();\n\t\tlet t = o.current.trim();\n\t\ta((n) => ({\n\t\t\tquery: t,\n\t\t\tpage: t === n.query ? typeof e == \"function\" ? e(n.page) : e : 1\n\t\t}));\n\t}, [l]), p = q.useCallback(() => {\n\t\ts.current = !0, l();\n\t}, [l]), m = q.useCallback((e) => {\n\t\ts.current = !1, d(e);\n\t}, [d]);\n\treturn {\n\t\tvalue: n,\n\t\tquery: i.query,\n\t\tpage: i.page,\n\t\tsetValue: d,\n\t\tsetPage: f,\n\t\tcommit: u,\n\t\tisPending: n.trim() !== i.query,\n\t\tcompositionStart: p,\n\t\tcompositionEnd: m\n\t};\n}\n//#endregion\n//#region src/storefront/catalogAnalytics.ts\nfunction Mr(e) {\n\tlet t = [];\n\treturn e.tags?.length && t.push(\"tags\"), (typeof e.priceMin == \"number\" || typeof e.priceMax == \"number\") && t.push(\"price\"), typeof e.inStock == \"boolean\" && t.push(\"stock\"), t;\n}\nfunction Nr({ surface: e, collectionRef: t, collectionType: n }) {\n\tlet r = te(), i = q.useRef(null);\n\tq.useEffect(() => {\n\t\ti.current !== t && (i.current = t, r(\"cedros-shop:collection-viewed\", {\n\t\t\tcollection_ref: t,\n\t\t\tcollection_type: n,\n\t\t\tsurface: e\n\t\t}));\n\t}, [\n\t\tr,\n\t\te,\n\t\tt,\n\t\tn\n\t]);\n}\nfunction Pr(e, t) {\n\treturn e <= 0 ? \"0\" : t ? \"25+\" : e <= 5 ? \"1-5\" : e <= 24 ? \"6-24\" : \"25+\";\n}\nfunction Fr({ surface: e, search: t, sort: n, filterFacets: r, resultCount: i, hasMore: a, isLoading: o }) {\n\tlet s = te(), c = q.useRef(null), l = t.trim(), u = `${l}|${n}|${r}`;\n\tq.useEffect(() => {\n\t\tif (c.current === null) {\n\t\t\to || (c.current = u);\n\t\t\treturn;\n\t\t}\n\t\tif (c.current === u || o || typeof window > \"u\") return;\n\t\tlet t = window.setTimeout(() => {\n\t\t\tc.current = u, !(!l && n === \"featured\" && !r) && s(\"cedros-shop:catalog-searched\", {\n\t\t\t\thas_query: l ? \"true\" : \"false\",\n\t\t\t\tsort_ref: n,\n\t\t\t\tfilter_facets: r || void 0,\n\t\t\t\tresult_count_bucket: Pr(i, a),\n\t\t\t\tsurface: e\n\t\t\t});\n\t\t}, 300);\n\t\treturn () => window.clearTimeout(t);\n\t}, [\n\t\ts,\n\t\te,\n\t\tu,\n\t\tl,\n\t\tn,\n\t\tr,\n\t\ti,\n\t\ta,\n\t\to\n\t]);\n}\n//#endregion\n//#region src/storefront/MerchandisingCollections.tsx\nfunction Ir({ collections: e, onSelect: t, className: n }) {\n\tlet r = e.filter(v).slice(0, 8);\n\treturn r.length === 0 ? null : /* @__PURE__ */ J(\"div\", {\n\t\tclassName: U(\"cedros-shop-public__featured-collections flex flex-wrap gap-2\", n),\n\t\tchildren: r.map((e) => /* @__PURE__ */ J(\"button\", {\n\t\t\ttype: \"button\",\n\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--secondary h-9 px-3 text-sm\",\n\t\t\tonClick: () => t(Lr(e)),\n\t\t\tchildren: e.title\n\t\t}, e.id))\n\t});\n}\nfunction Lr(e) {\n\tlet t = e.rules.filter(d), n = t.find((e) => e.type === \"category\")?.value.trim(), r = t.find((e) => e.type === \"search\")?.value.trim() ?? \"\";\n\treturn {\n\t\tcategory: n,\n\t\ttags: t.filter((e) => e.type === \"tag\").map((e) => e.value.trim()),\n\t\tsearch: r,\n\t\tsort: Rr(e.sort)\n\t};\n}\nfunction Rr(e) {\n\treturn e === \"priceAsc\" ? \"price_asc\" : e === \"priceDesc\" ? \"price_desc\" : \"featured\";\n}\n//#endregion\n//#region src/storefront/MerchandisingBundles.tsx\nfunction zr({ bundles: e, productsById: t, productHref: n, onAddToCart: r, layout: i, imageCrop: a, className: o }) {\n\tlet s = W(), c = q.useMemo(() => Br(e, t), [e, t]);\n\treturn c.length === 0 ? null : /* @__PURE__ */ J(\"section\", {\n\t\tclassName: U(\"cedros-shop-public__bundles flex flex-col gap-8\", o),\n\t\t\"aria-label\": s.t(\"storefront.shop.bundlesLabel\"),\n\t\tchildren: c.map(({ bundle: e, products: t }) => {\n\t\t\tlet o = Math.min(4, t.length);\n\t\t\treturn /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__bundle flex flex-col gap-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__surface-heading\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"h2\", {\n\t\t\t\t\t\tclassName: \"text-xl font-semibold tracking-tight\",\n\t\t\t\t\t\tchildren: e.title\n\t\t\t\t\t}), e.description ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__muted mt-1 text-sm\",\n\t\t\t\t\t\tchildren: e.description\n\t\t\t\t\t}) : null]\n\t\t\t\t}), /* @__PURE__ */ J(Pe, {\n\t\t\t\t\tproducts: t,\n\t\t\t\t\tcolumns: {\n\t\t\t\t\t\tbase: 2,\n\t\t\t\t\t\tmd: o,\n\t\t\t\t\t\tlg: o\n\t\t\t\t\t},\n\t\t\t\t\tgetProductHref: (e) => n(e.slug),\n\t\t\t\t\tonAddToCart: (e) => r(e),\n\t\t\t\t\tlayout: i,\n\t\t\t\t\timageCrop: a\n\t\t\t\t})]\n\t\t\t}, e.id);\n\t\t})\n\t});\n}\nfunction Br(e, t) {\n\treturn e.filter((e) => e.visible).map((e) => ({\n\t\tbundle: e,\n\t\tproducts: e.productIds.map((e) => t.get(e)).filter((e) => !!e)\n\t})).filter((e) => e.products.length > 0).sort((e, t) => Number(t.bundle.featured) - Number(e.bundle.featured));\n}\n//#endregion\n//#region src/storefront/CartTemplate.tsx\nfunction Vr({ className: e, checkoutHref: t }) {\n\tlet n = Qe(), { config: r } = G(), i = W(), { settings: a } = ce(), o = ue(), s = t ?? i.route(\"checkout\", void 0, r.routes), c = o.coupons && r.checkout.allowPromoCodes;\n\treturn a.enabled ? /* @__PURE__ */ Y(\"div\", {\n\t\tdir: i.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--cart min-h-screen\", e),\n\t\tchildren: [/* @__PURE__ */ J(R, { contentId: n }), /* @__PURE__ */ Y(\"main\", {\n\t\t\tid: n,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\tchildren: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\tchildren: i.t(\"storefront.cart.title\")\n\t\t\t}), /* @__PURE__ */ J(\"div\", {\n\t\t\t\tclassName: \"mt-8\",\n\t\t\t\tchildren: /* @__PURE__ */ J(we, {\n\t\t\t\t\tonCheckout: () => window.location.assign(s),\n\t\t\t\t\tshowPromoCode: c\n\t\t\t\t})\n\t\t\t})]\n\t\t})]\n\t}) : /* @__PURE__ */ J(\"div\", {\n\t\tdir: i.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--cart min-h-screen\", e),\n\t\tchildren: /* @__PURE__ */ J(ge, {})\n\t});\n}\n//#endregion\n//#region src/storefront/templates.tsx\nfunction Hr() {\n\treturn typeof window > \"u\" ? {} : {\n\t\thost: window.location.host,\n\t\tpath: window.location.pathname\n\t};\n}\nfunction Ur(e) {\n\tlet { inStock: t, ...n } = e;\n\treturn n;\n}\nfunction Wr(e) {\n\treturn /* @__PURE__ */ J(Gr, { ...e });\n}\nfunction Gr({ className: e, routes: t, initialCategorySlug: n }) {\n\tlet { config: r } = G(), i = W(), a = _e(r.routes, t), o = je(), s = te(), c = me(), [l, u] = Se(), d = q.useId(), p = q.useMemo(() => Kt({ includeCategory: !0 }), []), m = jr(p?.search ?? \"\", p?.page ?? 1), { value: h, query: v, setValue: y, commit: b, page: x, setPage: S } = m, [C, w] = q.useState(n ?? p?.category), [E, D] = q.useState(p?.sort ?? \"featured\"), [O, k] = q.useState(), [A, j] = q.useState(p?.filters ?? {}), [ne, M] = q.useState(!1), [re, N] = q.useState(!1), [ae, oe] = q.useState(null), [se, P] = q.useState(!1), le = ue(), F = q.useMemo(() => {\n\t\tlet e = le.inventory ? A : Ur(A);\n\t\tif (!T(e)) return e;\n\t\tlet { priceMin: t, priceMax: n, ...r } = e;\n\t\treturn r;\n\t}, [A, le.inventory]), { settings: I, isLoading: L, error: fe, refetch: pe } = ce(), R = q.useMemo(() => f(I.markets, _(r.market, i.locale, Hr())), [\n\t\tr.market,\n\t\ti.locale,\n\t\tI.markets\n\t]), { categories: z, isLoading: he, error: B, refetch: V } = Mt(R, !L && !fe), { data: ye, isLoading: be, error: xe, refetch: H } = Pt({\n\t\tcategory: C,\n\t\tsearch: v || void 0,\n\t\tfilters: F,\n\t\tsort: E,\n\t\tpage: x,\n\t\tpageSize: 24\n\t}, R, !L && !fe), we = L || be || m.isPending, Te = fe ?? xe, ke = fe ? pe : H, Pe = ye?.items ?? [], Ie = Ar(C, v, R, ne && (I.catalog.filters.tags || I.catalog.filters.priceRange) && !L && !fe), Le = Ie.data ?? { tags: [] }, { data: Re } = Lt(q.useMemo(() => Array.from(new Set(I.merchandising.bundles.filter((e) => e.visible).flatMap((e) => e.productIds))), [I.merchandising.bundles]), R), ze = q.useMemo(() => {\n\t\tlet e = g(Re ? [...Re.values()] : [], R);\n\t\treturn new Map(e.map((e) => [e.id, e]));\n\t}, [Re, R]), Be = Mr(F), Ve = !!(h.trim() || C || Be.length > 0), Ue = () => {\n\t\tJe(() => {\n\t\t\tb(\"\"), w(void 0), j({}), k(void 0), S(1);\n\t\t});\n\t}, We = de(I.catalog.sort, O);\n\tHe(E, We, D), qt({\n\t\tsearch: v,\n\t\tsort: E,\n\t\tpage: x,\n\t\tcategory: C,\n\t\tfilters: A\n\t}, {\n\t\tincludeCategory: !0,\n\t\tonRestore: (e) => Je(() => {\n\t\t\tb(e.search, e.page), D(e.sort), j(e.filters), w(e.category);\n\t\t})\n\t}), Nr({\n\t\tsurface: \"shop\",\n\t\tcollectionRef: C ?? \"all\",\n\t\tcollectionType: C ? \"category\" : \"shop\"\n\t}), Fr({\n\t\tsurface: \"shop\",\n\t\tsearch: v,\n\t\tsort: E,\n\t\tfilterFacets: Be.join(\",\"),\n\t\tresultCount: Pe.length,\n\t\thasMore: !!ye?.hasNextPage,\n\t\tisLoading: we\n\t});\n\tlet Ge = i.route(\"cart\", void 0, a), Ke = i.route(\"checkout\", void 0, a), qe = (e) => i.route(\"product\", { slug: e }, a), Ye = (e) => i.route(\"category\", { slug: e.slug }, a), Xe = (e) => Gt({\n\t\tbaseUrl: i.route(\"shop\", void 0, a),\n\t\tstate: {\n\t\t\tsearch: v,\n\t\t\tsort: E,\n\t\t\tpage: e,\n\t\t\tcategory: C,\n\t\t\tfilters: A\n\t\t},\n\t\tincludeCategory: !0\n\t}), K = (e) => {\n\t\tM(!1), Je(() => {\n\t\t\tw(e.slug), S(1);\n\t\t});\n\t}, Ze = () => {\n\t\tM(!1), Je(() => {\n\t\t\tw(void 0), S(1);\n\t\t});\n\t}, Qe = (e) => {\n\t\tJe(() => {\n\t\t\tS(1), k(e.sort), D(e.sort), w(e.category), j(e.tags.length ? { tags: e.tags } : {}), b(e.search);\n\t\t});\n\t}, $e = (e, t, n) => {\n\t\tlet r = Ne(o.items, e, t, n, le.inventory, i);\n\t\treturn r.addQty > 0 && (o.addItem(Ee(e, t, i), r.addQty), s(\"cedros-shop:add-to-cart\", {\n\t\t\tproduct_ref: e.id,\n\t\t\tvariant_ref: t?.id,\n\t\t\tquantity_bucket: ee(r.addQty),\n\t\t\tsurface: \"shop\"\n\t\t})), c?.toast({\n\t\t\t...Oe(r, e, i),\n\t\t\tactionLabel: i.t(\"storefront.toast.viewCart\"),\n\t\t\tonAction: () => ve(Ge, l, N)\n\t\t}), r.addQty > 0;\n\t}, et = /* @__PURE__ */ J(Ce, {\n\t\tcategories: z,\n\t\tactiveCategory: C,\n\t\tonSelectCategory: K,\n\t\tcategoryHref: Ye,\n\t\tallCategoriesHref: Gt({\n\t\t\tbaseUrl: i.route(\"shop\", void 0, a),\n\t\t\tstate: {\n\t\t\t\tsearch: v,\n\t\t\t\tsort: E,\n\t\t\t\tpage: 1,\n\t\t\t\tfilters: A\n\t\t\t},\n\t\t\tincludeCategory: !0\n\t\t}),\n\t\tonClearCategory: Ze,\n\t\tcatsLoading: he,\n\t\tcatsError: B,\n\t\tcatsRetry: () => void V(),\n\t\tfacets: Le,\n\t\tfacetsLoading: Ie.isLoading,\n\t\tfacetsError: Ie.error,\n\t\tfacetsRetry: () => void Ie.refetch(),\n\t\tfilters: A,\n\t\tsetFilters: j,\n\t\tsetPage: S,\n\t\tsort: E,\n\t\tsetSort: D,\n\t\tsortOptions: We,\n\t\tenabledFilters: {\n\t\t\t...I.catalog.filters,\n\t\t\tinStock: le.inventory && I.catalog.filters.inStock\n\t\t},\n\t\ttitle: i.t(\"storefront.shop.browse\"),\n\t\tshowSort: !1\n\t});\n\treturn I.enabled ? /* @__PURE__ */ Y(\"div\", {\n\t\tref: u,\n\t\tdir: i.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--shop min-h-screen\", e),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(Me, {\n\t\t\t\tcontentId: d,\n\t\t\t\tsearch: h,\n\t\t\t\tsetSearch: y,\n\t\t\t\tsearchComposition: m,\n\t\t\t\tcartCount: o.count,\n\t\t\t\tcheckoutHref: Ke,\n\t\t\t\tisDesktop: l,\n\t\t\t\tisCartOpen: re,\n\t\t\t\tsetIsCartOpen: N,\n\t\t\t\trefine: /* @__PURE__ */ J(Fe, {\n\t\t\t\t\tisOpen: ne,\n\t\t\t\t\tsetIsOpen: M,\n\t\t\t\t\ttitle: i.t(\"storefront.shop.browse\"),\n\t\t\t\t\tpanel: et,\n\t\t\t\t\tfilterCount: Be.length,\n\t\t\t\t\tsort: E,\n\t\t\t\t\tsortOptions: We,\n\t\t\t\t\tsetSort: (e) => Je(() => {\n\t\t\t\t\t\tD(e), S(1);\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ Y(\"main\", {\n\t\t\t\tid: d,\n\t\t\t\ttabIndex: -1,\n\t\t\t\tclassName: \"cedros-shop-public__main cedros-shop-public__shop-layout mx-auto max-w-7xl px-4 py-6\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ Y(\"section\", { children: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\tclassName: \"flex items-end justify-between gap-3\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__surface-heading\",\n\t\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\t\t\t\t\t\tclassName: \"text-2xl font-semibold tracking-tight\",\n\t\t\t\t\t\t\t\t\tchildren: I.shopPage.title || i.t(\"storefront.shop.titleFallback\")\n\t\t\t\t\t\t\t\t}), I.shopPage.description ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\t\t\tclassName: \"mt-1 text-sm\",\n\t\t\t\t\t\t\t\t\tchildren: I.shopPage.description\n\t\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__catalog-toolbar\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ J(ie, {\n\t\t\t\t\t\t\t\tinline: !0,\n\t\t\t\t\t\t\t\tonBrowseAll: () => M(!0),\n\t\t\t\t\t\t\t\tcategories: z,\n\t\t\t\t\t\t\t\tactiveSlug: C,\n\t\t\t\t\t\t\t\tgetHref: Ye,\n\t\t\t\t\t\t\t\tonSelect: K,\n\t\t\t\t\t\t\t\tallItem: {\n\t\t\t\t\t\t\t\t\thref: Gt({\n\t\t\t\t\t\t\t\t\t\tbaseUrl: i.route(\"shop\", void 0, a),\n\t\t\t\t\t\t\t\t\t\tstate: {\n\t\t\t\t\t\t\t\t\t\t\tsearch: v,\n\t\t\t\t\t\t\t\t\t\t\tsort: E,\n\t\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\t\tfilters: A\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tincludeCategory: !0\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\tonSelect: Ze\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tVe ? /* @__PURE__ */ J(Jr, {\n\t\t\t\t\t\t\tsearch: v,\n\t\t\t\t\t\t\tfilters: F,\n\t\t\t\t\t\t\tcurrency: R?.currency ?? r.currency,\n\t\t\t\t\t\t\tshowClear: we || Pe.length > 0 || x > 1,\n\t\t\t\t\t\t\tonClear: Ue\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t/* @__PURE__ */ J(Ir, {\n\t\t\t\t\t\t\tcollections: I.merchandising.collections,\n\t\t\t\t\t\t\tonSelect: Qe,\n\t\t\t\t\t\t\tclassName: \"mt-4\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tTe ? /* @__PURE__ */ J(De, {\n\t\t\t\t\t\t\tclassName: \"mt-6\",\n\t\t\t\t\t\t\ttitle: i.t(\"storefront.error.title\"),\n\t\t\t\t\t\t\tdescription: i.t(\"storefront.error.load\"),\n\t\t\t\t\t\t\tonRetry: () => void ke()\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tT(A) ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\trole: \"alert\",\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__error\",\n\t\t\t\t\t\t\tchildren: i.t(\"storefront.catalog.invalidPriceRange\")\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\tTe ? null : /* @__PURE__ */ J(Ae, {\n\t\t\t\t\t\t\tisLoading: we,\n\t\t\t\t\t\t\tproducts: Pe,\n\t\t\t\t\t\t\tcolumns: r.ui?.productGrid?.columns,\n\t\t\t\t\t\t\tproductHref: qe,\n\t\t\t\t\t\t\tonAddToCart: (e) => $e(e, null, 1),\n\t\t\t\t\t\t\tonQuickView: (e) => {\n\t\t\t\t\t\t\t\ts(\"cedros-shop:quick-view-opened\", {\n\t\t\t\t\t\t\t\t\tproduct_ref: e.id,\n\t\t\t\t\t\t\t\t\tcategory_ref: e.categoryIds[0],\n\t\t\t\t\t\t\t\t\tsurface: \"shop\"\n\t\t\t\t\t\t\t\t}), oe(e), P(!0);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlayout: I.shopLayout.layout,\n\t\t\t\t\t\t\timageCrop: I.shopLayout.imageCrop,\n\t\t\t\t\t\t\tpage: x,\n\t\t\t\t\t\t\tsetPage: S,\n\t\t\t\t\t\t\tpageHref: Xe,\n\t\t\t\t\t\t\thasNextPage: !!ye?.hasNextPage,\n\t\t\t\t\t\t\thasActiveQuery: Ve,\n\t\t\t\t\t\t\tonClearQuery: Ue\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(zr, {\n\t\t\t\t\t\t\tbundles: I.merchandising.bundles,\n\t\t\t\t\t\t\tproductsById: ze,\n\t\t\t\t\t\t\tproductHref: qe,\n\t\t\t\t\t\t\tonAddToCart: (e) => $e(e, null, 1),\n\t\t\t\t\t\t\tlayout: I.shopLayout.layout,\n\t\t\t\t\t\t\timageCrop: I.shopLayout.imageCrop,\n\t\t\t\t\t\t\tclassName: \"mt-6\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t] }),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(kr, {\n\t\t\t\tproduct: ae,\n\t\t\t\topen: se,\n\t\t\t\tonOpenChange: P,\n\t\t\t\tproductHref: qe,\n\t\t\t\tonAddToCart: $e\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t}) : /* @__PURE__ */ J(\"div\", {\n\t\tref: u,\n\t\tdir: i.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--shop min-h-screen\", e),\n\t\tchildren: /* @__PURE__ */ J(ge, {})\n\t});\n}\nfunction Kr(e) {\n\treturn /* @__PURE__ */ J(qr, { ...e });\n}\nfunction qr({ categorySlug: e, className: n, routes: r }) {\n\tlet { config: i } = G(), a = W(), o = _e(i.routes, r), s = je(), c = te(), l = me(), [u, d] = Se(), p = q.useId(), [m, h] = q.useState(e), [g, v] = q.useState(!1), [y, b] = q.useState(!1), x = q.useMemo(() => Kt({ includeCategory: !1 }), []), S = jr(x?.search ?? \"\", x?.page ?? 1), { value: C, query: w, setValue: E, commit: D, page: O, setPage: k } = S, [A, j] = q.useState(x?.sort ?? \"featured\"), [ne, M] = q.useState(x?.filters ?? {}), [re, N] = q.useState(null), [ae, oe] = q.useState(!1), se = ue(), P = q.useMemo(() => {\n\t\tlet e = se.inventory ? ne : Ur(ne);\n\t\tif (!T(e)) return e;\n\t\tlet { priceMin: t, priceMax: n, ...r } = e;\n\t\treturn r;\n\t}, [ne, se.inventory]), le = m === void 0 || t(m), { settings: F, isLoading: I, error: L, refetch: fe } = ce(), pe = q.useMemo(() => f(F.markets, _(i.market, a.locale, Hr())), [\n\t\ti.market,\n\t\ta.locale,\n\t\tF.markets\n\t]), { categories: R, isLoading: z, error: he, refetch: ge } = Mt(pe, !I && !L), B = le ? R.find((e) => e.slug === m) ?? null : null, { data: V, isLoading: ye, error: be, refetch: xe } = Pt({\n\t\tcategory: m,\n\t\tsearch: w || void 0,\n\t\tfilters: P,\n\t\tsort: A,\n\t\tpage: O,\n\t\tpageSize: 24\n\t}, pe, le && (m === void 0 || !!B) && !z && !he && !I && !L), H = I || z || ye || S.isPending, we = L ?? he ?? be, Te = L ? fe : he ? ge : xe, ke = V?.items ?? [], Pe = Ar(m, w, pe, g && (F.catalog.filters.tags || F.catalog.filters.priceRange) && le && (m === void 0 || !!B) && !z && !he && !I && !L), Ie = Pe.data ?? { tags: [] }, Re = Mr(P), ze = !!(C.trim() || Re.length > 0), Be = () => {\n\t\tJe(() => {\n\t\t\tD(\"\"), M({}), k(1);\n\t\t});\n\t}, Ve = de(F.catalog.sort);\n\tHe(A, Ve, j);\n\tlet Ue = a.route(\"shop\", void 0, o), We = (e) => a.route(\"category\", { slug: e.slug }, o), Ke = le && m !== void 0 ? a.route(\"category\", { slug: m }, o) : Ue;\n\tif (qt({\n\t\tsearch: w,\n\t\tsort: A,\n\t\tpage: O,\n\t\tfilters: ne\n\t}, {\n\t\tincludeCategory: !1,\n\t\tbaseUrl: le ? Ke : void 0,\n\t\tonRestore: (t) => Je(() => {\n\t\t\tlet n = window.location.pathname, r = R.find((e) => new URL(We(e), window.location.href).pathname === n);\n\t\t\th(n === new URL(Ue, window.location.href).pathname ? void 0 : r?.slug ?? e), D(t.search, t.page), j(t.sort), M(t.filters);\n\t\t})\n\t}), Nr({\n\t\tsurface: \"category\",\n\t\tcollectionRef: m ?? \"all\",\n\t\tcollectionType: m ? \"category\" : \"shop\"\n\t}), Fr({\n\t\tsurface: \"category\",\n\t\tsearch: w,\n\t\tsort: A,\n\t\tfilterFacets: Re.join(\",\"),\n\t\tresultCount: ke.length,\n\t\thasMore: !!V?.hasNextPage,\n\t\tisLoading: H\n\t}), !F.enabled) return /* @__PURE__ */ J(Yr, { className: n });\n\tif (I) return /* @__PURE__ */ J(Xr, { className: n });\n\tlet qe = a.route(\"cart\", void 0, o), Ye = a.route(\"checkout\", void 0, o), Xe = (e) => /* @__PURE__ */ J(Le, {\n\t\tsurface: \"category\",\n\t\tclassName: n,\n\t\ttitle: a.t(\"storefront.error.title\"),\n\t\tdescription: a.t(\"storefront.error.load\"),\n\t\tshopHref: Ue,\n\t\tcheckoutHref: Ye,\n\t\tonRetry: e\n\t});\n\tif (L) return Xe(() => void fe());\n\tif (!le || m !== void 0 && !z && !he && !B) return /* @__PURE__ */ J(Le, {\n\t\tsurface: \"category\",\n\t\tclassName: n,\n\t\ttitle: a.t(\"storefront.category.notFoundTitle\"),\n\t\tdescription: a.t(\"storefront.category.notFound\"),\n\t\tshopHref: Ue,\n\t\tcheckoutHref: Ye\n\t});\n\tif (he) return Xe(() => void ge());\n\tif (z || m !== void 0 && !B) return /* @__PURE__ */ J(Xr, { className: n });\n\tlet K = (e) => a.route(\"product\", { slug: e }, o), Ze = (e) => Gt({\n\t\tbaseUrl: Ke,\n\t\tstate: {\n\t\t\tsearch: w,\n\t\t\tsort: A,\n\t\t\tpage: e,\n\t\t\tfilters: ne\n\t\t},\n\t\tincludeCategory: !1\n\t}), Qe = (e, t, n) => {\n\t\tlet r = Ne(s.items, e, t, n, se.inventory, a);\n\t\treturn r.addQty > 0 && (s.addItem(Ee(e, t, a), r.addQty), c(\"cedros-shop:add-to-cart\", {\n\t\t\tproduct_ref: e.id,\n\t\t\tvariant_ref: t?.id,\n\t\t\tquantity_bucket: ee(r.addQty),\n\t\t\tsurface: \"category\"\n\t\t})), l?.toast({\n\t\t\t...Oe(r, e, a),\n\t\t\tactionLabel: a.t(\"storefront.toast.viewCart\"),\n\t\t\tonAction: () => ve(qe, u, b)\n\t\t}), r.addQty > 0;\n\t}, $e = (e) => {\n\t\tv(!1), Je(() => {\n\t\t\th(e?.slug), k(1);\n\t\t});\n\t}, et = /* @__PURE__ */ J(Ce, {\n\t\tcategories: R,\n\t\tactiveCategory: m,\n\t\tonSelectCategory: $e,\n\t\tonClearCategory: () => $e(),\n\t\tcategoryHref: We,\n\t\tallCategoriesHref: Ue,\n\t\tcatsLoading: !1,\n\t\tcatsError: null,\n\t\tfacets: Ie,\n\t\tfacetsLoading: Pe.isLoading,\n\t\tfacetsError: Pe.error,\n\t\tfacetsRetry: () => void Pe.refetch(),\n\t\tfilters: ne,\n\t\tsetFilters: M,\n\t\tsetPage: k,\n\t\tsort: A,\n\t\tsetSort: j,\n\t\tsortOptions: Ve,\n\t\tenabledFilters: {\n\t\t\t...F.catalog.filters,\n\t\t\tinStock: se.inventory && F.catalog.filters.inStock\n\t\t},\n\t\ttitle: a.t(\"storefront.shop.browse\"),\n\t\tshowSort: !1\n\t});\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tref: d,\n\t\tdir: a.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--category min-h-screen\", n),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(Me, {\n\t\t\t\tcontentId: p,\n\t\t\t\tsearch: C,\n\t\t\t\tsetSearch: E,\n\t\t\t\tsearchComposition: S,\n\t\t\t\tcartCount: s.count,\n\t\t\t\tcheckoutHref: Ye,\n\t\t\t\tisDesktop: u,\n\t\t\t\tisCartOpen: y,\n\t\t\t\tsetIsCartOpen: b,\n\t\t\t\trefine: /* @__PURE__ */ J(Fe, {\n\t\t\t\t\tisOpen: g,\n\t\t\t\t\tsetIsOpen: v,\n\t\t\t\t\ttitle: a.t(\"storefront.shop.browse\"),\n\t\t\t\t\tpanel: et,\n\t\t\t\t\tfilterCount: Re.length,\n\t\t\t\t\tsort: A,\n\t\t\t\t\tsortOptions: Ve,\n\t\t\t\t\tsetSort: (e) => Je(() => {\n\t\t\t\t\t\tj(e), k(1);\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ Y(\"main\", {\n\t\t\t\tid: p,\n\t\t\t\ttabIndex: -1,\n\t\t\t\tclassName: \"cedros-shop-public__main cedros-shop-public__category-layout mx-auto max-w-7xl px-4 py-6\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ Y(\"section\", { children: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(Ge, { items: B ? [{\n\t\t\t\t\t\t\tlabel: a.t(\"common.shop\"),\n\t\t\t\t\t\t\thref: Ue\n\t\t\t\t\t\t}, { label: B.name }] : [{ label: a.t(\"common.shop\") }] }),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__surface-heading mt-3\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\t\t\t\t\tclassName: \"text-2xl font-semibold tracking-tight\",\n\t\t\t\t\t\t\t\tchildren: B?.name ?? (F.shopPage.title || a.t(\"storefront.shop.titleFallback\"))\n\t\t\t\t\t\t\t}), (B ? B.description : F.shopPage.description) ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\t\tclassName: \"mt-1 text-sm\",\n\t\t\t\t\t\t\t\tchildren: B ? B.description : F.shopPage.description\n\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__catalog-toolbar\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ J(ie, {\n\t\t\t\t\t\t\t\tinline: !0,\n\t\t\t\t\t\t\t\tonBrowseAll: () => v(!0),\n\t\t\t\t\t\t\t\tcategories: R,\n\t\t\t\t\t\t\t\tactiveSlug: m,\n\t\t\t\t\t\t\t\tgetHref: We,\n\t\t\t\t\t\t\t\tonSelect: $e,\n\t\t\t\t\t\t\t\tallItem: {\n\t\t\t\t\t\t\t\t\thref: Ue,\n\t\t\t\t\t\t\t\t\tonSelect: () => $e()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tze ? /* @__PURE__ */ J(Jr, {\n\t\t\t\t\t\t\tsearch: w,\n\t\t\t\t\t\t\tfilters: P,\n\t\t\t\t\t\t\tcurrency: pe?.currency ?? i.currency,\n\t\t\t\t\t\t\tshowClear: H || ke.length > 0 || O > 1,\n\t\t\t\t\t\t\tonClear: Be\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\twe ? /* @__PURE__ */ J(De, {\n\t\t\t\t\t\t\tclassName: \"mt-6\",\n\t\t\t\t\t\t\ttitle: a.t(\"storefront.error.title\"),\n\t\t\t\t\t\t\tdescription: a.t(\"storefront.error.load\"),\n\t\t\t\t\t\t\tonRetry: () => void Te()\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\tT(ne) ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\trole: \"alert\",\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__error\",\n\t\t\t\t\t\t\tchildren: a.t(\"storefront.catalog.invalidPriceRange\")\n\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\twe ? null : /* @__PURE__ */ J(Ae, {\n\t\t\t\t\t\t\tisLoading: H,\n\t\t\t\t\t\t\tproducts: ke,\n\t\t\t\t\t\t\tcolumns: i.ui?.productGrid?.columns,\n\t\t\t\t\t\t\tproductHref: K,\n\t\t\t\t\t\t\tonAddToCart: (e) => Qe(e, null, 1),\n\t\t\t\t\t\t\tonQuickView: (e) => {\n\t\t\t\t\t\t\t\tc(\"cedros-shop:quick-view-opened\", {\n\t\t\t\t\t\t\t\t\tproduct_ref: e.id,\n\t\t\t\t\t\t\t\t\tcategory_ref: e.categoryIds[0],\n\t\t\t\t\t\t\t\t\tsurface: \"category\"\n\t\t\t\t\t\t\t\t}), N(e), oe(!0);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlayout: F.categoryLayout.layout,\n\t\t\t\t\t\t\timageCrop: F.categoryLayout.imageCrop,\n\t\t\t\t\t\t\tpage: O,\n\t\t\t\t\t\t\tsetPage: k,\n\t\t\t\t\t\t\tpageHref: Ze,\n\t\t\t\t\t\t\thasNextPage: !!V?.hasNextPage,\n\t\t\t\t\t\t\thasActiveQuery: ze,\n\t\t\t\t\t\t\tonClearQuery: Be\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t] }),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(kr, {\n\t\t\t\tproduct: re,\n\t\t\t\topen: ae,\n\t\t\t\tonOpenChange: oe,\n\t\t\t\tproductHref: K,\n\t\t\t\tonAddToCart: Qe\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Jr({ search: e, filters: t, currency: n, onClear: r, showClear: i }) {\n\tlet { t: a, formatMoney: o } = W(), s = [\n\t\te,\n\t\t...t.tags ?? [],\n\t\tt.priceMin === void 0 ? \"\" : `${a(\"storefront.catalog.min\")}: ${o(t.priceMin, n)}`,\n\t\tt.priceMax === void 0 ? \"\" : `${a(\"storefront.catalog.max\")}: ${o(t.priceMax, n)}`,\n\t\tt.inStock ? a(\"storefront.stock.in\") : \"\"\n\t].filter(Boolean);\n\treturn s.length ? /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__catalog-query\",\n\t\tchildren: [/* @__PURE__ */ J(\"p\", {\n\t\t\tclassName: \"text-sm\",\n\t\t\tchildren: s.join(\" · \")\n\t\t}), i ? /* @__PURE__ */ J(K, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"link\",\n\t\t\tonClick: r,\n\t\t\tchildren: a(\"storefront.catalog.clearSearchAndFilters\")\n\t\t}) : null]\n\t}) : null;\n}\nfunction Yr({ className: e }) {\n\treturn /* @__PURE__ */ J(\"div\", {\n\t\tdir: W().direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--category min-h-screen\", e),\n\t\tchildren: /* @__PURE__ */ J(ge, {})\n\t});\n}\nfunction Xr({ className: e }) {\n\treturn /* @__PURE__ */ J(\"main\", {\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--category min-h-screen p-6\", e),\n\t\tchildren: /* @__PURE__ */ Y(\"div\", {\n\t\t\tclassName: \"mx-auto max-w-7xl\",\n\t\t\tchildren: [/* @__PURE__ */ J(H, { className: \"h-8 w-48\" }), /* @__PURE__ */ J(H, { className: \"mt-4 h-64 w-full\" })]\n\t\t})\n\t});\n}\n//#endregion\n//#region src/storefront/ProductTemplate.tsx\nfunction Zr() {\n\treturn typeof window > \"u\" ? {} : {\n\t\thost: window.location.host,\n\t\tpath: window.location.pathname\n\t};\n}\nfunction Qr({ slug: e, className: t, routes: n }) {\n\tlet r = W(), i = q.useId(), { config: a } = G(), o = _e(a.routes, n), s = je(), c = te(), l = me(), { settings: u, isLoading: d, error: m, refetch: h } = ce(), v = ue(), y = q.useMemo(() => f(u.markets, _(a.market, r.locale, Zr())), [\n\t\ta.market,\n\t\tr.locale,\n\t\tu.markets\n\t]), { product: b, isLoading: x, error: S, refetch: C } = Bt(e, y, !d && !m), w = q.useRef(null), [T, E] = q.useState(1), [D, O] = q.useState({\n\t\tselectedOptions: {},\n\t\tvariant: null\n\t}), [k, A] = q.useState(null), [j, ne] = qe(), M = q.useRef(!1);\n\tif (b && b.id !== k) {\n\t\tlet e = b.variants?.[0];\n\t\tA(b.id), E(1), O(e ? {\n\t\t\tselectedOptions: { ...e.options },\n\t\t\tvariant: e\n\t\t} : {\n\t\t\tselectedOptions: {},\n\t\t\tvariant: null\n\t\t});\n\t}\n\tq.useEffect(() => {\n\t\t!b || w.current === b.id || (w.current = b.id, c(\"cedros-shop:product-viewed\", {\n\t\t\tproduct_ref: b.id,\n\t\t\tcategory_ref: b.categoryIds[0],\n\t\t\tsurface: \"product\"\n\t\t}));\n\t}, [c, b]);\n\tlet re = !d && !m && u.enabled && u.sections.showRelatedProducts && !!b && p(b, y), ie = g(di(b, e, u.relatedProducts.mode, u.relatedProducts.maxItems, y, re), y), N = b?.categoryIds?.[0], { categories: ae } = Mt(y, !d && !m && N !== void 0), oe = N === void 0 ? void 0 : ae.find((e) => e.id === N), se = r.route(\"shop\", void 0, o), P = r.route(\"checkout\", void 0, o), le = r.route(\"cart\", void 0, o), F = q.useCallback((e) => r.route(\"product\", { slug: e }, o), [r, o]);\n\tif (!u.enabled) return /* @__PURE__ */ J(\"div\", {\n\t\tdir: r.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--product min-h-screen\", t),\n\t\tchildren: /* @__PURE__ */ J(ge, {})\n\t});\n\tif (d || x) return /* @__PURE__ */ J(ci, { className: t });\n\tlet I = (e) => /* @__PURE__ */ J(Le, {\n\t\tsurface: \"product\",\n\t\tclassName: t,\n\t\ttitle: r.t(\"storefront.error.title\"),\n\t\tdescription: r.t(\"storefront.error.load\"),\n\t\tshopHref: se,\n\t\tcheckoutHref: P,\n\t\tonRetry: e\n\t});\n\tif (m) return I(() => void h());\n\tif (S && !b) return I(() => void C());\n\tif (!b || !p(b, y)) return /* @__PURE__ */ J(Le, {\n\t\tsurface: \"product\",\n\t\tclassName: t,\n\t\ttitle: r.t(\"storefront.product.notFoundTitle\"),\n\t\tdescription: r.t(\"storefront.product.notFound\"),\n\t\tshopHref: se,\n\t\tcheckoutHref: P\n\t});\n\tlet L = b.variants?.find((e) => e.id === D.variant?.id) ?? null, de = !!b.variants?.length && !L, fe = L?.price ?? b.price, z = pe(b, L), V = !de && v.inventory && mi(b, L), ve = de || V, be = he(b, L, v.inventory);\n\tbe !== void 0 && T > be && E(be);\n\tlet Se = {\n\t\tactionLabel: r.t(\"storefront.toast.viewCart\"),\n\t\tonAction: () => window.location.assign(le)\n\t}, H = (e = Se) => {\n\t\tif (ve) return;\n\t\tlet t = Ne(s.items, b, L, T, v.inventory, r), n = t.addQty;\n\t\tif (n <= 0) {\n\t\t\tt.stockNotice && l?.toast({\n\t\t\t\t...Oe(t, b, r),\n\t\t\t\t...Se\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tM.current = !0, ne(), s.addItem(Ee(b, L, r), n), c(\"cedros-shop:add-to-cart\", {\n\t\t\tproduct_ref: b.id,\n\t\t\tvariant_ref: L?.id,\n\t\t\tquantity_bucket: ee(n),\n\t\t\tsurface: \"product\"\n\t\t}), l?.toast({\n\t\t\t...Oe(t, b, r),\n\t\t\t...e\n\t\t});\n\t}, Ce = () => {\n\t\tif (!ve) {\n\t\t\tif (s.items.some((e) => e.productId === b.id && (e.variantId ?? \"\") === (L?.id ?? \"\"))) return window.location.assign(P);\n\t\t\tif (Ne(s.items, b, L, T, v.inventory, r).currencyReset) {\n\t\t\t\tH({\n\t\t\t\t\tactionLabel: r.t(\"storefront.toast.continueToCheckout\"),\n\t\t\t\t\tonAction: () => window.location.assign(P)\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tH(), window.location.assign(P);\n\t\t}\n\t}, we = (e) => {\n\t\tlet t = Ne(s.items, e, null, 1, v.inventory, r);\n\t\treturn t.addQty > 0 && (s.addItem(Ee(e, null, r), t.addQty), c(\"cedros-shop:add-to-cart\", {\n\t\t\tproduct_ref: e.id,\n\t\t\tquantity_bucket: \"1\",\n\t\t\tsurface: \"related-products\"\n\t\t})), (t.currencyReset || t.stockNotice) && l?.toast({\n\t\t\t...Oe(t, e, r),\n\t\t\t...Se\n\t\t}), t.addQty > 0;\n\t};\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tdir: r.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--product min-h-screen\", t),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(R, {\n\t\t\t\tcontentId: i,\n\t\t\t\twide: !0,\n\t\t\t\tcheckoutHref: P\n\t\t\t}),\n\t\t\t/* @__PURE__ */ Y(\"main\", {\n\t\t\t\tid: i,\n\t\t\t\ttabIndex: -1,\n\t\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-7xl px-4 py-8\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ J(Ge, { items: [{\n\t\t\t\t\t\tlabel: r.t(\"common.shop\"),\n\t\t\t\t\t\thref: se\n\t\t\t\t\t}, ...oe ? [{\n\t\t\t\t\t\tlabel: oe.name,\n\t\t\t\t\t\thref: r.route(\"category\", { slug: oe.slug }, o)\n\t\t\t\t\t}] : []] }),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__product-layout mt-6\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ J($r, {\n\t\t\t\t\t\t\t\tproduct: b,\n\t\t\t\t\t\t\t\tselectedVariant: L,\n\t\t\t\t\t\t\t\tunitPrice: fe,\n\t\t\t\t\t\t\t\tcompareAt: z,\n\t\t\t\t\t\t\t\tisOutOfStock: V,\n\t\t\t\t\t\t\t\tisUnavailable: de,\n\t\t\t\t\t\t\t\tshowInventory: v.inventory\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ J(ye, {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-gallery\",\n\t\t\t\t\t\t\t\timages: We(b, L),\n\t\t\t\t\t\t\t\tfallbackAlt: b.title\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-purchase space-y-6\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\tb.tokenizedAssetConfig?.regulatoryNotice ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__notice text-xs\",\n\t\t\t\t\t\t\t\t\t\tchildren: b.tokenizedAssetConfig.regulatoryNotice\n\t\t\t\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(xe, {\n\t\t\t\t\t\t\t\t\t\tproduct: b,\n\t\t\t\t\t\t\t\t\t\tvalue: {\n\t\t\t\t\t\t\t\t\t\t\tselectedOptions: D.selectedOptions,\n\t\t\t\t\t\t\t\t\t\t\tvariantId: L?.id\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonChange: (e) => O(e),\n\t\t\t\t\t\t\t\t\t\tshowInventory: v.inventory\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-actions\",\n\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-quantity-label text-sm font-medium\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: r.t(\"storefront.cart.quantity\")\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-buy-row\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(ke, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-quantity\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tqty: T,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange: E,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tmax: be\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: () => H(),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-add cedros-shop-public__button--acquire\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize: \"lg\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled: ve,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: j && !ve ? /* @__PURE__ */ Y(\"span\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cs-anim-value inline-flex items-center gap-1.5\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(B, {}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tr.t(\"storefront.toast.addedToCart\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, \"added\") : /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: U(M.current && \"cs-anim-value\"),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tchildren: de ? r.t(\"storefront.product.unavailable\") : V ? r.t(\"storefront.stock.out\") : r.t(\"storefront.product.addToCart\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, \"idle\")\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\t\t\t\t\t\tsize: \"lg\",\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-buy cedros-shop-public__button--acquire\",\n\t\t\t\t\t\t\t\t\t\t\t\tonClick: Ce,\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled: ve,\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: r.t(\"storefront.product.buyNow\")\n\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\tu.sections.showDescription && b.description?.trim() ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-intro text-sm\",\n\t\t\t\t\t\t\t\t\t\tchildren: b.description\n\t\t\t\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(ti, {\n\t\t\t\t\t\t\t\t\t\tproduct: b,\n\t\t\t\t\t\t\t\t\t\tsettings: u\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tu.sections.showRelatedProducts && ie.length ? /* @__PURE__ */ Y(\"section\", {\n\t\t\t\t\t\tclassName: \"mt-12\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ J(\"h2\", {\n\t\t\t\t\t\t\t\tclassName: \"text-lg font-semibold\",\n\t\t\t\t\t\t\t\tchildren: r.t(\"storefront.product.related\")\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"mt-4\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ J(Pe, {\n\t\t\t\t\t\t\t\t\t\tproducts: ie,\n\t\t\t\t\t\t\t\t\t\tcolumns: {\n\t\t\t\t\t\t\t\t\t\t\tbase: 2,\n\t\t\t\t\t\t\t\t\t\t\tmd: 4,\n\t\t\t\t\t\t\t\t\t\t\tlg: 4\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tlayout: u.relatedProducts.layout.layout,\n\t\t\t\t\t\t\t\t\t\timageCrop: u.relatedProducts.layout.imageCrop,\n\t\t\t\t\t\t\t\t\t\tgetProductHref: (e) => F(e.slug),\n\t\t\t\t\t\t\t\t\t\tonAddToCart: we\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction $r({ product: e, selectedVariant: t, unitPrice: n, compareAt: r, isOutOfStock: i, isUnavailable: a, showInventory: o }) {\n\tlet s = W(), c = o && !(t && Xe(e));\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__surface-heading\",\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap items-center gap-3\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ J(\"h1\", {\n\t\t\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\t\t\tchildren: e.title\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\te.tokenizedAssetConfig?.assetClass ? /* @__PURE__ */ J(ae, { assetClass: e.tokenizedAssetConfig.assetClass }) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__product-price mt-3\",\n\t\t\t\tchildren: /* @__PURE__ */ J(x, {\n\t\t\t\t\tswapKey: `${n}:${r ?? \"\"}:${e.currency}`,\n\t\t\t\t\tclassName: \"inline-block\",\n\t\t\t\t\tchildren: /* @__PURE__ */ J(Ve, {\n\t\t\t\t\t\tamount: n,\n\t\t\t\t\t\tcurrency: e.currency,\n\t\t\t\t\t\tcompareAt: r\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t}),\n\t\t\t\" \",\n\t\t\ta ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice mt-2 text-sm font-medium\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: s.t(\"storefront.product.combinationUnavailable\")\n\t\t\t}) : c && i ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__error mt-2 text-sm font-medium\",\n\t\t\t\tchildren: s.t(\"storefront.stock.out\")\n\t\t\t}) : c ? /* @__PURE__ */ J(ei, { source: t ?? e }) : null,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction ei({ source: e }) {\n\tlet { t } = W();\n\treturn e.inventoryStatus === \"backorder\" || typeof e.inventoryQuantity != \"number\" || e.inventoryQuantity <= 0 || e.inventoryQuantity > 5 ? null : /* @__PURE__ */ J(\"div\", {\n\t\tclassName: \"cedros-shop-public__muted mt-2 text-sm\",\n\t\tchildren: t(\"storefront.stock.low\", { count: e.inventoryQuantity })\n\t});\n}\nfunction ti({ product: e, settings: t }) {\n\tlet { t: n } = W(), r = t.sections.showSpecs ? ii(e.attributes, n) : [];\n\treturn !r.length && !e.tokenizedAssetConfig ? null : /* @__PURE__ */ Y(E, {\n\t\ttype: \"single\",\n\t\tcollapsible: !0,\n\t\tchildren: [r.length ? /* @__PURE__ */ Y(j, {\n\t\t\tvalue: \"specs\",\n\t\t\tchildren: [/* @__PURE__ */ J(M, { children: n(\"storefront.product.specs\") }), /* @__PURE__ */ J(A, { children: /* @__PURE__ */ J(\"dl\", {\n\t\t\t\tclassName: \"cedros-shop-public__product-specs text-sm\",\n\t\t\t\tchildren: r.map(([e, t]) => /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"dt\", { children: ai(e) }), /* @__PURE__ */ J(\"dd\", { children: t })] }, e))\n\t\t\t}) })]\n\t\t}) : null, e.tokenizedAssetConfig ? /* @__PURE__ */ Y(j, {\n\t\t\tvalue: \"backing\",\n\t\t\tchildren: [/* @__PURE__ */ J(M, { children: n(\"storefront.asset.title\") }), /* @__PURE__ */ J(A, { children: /* @__PURE__ */ J(oi, {\n\t\t\t\tconfig: e.tokenizedAssetConfig,\n\t\t\t\tcurrency: e.currency\n\t\t\t}) })]\n\t\t}) : null]\n\t});\n}\nvar ni = [\"relatedProductIds\", \"related_product_ids\"], ri = /* @__PURE__ */ new Set([\n\t...ni,\n\tne,\n\t\"featured\"\n]);\nfunction ii(e, t) {\n\tif (!e) return [];\n\tlet n = [];\n\tfor (let [r, i] of Object.entries(e)) {\n\t\tif (ri.has(r)) continue;\n\t\tlet e = typeof i == \"boolean\" ? t(i ? \"storefront.product.specYes\" : \"storefront.product.specNo\") : String(i).trim();\n\t\te && n.push([r, e]);\n\t}\n\treturn n;\n}\nfunction ai(e) {\n\tif (/\\s/.test(e.trim())) return e;\n\tlet t = e.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\").split(/[_\\-\\s]+/).filter(Boolean).map((e) => e.length > 1 && e === e.toUpperCase() ? e : e.toLowerCase()).join(\" \");\n\treturn t.charAt(0).toUpperCase() + t.slice(1);\n}\nfunction oi({ config: e, currency: t }) {\n\tlet n = W(), r = m(e.custodyProofUrl, l());\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__asset-details\",\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"mt-2 space-y-1.5 text-sm\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ J(si, {\n\t\t\t\t\t\tlabel: n.t(\"storefront.asset.backingValue\"),\n\t\t\t\t\t\tvalue: n.formatMoney(e.backingValueCents / 100, e.backingCurrency || t)\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\te.assetIdentifier ? /* @__PURE__ */ J(si, {\n\t\t\t\t\t\tlabel: n.t(\"storefront.asset.assetId\"),\n\t\t\t\t\t\tvalue: e.assetIdentifier,\n\t\t\t\t\t\tmono: !0\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\te.tokensPerUnit > 1 ? /* @__PURE__ */ J(si, {\n\t\t\t\t\t\tlabel: n.t(\"storefront.asset.tokensPerUnit\"),\n\t\t\t\t\t\tvalue: n.formatNumber(e.tokensPerUnit)\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\tr ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__asset-fact flex justify-between gap-4\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: n.t(\"storefront.asset.custodyProof\") }), /* @__PURE__ */ J(\"a\", {\n\t\t\t\t\t\t\thref: r,\n\t\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\t\trel: \"noreferrer\",\n\t\t\t\t\t\t\tclassName: \"text-xs font-medium underline underline-offset-2\",\n\t\t\t\t\t\t\tchildren: n.t(\"storefront.asset.viewDocument\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\te.nftMintAddress ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__asset-fact flex justify-between gap-4\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: n.t(\"storefront.asset.onChainToken\") }), /* @__PURE__ */ Y(\"a\", {\n\t\t\t\t\t\t\thref: `https://solscan.io/account/${e.nftMintAddress}`,\n\t\t\t\t\t\t\ttarget: \"_blank\",\n\t\t\t\t\t\t\trel: \"noreferrer\",\n\t\t\t\t\t\t\tclassName: \"font-mono text-xs font-medium underline underline-offset-2\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\te.nftMintAddress.slice(0, 4),\n\t\t\t\t\t\t\t\t\"...\",\n\t\t\t\t\t\t\t\te.nftMintAddress.slice(-4)\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t})]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction si({ label: e, value: t, mono: n }) {\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__asset-fact flex justify-between gap-4\",\n\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: e }), /* @__PURE__ */ J(\"span\", {\n\t\t\tclassName: U(\"font-medium\", n && \"font-mono text-xs\"),\n\t\t\tchildren: t\n\t\t})]\n\t});\n}\nfunction ci({ className: e }) {\n\treturn /* @__PURE__ */ J(\"div\", {\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--product min-h-screen p-6\", e),\n\t\tchildren: /* @__PURE__ */ Y(\"div\", {\n\t\t\tclassName: \"mx-auto max-w-7xl\",\n\t\t\tchildren: [/* @__PURE__ */ J(H, { className: \"h-5 w-40\" }), /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"mt-6 grid gap-8 lg:grid-cols-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(H, { className: \"aspect-[4/5] rounded-2xl\" }), /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"space-y-4\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ J(H, { className: \"h-8 w-2/3\" }),\n\t\t\t\t\t\t/* @__PURE__ */ J(H, { className: \"h-6 w-32\" }),\n\t\t\t\t\t\t/* @__PURE__ */ J(H, { className: \"h-20\" }),\n\t\t\t\t\t\t/* @__PURE__ */ J(H, { className: \"h-11\" })\n\t\t\t\t\t]\n\t\t\t\t})]\n\t\t\t})]\n\t\t})\n\t});\n}\nvar li = 50, ui = [];\nfunction di(e, t, n, r, i, a) {\n\tlet { config: o } = G(), s = q.useMemo(() => n === \"manual\" && e ? fi(e) : ui, [n, e]), c = s.length > 0 && typeof o.adapter.getProductsByIds == \"function\", l = n === \"by_category\" ? e?.categoryIds?.[0] : void 0, u = Mt(i, a && l !== void 0), d = l === void 0 ? void 0 : u.categories.find((e) => e.id === l)?.slug, f = l !== void 0 && d === void 0 && u.isLoading, p = Pt(q.useMemo(() => d ? {\n\t\tcategory: d,\n\t\tpage: 1,\n\t\tpageSize: r + 1\n\t} : n === \"ai_curated\" ? {\n\t\tpage: 1,\n\t\tpageSize: li\n\t} : {\n\t\tpage: 1,\n\t\tpageSize: r + 4\n\t}, [\n\t\td,\n\t\tn,\n\t\tr\n\t]), i, a && !c && !f), m = Lt(a && c ? s : ui, i), h = q.useMemo(() => (p.data?.items ?? []).filter((e) => e.slug !== t), [p.data?.items, t]), g = zt(e, h, r, a && n === \"ai_curated\");\n\treturn q.useMemo(() => {\n\t\tif (n === \"ai_curated\") {\n\t\t\tlet e = Rt(h, g, r);\n\t\t\treturn e.length ? e : h.slice(0, r);\n\t\t}\n\t\treturn n === \"manual\" && e ? s.length === 0 ? h.slice(0, r) : pi(c ? [...m.data?.values() ?? []] : h, s, e, i, r) : h.slice(0, r);\n\t}, [\n\t\tn,\n\t\th,\n\t\tg,\n\t\te,\n\t\tr,\n\t\ts,\n\t\tc,\n\t\tm.data,\n\t\ti\n\t]);\n}\nfunction fi(e) {\n\tlet t = ni.map((t) => e.attributes?.[t]).find(Boolean);\n\treturn t ? h(String(t)) : ui;\n}\nfunction pi(e, t, n, r, i) {\n\tlet a = new Map(g(e, r).map((e) => [e.id, e])), o = /* @__PURE__ */ new Set([n.id]), s = [];\n\tfor (let e of t) {\n\t\tlet t = a.get(e);\n\t\tif (!(!t || o.has(e) || t.slug === n.slug) && (o.add(e), s.push(t), s.length >= i)) break;\n\t}\n\treturn s;\n}\nfunction mi(e, t) {\n\treturn I(t ?? e);\n}\n//#endregion\n//#region src/storefront/deferredTemplates.tsx\nvar hi = q.lazy(() => import(\"./AccountTemplate-g_nx0moc.js\").then((e) => ({ default: e.AccountTemplate }))), gi = q.lazy(() => import(\"./CheckoutTemplate-B1_EQM8l.js\").then((e) => ({ default: e.CheckoutTemplate })));\nfunction _i({ className: e, account: t }) {\n\tlet n = W();\n\treturn /* @__PURE__ */ J(\"div\", {\n\t\tdir: n.direction,\n\t\tclassName: U(\"cedros-shop-public min-h-screen\", e),\n\t\tchildren: /* @__PURE__ */ Y(\"main\", {\n\t\t\tclassName: \"mx-auto max-w-6xl px-4 py-8\",\n\t\t\tchildren: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\tclassName: \"text-2xl font-semibold\",\n\t\t\t\tchildren: n.t(t ? \"storefront.account.title\" : \"storefront.checkout.title\")\n\t\t\t}), /* @__PURE__ */ Y(\"p\", {\n\t\t\t\tclassName: \"mt-8 flex items-center gap-2 text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t}), n.t(t ? \"storefront.account.loading\" : \"common.loading\")]\n\t\t\t})]\n\t\t})\n\t});\n}\nfunction vi(e) {\n\treturn /* @__PURE__ */ J(q.Suspense, {\n\t\tfallback: /* @__PURE__ */ J(_i, {\n\t\t\t...e,\n\t\t\taccount: !0\n\t\t}),\n\t\tchildren: /* @__PURE__ */ J(hi, { ...e })\n\t});\n}\nfunction yi(e) {\n\treturn /* @__PURE__ */ J(q.Suspense, {\n\t\tfallback: /* @__PURE__ */ J(_i, { ...e }),\n\t\tchildren: /* @__PURE__ */ J(gi, { ...e })\n\t});\n}\n//#endregion\n//#region src/storefront/CopyableIdentifier.tsx\nvar bi = \"⁣\";\nfunction xi({ message: e, value: t, valueId: n }) {\n\tlet r = e(bi), i = r.indexOf(bi);\n\treturn i < 0 ? /* @__PURE__ */ J($e, { children: r }) : /* @__PURE__ */ Y($e, { children: [\n\t\tr.slice(0, i),\n\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\tid: n,\n\t\t\tclassName: \"cedros-shop-public__identifier\",\n\t\t\tchildren: t\n\t\t}),\n\t\tr.slice(i + 1)\n\t] });\n}\nvar Si = 2e3;\nfunction Ci({ value: e, label: t, valueId: n }) {\n\tlet { t: r } = W(), [i, a] = q.useState(\"idle\");\n\tq.useEffect(() => {\n\t\tif (i !== \"copied\") return;\n\t\tlet e = window.setTimeout(() => a(\"idle\"), Si);\n\t\treturn () => window.clearTimeout(e);\n\t}, [i]);\n\tlet o = async () => {\n\t\ttry {\n\t\t\tif (!navigator.clipboard?.writeText) throw Error(\"Clipboard unavailable\");\n\t\t\tawait navigator.clipboard.writeText(e), a(\"copied\");\n\t\t} catch {\n\t\t\tlet e = document.getElementById(n), t = window.getSelection();\n\t\t\tif (e && t) {\n\t\t\t\tlet n = document.createRange();\n\t\t\t\tn.selectNodeContents(e), t.removeAllRanges(), t.addRange(n);\n\t\t\t}\n\t\t\ta(\"failed\");\n\t\t}\n\t};\n\treturn /* @__PURE__ */ Y(\"span\", {\n\t\tclassName: \"cedros-shop-public__identifier-copy\",\n\t\tchildren: [/* @__PURE__ */ J(K, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"ghost\",\n\t\t\tsize: \"icon\",\n\t\t\tclassName: \"cedros-shop-public__identifier-copy-button\",\n\t\t\t\"aria-label\": t,\n\t\t\ttitle: t,\n\t\t\tonClick: () => void o(),\n\t\t\tchildren: /* @__PURE__ */ J(\"svg\", {\n\t\t\t\twidth: \"16\",\n\t\t\t\theight: \"16\",\n\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\tfill: \"none\",\n\t\t\t\tstroke: \"currentColor\",\n\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\tchildren: i === \"copied\" ? /* @__PURE__ */ J(\"path\", { d: \"M20 6 9 17l-5-5\" }) : /* @__PURE__ */ Y($e, { children: [/* @__PURE__ */ J(\"rect\", {\n\t\t\t\t\twidth: \"14\",\n\t\t\t\t\theight: \"14\",\n\t\t\t\t\tx: \"8\",\n\t\t\t\t\ty: \"8\",\n\t\t\t\t\trx: \"2\",\n\t\t\t\t\try: \"2\"\n\t\t\t\t}), /* @__PURE__ */ J(\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\" })] })\n\t\t\t})\n\t\t}), /* @__PURE__ */ J(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__identifier-status\",\n\t\t\trole: \"status\",\n\t\t\tchildren: i === \"copied\" ? r(\"storefront.common.copied\") : i === \"failed\" ? r(\"storefront.common.copyFailed\") : \"\"\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/storefront/orderPaymentReturn.ts\nvar wi = \"checkoutOrder\", Ti = \"checkoutPendingOrder\";\nfunction Ei(e) {\n\treturn typeof e == \"string\" && e.length > 0 && e.length <= 512 && e.trim() === e && !/[\\u0000-\\u001f\\u007f]/.test(e);\n}\nfunction Di(e) {\n\tlet t = new URLSearchParams(e).getAll(wi), n = t.length === 1 ? t[0] : void 0;\n\treturn Ei(n) ? n : null;\n}\nfunction Oi(e) {\n\treturn [...new Set(new URLSearchParams(e).getAll(Ti).filter(Ei))];\n}\nfunction ki(e) {\n\treturn [\n\t\t\"paid\",\n\t\t\"processing\",\n\t\t\"fulfilled\",\n\t\t\"shipped\",\n\t\t\"delivered\",\n\t\t\"refunded\",\n\t\t\"cancelled\"\n\t].includes(e.status);\n}\nfunction Ai(e) {\n\tif (!Ei(e)) throw Error(\"Invalid pending order payment\");\n\tlet t = new URL(window.location.href);\n\tOi(t.search).includes(e) || t.searchParams.append(Ti, e), window.history.replaceState(window.history.state, \"\", `${t.pathname}${t.search}${t.hash}`);\n}\nfunction ji(e) {\n\tlet t = new URL(window.location.href), n = Oi(t.search).filter((t) => !e.includes(t));\n\tt.searchParams.delete(Ti);\n\tfor (let e of n) t.searchParams.append(Ti, e);\n\twindow.history.replaceState(window.history.state, \"\", `${t.pathname}${t.search}${t.hash}`);\n}\nfunction Mi(e, t, n) {\n\tlet r = i(e, t, \"success\"), a = i(e, t, \"cancelled\");\n\tif (!r || !a) return;\n\tlet o = new URL(r);\n\treturn o.searchParams.set(wi, n), {\n\t\tsuccessUrl: o.href,\n\t\tcancelUrl: a\n\t};\n}\nfunction Ni() {\n\tlet e = new URL(window.location.href);\n\te.searchParams.delete(\"checkout\"), e.searchParams.delete(wi), window.history.replaceState(window.history.state, \"\", `${e.pathname}${e.search}${e.hash}`);\n}\n//#endregion\n//#region src/storefront/OrderOperationsPanel.tsx\nvar Pi = {\n\treturn: {\n\t\tflag: \"returnRequest\",\n\t\tmethod: \"requestOrderReturn\",\n\t\tlabelKey: \"storefront.history.requestReturn\",\n\t\tsubmitKey: \"storefront.history.submitReturn\",\n\t\ttitleKey: \"storefront.history.returnTitle\",\n\t\tdescriptionKey: \"storefront.history.returnDescription\",\n\t\tresolution: \"refund\"\n\t},\n\trefund: {\n\t\tflag: \"refundRequest\",\n\t\tmethod: \"requestOrderRefund\",\n\t\tlabelKey: \"storefront.history.requestRefund\",\n\t\tsubmitKey: \"storefront.history.submitRefund\",\n\t\ttitleKey: \"storefront.history.refundTitle\",\n\t\tdescriptionKey: \"storefront.history.refundDescription\",\n\t\tresolution: \"refund\"\n\t},\n\texchange: {\n\t\tflag: \"exchangeRequest\",\n\t\tmethod: \"requestOrderExchange\",\n\t\tlabelKey: \"storefront.history.requestExchange\",\n\t\tsubmitKey: \"storefront.history.submitExchange\",\n\t\ttitleKey: \"storefront.history.exchangeTitle\",\n\t\tdescriptionKey: \"storefront.history.exchangeDescription\",\n\t\tresolution: \"exchange\"\n\t},\n\tcancel: {\n\t\tflag: \"cancel\",\n\t\tmethod: \"requestOrderCancel\",\n\t\tlabelKey: \"storefront.history.requestCancel\",\n\t\tsubmitKey: \"storefront.history.submitCancel\",\n\t\ttitleKey: \"storefront.history.cancelTitle\",\n\t\tdescriptionKey: \"storefront.history.cancelDescription\",\n\t\tresolution: void 0\n\t}\n};\nfunction Fi({ order: e, adapter: t, onRefresh: n, stale: r = !1, payNowHeld: i = !1, details: a }) {\n\tlet o = W(), s = ue(), c = Li({\n\t\torder: e,\n\t\tadapter: t,\n\t\tonRefresh: n,\n\t\tstale: r\n\t}), [l, u] = q.useState(!1);\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__order-ops\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(Wi, {\n\t\t\t\torder: e,\n\t\t\t\tpayFeatures: s,\n\t\t\t\tprominence: \"common\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(Ii, {\n\t\t\t\torder: e,\n\t\t\t\tadapter: t,\n\t\t\t\tonRefresh: n,\n\t\t\t\tstale: r,\n\t\t\t\tpayNowHeld: i\n\t\t\t}),\n\t\t\t!c.active && c.action?.kind === \"success\" ? /* @__PURE__ */ J(Ji, { action: c.action }) : null,\n\t\t\t/* @__PURE__ */ J(D, {\n\t\t\t\topen: l,\n\t\t\t\tonOpenChange: u,\n\t\t\t\topenLabel: o.t(\"storefront.history.details\"),\n\t\t\t\tcloseLabel: o.t(\"storefront.history.hideDetails\"),\n\t\t\t\tchildren: /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__order-detail\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\ta,\n\t\t\t\t\t\ts.shipping ? /* @__PURE__ */ J(Ri, { order: e }) : null,\n\t\t\t\t\t\t/* @__PURE__ */ J(Ui, { order: e }),\n\t\t\t\t\t\t/* @__PURE__ */ J(Wi, {\n\t\t\t\t\t\t\torder: e,\n\t\t\t\t\t\t\tpayFeatures: s,\n\t\t\t\t\t\t\tprominence: \"detail\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\ts.returns ? /* @__PURE__ */ J(Gi, { order: e }) : null,\n\t\t\t\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__order-actions\",\n\t\t\t\t\t\t\trole: \"group\",\n\t\t\t\t\t\t\t\"aria-label\": o.t(\"storefront.history.orderActions\"),\n\t\t\t\t\t\t\tchildren: Object.keys(Pi).map((n) => /* @__PURE__ */ J(Ki, {\n\t\t\t\t\t\t\t\torder: e,\n\t\t\t\t\t\t\t\tadapter: t,\n\t\t\t\t\t\t\t\tpayFeatures: s,\n\t\t\t\t\t\t\t\tkind: n,\n\t\t\t\t\t\t\t\tactive: c.active === n,\n\t\t\t\t\t\t\t\tbusy: c.submitting || r,\n\t\t\t\t\t\t\t\tonClick: () => c.toggleActive(n)\n\t\t\t\t\t\t\t}, n))\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tc.active ? /* @__PURE__ */ J(qi, {\n\t\t\t\t\t\t\torder: e,\n\t\t\t\t\t\t\tkind: c.active,\n\t\t\t\t\t\t\treason: c.reason,\n\t\t\t\t\t\t\tnote: c.note,\n\t\t\t\t\t\t\tselectedItemIds: c.selectedItemIds,\n\t\t\t\t\t\t\taction: c.action,\n\t\t\t\t\t\t\tsubmitting: c.submitting,\n\t\t\t\t\t\t\tdisabled: c.submitting || r,\n\t\t\t\t\t\t\tonReason: c.setReason,\n\t\t\t\t\t\t\tonNote: c.setNote,\n\t\t\t\t\t\t\tonSelectedItemIds: c.setSelectedItemIds,\n\t\t\t\t\t\t\tonSubmit: () => void c.submit()\n\t\t\t\t\t\t}) : null\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Ii({ order: e, adapter: t, onRefresh: r, stale: i, payNowHeld: o }) {\n\tlet { config: s } = G(), c = W(), u = Ie(), d = q.useRef(u);\n\td.current = u;\n\tlet f = me(), [p, m] = q.useState(null), [h, g] = q.useState(null), [_, v] = q.useState(() => typeof window < \"u\" && Oi(window.location.search).includes(e.id)), y = q.useRef(!1), b = q.useRef(!1);\n\tbe(() => {\n\t\tb.current && (b.current = !1, y.current = !1, g(null), m(null), r());\n\t});\n\tlet x = Re(), S = i || e.operations?.reorder !== !0 || typeof t.createReorderCart != \"function\" || !u, C = i || o || _ || e.operations?.payNow !== !0 || typeof t.createOrderPaymentSession != \"function\", w = _ && !ki(e), T = p?.awaitsPayment && !w ? null : p, E = async () => {\n\t\tif (!(S || !t.createReorderCart || !u || y.current || !x())) {\n\t\t\ty.current = !0, g(\"reorder\"), m(null);\n\t\t\ttry {\n\t\t\t\tlet n = await t.createReorderCart({ orderId: e.id });\n\t\t\t\tif (!x() || !d.current) return;\n\t\t\t\tlet r = Array.isArray(n?.items) ? n.items.filter(ze) : [];\n\t\t\t\tif (!r.length) {\n\t\t\t\t\tm({\n\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\tmessage: c.t(\"storefront.history.operationError\")\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet i = r[0].currency, a = Be(d.current.items, i);\n\t\t\t\tfor (let { qty: e, ...t } of r.filter((e) => e.currency === i)) d.current.addItem(t, e);\n\t\t\t\tlet o = c.route(\"cart\", void 0, s.routes);\n\t\t\t\tif (a) {\n\t\t\t\t\tlet e = c.t(\"storefront.history.reorderCurrencyReset\", {\n\t\t\t\t\t\tcurrency: i,\n\t\t\t\t\t\tpreviousCurrency: a.previousCurrency\n\t\t\t\t\t});\n\t\t\t\t\tm({\n\t\t\t\t\t\tkind: \"info\",\n\t\t\t\t\t\tmessage: e\n\t\t\t\t\t}), f?.toast({\n\t\t\t\t\t\ttitle: c.t(\"storefront.toast.cartCurrencyReset\"),\n\t\t\t\t\t\tdescription: e,\n\t\t\t\t\t\tactionLabel: c.t(\"storefront.toast.viewCart\"),\n\t\t\t\t\t\tonAction: () => window.location.assign(o)\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tm({\n\t\t\t\t\tkind: \"success\",\n\t\t\t\t\tmessage: c.t(\"storefront.history.reorderReady\")\n\t\t\t\t}), typeof window < \"u\" && window.location.assign(o);\n\t\t\t} catch {\n\t\t\t\tm({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: c.t(\"storefront.history.operationError\")\n\t\t\t\t});\n\t\t\t} finally {\n\t\t\t\ty.current = !1, g(null);\n\t\t\t}\n\t\t}\n\t}, ee = async () => {\n\t\tif (C || !t.createOrderPaymentSession || y.current || !x()) return;\n\t\tlet i = Mi(l(), c.route(\"orders\", void 0, s.routes), e.id);\n\t\ty.current = !0, g(\"payNow\"), m(null);\n\t\tlet o = !1;\n\t\ttry {\n\t\t\tlet a = await t.createOrderPaymentSession({\n\t\t\t\torderId: e.id,\n\t\t\t\t...i\n\t\t\t});\n\t\t\tif (o = !0, !x()) return;\n\t\t\tif (a.kind === \"payment\") {\n\t\t\t\tlet t = a.status === \"completed\" ? \"storefront.checkout.paymentCompleted\" : a.status === \"pending\" ? \"storefront.checkout.paymentPending\" : \"storefront.history.payNowReturned\";\n\t\t\t\tv(!0), m({\n\t\t\t\t\tkind: a.status === \"completed\" ? \"success\" : \"info\",\n\t\t\t\t\tmessage: c.t(t),\n\t\t\t\t\tawaitsPayment: a.status !== \"completed\"\n\t\t\t\t}), Ai(e.id), await r();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (a.kind !== \"redirect\") throw Error(\"Order payment session requires a host renderer\");\n\t\t\tif (a.kind === \"redirect\") {\n\t\t\t\tlet e = n(a.url, \"order payment session\");\n\t\t\t\tif (e === \"blocked\" || e === \"failed\") {\n\t\t\t\t\tm({\n\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\tmessage: c.t(\"storefront.history.operationError\")\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tb.current = e === \"navigated\";\n\t\t\t}\n\t\t\tm({\n\t\t\t\tkind: \"success\",\n\t\t\t\tmessage: c.t(\"storefront.history.payNowOpening\")\n\t\t\t});\n\t\t} catch {\n\t\t\tif (!x()) return;\n\t\t\tif (a(\"order payment session\"), o) m({\n\t\t\t\tkind: \"error\",\n\t\t\t\tmessage: c.t(\"storefront.history.operationError\")\n\t\t\t});\n\t\t\telse {\n\t\t\t\tv(!0);\n\t\t\t\ttry {\n\t\t\t\t\tAi(e.id);\n\t\t\t\t} catch {\n\t\t\t\t\tconsole.warn(\"[cedros-shop] Order payment recovery marker could not be retained.\");\n\t\t\t\t}\n\t\t\t\tm({\n\t\t\t\t\tkind: \"info\",\n\t\t\t\t\tmessage: c.t(\"storefront.checkout.returnUnconfirmed\"),\n\t\t\t\t\tawaitsPayment: !0\n\t\t\t\t}), await r();\n\t\t\t}\n\t\t} finally {\n\t\t\tb.current || (y.current = !1, g(null));\n\t\t}\n\t};\n\treturn e.operations?.reorder !== !0 && e.operations?.payNow !== !0 ? null : /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__order-actions\",\n\t\tchildren: [\n\t\t\te.operations?.reorder === !0 ? /* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tdisabled: S || h !== null,\n\t\t\t\tonClick: () => void E(),\n\t\t\t\tchildren: h === \"reorder\" ? c.t(\"storefront.history.reordering\") : c.t(\"storefront.history.reorder\")\n\t\t\t}) : null,\n\t\t\te.operations?.payNow === !0 ? /* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"default\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tdisabled: C || h !== null,\n\t\t\t\tonClick: () => void ee(),\n\t\t\t\tchildren: h === \"payNow\" ? c.t(\"storefront.history.payNowOpening\") : c.t(\"storefront.history.payNow\")\n\t\t\t}) : null,\n\t\t\tw ? /* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tdisabled: i || h !== null,\n\t\t\t\tonClick: () => void r(),\n\t\t\t\tchildren: c.t(\"storefront.checkout.checkPaymentStatus\")\n\t\t\t}) : null,\n\t\t\tT ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: T.kind === \"success\" ? \"cedros-shop-public__success\" : T.kind === \"info\" ? \"cedros-shop-public__notice\" : \"cedros-shop-public__error\",\n\t\t\t\trole: T.kind === \"error\" ? \"alert\" : \"status\",\n\t\t\t\tchildren: T.message\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Li({ order: e, adapter: t, onRefresh: n, stale: r }) {\n\tlet i = W(), a = ue(), [o, s] = q.useState(null), [c, l] = q.useState(\"\"), [u, d] = q.useState(\"\"), [f, p] = q.useState(() => ra(e)), [m, h] = q.useState(null), [g, _] = q.useState(!1), v = q.useRef(!1), y = Re(), b = ra(e).join(\"\\n\");\n\treturn q.useEffect(() => {\n\t\tp(b ? b.split(\"\\n\") : []);\n\t}, [e.id, b]), {\n\t\tactive: o,\n\t\ttoggleActive: (e) => {\n\t\t\tv.current || r || (h(null), s((t) => t === e ? null : e));\n\t\t},\n\t\treason: c,\n\t\tsetReason: l,\n\t\tnote: u,\n\t\tsetNote: d,\n\t\tselectedItemIds: f,\n\t\tsetSelectedItemIds: p,\n\t\taction: m,\n\t\tsubmitting: g,\n\t\tsubmit: async () => {\n\t\t\tif (!(!o || r || v.current || !y())) {\n\t\t\t\tif (!$i(a, o) || !Qi(e, t, o)) {\n\t\t\t\t\th({\n\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\tmessage: i.t(\"storefront.history.operationUnavailable\")\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!c.trim()) return h({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: i.t(\"storefront.history.reasonRequired\"),\n\t\t\t\t\tfield: \"reason\"\n\t\t\t\t});\n\t\t\t\tif (o !== \"cancel\" && !f.some((t) => ra(e).includes(t))) return h({\n\t\t\t\t\tkind: \"error\",\n\t\t\t\t\tmessage: i.t(\"storefront.history.selectItemsRequired\")\n\t\t\t\t});\n\t\t\t\tv.current = !0, _(!0);\n\t\t\t\ttry {\n\t\t\t\t\tlet r = await Zi({\n\t\t\t\t\t\torder: e,\n\t\t\t\t\t\tadapter: t,\n\t\t\t\t\t\tactive: o,\n\t\t\t\t\t\treason: c,\n\t\t\t\t\t\tnote: u,\n\t\t\t\t\t\tselectedItemIds: f,\n\t\t\t\t\t\tunavailableMessage: i.t(\"storefront.history.operationUnavailable\")\n\t\t\t\t\t});\n\t\t\t\t\tif (!y()) return;\n\t\t\t\t\tif (!r || typeof r.id != \"string\" || !r.id.trim() || ![\n\t\t\t\t\t\t\"requested\",\n\t\t\t\t\t\t\"approved\",\n\t\t\t\t\t\t\"rejected\",\n\t\t\t\t\t\t\"processing\",\n\t\t\t\t\t\t\"completed\"\n\t\t\t\t\t].includes(r.status)) throw Error(\"Invalid order operation response\");\n\t\t\t\t\tif (r.status === \"rejected\") {\n\t\t\t\t\t\th({\n\t\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\t\tmessage: r.message?.trim() || i.t(\"storefront.history.operationError\")\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\th({\n\t\t\t\t\t\tkind: \"success\",\n\t\t\t\t\t\tmessage: r.message?.trim() || i.t(\"storefront.history.requestSubmitted\"),\n\t\t\t\t\t\tresult: r\n\t\t\t\t\t}), s(null), l(\"\"), d(\"\"), p(ra(e)), await n();\n\t\t\t\t} catch {\n\t\t\t\t\th({\n\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\tmessage: i.t(\"storefront.history.operationError\")\n\t\t\t\t\t});\n\t\t\t\t} finally {\n\t\t\t\t\tv.current = !1, _(!1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\nfunction Ri({ order: e }) {\n\tlet t = W();\n\treturn e.shipments?.length ? /* @__PURE__ */ J(\"div\", {\n\t\tclassName: \"cedros-shop-public__shipment-grid\",\n\t\tchildren: e.shipments.map((t) => /* @__PURE__ */ J(zi, {\n\t\t\torder: e,\n\t\t\tshipment: t\n\t\t}, t.id))\n\t}) : Bi(e) ? /* @__PURE__ */ J(\"p\", {\n\t\tclassName: \"cedros-shop-public__muted\",\n\t\tchildren: t.t(\"storefront.history.noShipments\")\n\t}) : null;\n}\nfunction zi({ order: e, shipment: t }) {\n\tlet n = W(), r = q.useId(), i = n.t(`storefront.fulfillment.status.${t.status}`);\n\treturn /* @__PURE__ */ Y(\"section\", {\n\t\tclassName: \"cedros-shop-public__shipment-card\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap items-center justify-between gap-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\t\tchildren: t.carrier ?? n.t(\"storefront.history.fulfillment\")\n\t\t\t\t}), t.serviceLevel ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__muted\",\n\t\t\t\t\tchildren: t.serviceLevel\n\t\t\t\t}) : null] }), /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\t\t\tchildren: i\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tt.ddp ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__muted\",\n\t\t\t\tchildren: n.t(\"storefront.history.ddp\")\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ J(Vi, {\n\t\t\t\torder: e,\n\t\t\t\tshipmentId: t.id\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(Hi, { items: t.items }),\n\t\t\tt.trackingNumber ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__tracking flex flex-wrap items-center gap-1\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__muted\",\n\t\t\t\t\tchildren: /* @__PURE__ */ J(xi, {\n\t\t\t\t\t\tmessage: (e) => n.t(\"storefront.history.trackingNumber\", { value: e }),\n\t\t\t\t\t\tvalue: t.trackingNumber,\n\t\t\t\t\t\tvalueId: r\n\t\t\t\t\t})\n\t\t\t\t}), /* @__PURE__ */ J(Ci, {\n\t\t\t\t\tvalue: t.trackingNumber,\n\t\t\t\t\tlabel: n.t(\"storefront.history.copyTrackingNumber\"),\n\t\t\t\t\tvalueId: r\n\t\t\t\t})]\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Bi(e) {\n\treturn e.status !== \"paid\" && e.status !== \"processing\" ? !1 : !e.fulfillmentStatus || e.fulfillmentStatus === \"unfulfilled\" || e.fulfillmentStatus === \"partial\";\n}\nfunction Vi({ order: e, shipmentId: t }) {\n\tlet n = W(), r = e.shipments?.find((e) => e.id === t);\n\tif (!r) return null;\n\tlet i = [\n\t\tr.shippedAt ? n.t(\"storefront.history.shippedAt\", { date: n.formatDate(r.shippedAt) }) : \"\",\n\t\tr.estimatedDeliveryAt ? n.t(\"storefront.history.estimatedDelivery\", { date: n.formatDate(r.estimatedDeliveryAt) }) : \"\",\n\t\tr.deliveredAt ? n.t(\"storefront.history.deliveredAt\", { date: n.formatDate(r.deliveredAt) }) : \"\"\n\t].filter(Boolean);\n\treturn i.length === 0 ? null : /* @__PURE__ */ J(\"ul\", {\n\t\tclassName: \"cedros-shop-public__compact-list\",\n\t\tchildren: i.map((e) => /* @__PURE__ */ J(\"li\", { children: e }, e))\n\t});\n}\nfunction Hi({ items: e }) {\n\tlet t = W();\n\treturn e?.length ? /* @__PURE__ */ J(\"ul\", {\n\t\tclassName: \"cedros-shop-public__compact-list\",\n\t\tchildren: e.map((e, n) => /* @__PURE__ */ J(\"li\", { children: t.t(\"storefront.history.orderLine\", {\n\t\t\tquantity: e.quantity,\n\t\t\ttitle: e.title ?? t.t(\"storefront.history.item\")\n\t\t}) }, `${e.title ?? \"item\"}-${n}`))\n\t}) : null;\n}\nfunction Ui({ order: e }) {\n\tlet t = W();\n\treturn e.timeline?.length ? /* @__PURE__ */ J(\"ol\", {\n\t\tclassName: \"cedros-shop-public__timeline\",\n\t\t\"aria-label\": t.t(\"storefront.history.timeline\"),\n\t\tchildren: e.timeline.map((e) => /* @__PURE__ */ Y(\"li\", { children: [/* @__PURE__ */ J(\"span\", { \"aria-hidden\": \"true\" }), /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"strong\", { children: e.label }), /* @__PURE__ */ J(\"p\", { children: t.t(\"storefront.history.timelineMeta\", {\n\t\t\tdate: t.formatDateTime(e.occurredAt),\n\t\t\tdetail: e.detail ?? \"\"\n\t\t}) })] })] }, e.id))\n\t}) : null;\n}\nfunction Wi({ order: e, payFeatures: t, prominence: n }) {\n\tlet r = ea(e, W(), t, l()).filter((e) => n === \"common\" ? [\"receipt\", \"tracking\"].includes(e.kind) : ![\"receipt\", \"tracking\"].includes(e.kind));\n\treturn r.length === 0 ? null : /* @__PURE__ */ J(\"div\", {\n\t\tclassName: \"cedros-shop-public__order-links\",\n\t\tchildren: r.map((e, t) => /* @__PURE__ */ J(\"a\", {\n\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--outline cedros-shop-public__button--size-sm\",\n\t\t\thref: e.href,\n\t\t\ttarget: \"_blank\",\n\t\t\trel: \"noreferrer\",\n\t\t\tchildren: e.label\n\t\t}, `${e.kind}:${t}`))\n\t});\n}\nfunction Gi({ order: e }) {\n\tlet t = W();\n\tif (!e.returnWindow) return null;\n\tlet { status: n, returnableUntil: r, reason: i, policyUrl: a } = e.returnWindow, o = m(a, l()), s = n === \"returnable\" && r ? t.t(\"storefront.history.returnableUntil\", { date: t.formatDate(r) }) : t.t(`storefront.history.returnWindow.${n}`, { reason: i ?? \"\" });\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"cedros-shop-public__return-policy\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\t\tchildren: t.t(\"storefront.history.returns\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(\"span\", { children: s }),\n\t\t\to ? /* @__PURE__ */ J(\"a\", {\n\t\t\t\thref: o,\n\t\t\t\ttarget: \"_blank\",\n\t\t\t\trel: \"noreferrer\",\n\t\t\t\tchildren: t.t(\"storefront.history.returnPolicy\")\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Ki({ order: e, adapter: t, payFeatures: n, kind: r, active: i, busy: a, onClick: o }) {\n\tlet s = W();\n\treturn /* @__PURE__ */ J(K, {\n\t\ttype: \"button\",\n\t\tvariant: \"outline\",\n\t\tsize: \"sm\",\n\t\tdisabled: a || !$i(n, r) || !Qi(e, t, r),\n\t\t\"aria-pressed\": i,\n\t\tonClick: o,\n\t\tchildren: s.t(Pi[r].labelKey)\n\t});\n}\nfunction qi(e) {\n\tlet t = W(), n = Pi[e.kind], r = q.useRef(null), i = q.useId(), a = e.action?.kind === \"error\" && e.action.field === \"reason\";\n\treturn q.useEffect(() => {\n\t\ta && r.current?.focus();\n\t}, [e.action, a]), /* @__PURE__ */ Y(\"section\", {\n\t\tclassName: \"cedros-shop-public__operation-form\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"h3\", { children: t.t(n.titleKey) }), /* @__PURE__ */ J(\"p\", { children: t.t(n.descriptionKey) })] }),\n\t\t\te.kind === \"cancel\" ? null : /* @__PURE__ */ J(Xi, {\n\t\t\t\torder: e.order,\n\t\t\t\tselectedItemIds: e.selectedItemIds,\n\t\t\t\tonSelectedItemIds: e.onSelectedItemIds\n\t\t\t}),\n\t\t\t/* @__PURE__ */ Y(\"label\", {\n\t\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: t.t(\"storefront.history.reason\") }), /* @__PURE__ */ J(F, {\n\t\t\t\t\tref: r,\n\t\t\t\t\tvalue: e.reason,\n\t\t\t\t\tonChange: (t) => e.onReason(t.target.value),\n\t\t\t\t\tplaceholder: t.t(\"storefront.history.reasonPlaceholder\"),\n\t\t\t\t\t\"aria-invalid\": a || void 0,\n\t\t\t\t\t\"aria-describedby\": a ? i : void 0\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ Y(\"label\", {\n\t\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: t.t(\"storefront.history.note\") }), /* @__PURE__ */ J(\"textarea\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__textarea\",\n\t\t\t\t\trows: 3,\n\t\t\t\t\tvalue: e.note,\n\t\t\t\t\tonChange: (t) => e.onNote(t.target.value),\n\t\t\t\t\tplaceholder: t.t(\"storefront.history.notePlaceholder\")\n\t\t\t\t})]\n\t\t\t}),\n\t\t\te.action ? /* @__PURE__ */ J(Ji, {\n\t\t\t\taction: e.action,\n\t\t\t\tid: i\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tdisabled: e.disabled,\n\t\t\t\tonClick: e.onSubmit,\n\t\t\t\tchildren: e.submitting ? t.t(\"storefront.history.submittingRequest\") : t.t(n.submitKey)\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Ji({ action: e, id: t }) {\n\treturn /* @__PURE__ */ Y($e, { children: [/* @__PURE__ */ J(\"p\", {\n\t\tid: t,\n\t\tclassName: e.kind === \"success\" ? \"cedros-shop-public__success\" : \"cedros-shop-public__error\",\n\t\trole: e.kind === \"success\" ? \"status\" : \"alert\",\n\t\tchildren: e.message\n\t}), e.kind === \"success\" && e.result ? /* @__PURE__ */ J(Yi, { result: e.result }) : null] });\n}\nfunction Yi({ result: e }) {\n\tlet t = W(), n = [ta(\"return-label\", e.labelUrl, t.t(\"storefront.history.printReturnLabel\"), l()), ta(\"tracking\", e.trackingUrl, t.t(\"storefront.history.trackShipment\"), l())].filter((e) => !!e);\n\treturn n.length ? /* @__PURE__ */ J(\"div\", {\n\t\tclassName: \"cedros-shop-public__order-links\",\n\t\tchildren: n.map((e, t) => /* @__PURE__ */ J(\"a\", {\n\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--outline cedros-shop-public__button--size-sm\",\n\t\t\thref: e.href,\n\t\t\ttarget: \"_blank\",\n\t\t\trel: \"noreferrer\",\n\t\t\tchildren: e.label\n\t\t}, `${e.kind}:${t}`))\n\t}) : null;\n}\nfunction Xi({ order: e, selectedItemIds: t, onSelectedItemIds: n }) {\n\tlet r = W(), i = q.useId(), a = e.items.some((e) => !na(e));\n\treturn /* @__PURE__ */ Y(\"fieldset\", {\n\t\tclassName: \"cedros-shop-public__line-selector\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(\"legend\", { children: r.t(\"storefront.history.itemsToInclude\") }),\n\t\t\te.items.map((e, a) => {\n\t\t\t\tlet o = na(e), s = r.t(\"storefront.history.orderLine\", {\n\t\t\t\t\tquantity: e.qty,\n\t\t\t\t\ttitle: e.title\n\t\t\t\t});\n\t\t\t\treturn o ? /* @__PURE__ */ Y(\"label\", { children: [/* @__PURE__ */ J(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: t.includes(o),\n\t\t\t\t\tonChange: () => n(ia(t, o))\n\t\t\t\t}), s] }, `line:${a}`) : /* @__PURE__ */ Y(\"label\", { children: [/* @__PURE__ */ J(\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: !1,\n\t\t\t\t\tdisabled: !0,\n\t\t\t\t\t\"aria-describedby\": i\n\t\t\t\t}), s] }, `unselectable:${a}`);\n\t\t\t}),\n\t\t\ta ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tid: i,\n\t\t\t\tclassName: \"cedros-shop-public__muted\",\n\t\t\t\tchildren: r.t(\"storefront.history.someItemsNotSelectable\")\n\t\t\t}) : null\n\t\t]\n\t});\n}\nasync function Zi(e) {\n\tlet t = Pi[e.active], n = e.adapter[t.method];\n\tif (typeof n != \"function\") throw Error(e.unavailableMessage);\n\tlet r = {\n\t\torderId: e.order.id,\n\t\treason: e.reason.trim(),\n\t\tnote: e.note.trim() || void 0\n\t};\n\tif (e.active === \"cancel\") return n.call(e.adapter, r);\n\tlet i = ra(e.order), a = e.selectedItemIds.filter((e) => i.includes(e));\n\treturn n.call(e.adapter, {\n\t\t...r,\n\t\titemIds: a,\n\t\tresolution: t.resolution\n\t});\n}\nfunction Qi(e, t, n) {\n\tlet r = Pi[n];\n\treturn n !== \"cancel\" && ra(e).length === 0 ? !1 : e.operations?.[r.flag] === !0 && typeof t[r.method] == \"function\";\n}\nfunction $i(e, t) {\n\treturn t === \"refund\" ? e.refunds : t === \"return\" || t === \"exchange\" ? e.returns : !0;\n}\nfunction ea(e, t, n, r) {\n\tlet i = (e.shipments ?? []).flatMap((i) => [\n\t\tn.shipping ? ta(\"tracking\", i.trackingUrl, t.t(\"storefront.history.trackShipment\"), r) : null,\n\t\tn.shipping && e.operations?.shippingLabel ? ta(\"shipping-label\", i.labelUrl, t.t(\"storefront.history.printShippingLabel\"), r) : null,\n\t\tn.returns && e.operations?.returnLabel ? ta(\"return-label\", i.returnLabelUrl, t.t(\"storefront.history.printReturnLabel\"), r) : null\n\t]);\n\treturn [\n\t\tta(\"receipt\", e.receiptUrl, t.t(\"storefront.history.viewReceipt\"), r),\n\t\tta(\"invoice\", e.invoiceUrl, t.t(\"storefront.history.viewInvoice\"), r),\n\t\t...i,\n\t\tta(\"support\", e.supportUrl, t.t(\"storefront.history.contactSupport\"), r)\n\t].filter((e) => !!e);\n}\nfunction ta(e, t, n, r) {\n\tlet i = m(t, r);\n\treturn i ? {\n\t\tkind: e,\n\t\thref: i,\n\t\tlabel: n\n\t} : null;\n}\nfunction na(e) {\n\treturn e.id || void 0;\n}\nfunction ra(e) {\n\treturn e.items.flatMap((e) => {\n\t\tlet t = na(e);\n\t\treturn t ? [t] : [];\n\t});\n}\nfunction ia(e, t) {\n\treturn e.includes(t) ? e.filter((e) => e !== t) : [...e, t];\n}\n//#endregion\n//#region src/storefront/PurchaseHistoryTemplate.tsx\nvar aa = [], oa = 20, sa = 5e3, ca = 12e4;\nfunction la(e) {\n\tlet { dataCacheKey: t } = G();\n\treturn /* @__PURE__ */ J(ua, { ...e }, t);\n}\nfunction ua({ className: e, requireSignedIn: t = !0 }) {\n\tlet { config: n, dataCacheKey: r } = G(), i = W(), a = !t || !!n.customer?.isSignedIn, o = `${r}:${n.customer?.id ?? \"guest\"}`, [c, l] = q.useState({\n\t\tscope: o,\n\t\tpage: 1\n\t}), [u, d] = q.useState(!1), { data: f, isLoading: p, isFetching: m, error: h, refetch: g } = Ke({\n\t\tkey: `${r}:order-history:${n.customer?.id ?? \"guest\"}`,\n\t\tenabled: a,\n\t\tinitialData: aa,\n\t\tstaleTimeMs: 5e3,\n\t\trefreshIntervalMs: u ? sa : 0,\n\t\tfetcher: async () => L(await n.adapter.getOrderHistory())\n\t}), _ = q.useMemo(() => ga(f ?? aa), [f]), v = Math.max(1, Math.ceil(_.length / oa)), b = c.scope === o ? Math.min(c.page, v) : 1, x = q.useRef(null), S = q.useRef(!1), C = (e) => {\n\t\tS.current = !0, l({\n\t\t\tscope: o,\n\t\t\tpage: Math.max(1, Math.min(e, v))\n\t\t});\n\t};\n\tq.useEffect(() => {\n\t\tS.current && (S.current = !1, x.current?.focus({ preventScroll: !0 }), x.current?.scrollIntoView?.({ block: \"start\" }));\n\t}, [b]);\n\tlet T = a ? _.slice((b - 1) * oa, b * oa) : aa, [E, ee] = q.useState(null), [D, O] = q.useState(null), [k, A] = q.useState([]);\n\tq.useEffect(() => {\n\t\tif (!a) return;\n\t\tlet e = Oi(window.location.search);\n\t\te.length && (A(e), g());\n\t}, [a, g]), q.useEffect(() => {\n\t\tif (!a) return;\n\t\tlet e = Oi(window.location.search), t = h === null && !m ? e.filter((e) => _.some((t) => t.id === e && ki(t))) : [];\n\t\tt.length && ji(t);\n\t\tlet n = e.filter((e) => !t.includes(e));\n\t\tA((e) => JSON.stringify(e) === JSON.stringify(n) ? e : n);\n\t}, [\n\t\ta,\n\t\th,\n\t\tm,\n\t\t_\n\t]), q.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet e = y(window.location.search);\n\t\te && (ee(e), O(Di(window.location.search)), e === \"cancelled\" && Ni());\n\t}, []);\n\tlet j = D ? _.find((e) => e.id === D) : void 0, te = E === \"success\" && !!j && _a(j);\n\tq.useEffect(() => {\n\t\tte && h === null && !m && Ni();\n\t}, [\n\t\th,\n\t\tm,\n\t\tte\n\t]), q.useEffect(() => {\n\t\tE && a && g();\n\t}, [\n\t\ta,\n\t\tg,\n\t\tE\n\t]), q.useEffect(() => {\n\t\tif (!a || k.length === 0 && (E !== \"success\" || te)) return;\n\t\td(!0);\n\t\tlet e = setTimeout(() => d(!1), ca);\n\t\treturn () => {\n\t\t\tclearTimeout(e), d(!1);\n\t\t};\n\t}, [\n\t\ta,\n\t\tk.length,\n\t\tte,\n\t\tE\n\t]);\n\tlet ne = E === \"success\";\n\treturn t && !n.customer?.isSignedIn ? /* @__PURE__ */ J(da, {\n\t\tclassName: e,\n\t\tchildren: /* @__PURE__ */ J(w, {\n\t\t\theadingLevel: 1,\n\t\t\ttitle: i.t(\"storefront.history.signInTitle\"),\n\t\t\tdescription: i.t(\"storefront.history.signInDescription\"),\n\t\t\tactionLabel: i.t(\"storefront.shop.signIn\"),\n\t\t\tonAction: () => s(n.signInUrl)\n\t\t})\n\t}) : /* @__PURE__ */ Y(da, {\n\t\tclassName: e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(\"header\", {\n\t\t\t\tclassName: \"cedros-shop-public__history-header\",\n\t\t\t\tchildren: /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\t\tchildren: i.t(\"storefront.history.title\")\n\t\t\t\t}), /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\t\tchildren: i.t(\"storefront.history.subtitle\")\n\t\t\t\t})] })\n\t\t\t}),\n\t\t\tE && !te ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice mt-6 rounded-lg border p-3 text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: i.t(E === \"success\" ? \"storefront.history.payNowReturned\" : \"storefront.history.payNowCancelled\")\n\t\t\t}) : null,\n\t\t\tE === \"success\" && !te ? /* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: \"mt-3\",\n\t\t\t\tdisabled: m,\n\t\t\t\tonClick: () => void g(),\n\t\t\t\tchildren: i.t(\"storefront.checkout.checkPaymentStatus\")\n\t\t\t}) : null,\n\t\t\tk.length > 0 && !E ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice mt-6 rounded-lg border p-3 text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: i.t(\"storefront.history.payNowReturned\")\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ J(fa, {\n\t\t\t\tisLoading: p || m && !u,\n\t\t\t\terror: h,\n\t\t\t\torderCount: _.length,\n\t\t\t\tshopHref: i.route(\"shop\", void 0, n.routes),\n\t\t\t\tonRetry: g\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(\"div\", {\n\t\t\t\tref: x,\n\t\t\t\ttabIndex: -1,\n\t\t\t\tclassName: \"mt-8 space-y-5\",\n\t\t\t\tchildren: T.map((e) => /* @__PURE__ */ J(pa, {\n\t\t\t\t\torder: e,\n\t\t\t\t\tonRefresh: g,\n\t\t\t\t\tstale: m || h !== null,\n\t\t\t\t\tpayNowHeld: ne && (!D || D === e.id)\n\t\t\t\t}, e.id))\n\t\t\t}),\n\t\t\tv > 1 && a ? /* @__PURE__ */ Y(\"nav\", {\n\t\t\t\tclassName: \"mt-6 flex items-center justify-between\",\n\t\t\t\t\"aria-label\": i.t(\"storefront.history.title\"),\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tdisabled: b === 1,\n\t\t\t\t\t\tonClick: () => C(b - 1),\n\t\t\t\t\t\tchildren: i.t(\"common.previous\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: i.t(\"storefront.history.pageOf\", {\n\t\t\t\t\t\t\tpage: b,\n\t\t\t\t\t\t\tcount: v\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tdisabled: b === v,\n\t\t\t\t\t\tonClick: () => C(b + 1),\n\t\t\t\t\t\tchildren: i.t(\"common.next\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction da({ className: e, children: t }) {\n\tlet n = W(), r = q.useId();\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tdir: n.direction,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--history min-h-screen\", e),\n\t\tchildren: [/* @__PURE__ */ J(R, { contentId: r }), /* @__PURE__ */ J(\"main\", {\n\t\t\tid: r,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\tchildren: t\n\t\t})]\n\t});\n}\nfunction fa({ isLoading: e, error: t, orderCount: n, shopHref: r, onRetry: i }) {\n\tlet a = W();\n\treturn e ? /* @__PURE__ */ Y(\"p\", {\n\t\tclassName: \"mt-8 flex items-center gap-2 text-sm\",\n\t\trole: \"status\",\n\t\tchildren: [/* @__PURE__ */ J(\"span\", {\n\t\t\tclassName: \"cs-spinner\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t}), a.t(\"storefront.history.loading\")]\n\t}) : t === null ? n === 0 ? /* @__PURE__ */ J(w, {\n\t\tclassName: \"mt-8\",\n\t\theadingLevel: 2,\n\t\ttitle: a.t(\"storefront.history.emptyTitle\"),\n\t\tdescription: a.t(\"storefront.history.emptyDescription\"),\n\t\tactionLabel: a.t(\"storefront.cart.continueShopping\"),\n\t\tactionHref: r\n\t}) : null : /* @__PURE__ */ J(w, {\n\t\tclassName: \"mt-8\",\n\t\theadingLevel: 2,\n\t\ttitle: a.t(\"storefront.history.unavailable\"),\n\t\tdescription: a.t(\"storefront.error.load\"),\n\t\tactionLabel: a.t(\"common.retry\"),\n\t\tonAction: () => void i()\n\t});\n}\nfunction pa({ order: e, onRefresh: t, stale: n, payNowHeld: r }) {\n\tlet { config: i } = G(), a = W(), o = ya(e, a), s = a.t(`storefront.order.status.${e.status}`), c = a.formatDate(e.createdAt), l = q.useId();\n\treturn /* @__PURE__ */ Y(\"article\", {\n\t\tclassName: \"cedros-shop-public__order-card rounded-xl border p-5\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__order-card-head\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__order-card-title flex flex-wrap items-center gap-2\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ J(\"h2\", {\n\t\t\t\t\t\t\tclassName: \"text-sm font-semibold\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ J(xi, {\n\t\t\t\t\t\t\t\tmessage: (e) => a.t(\"storefront.history.orderTitle\", { id: e }),\n\t\t\t\t\t\t\t\tvalue: e.id,\n\t\t\t\t\t\t\t\tvalueId: l\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ J(Ci, {\n\t\t\t\t\t\t\tvalue: e.id,\n\t\t\t\t\t\t\tlabel: a.t(\"storefront.history.copyOrderNumber\"),\n\t\t\t\t\t\t\tvalueId: l\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\t\t\t\t\tchildren: o\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t}), /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__muted mt-1 text-xs\",\n\t\t\t\t\tchildren: s === o ? c : a.t(\"storefront.history.orderMeta\", {\n\t\t\t\t\t\tdate: c,\n\t\t\t\t\t\tstatus: s\n\t\t\t\t\t})\n\t\t\t\t})] }), /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__order-total\",\n\t\t\t\t\tchildren: /* @__PURE__ */ J(\"span\", { children: a.formatMoney(e.total, e.currency) })\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tva(e) ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__muted mt-3 text-xs\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: a.t(\"storefront.history.purchaseConfirmed\")\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ J(ha, { order: e }),\n\t\t\t/* @__PURE__ */ J(Fi, {\n\t\t\t\torder: e,\n\t\t\t\tadapter: i.adapter,\n\t\t\t\tonRefresh: t,\n\t\t\t\tstale: n,\n\t\t\t\tpayNowHeld: r,\n\t\t\t\tdetails: /* @__PURE__ */ J(ma, { order: e })\n\t\t\t})\n\t\t]\n\t});\n}\nfunction ma({ order: e }) {\n\tlet t = W(), n = [\n\t\t[\"storefront.history.subtotal\", e.totals?.subtotal],\n\t\t[\"storefront.checkout.discount\", e.totals?.discount ? -Math.abs(e.totals.discount) : e.totals?.discount],\n\t\t[\"storefront.checkout.shipping\", e.totals?.shipping],\n\t\t[\"storefront.checkout.tax\", e.totals?.tax],\n\t\t[\"storefront.history.duties\", e.totals?.duties],\n\t\t[\"storefront.history.refunded\", e.totals?.refunded]\n\t], r = /* @__PURE__ */ new Set([\n\t\t\"storefront.checkout.discount\",\n\t\t\"storefront.history.duties\",\n\t\t\"storefront.history.refunded\"\n\t]), i = n.filter(([e, t]) => typeof t == \"number\" && !(t === 0 && r.has(e)));\n\treturn i.length === 0 ? null : /* @__PURE__ */ J(\"dl\", {\n\t\tclassName: \"cedros-shop-public__order-totals\",\n\t\tchildren: i.map(([n, r]) => /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"dt\", { children: t.t(n) }), /* @__PURE__ */ J(\"dd\", { children: t.formatMoney(r ?? 0, e.currency) })] }, n))\n\t});\n}\nfunction ha({ order: e }) {\n\tlet t = W();\n\treturn /* @__PURE__ */ J(\"div\", {\n\t\tclassName: \"cedros-shop-public__order-lines mt-4 space-y-2 border-t pt-4 text-sm\",\n\t\tchildren: e.items.map((n, r) => /* @__PURE__ */ Y(\"div\", {\n\t\t\tclassName: \"flex justify-between gap-4\",\n\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: t.t(\"storefront.history.orderLine\", {\n\t\t\t\tquantity: n.qty,\n\t\t\t\ttitle: n.title\n\t\t\t}) }), /* @__PURE__ */ J(\"span\", { children: t.formatMoney(n.unitPrice * n.qty, n.currency) })]\n\t\t}, n.id ?? `${e.id}:${n.title}:${r}`))\n\t});\n}\nfunction ga(e) {\n\tlet t = (e) => {\n\t\tlet t = Date.parse(e);\n\t\treturn Number.isNaN(t) ? -Infinity : t;\n\t};\n\treturn e.map((e, n) => ({\n\t\torder: e,\n\t\tindex: n,\n\t\ttime: t(e.createdAt)\n\t})).sort((e, t) => e.time === t.time ? e.index - t.index : t.time > e.time ? 1 : -1).map(({ order: e }) => e);\n}\nfunction _a(e) {\n\treturn [\n\t\t\"paid\",\n\t\t\"processing\",\n\t\t\"fulfilled\",\n\t\t\"shipped\",\n\t\t\"delivered\"\n\t].includes(e.status);\n}\nfunction va(e) {\n\treturn [\"paid\", \"processing\"].includes(e.status);\n}\nfunction ya(e, t) {\n\treturn e.fulfillmentStatus ? t.t(`storefront.fulfillment.status.${e.fulfillmentStatus}`) : e.status === \"refunded\" ? t.t(\"storefront.order.status.refunded\") : t.t(`storefront.fulfillment.status.${ba(e.status)}`);\n}\nfunction ba(e) {\n\treturn e === \"shipped\" || e === \"delivered\" || e === \"cancelled\" ? e : e === \"fulfilled\" ? \"fulfilled\" : \"unfulfilled\";\n}\n//#endregion\n//#region src/runtime/useSubscriptionTiers.ts\nvar xa = [];\nfunction Sa(e, t = !0) {\n\tlet { config: n, dataCacheKey: r } = G(), { locale: i } = W(), a = q.useMemo(() => f(e.markets, _(n.market, i, wa())), [\n\t\tn.market,\n\t\ti,\n\t\te.markets\n\t]), o = a?.currency ?? n.currency, s = q.useMemo(() => Ca(n.ssr?.subscriptionTiers, a?.id, i, o), [\n\t\tn.ssr?.subscriptionTiers,\n\t\to,\n\t\ti,\n\t\ta?.id\n\t]);\n\treturn Ke({\n\t\tkey: `${r}:subscription-tiers:${a?.id ?? \"default\"}:${i}:${o}`,\n\t\tenabled: t,\n\t\tinitialData: s ?? xa,\n\t\tinitialDataIsResolved: s !== void 0,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => {\n\t\t\tif (!n.adapter.listSubscriptionTiers) throw Error(\"Subscription plans are unavailable.\");\n\t\t\tlet e = k(await n.adapter.listSubscriptionTiers(), o);\n\t\t\tif (!e) throw Error(\"The public subscription catalog returned invalid data.\");\n\t\t\treturn e;\n\t\t}\n\t});\n}\nfunction Ca(e, t, n, r) {\n\tlet i = Ot(e, (e) => e.marketId === t && e.locale === n && e.currency.toUpperCase() === r.toUpperCase());\n\tif (i) return k(i.tiers, r) ?? void 0;\n}\nfunction wa() {\n\treturn typeof window > \"u\" ? {} : {\n\t\thost: window.location.host,\n\t\tpath: window.location.pathname\n\t};\n}\n//#endregion\n//#region src/storefront/SubscriptionTemplate.tsx\nvar Ta = [], Ea = [], Da = 5e3, Oa = 12e4;\nfunction ka(e) {\n\treturn e.status !== \"cancelled\" && e.status !== \"expired\";\n}\nfunction Aa(e, t, n) {\n\treturn n ? t.some((e) => e.tierId === n && (e.status === \"active\" || e.status === \"trialing\")) || !!(e?.isActive && e.currentTierId === n) : !!e?.isActive || t.some(ka);\n}\nfunction ja(e, t) {\n\treturn e.message?.trim() || t;\n}\nfunction Ma(e) {\n\tlet { dataCacheKey: t } = G();\n\treturn /* @__PURE__ */ J(Na, { ...e }, t);\n}\nfunction Na({ className: t }) {\n\tlet { config: n, dataCacheKey: r } = G(), { t: i, direction: a, route: o } = W(), c = ue(), { settings: l, isLoading: u, error: d, refetch: f } = ce(), p = te(), [m, h] = q.useState(\"monthly\"), [g, _] = q.useState(null), [v, x] = q.useState(null), S = q.useRef(!1), C = q.useRef(!1);\n\tbe(() => {\n\t\tC.current && (C.current = !1, S.current = !1, x(null), D && P());\n\t});\n\tlet T = Re(), E = typeof n.adapter.listSubscriptionTiers == \"function\", ee = typeof n.adapter.createSubscriptionCheckoutSession == \"function\", D = !!(c.subscriptions && n.customer?.isSignedIn && n.adapter.getSubscriptionStatus), [O, k] = q.useState(null), [A, j] = q.useState(null), [ne, M] = q.useState(!1), [re, ie] = q.useState(!1), { data: N, isLoading: ae, isFetching: oe, error: se, refetch: P } = Ke({\n\t\tkey: `${r}:subscription-status:${n.customer?.id ?? \"guest\"}`,\n\t\tenabled: D,\n\t\tinitialData: null,\n\t\tstaleTimeMs: 5e3,\n\t\trefreshIntervalMs: ne ? Da : 0,\n\t\tfetcher: async () => b(await n.adapter.getSubscriptionStatus?.())\n\t}), le = !!(D && n.adapter.changeSubscriptionPlan && N?.subscriptions?.some((e) => ka(e) && e.operations?.changePlan)), { data: F, isLoading: I, isFetching: L, error: de, refetch: fe } = Sa(l, c.subscriptions && E && !u && !d && (l.enabled || le));\n\tq.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet t = y(window.location.search);\n\t\tt && (k(t), t === \"success\" && j(e(window.location.search)), t === \"cancelled\" && Pa());\n\t}, []), q.useEffect(() => {\n\t\tO === \"success\" && D && P();\n\t}, [\n\t\tD,\n\t\tO,\n\t\tP\n\t]);\n\tlet pe = async (e, t) => {\n\t\tif (S.current || !T()) return;\n\t\tif (!c.subscriptions) {\n\t\t\t_(i(\"storefront.subscription.unavailable\"));\n\t\t\treturn;\n\t\t}\n\t\tif (!n.customer?.isSignedIn) {\n\t\t\ts(n.signInUrl);\n\t\t\treturn;\n\t\t}\n\t\tif (u || d || !l.enabled) {\n\t\t\t_(i(\"storefront.subscription.checkoutError\"));\n\t\t\treturn;\n\t\t}\n\t\tif (!n.adapter.createSubscriptionCheckoutSession) {\n\t\t\t_(i(\"storefront.subscription.checkoutError\"));\n\t\t\treturn;\n\t\t}\n\t\tif (ye || L || de !== null) return;\n\t\tlet r = Fa(l.subscriptions.successPath === \"/subscribe\" ? o(\"subscribe\", void 0, n.routes) : l.subscriptions.successPath, e);\n\t\tif (!r) {\n\t\t\t_(i(\"storefront.subscription.checkoutError\"));\n\t\t\treturn;\n\t\t}\n\t\t_(null), S.current = !0, x(e), p(\"cedros-shop:subscription-checkout-started\", {\n\t\t\ttier_ref: e,\n\t\t\tbilling_interval: t,\n\t\t\tsurface: \"subscription\"\n\t\t});\n\t\ttry {\n\t\t\tlet a = await n.adapter.createSubscriptionCheckoutSession({\n\t\t\t\ttierId: e,\n\t\t\t\tinterval: t,\n\t\t\t\tsuccessUrl: r.successUrl,\n\t\t\t\tcancelUrl: r.cancelUrl\n\t\t\t});\n\t\t\tif (!T()) return;\n\t\t\tif (Ra(a, e, t, r.successPath) === \"error\") {\n\t\t\t\t_(i(\"storefront.subscription.checkoutError\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tC.current = !0;\n\t\t} catch {\n\t\t\t_(i(\"storefront.subscription.checkoutError\"));\n\t\t} finally {\n\t\t\tC.current || (S.current = !1, x(null));\n\t\t}\n\t}, me = F ?? Ea, z = me.some((e) => typeof e.priceAnnual == \"number\");\n\tq.useEffect(() => {\n\t\t!z && m === \"annual\" && h(\"monthly\");\n\t}, [z, m]);\n\tlet he = N?.subscriptions ?? Ta, ge = q.useMemo(() => /* @__PURE__ */ new Set([...N?.isActive && N.currentTierId ? [N.currentTierId] : [], ...he.filter(ka).flatMap((e) => e.tierId ? [e.tierId] : [])]), [N, he]), B = Aa(N, he, A);\n\tq.useEffect(() => {\n\t\tO === \"success\" && B && Pa();\n\t}, [O, B]);\n\tlet _e = q.useId(), V = O === \"success\" && !B, ve = !!(n.customer?.isSignedIn && !n.adapter.getSubscriptionStatus) || se !== null, ye = V || ve || D && (ae || oe), xe = V && D && !re, Se = V && !xe;\n\tq.useEffect(() => {\n\t\tif (!xe) {\n\t\t\tM(!1);\n\t\t\treturn;\n\t\t}\n\t\tM(!0);\n\t\tlet e = setTimeout(() => {\n\t\t\tM(!1), ie(!0);\n\t\t}, Oa);\n\t\treturn () => clearTimeout(e);\n\t}, [xe]);\n\tlet H = E && (d || de) ? i(\"storefront.error.load\") : null, Ce = E && (u || l.enabled && !d && (I || L)), we = u || !!d || !l.enabled, Te = !ee && !we && !H && me.length > 0, Ee = q.useId(), De = q.useId(), Oe = q.useId(), ke = () => d ? f() : fe();\n\treturn c.subscriptions ? /* @__PURE__ */ Y(\"div\", {\n\t\tdir: a,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--subscription min-h-screen\", t),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ J(R, { contentId: Oe }),\n\t\t\t/* @__PURE__ */ Y(\"main\", {\n\t\t\t\tid: Oe,\n\t\t\t\ttabIndex: -1,\n\t\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"flex flex-wrap items-end justify-between gap-4\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"h1\", {\n\t\t\t\t\t\t\t\tclassName: \"text-3xl font-semibold tracking-tight\",\n\t\t\t\t\t\t\t\tchildren: i(\"storefront.subscription.title\")\n\t\t\t\t\t\t\t}), E && !we && ee && ge.size === 0 ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\t\t\t\t\tchildren: i(\"storefront.subscription.subtitle\")\n\t\t\t\t\t\t\t}) : null] }),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tO ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\tid: V ? _e : void 0,\n\t\t\t\t\t\tclassName: U(\"mt-8 rounded-lg border p-3 text-sm\", O === \"success\" && !V ? \"cedros-shop-public__success\" : \"cedros-shop-public__notice\"),\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: i(O === \"cancelled\" ? \"storefront.subscription.checkoutCancelled\" : xe ? \"storefront.subscription.checkoutConfirming\" : Se ? \"storefront.subscription.confirmationDelayed\" : \"storefront.subscription.checkoutSucceeded\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\tSe && D ? /* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tclassName: \"mt-3\",\n\t\t\t\t\t\tdisabled: oe,\n\t\t\t\t\t\tonClick: () => void P(),\n\t\t\t\t\t\tchildren: i(\"storefront.subscription.checkAgain\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\t/* @__PURE__ */ J(Va, {\n\t\t\t\t\t\tstatus: N ?? null,\n\t\t\t\t\t\tsubscriptions: he,\n\t\t\t\t\t\ttiers: L || de !== null ? Ea : me,\n\t\t\t\t\t\tshowEmptyStatus: !me.length,\n\t\t\t\t\t\tisLoading: ae || oe,\n\t\t\t\t\t\terror: se,\n\t\t\t\t\t\tconfirming: xe,\n\t\t\t\t\t\tconfirmationDelayed: Se,\n\t\t\t\t\t\tonRefresh: P\n\t\t\t\t\t}),\n\t\t\t\t\tTe ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\tid: Ee,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__notice mt-8 text-sm\",\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: i(\"storefront.subscription.newSubscriptionsUnavailable\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\tg ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__notice mt-8 flex flex-wrap items-center justify-between gap-3\",\n\t\t\t\t\t\trole: \"alert\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"p\", { children: g }), /* @__PURE__ */ J(K, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tonClick: () => _(null),\n\t\t\t\t\t\t\tchildren: i(\"common.close\")\n\t\t\t\t\t\t})]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\tH ? /* @__PURE__ */ J(w, {\n\t\t\t\t\t\tclassName: \"mt-8\",\n\t\t\t\t\t\theadingLevel: 2,\n\t\t\t\t\t\ttitle: i(\"storefront.subscription.unavailable\"),\n\t\t\t\t\t\tdescription: H,\n\t\t\t\t\t\tactionLabel: i(\"common.retry\"),\n\t\t\t\t\t\tonAction: () => void ke()\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\tE && !u && !d && !l.enabled ? /* @__PURE__ */ J(w, {\n\t\t\t\t\t\tclassName: \"mt-8\",\n\t\t\t\t\t\theadingLevel: 2,\n\t\t\t\t\t\ttitle: i(\"storefront.shop.unavailableTitle\"),\n\t\t\t\t\t\tdescription: i(\"storefront.shop.unavailableDescription\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\tCe ? /* @__PURE__ */ Y(\"p\", {\n\t\t\t\t\t\tclassName: \"mt-8 flex items-center gap-2 text-sm\",\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\ti(\"storefront.subscription.loading\")\n\t\t\t\t\t\t]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\tE && !we && !Ce && !H && me.length === 0 ? /* @__PURE__ */ J(w, {\n\t\t\t\t\t\tclassName: \"mt-8\",\n\t\t\t\t\t\theadingLevel: 2,\n\t\t\t\t\t\ttitle: i(\"storefront.subscription.emptyTitle\"),\n\t\t\t\t\t\tdescription: i(\"storefront.subscription.emptyDescription\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\tye && !V && me.length > 0 ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\tid: _e,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__notice mt-8 flex flex-wrap items-center justify-between gap-3\",\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"p\", { children: i(ve ? \"storefront.subscription.planStatusUnavailable\" : \"storefront.subscription.planStatusChecking\") }), se !== null && D ? /* @__PURE__ */ J(K, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\t\tdisabled: oe,\n\t\t\t\t\t\t\tonClick: () => void P(),\n\t\t\t\t\t\t\tchildren: i(\"common.retry\")\n\t\t\t\t\t\t}) : null]\n\t\t\t\t\t}) : null,\n\t\t\t\t\t!we && me.length > 0 ? /* @__PURE__ */ Y(\"section\", {\n\t\t\t\t\t\tclassName: \"mt-8\",\n\t\t\t\t\t\t\"aria-labelledby\": De,\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\t\t\tclassName: \"flex flex-wrap items-center justify-between gap-3\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"h2\", {\n\t\t\t\t\t\t\t\tid: De,\n\t\t\t\t\t\t\t\tclassName: \"text-xl font-semibold\",\n\t\t\t\t\t\t\t\tchildren: i(\"storefront.subscription.plansTitle\")\n\t\t\t\t\t\t\t}), z ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__segmented\",\n\t\t\t\t\t\t\t\trole: \"group\",\n\t\t\t\t\t\t\t\t\"aria-label\": i(\"storefront.subscription.billingInterval\"),\n\t\t\t\t\t\t\t\tchildren: [\"monthly\", \"annual\"].map((e) => /* @__PURE__ */ J(\"button\", {\n\t\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\t\t\"aria-pressed\": m === e,\n\t\t\t\t\t\t\t\t\tclassName: \"rounded-md px-3 py-1.5 text-sm\",\n\t\t\t\t\t\t\t\t\tonClick: () => h(e),\n\t\t\t\t\t\t\t\t\tchildren: i(e === \"monthly\" ? \"storefront.subscription.monthly\" : \"storefront.subscription.annual\")\n\t\t\t\t\t\t\t\t}, e))\n\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t}), /* @__PURE__ */ J(\"div\", {\n\t\t\t\t\t\t\tclassName: \"mt-4 grid gap-4 md:grid-cols-3\",\n\t\t\t\t\t\t\tchildren: me.map((e) => /* @__PURE__ */ J(Ba, {\n\t\t\t\t\t\t\t\ttier: e,\n\t\t\t\t\t\t\t\trecommended: e.isPopular === !0,\n\t\t\t\t\t\t\t\tinterval: m,\n\t\t\t\t\t\t\t\tisSignedIn: !!n.customer?.isSignedIn,\n\t\t\t\t\t\t\t\tisCurrentPlan: ge.has(e.id),\n\t\t\t\t\t\t\t\tisPending: v === e.id,\n\t\t\t\t\t\t\t\tisDisabled: v !== null || we || ye || L || de !== null || !ee,\n\t\t\t\t\t\t\t\tdescribedBy: [ye ? _e : null, Te ? Ee : null].filter(Boolean).join(\" \") || void 0,\n\t\t\t\t\t\t\t\tonSelect: () => void pe(e.id, m)\n\t\t\t\t\t\t\t}, e.id))\n\t\t\t\t\t\t})]\n\t\t\t\t\t}) : null\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t}) : /* @__PURE__ */ Y(\"div\", {\n\t\tdir: a,\n\t\tclassName: U(\"cedros-shop-public cedros-shop-public--subscription min-h-screen\", t),\n\t\tchildren: [/* @__PURE__ */ J(R, { contentId: Oe }), /* @__PURE__ */ J(\"main\", {\n\t\t\tid: Oe,\n\t\t\ttabIndex: -1,\n\t\t\tclassName: \"cedros-shop-public__main mx-auto max-w-6xl px-4 py-10\",\n\t\t\tchildren: /* @__PURE__ */ J(w, {\n\t\t\t\theadingLevel: 1,\n\t\t\t\ttitle: i(\"storefront.subscription.unavailable\"),\n\t\t\t\tdescription: i(\"storefront.subscription.managementUnavailable\")\n\t\t\t})\n\t\t})]\n\t});\n}\nfunction Pa() {\n\tlet e = new URL(window.location.href);\n\te.searchParams.delete(\"checkout\"), e.searchParams.delete(r);\n\tlet t = e.searchParams.toString();\n\twindow.history.replaceState(window.history.state, \"\", `${e.pathname}${t ? `?${t}` : \"\"}${e.hash}`);\n}\nfunction Fa(e, t) {\n\tlet n = c(typeof window > \"u\" ? \"\" : window.location.search, e);\n\tif (!n.ok) return;\n\tlet r = l(), a = u(n.path, \"success\", t), o = i(r, n.path, \"success\", t), s = i(r, n.path, \"cancelled\");\n\treturn a && o && s ? {\n\t\tsuccessPath: a,\n\t\tsuccessUrl: o,\n\t\tcancelUrl: s\n\t} : void 0;\n}\nfunction Ia(e, t) {\n\treturn typeof e == \"object\" && !!e && \"kind\" in e && e.kind === t;\n}\nfunction La(e, t, n) {\n\tlet r = Ia(e, \"custom\") ? e.data : e;\n\tif (!r || typeof r != \"object\") return !1;\n\tlet i = r, a = n === \"annual\" ? \"yearly\" : \"monthly\";\n\treturn i.complete === !0 && i.planId === t && i.interval === a && typeof i.billingInterval == \"number\" && Number.isInteger(i.billingInterval) && i.billingInterval > 0 && [\n\t\t\"free_selected\",\n\t\t\"active\",\n\t\t\"trialing\"\n\t].includes(String(i.status)) && typeof i.subscriptionId == \"string\" && i.subscriptionId.trim().length > 0;\n}\nfunction Ra(e, t, r, i) {\n\tif (Ia(e, \"redirect\")) {\n\t\tlet t = n(e.url, \"subscription checkout session\");\n\t\treturn t === \"blocked\" || t === \"failed\" ? \"error\" : \"navigated\";\n\t}\n\treturn La(e, t, r) && n(i, \"subscription checkout session\") === \"navigated\" ? \"navigated\" : \"error\";\n}\nfunction za() {\n\treturn /* @__PURE__ */ J(\"svg\", {\n\t\twidth: \"14\",\n\t\theight: \"14\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2.5\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ J(\"path\", { d: \"m4 12.5 5 5L20 6.5\" })\n\t});\n}\nfunction Ba({ tier: e, recommended: t, interval: n, isSignedIn: r, isCurrentPlan: i, onSelect: a, isPending: o, isDisabled: s, describedBy: c }) {\n\tlet l = W(), u = typeof e.priceAnnual == \"number\", d = Ya(e), f = d === 0, p = n === \"annual\" && u ? e.priceAnnual : e.priceMonthly, m = n === \"annual\" && u ? l.t(\"storefront.subscription.year\") : l.t(\"storefront.subscription.month\");\n\treturn /* @__PURE__ */ Y(\"article\", {\n\t\tclassName: U(\"cedros-shop-public__plan-card rounded-xl border\", e.isPopular && \"cedros-shop-public__plan-card--popular\"),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap items-center justify-between gap-2\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"h3\", {\n\t\t\t\t\tclassName: \"text-lg font-semibold\",\n\t\t\t\t\tchildren: e.title\n\t\t\t\t}), e.isPopular ? /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__badge cedros-shop-public__badge--accent\",\n\t\t\t\t\tchildren: l.t(\"storefront.subscription.popular\")\n\t\t\t\t}) : null]\n\t\t\t}),\n\t\t\te.description ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\tchildren: e.description\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ J(Ka, {\n\t\t\t\tdiscounts: e.discounts,\n\t\t\t\tmessages: e.promotionMessages,\n\t\t\t\tcurrency: e.currency\n\t\t\t}),\n\t\t\td === null ? null : /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: f ? \"cedros-shop-public__error mt-3 text-sm\" : \"cedros-shop-public__muted mt-3 text-sm\",\n\t\t\t\tchildren: f ? l.t(\"storefront.subscription.soldOut\") : l.t(\"storefront.subscription.spotsRemaining\", { count: d })\n\t\t\t}),\n\t\t\tn === \"annual\" && !u ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__muted mt-3 text-sm\",\n\t\t\t\tchildren: l.t(\"storefront.subscription.annualUnavailable\")\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__plan-price mt-5\",\n\t\t\t\tchildren: [l.formatMoney(p, e.currency), /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__muted text-sm font-normal\",\n\t\t\t\t\tchildren: l.t(\"storefront.subscription.interval\", { interval: m })\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(\"ul\", {\n\t\t\t\tclassName: \"cedros-shop-public__plan-features mt-5 text-sm\",\n\t\t\t\tchildren: e.features.map((e) => /* @__PURE__ */ Y(\"li\", { children: [/* @__PURE__ */ J(za, {}), /* @__PURE__ */ J(\"span\", { children: e })] }, e))\n\t\t\t}),\n\t\t\t/* @__PURE__ */ Y(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: t ? \"default\" : \"outline\",\n\t\t\t\tclassName: \"cedros-shop-public__plan-action cedros-shop-public__button--acquire mt-6 w-full\",\n\t\t\t\tonClick: a,\n\t\t\t\tdisabled: s || i || f || n === \"annual\" && !u,\n\t\t\t\t\"aria-busy\": o || void 0,\n\t\t\t\t\"aria-describedby\": c,\n\t\t\t\tchildren: [o ? /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t}) : null, o ? l.t(\"storefront.subscription.opening\") : i ? l.t(\"storefront.subscription.currentPlan\") : f ? l.t(\"storefront.subscription.soldOut\") : r ? l.t(\"storefront.subscription.subscribe\") : l.t(\"storefront.subscription.signInToSubscribe\")]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Va({ status: e, subscriptions: t, tiers: n, showEmptyStatus: r, isLoading: i, error: a, confirming: o, confirmationDelayed: c, onRefresh: u }) {\n\tlet { config: d } = G(), f = W(), p = m(e?.supportUrl, l());\n\treturn d.customer?.isSignedIn ? d.adapter.getSubscriptionStatus ? i && t.length === 0 ? /* @__PURE__ */ Y(\"p\", {\n\t\tclassName: \"mt-8 flex items-center gap-2 text-sm\",\n\t\trole: \"status\",\n\t\tchildren: [/* @__PURE__ */ J(\"span\", {\n\t\t\tclassName: \"cs-spinner\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t}), f.t(\"storefront.subscription.loadingStatus\")]\n\t}) : a !== null && t.length === 0 ? /* @__PURE__ */ J(w, {\n\t\tclassName: \"mt-8\",\n\t\theadingLevel: 2,\n\t\ttitle: f.t(\"storefront.subscription.statusUnavailable\"),\n\t\tdescription: f.t(\"storefront.error.load\"),\n\t\tactionLabel: f.t(\"common.retry\"),\n\t\tonAction: () => void u()\n\t}) : !t.length && !e?.isActive && !o && !c ? r ? /* @__PURE__ */ J(\"p\", {\n\t\tclassName: \"cedros-shop-public__muted mt-6 text-sm\",\n\t\tchildren: f.t(\"storefront.subscription.noActiveTitle\")\n\t}) : null : /* @__PURE__ */ Y(\"section\", {\n\t\tclassName: \"mt-8\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap items-end justify-between gap-3\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"h2\", {\n\t\t\t\t\tclassName: \"text-xl font-semibold\",\n\t\t\t\t\tchildren: f.t(\"storefront.subscription.manageTitle\")\n\t\t\t\t}), /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"mt-1 text-sm\",\n\t\t\t\t\tchildren: f.t(\"storefront.subscription.manageDescription\")\n\t\t\t\t})] }), p ? /* @__PURE__ */ J(\"a\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--outline cedros-shop-public__button--size-sm\",\n\t\t\t\t\thref: p,\n\t\t\t\t\tchildren: f.t(\"storefront.history.contactSupport\")\n\t\t\t\t}) : null]\n\t\t\t}),\n\t\t\ti ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"mt-4 text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: f.t(\"storefront.subscription.loadingStatus\")\n\t\t\t}) : null,\n\t\t\ta === null ? null : /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__notice mt-4\",\n\t\t\t\trole: \"alert\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"p\", { children: f.t(\"storefront.subscription.statusUnavailable\") }), /* @__PURE__ */ J(K, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\tclassName: \"mt-2\",\n\t\t\t\t\tonClick: () => void u(),\n\t\t\t\t\tchildren: f.t(\"common.retry\")\n\t\t\t\t})]\n\t\t\t}),\n\t\t\tt.length ? /* @__PURE__ */ J(\"div\", {\n\t\t\t\tclassName: \"mt-4 grid gap-4\",\n\t\t\t\tchildren: t.map((e) => /* @__PURE__ */ J(Ha, {\n\t\t\t\t\tsubscription: e,\n\t\t\t\t\ttiers: n,\n\t\t\t\t\tonRefresh: u,\n\t\t\t\t\tstale: a !== null || i\n\t\t\t\t}, e.id))\n\t\t\t}) : e?.isActive ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__card mt-4 rounded-lg border p-5\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ J(\"h3\", {\n\t\t\t\t\t\tclassName: \"text-base font-semibold\",\n\t\t\t\t\t\tchildren: n.find((t) => t.id === e.currentTierId)?.title ?? f.t(\"storefront.subscription.status.active\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\t\t\t\tchildren: f.t(\"storefront.subscription.status.active\")\n\t\t\t\t\t}),\n\t\t\t\t\te.renewsAt ? /* @__PURE__ */ J(\"dl\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__order-totals\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"dt\", { children: f.t(\"storefront.subscription.renewsAt\") }), /* @__PURE__ */ J(\"dd\", { children: f.formatDate(e.renewsAt) })] })\n\t\t\t\t\t}) : null,\n\t\t\t\t\t/* @__PURE__ */ J(\"p\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__muted mt-2 text-sm\",\n\t\t\t\t\t\tchildren: f.t(\"storefront.subscription.managementUnavailable\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) : o ? /* @__PURE__ */ Y(\"p\", {\n\t\t\t\tclassName: \"mt-4 flex items-center gap-2 text-sm\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t}), f.t(\"storefront.subscription.confirmingStatus\")]\n\t\t\t}) : c ? null : /* @__PURE__ */ J(w, {\n\t\t\t\tclassName: \"mt-4\",\n\t\t\t\ttitle: f.t(\"storefront.subscription.noActiveTitle\"),\n\t\t\t\tdescription: f.t(\"storefront.subscription.noActiveDescription\")\n\t\t\t})\n\t\t]\n\t}) : /* @__PURE__ */ Y(\"section\", {\n\t\tclassName: \"cedros-shop-public__card mt-8 rounded-lg border p-5\",\n\t\tchildren: [/* @__PURE__ */ J(\"h2\", {\n\t\t\tclassName: \"text-lg font-semibold\",\n\t\t\tchildren: f.t(\"storefront.subscription.manageTitle\")\n\t\t}), /* @__PURE__ */ J(\"p\", {\n\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\tchildren: f.t(\"storefront.subscription.managementUnavailable\")\n\t\t})]\n\t}) : /* @__PURE__ */ Y(\"section\", {\n\t\tclassName: \"cedros-shop-public__card mt-8 rounded-lg border p-5\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ J(\"h2\", {\n\t\t\t\tclassName: \"text-lg font-semibold\",\n\t\t\t\tchildren: f.t(\"storefront.subscription.manageTitle\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\tchildren: f.t(\"storefront.subscription.signInManage\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tsize: \"sm\",\n\t\t\t\tclassName: \"mt-4\",\n\t\t\t\tonClick: () => s(d.signInUrl),\n\t\t\t\tchildren: f.t(\"storefront.shop.signIn\")\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Ha({ subscription: e, tiers: t, onRefresh: n, stale: r }) {\n\tlet { config: i } = G(), a = W(), [o, s] = q.useState(null), c = q.useRef(!1), l = Re(), [u, d] = q.useState(!1), [f, p] = q.useState(\"\"), [m, h] = q.useState(!1), [g, _] = q.useState(() => Xa(e, t)?.id ?? e.tierId ?? \"\"), [v, y] = q.useState(e.interval);\n\treturn q.useEffect(() => {\n\t\tlet n = t.filter((t) => Ya(t) !== 0 || t.id === e.tierId);\n\t\tif (n.some((e) => e.id === g)) return;\n\t\tlet r = Xa(e, n);\n\t\t_(r?.id ?? \"\"), v === \"annual\" && typeof r?.priceAnnual != \"number\" && y(\"monthly\");\n\t}, [\n\t\tv,\n\t\tg,\n\t\te,\n\t\tt\n\t]), /* @__PURE__ */ Y(\"article\", {\n\t\tclassName: \"cedros-shop-public__order-card rounded-xl border p-5\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__order-card-head\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"h3\", {\n\t\t\t\t\tclassName: \"text-base font-semibold\",\n\t\t\t\t\tchildren: e.tierTitle\n\t\t\t\t}), /* @__PURE__ */ J(\"p\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__muted mt-1 text-xs\",\n\t\t\t\t\tchildren: a.t(\"storefront.subscription.subscriptionMeta\", {\n\t\t\t\t\t\tinterval: a.t(`storefront.subscription.${e.interval}`),\n\t\t\t\t\t\tstatus: a.t(`storefront.subscription.status.${e.status}`)\n\t\t\t\t\t})\n\t\t\t\t})] }), /* @__PURE__ */ Y(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__order-total\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: a.formatMoney(e.price, e.currency) }), /* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\t\t\t\tchildren: a.t(`storefront.subscription.status.${e.status}`)\n\t\t\t\t\t})]\n\t\t\t\t})]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(Ua, { subscription: e }),\n\t\t\t/* @__PURE__ */ J(Ka, {\n\t\t\t\tdiscounts: e.discounts,\n\t\t\t\tcurrency: e.currency\n\t\t\t}),\n\t\t\t/* @__PURE__ */ J(Wa, {\n\t\t\t\tsubscription: e,\n\t\t\t\ttiers: t,\n\t\t\t\tbusy: r || o?.kind === \"busy\",\n\t\t\t\tcancelOpen: u,\n\t\t\t\tchangeOpen: m,\n\t\t\t\tchangeTierId: g,\n\t\t\t\tchangeInterval: v,\n\t\t\t\treason: f,\n\t\t\t\tsetReason: p,\n\t\t\t\tsetCancelOpen: d,\n\t\t\t\tsetChangeOpen: h,\n\t\t\t\tsetChangeTierId: _,\n\t\t\t\tsetChangeInterval: y,\n\t\t\t\tonRun: async (o) => {\n\t\t\t\t\tif (r || c.current || !l() || o === \"change\" && !t.some((t) => t.id === g && (Ya(t) !== 0 || t.id === e.tierId) && (v !== \"annual\" || typeof t.priceAnnual == \"number\"))) return;\n\t\t\t\t\tlet u = e.operations ?? {};\n\t\t\t\t\tif (!(o === \"portal\" ? u.managementPortal || u.updatePayment : o === \"change\" ? u.changePlan : o === \"skip\" ? u.skipNext : u[o])) {\n\t\t\t\t\t\ts({\n\t\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\t\tmessage: a.t(\"storefront.subscription.actionError\")\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tc.current = !0, s({\n\t\t\t\t\t\tkind: \"busy\",\n\t\t\t\t\t\tmessage: a.t(o === \"portal\" ? \"common.loading\" : \"storefront.subscription.actionWorking\")\n\t\t\t\t\t});\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet t = o === \"change\" ? await i.adapter.changeSubscriptionPlan({\n\t\t\t\t\t\t\tsubscriptionId: e.id,\n\t\t\t\t\t\t\ttierId: g,\n\t\t\t\t\t\t\tinterval: v\n\t\t\t\t\t\t}) : await qa(i.adapter, e, o, f, l);\n\t\t\t\t\t\tif (!l()) return;\n\t\t\t\t\t\tif (!t || typeof t.id != \"string\" || !t.id.trim() || ![\n\t\t\t\t\t\t\t\"requested\",\n\t\t\t\t\t\t\t\"scheduled\",\n\t\t\t\t\t\t\t\"completed\",\n\t\t\t\t\t\t\t\"rejected\"\n\t\t\t\t\t\t].includes(t.status)) throw Error(\"Invalid subscription operation response\");\n\t\t\t\t\t\tif (t.status === \"rejected\") {\n\t\t\t\t\t\t\ts({\n\t\t\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\t\t\tmessage: ja(t, a.t(\"storefront.subscription.actionError\"))\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (o === \"portal\") {\n\t\t\t\t\t\t\ts(null);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ts({\n\t\t\t\t\t\t\tkind: \"success\",\n\t\t\t\t\t\t\tmessage: ja(t, a.t(\"storefront.subscription.actionSubmitted\"))\n\t\t\t\t\t\t}), d(!1), p(\"\"), h(!1), await n();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\ts({\n\t\t\t\t\t\t\tkind: \"error\",\n\t\t\t\t\t\t\tmessage: a.t(\"storefront.subscription.actionError\")\n\t\t\t\t\t\t});\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tc.current = !1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}),\n\t\t\to ? /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: o.kind === \"error\" ? \"cedros-shop-public__error\" : o.kind === \"busy\" ? \"cedros-shop-public__notice\" : \"cedros-shop-public__success\",\n\t\t\t\trole: o.kind === \"error\" ? \"alert\" : \"status\",\n\t\t\t\tchildren: o.message\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Ua({ subscription: e }) {\n\tlet t = W(), n = [\n\t\t[\"storefront.subscription.renewsAt\", e.renewsAt],\n\t\t[\"storefront.subscription.nextBillingAt\", e.nextBillingAt],\n\t\t[\"storefront.subscription.currentPeriodEnd\", e.currentPeriodEnd],\n\t\t[\"storefront.subscription.pausedUntil\", e.pausedUntil],\n\t\t[\"storefront.subscription.cancelAt\", e.cancelAt]\n\t].filter(([, e]) => e);\n\treturn n.length ? /* @__PURE__ */ J(\"dl\", {\n\t\tclassName: \"cedros-shop-public__order-totals\",\n\t\tchildren: n.map(([e, n]) => /* @__PURE__ */ Y(\"div\", { children: [/* @__PURE__ */ J(\"dt\", { children: t.t(e) }), /* @__PURE__ */ J(\"dd\", { children: t.formatDate(n) })] }, e))\n\t}) : null;\n}\nfunction Wa(e) {\n\tlet { config: t } = G(), n = W(), r = e.subscription.operations ?? {}, i = !!(m(e.subscription.managementUrl, l()) || t.adapter.createSubscriptionManagementSession), a = e.tiers.filter((t) => Ya(t) !== 0 || t.id === e.subscription.tierId), o = a.find((t) => t.id === e.changeTierId), s = e.changeTierId === e.subscription.tierId && e.changeInterval === e.subscription.interval, c = !!(r.changePlan && t.adapter.changeSubscriptionPlan && a.length), u = !!(r.pause && t.adapter.pauseSubscription || r.resume && t.adapter.resumeSubscription || r.skipNext && t.adapter.skipSubscriptionRenewal || (r.managementPortal || r.updatePayment) && i || c || r.cancel && t.adapter.cancelSubscription);\n\treturn /* @__PURE__ */ Y(\"div\", {\n\t\tclassName: \"mt-4 space-y-3\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__order-links\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ J(Ga, {\n\t\t\t\t\t\tenabled: r.pause && !!t.adapter.pauseSubscription,\n\t\t\t\t\t\tbusy: e.busy,\n\t\t\t\t\t\tlabel: n.t(\"storefront.subscription.pause\"),\n\t\t\t\t\t\tonClick: () => e.onRun(\"pause\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(Ga, {\n\t\t\t\t\t\tenabled: r.resume && !!t.adapter.resumeSubscription,\n\t\t\t\t\t\tbusy: e.busy,\n\t\t\t\t\t\tlabel: n.t(\"storefront.subscription.resume\"),\n\t\t\t\t\t\tonClick: () => e.onRun(\"resume\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(Ga, {\n\t\t\t\t\t\tenabled: r.skipNext && !!t.adapter.skipSubscriptionRenewal,\n\t\t\t\t\t\tbusy: e.busy,\n\t\t\t\t\t\tlabel: n.t(\"storefront.subscription.skipNext\"),\n\t\t\t\t\t\tonClick: () => e.onRun(\"skip\")\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(Ga, {\n\t\t\t\t\t\tenabled: (r.managementPortal || r.updatePayment) && i,\n\t\t\t\t\t\tbusy: e.busy,\n\t\t\t\t\t\tlabel: n.t(\"storefront.subscription.updatePayment\"),\n\t\t\t\t\t\tonClick: () => e.onRun(\"portal\")\n\t\t\t\t\t}),\n\t\t\t\t\tc ? /* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tdisabled: e.busy,\n\t\t\t\t\t\tonClick: () => e.setChangeOpen(!e.changeOpen),\n\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.changePlan\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\tr.cancel && t.adapter.cancelSubscription ? /* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tsize: \"sm\",\n\t\t\t\t\t\tdisabled: e.busy,\n\t\t\t\t\t\tonClick: () => e.setCancelOpen(!e.cancelOpen),\n\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.cancelSubscription\")\n\t\t\t\t\t}) : null\n\t\t\t\t]\n\t\t\t}),\n\t\t\tu ? null : /* @__PURE__ */ J(\"p\", {\n\t\t\t\tclassName: \"cedros-shop-public__muted text-sm\",\n\t\t\t\tchildren: n.t(\"storefront.subscription.managementUnavailable\")\n\t\t\t}),\n\t\t\te.changeOpen ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"grid gap-3 rounded-lg border p-4 sm:grid-cols-[1fr_1fr_auto]\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ Y(\"label\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: n.t(\"storefront.subscription.choosePlan\") }), /* @__PURE__ */ J(\"select\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__select-trigger h-10 rounded-md border px-3 text-sm\",\n\t\t\t\t\t\t\tvalue: e.changeTierId,\n\t\t\t\t\t\t\tonChange: (t) => {\n\t\t\t\t\t\t\t\tlet n = t.target.value;\n\t\t\t\t\t\t\t\te.setChangeTierId(n), e.changeInterval === \"annual\" && typeof a.find((e) => e.id === n)?.priceAnnual != \"number\" && e.setChangeInterval(\"monthly\");\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: a.map((e) => /* @__PURE__ */ J(\"option\", {\n\t\t\t\t\t\t\t\tvalue: e.id,\n\t\t\t\t\t\t\t\tchildren: e.title\n\t\t\t\t\t\t\t}, e.id))\n\t\t\t\t\t\t})]\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ Y(\"label\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"span\", { children: n.t(\"storefront.subscription.billingInterval\") }), /* @__PURE__ */ Y(\"select\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__select-trigger h-10 rounded-md border px-3 text-sm\",\n\t\t\t\t\t\t\tvalue: e.changeInterval,\n\t\t\t\t\t\t\tonChange: (t) => e.setChangeInterval(t.target.value),\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ J(\"option\", {\n\t\t\t\t\t\t\t\tvalue: \"monthly\",\n\t\t\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.monthly\")\n\t\t\t\t\t\t\t}), typeof o?.priceAnnual == \"number\" ? /* @__PURE__ */ J(\"option\", {\n\t\t\t\t\t\t\t\tvalue: \"annual\",\n\t\t\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.annual\")\n\t\t\t\t\t\t\t}) : null]\n\t\t\t\t\t\t})]\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ J(K, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"self-end\",\n\t\t\t\t\t\tdisabled: e.busy || !c || !o || s || e.changeInterval === \"annual\" && typeof o.priceAnnual != \"number\",\n\t\t\t\t\t\tonClick: () => e.onRun(\"change\"),\n\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.confirmPlanChange\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\te.cancelOpen ? /* @__PURE__ */ Y(\"div\", {\n\t\t\t\tclassName: \"grid gap-2 sm:grid-cols-[1fr_auto]\",\n\t\t\t\tchildren: [/* @__PURE__ */ Y(\"label\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__field\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ Y(\"span\", { children: [\n\t\t\t\t\t\tn.t(\"storefront.subscription.cancelReason\"),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ J(\"span\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__muted text-xs\",\n\t\t\t\t\t\t\tchildren: n.t(\"storefront.subscription.optional\")\n\t\t\t\t\t\t})\n\t\t\t\t\t] }), /* @__PURE__ */ J(F, {\n\t\t\t\t\t\tvalue: e.reason,\n\t\t\t\t\t\tonChange: (t) => e.setReason(t.target.value)\n\t\t\t\t\t})]\n\t\t\t\t}), /* @__PURE__ */ J(K, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclassName: \"self-end\",\n\t\t\t\t\tdisabled: e.busy || !r.cancel || !t.adapter.cancelSubscription,\n\t\t\t\t\tonClick: () => e.onRun(\"cancel\"),\n\t\t\t\t\tchildren: n.t(\"storefront.subscription.confirmCancel\")\n\t\t\t\t})]\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Ga({ enabled: e, busy: t, label: n, onClick: r }) {\n\treturn e ? /* @__PURE__ */ J(K, {\n\t\ttype: \"button\",\n\t\tvariant: \"outline\",\n\t\tsize: \"sm\",\n\t\tdisabled: !e || t,\n\t\tonClick: () => void r(),\n\t\tchildren: n\n\t}) : null;\n}\nfunction Ka({ discounts: e, messages: t, currency: n }) {\n\tlet r = W(), i = [...(e ?? []).map((e) => e.amount ? `${e.title} ${r.formatMoney(e.amount, e.currency ?? n)}` : e.title), ...t ?? []].filter(Boolean);\n\treturn i.length ? /* @__PURE__ */ J(\"ul\", {\n\t\tclassName: \"mt-4 flex flex-wrap gap-2 text-xs\",\n\t\tchildren: i.map((e) => /* @__PURE__ */ J(\"li\", {\n\t\t\tclassName: \"cedros-shop-public__badge\",\n\t\t\tchildren: e\n\t\t}, e))\n\t}) : null;\n}\nasync function qa(e, t, n, r, i) {\n\tif (n === \"pause\" && e.pauseSubscription) return e.pauseSubscription({\n\t\tsubscriptionId: t.id,\n\t\treason: \"customer_request\"\n\t});\n\tif (n === \"resume\" && e.resumeSubscription) return e.resumeSubscription({ subscriptionId: t.id });\n\tif (n === \"skip\" && e.skipSubscriptionRenewal) return e.skipSubscriptionRenewal({\n\t\tsubscriptionId: t.id,\n\t\treason: \"customer_request\"\n\t});\n\tif (n === \"cancel\" && e.cancelSubscription) return e.cancelSubscription({\n\t\tsubscriptionId: t.id,\n\t\t...r.trim() ? { reason: r.trim() } : {}\n\t});\n\tif (n === \"portal\") return Ja(e, t, i);\n\tthrow Error(\"Subscription action is unavailable\");\n}\nasync function Ja(e, t, r) {\n\tlet i = m(t.managementUrl, l());\n\tif (i) {\n\t\tlet e = n(i, \"subscription management URL\");\n\t\tif (e === \"blocked\" || e === \"failed\") throw Error(\"Subscription management navigation failed\");\n\t} else if (e.createSubscriptionManagementSession) {\n\t\tt.managementUrl && o(\"subscription management URL\");\n\t\tlet i = await e.createSubscriptionManagementSession({\n\t\t\tsubscriptionId: t.id,\n\t\t\treturnUrl: Za()\n\t\t});\n\t\tif (!r()) throw Error(\"Subscription identity changed\");\n\t\tif (i.kind !== \"redirect\") throw Error(\"Subscription management session has no navigation target\");\n\t\tif (n(i.url, \"subscription management session\") !== \"navigated\") throw Error(\"Subscription management navigation failed\");\n\t} else throw t.managementUrl && o(\"subscription management URL\"), Error(\"Subscription action is unavailable\");\n\treturn {\n\t\tid: t.id,\n\t\tstatus: \"completed\"\n\t};\n}\nfunction Ya(e) {\n\treturn e.inventoryQuantity === null || e.inventoryQuantity === void 0 ? null : Math.max(0, e.inventoryQuantity - Math.max(0, e.inventorySold ?? 0));\n}\nfunction Xa(e, t) {\n\treturn t.find((t) => t.id !== e.tierId && Ya(t) !== 0) ?? t.find((t) => t.id === e.tierId) ?? t.find((e) => Ya(e) !== 0);\n}\nfunction Za() {\n\tif (!(typeof window > \"u\")) return `${window.location.origin}${window.location.pathname}`;\n}\n//#endregion\nexport { cn as A, Qt as C, nn as D, $t as E, Bt as F, Nt as I, et as L, Kt as M, qt as N, en as O, Mt as P, Zt as S, tn as T, In as _, yi as a, xn as b, Wr as c, Dr as d, Or as f, Fn as g, Mn as h, vi as i, Gt as j, rn as k, Vr as l, Pn as m, la as n, Qr as o, Nn as p, Fi as r, Kr as s, Ma as t, kr as u, Q as v, Xt as w, Z as x, wn as y };\n","imports":[{"dynamic":false,"end":204,"specifier":"./styleInjection-D8xLNR6Q.js","start":176},{"dynamic":false,"end":983,"specifier":"./useCurrentIdentity--397tFNA.js","start":951},{"dynamic":false,"end":1011,"specifier":"react","start":1006},{"dynamic":false,"end":1048,"specifier":"react","start":1043},{"dynamic":false,"end":1121,"specifier":"react/jsx-runtime","start":1104},{"dynamic":true,"end":200339,"specifier":"./AccountTemplate-g_nx0moc.js","start":200308},{"dynamic":true,"end":200446,"specifier":"./CheckoutTemplate-B1_EQM8l.js","start":200414}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/browserCheckoutAttemptStore-Bb1V7J9y.js","kind":"module","text":"import { l as e, u as t } from \"./styleInjection-D8xLNR6Q.js\";\nimport { A as n, x as r } from \"./SubscriptionTemplate-JCKiForP.js\";\nimport { cn as i, hn as a, xn as o } from \"./useCurrentIdentity--397tFNA.js\";\n//#region src/runtime/usePaymentMethodsConfig.ts\nfunction s() {\n\tlet n = a(), r = n?.config?.adapter?.getPaymentMethodsConfig ?? null, { data: i, isLoading: s, isFetching: c, error: l, refetch: u } = o({\n\t\tkey: `${n?.dataCacheKey ?? \"adapter:none\"}:payment-methods`,\n\t\tenabled: !!r,\n\t\tinitialData: e,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => t(await r?.())\n\t});\n\treturn {\n\t\tconfig: i ?? e,\n\t\tisLoading: s || c,\n\t\terror: l,\n\t\trefetch: u\n\t};\n}\n//#endregion\n//#region src/runtime/browserCheckoutAttemptStore.ts\nvar c = \"cedros_shop_checkout_attempt_v1:\", l = \"cedros-shop-checkout-attempt-v1:\";\nfunction u(e, t) {\n\tlet n = () => e ?? i(), a = () => t ?? p();\n\treturn {\n\t\tatomicVersion: 2,\n\t\tasync resolve(e, t) {\n\t\t\treturn m(a(), e, () => {\n\t\t\t\tlet r = _(n()), i = h(r, e, t.now);\n\t\t\t\treturn i && t.now - i.createdAt < t.ttlMs ? {\n\t\t\t\t\toutcome: \"existing\",\n\t\t\t\t\tbinding: i\n\t\t\t\t} : (g(r, e, t.candidate), {\n\t\t\t\t\toutcome: \"created\",\n\t\t\t\t\tbinding: t.candidate\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\tasync read(e, { now: t, ttlMs: r }) {\n\t\t\treturn m(a(), e, () => {\n\t\t\t\tlet i = h(_(n()), e, t);\n\t\t\t\treturn i && t - i.createdAt < r ? i : null;\n\t\t\t});\n\t\t},\n\t\tasync clear(e, { expectedAttemptId: t }) {\n\t\t\treturn m(a(), e, () => {\n\t\t\t\tlet i = _(n()), a = h(i, e, Date.now());\n\t\t\t\tif (!a) return \"missing\";\n\t\t\t\tif (a.attemptId !== t) return \"mismatch\";\n\t\t\t\ttry {\n\t\t\t\t\ti.removeItem(v(e));\n\t\t\t\t} catch {\n\t\t\t\t\tthrow new r();\n\t\t\t\t}\n\t\t\t\treturn \"cleared\";\n\t\t\t});\n\t\t}\n\t};\n}\nvar d = u();\nfunction f() {\n\treturn d;\n}\nfunction p() {\n\tlet e = typeof navigator > \"u\" ? void 0 : navigator.locks;\n\tif (!e || typeof e.request != \"function\") throw new r(\"Web Locks are required for atomic checkout attempt storage\");\n\treturn e;\n}\nasync function m(e, t, n) {\n\ttry {\n\t\treturn await e.request(`${l}${t}`, n);\n\t} catch (e) {\n\t\tthrow e instanceof r ? e : new r();\n\t}\n}\nfunction h(e, t, i) {\n\tlet a;\n\ttry {\n\t\ta = e.getItem(v(t));\n\t} catch {\n\t\tthrow new r();\n\t}\n\tif (a === null) return null;\n\ttry {\n\t\treturn n(JSON.parse(a), i);\n\t} catch (e) {\n\t\tthrow e instanceof r ? e : new r(\"Stored checkout attempt is corrupt\");\n\t}\n}\nfunction g(e, t, n) {\n\ttry {\n\t\te.setItem(v(t), JSON.stringify(n));\n\t} catch {\n\t\tthrow new r();\n\t}\n}\nfunction _(e) {\n\tif (!e) throw new r();\n\treturn e;\n}\nfunction v(e) {\n\treturn `${c}${e}`;\n}\n//#endregion\nexport { f as n, s as r, u as t };\n","imports":[{"dynamic":false,"end":60,"specifier":"./styleInjection-D8xLNR6Q.js","start":32},{"dynamic":false,"end":129,"specifier":"./SubscriptionTemplate-JCKiForP.js","start":95},{"dynamic":false,"end":207,"specifier":"./useCurrentIdentity--397tFNA.js","start":175}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/styleInjection-D8xLNR6Q.js","kind":"module","text":"//#region src/extension/constants.ts\nvar e = \"cedros-shop\", t = \"5.3.10\", n = \"cedros-shop:admin\", r = \"cedros-shop:storefront\", i = \"cedros-shop:commerce-analytics-card\", a = \"cedros-shop:shop-page\", o = \"cedros-shop:cart-page\", s = \"cedros-shop:checkout-page\", c = \"cedros-shop:account-page\", l = \"cedros-shop:purchase-history-page\", u = \"cedros-shop:subscription-page\", ee = \"cedros-shop:category-page\", te = \"cedros-shop:product-page\", ne = \"cedros-pay:product-read\", re = \"cedros-pay:product-read\", ie = \"cedros-pay:product-read\", ae = \"cedros-pay:checkout\", oe = \"cedros-pay:versioned-cart-write-v1\", se = \"cedros-settings-atomic-cas-v1\", ce = \"cedros-data:extension-storage-cas-v1\", le = \"/extensions/cedros-pay/products/v1/catalog\", ue = \"cedros-pay:admin\", de = \"cedros-pay:catalog\", fe = \"cedros-pay:settings-hub\", pe = \"cedros-pay:coupons\", me = \"cedros-shop:storefront-settings\", he = \"cedros-shop:storefront-settings-v1\", ge = \"cedros-shop:storefront-settings-schema\", _e = \"cedros-shop:storefront-settings-db\", ve = \"/extensions/cedros-shop/admin/config/shop\", ye = \"cedros-shop:storefront-manage\", be = \"cedros-shop:commerce-analytics\", xe = \"cedros-shop:observability\", Se = \"cedros-shop:agentic-commerce-provider\", Ce = \"cedros-shop:agentic-commerce\", we = \"cedros-shop:agentic-catalog-export\", Te = \"cedros-shop:agentic-checkout-intent\", Ee = \"cedros-shop:storefront-management\", De = \"cedros-shop:storefront-settings-read\", Oe = \"cedros-shop:storefront-settings-update\", ke = \"cedros-shop:admin-section-saved\", Ae = \"cedros-shop:setup-completed\", je = \"cedros-shop:setup-blocked\", Me = \"cedros-shop:admin-config-saved\", Ne = \"cedros-shop:checkout-handoff-failed\", Pe = \"cedros-shop:setup-blocked-notification\", Fe = \"cedros-shop:checkout-handoff-failed-notification\", Ie = \"cedros-shop:pwa-shop-shortcut\", Le = \"cedros-shop:pwa-cart-shortcut\", Re = \"cedros-shop:pwa-orders-shortcut\", ze = \"Cedros Shop\", Be = \"Sell on your site with shop, category, and product pages, a cart, checkout, customer accounts, order history, and subscriptions, powered by Cedros Pay.\", Ve = (/* @__PURE__ */ \"{\\\"schemaVersion\\\":1,\\\"extensionId\\\":\\\"cedros-shop\\\",\\\"displayName\\\":\\\"Cedros Shop\\\",\\\"version\\\":\\\"5.3.10\\\",\\\"description\\\":\\\"Sell on your site with shop, category, and product pages, a cart, checkout, customer accounts, order history, and subscriptions, powered by Cedros Pay.\\\",\\\"platformApiVersion\\\":\\\"1\\\",\\\"i18nCatalogs\\\":[{\\\"locale\\\":\\\"en\\\",\\\"namespace\\\":\\\"cedros-shop:manifest\\\",\\\"catalog\\\":{\\\"fields\\\":{\\\"displayName\\\":\\\"Cedros Shop\\\",\\\"description\\\":\\\"Sell on your site with shop, category, and product pages, a cart, checkout, customer accounts, order history, and subscriptions, powered by Cedros Pay.\\\"},\\\"dependencies\\\":{\\\"extension:cedros-login\\\":{\\\"reason\\\":\\\"Cedros Login signs in your customers and the people who manage your storefront.\\\"},\\\"extension:cedros-pay\\\":{\\\"reason\\\":\\\"Cedros Pay manages your products, checkout, shipping, tax, or(ders, and subscriptions. Cedros Shop presents them to shoppers.\\\"},\\\"capability:cedros-pay:product-read\\\":{\\\"reason\\\":\\\"Lets your shop, category, and product pages show the products you manage in Cedros Pay.\\\"},\\\"capability:cedros-data:extension-storage-cas-v1\\\":{\\\"reason\\\":\\\"Keeps storefront settings safe when more than one person edits them at the same time.\\\"},\\\"capability:cedros-pay:checkout\\\":{\\\"reason\\\":\\\"Lets shoppers pay through Cedros Pay. Checkout stays off until Cedros Pay checkout is available on your site.\\\"},\\\"capability:cedros-pay:merch-product-write\\\":{\\\"reason\\\":\\\"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\\\"},\\\"capability:cedros-pay:merch-orders-read\\\":{\\\"reason\\\":\\\"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\\\"},\\\"capability:cedros-(pay:merch-order-delivered\\\":{\\\"reason\\\":\\\"Return confirmed provider delivery to the Pay-owned customer order.\\\"}},\\\"adminModules\\\":{\\\"cedros-shop:admin\\\":{\\\"displayName\\\":\\\"Cedros Shop admin\\\"}},\\\"contentBlocks\\\":{\\\"cedros-shop:shop-surface\\\":{\\\"displayName\\\":\\\"Shop catalog\\\",\\\"description\\\":\\\"Shows your product catalog with search, filters, and collections.\\\"},\\\"cedros-shop:category-surface\\\":{\\\"displayName\\\":\\\"Category listing\\\",\\\"description\\\":\\\"Shows the products in one category.\\\"},\\\"cedros-shop:product-surface\\\":{\\\"displayName\\\":\\\"Product details\\\",\\\"description\\\":\\\"Shows one product with its images, options, and an Add to cart button.\\\"},\\\"cedros-shop:cart-surface\\\":{\\\"displayName\\\":\\\"Cart\\\",\\\"description\\\":\\\"Shows the shopper's cart so they can review items before checkout.\\\"},\\\"cedros-shop:checkout-surface\\\":{\\\"displayName\\\":\\\"Checkout\\\",\\\"d(escription\\\":\\\"Shows the checkout form where shoppers enter their details and pay.\\\"},\\\"cedros-shop:account-surface\\\":{\\\"displayName\\\":\\\"Customer account\\\",\\\"description\\\":\\\"Shows signed-in customers their account details and where to get help.\\\"},\\\"cedros-shop:purchase-history-surface\\\":{\\\"displayName\\\":\\\"Purchase history\\\",\\\"description\\\":\\\"Shows signed-in customers their past orders, receipts, and order help.\\\"},\\\"cedros-shop:subscription-surface\\\":{\\\"displayName\\\":\\\"Subscription plans\\\",\\\"description\\\":\\\"Shows subscription plans and lets signed-in customers manage their subscription.\\\"}},\\\"contentTemplates\\\":{\\\"cedros-shop:shop-page-template\\\":{\\\"displayName\\\":\\\"Shop page\\\",\\\"description\\\":\\\"Editable shop landing page.\\\"},\\\"cedros-shop:category-page-template\\\":{\\\"displayName\\\":\\\"Category page\\\",\\\"description\\\":\\\"Editable category listing (page.\\\"},\\\"cedros-shop:product-page-template\\\":{\\\"displayName\\\":\\\"Product page\\\",\\\"description\\\":\\\"Editable product detail page.\\\"},\\\"cedros-shop:cart-page-template\\\":{\\\"displayName\\\":\\\"Cart page\\\",\\\"description\\\":\\\"Editable cart page.\\\"},\\\"cedros-shop:checkout-page-template\\\":{\\\"displayName\\\":\\\"Checkout page\\\",\\\"description\\\":\\\"Editable checkout page.\\\"},\\\"cedros-shop:account-page-template\\\":{\\\"displayName\\\":\\\"Account page\\\",\\\"description\\\":\\\"Editable customer account page.\\\"},\\\"cedros-shop:purchase-history-page-template\\\":{\\\"displayName\\\":\\\"Purchase history page\\\",\\\"description\\\":\\\"Editable purchase history page.\\\"},\\\"cedros-shop:subscription-page-template\\\":{\\\"displayName\\\":\\\"Subscription page\\\",\\\"description\\\":\\\"Editable subscription page.\\\"}},\\\"pageSeeds\\\":{\\\"cedros-shop:shop-page\\\":{\\\"displayName\\\":\\\"Shop page\\\",\\\"title\\\":\\\"Shop\\\",\\\"description\\\":\\\"Browse ou(r products and collections.\\\"},\\\"cedros-shop:cart-page\\\":{\\\"displayName\\\":\\\"Cart page\\\",\\\"title\\\":\\\"Cart\\\",\\\"description\\\":\\\"Review the items in your cart before checkout.\\\"},\\\"cedros-shop:checkout-page\\\":{\\\"displayName\\\":\\\"Checkout page\\\",\\\"title\\\":\\\"Checkout\\\",\\\"description\\\":\\\"Securely complete your purchase.\\\"},\\\"cedros-shop:account-page\\\":{\\\"displayName\\\":\\\"Account page\\\",\\\"title\\\":\\\"Account\\\",\\\"description\\\":\\\"Manage your account details and get help with your orders.\\\"},\\\"cedros-shop:purchase-history-page\\\":{\\\"displayName\\\":\\\"Purchase history page\\\",\\\"title\\\":\\\"Purchase history\\\",\\\"description\\\":\\\"View your past orders and receipts.\\\"},\\\"cedros-shop:subscription-page\\\":{\\\"displayName\\\":\\\"Subscription page\\\",\\\"title\\\":\\\"Subscriptions\\\",\\\"description\\\":\\\"Choose a subscription plan, or manage the one you already have.\\\"}},\\\"authoredSurfaces\\\":{\\\"cedros-shop:(storefront-pages\\\":{\\\"displayName\\\":\\\"Storefront pages\\\",\\\"description\\\":\\\"Editable page templates for your shop, cart, checkout, account, purchase history, and subscriptions.\\\",\\\"eyebrow\\\":\\\"Shop\\\"}},\\\"authoredTemplateUtilities\\\":{\\\"cedros-shop:storefront-starter-set\\\":{\\\"displayName\\\":\\\"Storefront starter set\\\",\\\"description\\\":\\\"Adds the standard Cedros Shop page templates.\\\"}},\\\"onboardingPages\\\":{\\\"cedros-shop:onboarding-storefront\\\":{\\\"displayName\\\":\\\"Review storefront settings\\\",\\\"description\\\":\\\"Check that you have products to sell and a way to get paid, then make your storefront visible.\\\"}},\\\"setupSeeds\\\":{\\\"cedros-shop:setup-blocked-notification\\\":{\\\"displayName\\\":\\\"Setup blocked notification\\\",\\\"title\\\":\\\"Cedros Shop setup blocked\\\",\\\"description\\\":\\\"Alerts your team when the storefront goes live while a required service or setti(ng, such as a payment method, is missing.\\\",\\\"subjectTemplate\\\":\\\"Cedros Shop setup is blocked\\\",\\\"bodyTemplate\\\":\\\"Your Cedros Shop storefront is live, but a required service or setting, such as a payment method, is missing, so shoppers may not be able to check out. Review the Cedros Shop storefront settings.\\\"},\\\"cedros-shop:checkout-handoff-failed-notification\\\":{\\\"displayName\\\":\\\"Checkout handoff failed notification\\\",\\\"title\\\":\\\"Cedros Shop checkout handoff failed\\\",\\\"description\\\":\\\"Not sent in this version. Checkout runs in Cedros Pay, so Cedros Shop can't detect handoff failures.\\\",\\\"subjectTemplate\\\":\\\"Cedros Shop checkout handoff failed\\\",\\\"bodyTemplate\\\":\\\"Cedros Shop could not complete a checkout handoff. Review Cedros Pay availability and shop checkout configuration.\\\"}},\\\"pwaShortcuts\\\":{\\\"cedros-shop:pwa-sho(p-shortcut\\\":{\\\"name\\\":\\\"Shop\\\",\\\"shortName\\\":\\\"Shop\\\",\\\"description\\\":\\\"Open the shop catalog.\\\"},\\\"cedros-shop:pwa-cart-shortcut\\\":{\\\"name\\\":\\\"Cart\\\",\\\"shortName\\\":\\\"Cart\\\",\\\"description\\\":\\\"Review your cart.\\\"},\\\"cedros-shop:pwa-orders-shortcut\\\":{\\\"name\\\":\\\"Purchase history\\\",\\\"shortName\\\":\\\"Purchases\\\",\\\"description\\\":\\\"See your past orders and receipts. Sign-in required.\\\"}},\\\"analyticsEvents\\\":{\\\"cedros-shop:product-viewed\\\":{\\\"displayName\\\":\\\"Product viewed\\\",\\\"description\\\":\\\"Counts product detail views so owners can compare product interest.\\\"},\\\"cedros-shop:add-to-cart\\\":{\\\"displayName\\\":\\\"Add to cart\\\",\\\"description\\\":\\\"Counts storefront cart additions so owners can identify product conversion interest.\\\"},\\\"cedros-shop:checkout-started\\\":{\\\"displayName\\\":\\\"Checkout started\\\",\\\"description\\\":\\\"Counts checkout attempts before Cedros Pay handoff so o(wners can monitor checkout intent.\\\"},\\\"cedros-shop:subscription-checkout-started\\\":{\\\"displayName\\\":\\\"Subscription checkout started\\\",\\\"description\\\":\\\"Counts subscription checkout attempts so owners can monitor subscription interest.\\\"},\\\"cedros-shop:cart-opened\\\":{\\\"displayName\\\":\\\"Cart opened\\\",\\\"description\\\":\\\"Counts cart drawer opens so owners can monitor shopping cart interest.\\\"},\\\"cedros-shop:admin-section-saved\\\":{\\\"displayName\\\":\\\"Admin section saved\\\",\\\"description\\\":\\\"Counts successful owner configuration saves by admin section.\\\"},\\\"cedros-shop:collection-viewed\\\":{\\\"displayName\\\":\\\"Collection viewed\\\",\\\"description\\\":\\\"Counts shop and category listing views so owners can see which collections draw traffic.\\\"},\\\"cedros-shop:catalog-searched\\\":{\\\"displayName\\\":\\\"Catalog searched\\\",\\\"description\\\":\\\"Counts catalog search, sor(t, and filter refinements so owners can see how visitors browse.\\\"},\\\"cedros-shop:quick-view-opened\\\":{\\\"displayName\\\":\\\"Quick view opened\\\",\\\"description\\\":\\\"Counts product quick-view opens from listing grids so owners can gauge product interest.\\\"},\\\"cedros-shop:cart-viewed\\\":{\\\"displayName\\\":\\\"Cart viewed\\\",\\\"description\\\":\\\"Counts cart page views so owners can monitor cart engagement before checkout.\\\"},\\\"cedros-shop:remove-from-cart\\\":{\\\"displayName\\\":\\\"Remove from cart\\\",\\\"description\\\":\\\"Counts cart line removals so owners can monitor cart drop-off.\\\"}},\\\"capabilities\\\":{\\\"cedros-shop:storefront-manage\\\":{\\\"displayName\\\":\\\"Storefront management\\\",\\\"description\\\":\\\"Manage storefront settings, Markets controls, and layouts.\\\"},\\\"cedros-shop:commerce-analytics\\\":{\\\"displayName\\\":\\\"Commerce analytics\\\",\\\"description\\\":\\\"Shows recent sale(s metrics and abandoned-checkout counts from Cedros analytics and Cedros Pay.\\\"},\\\"cedros-shop:observability\\\":{\\\"displayName\\\":\\\"Shop observability\\\",\\\"description\\\":\\\"Records storefront setup status and configuration changes. No customer personal data is included.\\\"},\\\"cedros-shop:product-write\\\":{\\\"displayName\\\":\\\"Merch physical product publication\\\",\\\"description\\\":\\\"Merch physical product publication through an exact, host-attested extension service identity.\\\"},\\\"cedros-shop:paid-order-read\\\":{\\\"displayName\\\":\\\"Merch paid order intake\\\",\\\"description\\\":\\\"Merch paid order intake through an exact, host-attested extension service identity.\\\"},\\\"cedros-shop:fulfillment-write\\\":{\\\"displayName\\\":\\\"Merch delivery confirmation\\\",\\\"description\\\":\\\"Record delivery only for the exact purchased Merch line; preserves other order lines (and payment/refund facts.\\\"}},\\\"databaseAccess\\\":{\\\"cedros-shop:storefront-settings-db\\\":{\\\"displayName\\\":\\\"Storefront settings database\\\",\\\"description\\\":\\\"Reads and writes extension-owned storefront display, catalog, checkout, inventory, merchandising, and Markets settings.\\\"}},\\\"providerAccess\\\":{\\\"cedros-shop:agentic-commerce-provider\\\":{\\\"displayName\\\":\\\"Agentic commerce provider\\\",\\\"description\\\":\\\"Not used in this version: Cedros Shop doesn't send requests to your AI provider. AI shopping channels use the declared agentic routes instead.\\\"}},\\\"aiSkills\\\":{\\\"cedros-shop:agentic-commerce\\\":{\\\"name\\\":\\\"Agentic commerce\\\",\\\"description\\\":\\\"Expose structured product cards and checkout handoff intent for AI shopping channels.\\\",\\\"docsMarkdown\\\":\\\"Use this skill when an authenticated host AI channel needs machine-readable produc(t data or a buyer-safe checkout intent. Cedros Shop normalizes storefront-safe payloads only; Cedros Pay remains source of truth for catalog reads, quote, checkout, orders, discounts, shipping, tax, subscriptions, and payment execution.\\\"},\\\"cedros-shop:storefront-management\\\":{\\\"name\\\":\\\"Storefront management\\\",\\\"description\\\":\\\"Manage Shop presentation and launch settings through MCP.\\\",\\\"docsMarkdown\\\":\\\"Read cedros-shop:storefront-settings-read with {} before editing. Call cedros-shop:storefront-settings-update with expectedRevision from that read, a stable 8–128 character idempotencyKey, and a sparse config object. Manage visibility, shop copy, catalog controls, product/related layouts, checkout sign-in policy, subscription return path, inventory display, collections, bundles, and markets. Arrays r(eplace their whole value: read and preserve unrelated entries. A stale revision fails without writing; re-read and reconcile, never retry with a new revision blindly. Replay identical material with the same key after an uncertain result; changed material needs a new key. Both operations require cedros-shop:storefront-manage; the generic executor confirmation is execute:<capabilityId>. Pay owns products, pricing, payment setup, shipping, tax, orders, subscriptions, and payment execution. Core page tools own the seeded CMS pages; do not invent buyer identity or treat these operator settings tools as buyer checkout.\\\"}},\\\"aiCapabilities\\\":{\\\"cedros-shop:agentic-catalog-export\\\":{\\\"name\\\":\\\"Export agentic catalog cards\\\",\\\"description\\\":\\\"Normalize storefront-safe product snapshots into structured product( cards and schema.org Product data for AI channel discovery.\\\"},\\\"cedros-shop:agentic-checkout-intent\\\":{\\\"name\\\":\\\"Prepare agentic checkout intent\\\",\\\"description\\\":\\\"Prepare a buyer-safe cart handoff intent for chat checkout without creating payment state or duplicating Cedros Pay quote/checkout policy.\\\"},\\\"cedros-shop:storefront-settings-read\\\":{\\\"name\\\":\\\"Read storefront settings\\\",\\\"description\\\":\\\"Read all Shop-owned settings with current revision and ETag before editing.\\\"},\\\"cedros-shop:storefront-settings-update\\\":{\\\"name\\\":\\\"Update storefront settings\\\",\\\"description\\\":\\\"Merge a sparse Shop settings patch using the last read revision and a stable idempotency key; arrays replace as a whole, stale writes fail, and Pay-owned policies stay in Pay.\\\"}}}}],\\\"compatibility\\\":{\\\"platformApiVersion\\\":\\\"1\\\",\\\"witChecksum\\\":\\\"2b(b16879743cfd2748b7deefefcb82204c16b55a1c1a70385f4e9707a83d48f9\\\"},\\\"packageFamily\\\":{\\\"server\\\":{\\\"packageName\\\":\\\"cedros-shop\\\",\\\"version\\\":\\\"5.3.10\\\",\\\"required\\\":true},\\\"react\\\":{\\\"packageName\\\":\\\"@cedros/shop-react\\\",\\\"version\\\":\\\"5.3.10\\\",\\\"required\\\":true},\\\"reactNative\\\":{\\\"packageName\\\":\\\"@cedros/shop-react-native\\\",\\\"version\\\":\\\"5.3.10\\\",\\\"required\\\":true}},\\\"dependencies\\\":{\\\"capabilities\\\":[{\\\"capabilityId\\\":\\\"cedros-pay:product-read\\\",\\\"required\\\":true,\\\"reason\\\":\\\"Lets your shop, category, and product pages show the products you manage in Cedros Pay.\\\"},{\\\"capabilityId\\\":\\\"cedros-data:extension-storage-cas-v1\\\",\\\"required\\\":true,\\\"reason\\\":\\\"Keeps storefront settings safe when more than one person edits them at the same time.\\\"},{\\\"capabilityId\\\":\\\"cedros-pay:checkout\\\",\\\"required\\\":false,\\\"reason\\\":\\\"Lets shoppers pay through Cedros Pay. Checkout( stays off until Cedros Pay checkout is available on your site.\\\"},{\\\"capabilityId\\\":\\\"cedros-pay:merch-product-write\\\",\\\"required\\\":false,\\\"reason\\\":\\\"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\\\"},{\\\"capabilityId\\\":\\\"cedros-pay:merch-orders-read\\\",\\\"required\\\":false,\\\"reason\\\":\\\"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\\\"},{\\\"capabilityId\\\":\\\"cedros-pay:merch-order-delivered\\\",\\\"required\\\":false,\\\"reason\\\":\\\"Return confirmed provider delivery to the Pay-owned customer order.\\\"}],\\\"extensions\\\":[{\\\"extensionId\\\":\\\"cedros-login\\\",\\\"minVersion\\\":\\\"0.0.55\\\",\\\"required\\\":true,\\\"reason\\\":\\\"Cedros Login signs in your customers and the people who manage your storefront.\\\"},{\\\"extensionId\\\":\\\"cedros-pay\\\",\\\"minVersion\\\":\\\"5.1.0\\\",\\\"required\\\":true,\\\"reason\\\":\\\"Cedros Pay manages you(r products, checkout, shipping, tax, orders, and subscriptions. Cedros Shop presents them to shoppers.\\\"}]},\\\"requiredServices\\\":[],\\\"requiredCapabilities\\\":[\\\"cedros-pay:product-read\\\",\\\"cedros-data:extension-storage-cas-v1\\\"],\\\"surfaces\\\":{\\\"server\\\":{\\\"packageRef\\\":\\\"server\\\",\\\"required\\\":true,\\\"migrations\\\":[\\\"cedros-shop:storefront-settings-v1\\\"],\\\"settingsSchemas\\\":[\\\"cedros-shop:storefront-settings-schema\\\"],\\\"contentModels\\\":[\\\"cedros-shop:storefront-settings\\\"],\\\"routes\\\":[\\\"cedros-shop:public-storefront-config\\\",\\\"cedros-shop:public-storefront-catalog\\\",\\\"cedros-shop:storefront-read\\\",\\\"cedros-shop:storefront-write\\\",\\\"cedros-shop:agentic-catalog-export\\\",\\\"cedros-shop:agentic-checkout-intent\\\",\\\"cedros-shop:storefront-settings-read\\\",\\\"cedros-shop:storefront-settings-update\\\",\\\"cedros-shop:product-write\\\",\\\"cedros-shop:merch-publ(ication-setup\\\",\\\"cedros-shop:paid-order-read\\\",\\\"cedros-shop:fulfillment-write\\\"],\\\"jobs\\\":[],\\\"events\\\":[\\\"cedros-shop:admin-section-saved\\\",\\\"cedros-shop:setup-completed\\\",\\\"cedros-shop:setup-blocked\\\",\\\"cedros-shop:admin-config-saved\\\",\\\"cedros-shop:checkout-handoff-failed\\\"]},\\\"admin\\\":{\\\"packageRef\\\":\\\"react\\\",\\\"required\\\":true,\\\"moduleIds\\\":[\\\"cedros-shop:admin\\\"],\\\"slotIds\\\":[],\\\"editorSurfaceIds\\\":[]},\\\"web\\\":{\\\"packageRef\\\":\\\"react\\\",\\\"required\\\":true,\\\"routeIds\\\":[\\\"cedros-shop:shop-page\\\",\\\"cedros-shop:cart-page\\\",\\\"cedros-shop:checkout-page\\\",\\\"cedros-shop:account-page\\\",\\\"cedros-shop:purchase-history-page\\\",\\\"cedros-shop:subscription-page\\\",\\\"cedros-shop:category-page\\\",\\\"cedros-shop:product-page\\\"],\\\"blockTypes\\\":[\\\"cedros-shop:shop-surface\\\",\\\"cedros-shop:category-surface\\\",\\\"cedros-shop:product-surface\\\",\\\"cedros-shop:cart-surface\\\",\\\"cedros-s(hop:checkout-surface\\\",\\\"cedros-shop:account-surface\\\",\\\"cedros-shop:purchase-history-surface\\\",\\\"cedros-shop:subscription-surface\\\"],\\\"templateIds\\\":[\\\"cedros-shop:shop-page-template\\\",\\\"cedros-shop:category-page-template\\\",\\\"cedros-shop:product-page-template\\\",\\\"cedros-shop:cart-page-template\\\",\\\"cedros-shop:checkout-page-template\\\",\\\"cedros-shop:account-page-template\\\",\\\"cedros-shop:purchase-history-page-template\\\",\\\"cedros-shop:subscription-page-template\\\"],\\\"authoredSurfaceIds\\\":[\\\"cedros-shop:storefront-pages\\\"],\\\"templateUtilityIds\\\":[\\\"cedros-shop:storefront-starter-set\\\"]},\\\"native\\\":{\\\"packageRef\\\":\\\"reactNative\\\",\\\"required\\\":true,\\\"screenIds\\\":[],\\\"stackIds\\\":[],\\\"providerIds\\\":[]},\\\"ai\\\":{\\\"packageRef\\\":\\\"server\\\",\\\"skills\\\":[{\\\"id\\\":\\\"cedros-shop:agentic-commerce\\\",\\\"name\\\":\\\"Agentic commerce\\\",\\\"description\\\":\\\"Expose structured product ca(rds and checkout handoff intent for AI shopping channels.\\\",\\\"category\\\":\\\"commerce\\\",\\\"tags\\\":[\\\"catalog\\\",\\\"checkout\\\",\\\"agentic-commerce\\\"],\\\"visibility\\\":\\\"authenticated\\\",\\\"docs\\\":{\\\"markdown\\\":\\\"Use this skill when an authenticated host AI channel needs machine-readable product data or a buyer-safe checkout intent. Cedros Shop normalizes storefront-safe payloads only; Cedros Pay remains source of truth for catalog reads, quote, checkout, orders, discounts, shipping, tax, subscriptions, and payment execution.\\\"}},{\\\"id\\\":\\\"cedros-shop:storefront-management\\\",\\\"name\\\":\\\"Storefront management\\\",\\\"description\\\":\\\"Manage Shop presentation and launch settings through MCP.\\\",\\\"category\\\":\\\"commerce\\\",\\\"tags\\\":[\\\"storefront\\\",\\\"mcp\\\"],\\\"visibility\\\":\\\"admin\\\",\\\"docs\\\":{\\\"markdown\\\":\\\"Read cedros-shop:storefront-settings-read with {} before edit(ing. Call cedros-shop:storefront-settings-update with expectedRevision from that read, a stable 8–128 character idempotencyKey, and a sparse config object. Manage visibility, shop copy, catalog controls, product/related layouts, checkout sign-in policy, subscription return path, inventory display, collections, bundles, and markets. Arrays replace their whole value: read and preserve unrelated entries. A stale revision fails without writing; re-read and reconcile, never retry with a new revision blindly. Replay identical material with the same key after an uncertain result; changed material needs a new key. Both operations require cedros-shop:storefront-manage; the generic executor confirmation is execute:<capabilityId>. Pay owns products, pricing, payment setup, shipping, tax, orders, subs(criptions, and payment execution. Core page tools own the seeded CMS pages; do not invent buyer identity or treat these operator settings tools as buyer checkout.\\\"}}],\\\"capabilities\\\":[{\\\"id\\\":\\\"cedros-shop:agentic-catalog-export\\\",\\\"name\\\":\\\"Export agentic catalog cards\\\",\\\"description\\\":\\\"Normalize storefront-safe product snapshots into structured product cards and schema.org Product data for AI channel discovery.\\\",\\\"kind\\\":\\\"tool\\\",\\\"tags\\\":[\\\"catalog\\\",\\\"structured-data\\\"],\\\"visibility\\\":\\\"authenticated\\\",\\\"endpoint\\\":{\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/extensions/cedros-shop/agentic/catalog/export\\\"},\\\"auth\\\":{\\\"schemes\\\":[\\\"bearer-token\\\"]},\\\"inputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"products\\\"],\\\"properties\\\":{\\\"channel\\\":{\\\"type\\\":\\\"string\\\"},\\\"market\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"country\\\":{\\\"type\\\":\\\"string\\\"},\\\"locale\\\":{\\\"type\\\":\\\"string\\\"}(,\\\"currency\\\":{\\\"type\\\":\\\"string\\\"},\\\"channel\\\":{\\\"type\\\":\\\"string\\\"}},\\\"additionalProperties\\\":false},\\\"products\\\":{\\\"type\\\":\\\"array\\\",\\\"minItems\\\":1,\\\"maxItems\\\":100,\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"productId\\\",\\\"title\\\"],\\\"properties\\\":{\\\"productId\\\":{\\\"type\\\":\\\"string\\\"},\\\"title\\\":{\\\"type\\\":\\\"string\\\"},\\\"slug\\\":{\\\"type\\\":\\\"string\\\"},\\\"description\\\":{\\\"type\\\":\\\"string\\\"},\\\"price\\\":{\\\"type\\\":\\\"number\\\"},\\\"currency\\\":{\\\"type\\\":\\\"string\\\"},\\\"availability\\\":{\\\"type\\\":\\\"string\\\"},\\\"url\\\":{\\\"type\\\":\\\"string\\\"},\\\"imageUrl\\\":{\\\"type\\\":\\\"string\\\"},\\\"categories\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}},\\\"tags\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}},\\\"attributes\\\":{\\\"type\\\":\\\"object\\\"}},\\\"additionalProperties\\\":false}}},\\\"additionalProperties\\\":false},\\\"outputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"schemaVersion\\\",\\\"products\\\",\\\"policy\\\"],\\\"properties\\\":{\\\"schemaVersion\\\":{\\\"type\\\":\\\"number\\\"},\\\"(products\\\":{\\\"type\\\":\\\"array\\\"},\\\"policy\\\":{\\\"type\\\":\\\"object\\\"},\\\"warnings\\\":{\\\"type\\\":\\\"array\\\"}}}},{\\\"id\\\":\\\"cedros-shop:agentic-checkout-intent\\\",\\\"name\\\":\\\"Prepare agentic checkout intent\\\",\\\"description\\\":\\\"Prepare a buyer-safe cart handoff intent for chat checkout without creating payment state or duplicating Cedros Pay quote/checkout policy.\\\",\\\"kind\\\":\\\"action\\\",\\\"tags\\\":[\\\"checkout\\\",\\\"chat-commerce\\\"],\\\"visibility\\\":\\\"authenticated\\\",\\\"endpoint\\\":{\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/extensions/cedros-shop/agentic/checkout/intent\\\"},\\\"auth\\\":{\\\"schemes\\\":[\\\"bearer-token\\\"]},\\\"inputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"cart\\\"],\\\"properties\\\":{\\\"channel\\\":{\\\"type\\\":\\\"string\\\"},\\\"currency\\\":{\\\"type\\\":\\\"string\\\"},\\\"market\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"country\\\":{\\\"type\\\":\\\"string\\\"},\\\"locale\\\":{\\\"type\\\":\\\"string\\\"},\\\"currency\\\":{\\\"type\\\":\\\"string\\\"},\\\"channel\\\":{\\\"type\\\":\\\"string\\\"(}},\\\"additionalProperties\\\":false},\\\"successUrl\\\":{\\\"type\\\":\\\"string\\\"},\\\"cancelUrl\\\":{\\\"type\\\":\\\"string\\\"},\\\"cart\\\":{\\\"type\\\":\\\"array\\\",\\\"minItems\\\":1,\\\"maxItems\\\":100,\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"productId\\\",\\\"quantity\\\"],\\\"properties\\\":{\\\"productId\\\":{\\\"type\\\":\\\"string\\\"},\\\"variantId\\\":{\\\"type\\\":\\\"string\\\"},\\\"quantity\\\":{\\\"type\\\":\\\"integer\\\",\\\"minimum\\\":1,\\\"maximum\\\":999}},\\\"additionalProperties\\\":false}}},\\\"additionalProperties\\\":false},\\\"outputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"required\\\":[\\\"schemaVersion\\\",\\\"checkoutMode\\\",\\\"quoteRequired\\\",\\\"checkoutPath\\\",\\\"cart\\\",\\\"policy\\\"],\\\"properties\\\":{\\\"schemaVersion\\\":{\\\"type\\\":\\\"number\\\"},\\\"checkoutMode\\\":{\\\"type\\\":\\\"string\\\"},\\\"quoteRequired\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"checkoutPath\\\":{\\\"type\\\":\\\"string\\\"},\\\"cart\\\":{\\\"type\\\":\\\"array\\\"},\\\"policy\\\":{\\\"type\\\":\\\"object\\\"}}}},{\\\"id\\\":\\\"cedros-shop:storefront-settings-read\\\",\\\"name\\\":\\\"Read storefront settin(gs\\\",\\\"description\\\":\\\"Read all Shop-owned settings with current revision and ETag before editing.\\\",\\\"kind\\\":\\\"tool\\\",\\\"visibility\\\":\\\"admin\\\",\\\"tags\\\":[\\\"storefront\\\",\\\"settings\\\",\\\"mcp\\\"],\\\"endpoint\\\":{\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/extensions/cedros-shop/admin/storefront/read\\\"},\\\"auth\\\":{\\\"schemes\\\":[\\\"bearer-token\\\"]},\\\"inputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{}},\\\"outputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"config\\\":{\\\"type\\\":\\\"object\\\"},\\\"paymentMethods\\\":{},\\\"revision\\\":{\\\"type\\\":\\\"integer\\\"},\\\"etag\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"config\\\",\\\"revision\\\",\\\"etag\\\"]}},{\\\"id\\\":\\\"cedros-shop:storefront-settings-update\\\",\\\"name\\\":\\\"Update storefront settings\\\",\\\"description\\\":\\\"Merge a sparse Shop settings patch using the last read revision and a stable idempotency key; arrays replace as a whole, stale writes fail, and (Pay-owned policies stay in Pay.\\\",\\\"kind\\\":\\\"action\\\",\\\"visibility\\\":\\\"admin\\\",\\\"tags\\\":[\\\"storefront\\\",\\\"settings\\\",\\\"mcp\\\"],\\\"endpoint\\\":{\\\"method\\\":\\\"POST\\\",\\\"path\\\":\\\"/extensions/cedros-shop/admin/storefront/update\\\"},\\\"auth\\\":{\\\"schemes\\\":[\\\"bearer-token\\\"]},\\\"inputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"expectedRevision\\\":{\\\"type\\\":\\\"integer\\\",\\\"minimum\\\":0,\\\"maximum\\\":9007199254740991},\\\"idempotencyKey\\\":{\\\"type\\\":\\\"string\\\",\\\"minLength\\\":8,\\\"maxLength\\\":128,\\\"pattern\\\":\\\"^[A-Za-z0-9._:-]+$\\\"},\\\"config\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"enabled\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"shopPage\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"title\\\":{\\\"type\\\":\\\"string\\\"},\\\"description\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"relatedProducts\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"mode\\\":{\\\"type\\\":(\\\"string\\\",\\\"enum\\\":[\\\"most_recent\\\",\\\"by_category\\\",\\\"manual\\\",\\\"ai_curated\\\"]},\\\"maxItems\\\":{\\\"type\\\":\\\"integer\\\",\\\"minimum\\\":0,\\\"maximum\\\":12},\\\"layout\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"layout\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"large\\\",\\\"square\\\",\\\"compact\\\"]},\\\"imageCrop\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"center\\\",\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"]}}}}},\\\"catalog\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"filters\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"tags\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"priceRange\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"inStock\\\":{\\\"type\\\":\\\"boolean\\\"}}},\\\"sort\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"featured\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"priceAsc\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"priceDesc\\\":{\\\"type\\\":\\\"boolean\\\"}}}}},\\\"checkout\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{(\\\"guestCheckout\\\":{\\\"type\\\":\\\"boolean\\\"}}},\\\"subscriptions\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"successPath\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"shopLayout\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"layout\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"large\\\",\\\"square\\\",\\\"compact\\\"]},\\\"imageCrop\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"center\\\",\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"]}}},\\\"categoryLayout\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"layout\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"large\\\",\\\"square\\\",\\\"compact\\\"]},\\\"imageCrop\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"center\\\",\\\"top\\\",\\\"bottom\\\",\\\"left\\\",\\\"right\\\"]}}},\\\"sections\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"showDescription\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"showSpecs\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"showRelatedProducts\\\":{\\\"type\\\":\\\"boolean\\\"}}},\\\"inventory\\\":{\\\"type\\\":\\\"object\\\",\\\"addit(ionalProperties\\\":false,\\\"properties\\\":{\\\"preCheckoutVerification\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"holdsEnabled\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"holdDurationMinutes\\\":{\\\"type\\\":\\\"integer\\\",\\\"minimum\\\":0,\\\"maximum\\\":60}}},\\\"merchandising\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"collections\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"string\\\"},\\\"title\\\":{\\\"type\\\":\\\"string\\\"},\\\"handle\\\":{\\\"type\\\":\\\"string\\\"},\\\"description\\\":{\\\"type\\\":\\\"string\\\"},\\\"visible\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"featured\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"sort\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"featured\\\",\\\"priceAsc\\\",\\\"priceDesc\\\"]},\\\"rules\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"type\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"category\\\",\\\"tag\\\",\\\"search\\\",\\\"manual\\\"]},\\\"value\\\":{\\\"type\\\":\\\"string\\\"}}}}}}},\\\"bundles\\\":{\\\"ty(pe\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"string\\\"},\\\"title\\\":{\\\"type\\\":\\\"string\\\"},\\\"handle\\\":{\\\"type\\\":\\\"string\\\"},\\\"description\\\":{\\\"type\\\":\\\"string\\\"},\\\"visible\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"featured\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"productIds\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"required\\\":[\\\"productIds\\\"]}}}},\\\"markets\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"enabled\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"defaultMarketId\\\":{\\\"type\\\":\\\"string\\\"},\\\"markets\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"id\\\":{\\\"type\\\":\\\"string\\\"},\\\"name\\\":{\\\"type\\\":\\\"string\\\"},\\\"currency\\\":{\\\"type\\\":\\\"string\\\"},\\\"defaultLocale\\\":{\\\"type\\\":\\\"string\\\"},\\\"enabled\\\":{\\\"type\\\":\\\"boolean\\\"},\\\"countries\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}},\\\"customerSegments\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\"(:{\\\"type\\\":\\\"string\\\"}},\\\"channels\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}},\\\"languages\\\":{\\\"type\\\":\\\"array\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}},\\\"pricing\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"strategy\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"base\\\",\\\"fixed\\\",\\\"adjustment\\\"]},\\\"priceListId\\\":{\\\"type\\\":\\\"string\\\"},\\\"adjustmentPercent\\\":{\\\"type\\\":\\\"number\\\"}}},\\\"domain\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"host\\\":{\\\"type\\\":\\\"string\\\"},\\\"pathPrefix\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"content\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"strategy\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"default\\\",\\\"localized\\\"]},\\\"themeContentKey\\\":{\\\"type\\\":\\\"string\\\"}}},\\\"productAvailability\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"mode\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"all\\\",\\\"include\\\",\\\"exclude\\\"]},\\\"productIds\\\":{\\\"type\\\":\\\"arra(y\\\",\\\"items\\\":{\\\"type\\\":\\\"string\\\"}}}},\\\"giftCards\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"policy\\\":{\\\"type\\\":\\\"string\\\",\\\"enum\\\":[\\\"giftcards_extension\\\",\\\"hidden\\\"]}}},\\\"seo\\\":{\\\"type\\\":\\\"object\\\",\\\"additionalProperties\\\":false,\\\"properties\\\":{\\\"titleSuffix\\\":{\\\"type\\\":\\\"string\\\"},\\\"description\\\":{\\\"type\\\":\\\"string\\\"}}}}}}}}},\\\"minProperties\\\":1}},\\\"required\\\":[\\\"expectedRevision\\\",\\\"idempotencyKey\\\",\\\"config\\\"]},\\\"outputSchema\\\":{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"config\\\":{\\\"type\\\":\\\"object\\\"},\\\"paymentMethods\\\":{},\\\"revision\\\":{\\\"type\\\":\\\"integer\\\"},\\\"etag\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"config\\\",\\\"revision\\\",\\\"etag\\\"]}}]}},\\\"registration\\\":{\\\"server\\\":{\\\"entrypoint\\\":\\\"cedros_shop::register_extension_family\\\"},\\\"admin\\\":{\\\"entrypoint\\\":\\\"@cedros/shop-react/admin/register\\\"},\\\"web\\\":{\\\"entrypoint\\\":\\\"@cedros/shop-react/web/register\\\"},\\\"native\\\":{\\\"entrypoint(\\\":\\\"@cedros/shop-react-native/register\\\"}},\\\"adminModules\\\":[{\\\"moduleId\\\":\\\"cedros-shop:admin\\\",\\\"extensionId\\\":\\\"cedros-shop\\\",\\\"displayName\\\":\\\"Cedros Shop admin\\\",\\\"version\\\":\\\"5.3.10\\\",\\\"packageName\\\":\\\"@cedros/shop-react\\\",\\\"packageSubpath\\\":\\\"./admin/register\\\",\\\"requiredServices\\\":[],\\\"requiredCapabilities\\\":[\\\"cedros-pay:product-read\\\"],\\\"sectionIds\\\":[\\\"cedros-shop:storefront\\\"],\\\"sectionIcons\\\":{\\\"cedros-shop:storefront\\\":\\\"storefront\\\"},\\\"navigation\\\":{\\\"sections\\\":[{\\\"id\\\":\\\"cedros-shop:storefront\\\",\\\"label\\\":\\\"Storefront\\\",\\\"group\\\":\\\"Extension Settings\\\",\\\"order\\\":0,\\\"requiredPermission\\\":\\\"cedros-shop:storefront-manage\\\"}]},\\\"contributions\\\":{\\\"dashboardCards\\\":[{\\\"id\\\":\\\"cedros-shop:commerce-analytics-card\\\",\\\"displayName\\\":\\\"Commerce analytics\\\",\\\"description\\\":\\\"Shows aggregate storefront performance and abandoned-checkout recovery readiness.\\\",\\\"order(\\\":21}]}}],\\\"contentBlocks\\\":[{\\\"type\\\":\\\"cedros-shop:shop-surface\\\",\\\"displayName\\\":\\\"Shop catalog\\\",\\\"description\\\":\\\"Shows your product catalog with search, filters, and collections.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":10},{\\\"type\\\":\\\"cedros-shop:category-surface\\\",\\\"displayName\\\":\\\"Category listing\\\",\\\"description\\\":\\\"Shows the products in one category.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":20},{\\\"type\\\":\\\"cedros-shop:product-surface\\\",\\\"displayName\\\":\\\"Product details\\\",\\\"description\\\":\\\"Shows one product with its images, options, and an Add to cart button.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":30},{\\\"type\\\":\\\"cedros-shop:cart-surface\\\",\\\"displayName\\\":\\\"Cart\\\",\\\"description\\\":\\\"Shows the shopper's cart so they can review items before checkout.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":40},{\\\"type\\\":\\\"cedros-shop:checkout-surface\\\",\\\"displayName\\\":\\\"Checkout\\\",\\\"descri(ption\\\":\\\"Shows the checkout form where shoppers enter their details and pay.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":50},{\\\"type\\\":\\\"cedros-shop:account-surface\\\",\\\"displayName\\\":\\\"Customer account\\\",\\\"description\\\":\\\"Shows signed-in customers their account details and where to get help.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":60},{\\\"type\\\":\\\"cedros-shop:purchase-history-surface\\\",\\\"displayName\\\":\\\"Purchase history\\\",\\\"description\\\":\\\"Shows signed-in customers their past orders, receipts, and order help.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":70},{\\\"type\\\":\\\"cedros-shop:subscription-surface\\\",\\\"displayName\\\":\\\"Subscription plans\\\",\\\"description\\\":\\\"Shows subscription plans and lets signed-in customers manage their subscription.\\\",\\\"category\\\":\\\"commerce\\\",\\\"order\\\":80}],\\\"contentTemplates\\\":[{\\\"id\\\":\\\"cedros-shop:shop-page-template\\\",\\\"displayName\\\":\\\"Shop page\\\",\\\"(description\\\":\\\"Editable shop landing page.\\\",\\\"order\\\":10,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:category-page-template\\\",\\\"displayName\\\":\\\"Category page\\\",\\\"description\\\":\\\"Editable category listing page.\\\",\\\"order\\\":20,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:product-page-template\\\",\\\"displayName\\\":\\\"Product page\\\",\\\"description\\\":\\\"Editable product detail page.\\\",\\\"order\\\":30,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:cart-page-template\\\",\\\"displayName\\\":\\\"Cart page\\\",\\\"description\\\":\\\"Editable cart page.\\\",\\\"order\\\":40,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:checkout-page-template\\\",\\\"displayName\\\":\\\"Checkout page\\\",\\\"description\\\":\\\"Editable check(out page.\\\",\\\"order\\\":50,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:account-page-template\\\",\\\"displayName\\\":\\\"Account page\\\",\\\"description\\\":\\\"Editable customer account page.\\\",\\\"order\\\":60,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:purchase-history-page-template\\\",\\\"displayName\\\":\\\"Purchase history page\\\",\\\"description\\\":\\\"Editable purchase history page.\\\",\\\"order\\\":70,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"},{\\\"id\\\":\\\"cedros-shop:subscription-page-template\\\",\\\"displayName\\\":\\\"Subscription page\\\",\\\"description\\\":\\\"Editable subscription page.\\\",\\\"order\\\":80,\\\"contentTypes\\\":[\\\"page\\\"],\\\"surfaceId\\\":\\\"cedros-shop:storefront-pages\\\"}],\\\"pageSeeds\\\":[{\\\"id\\\":\\\"cedros-shop:shop-page\\\",\\\"displayName\\\":\\\"Shop page\\\",\\\"title\\\":\\\"Shop\\\",\\\"descri(ption\\\":\\\"Browse our products and collections.\\\",\\\"routePath\\\":\\\"/shop\\\",\\\"templateId\\\":\\\"cedros-shop:shop-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Shop\\\",\\\"description\\\":\\\"Browse our products and collections.\\\",\\\"canonicalPath\\\":\\\"/shop\\\",\\\"ogTitle\\\":\\\"Shop\\\",\\\"ogDescription\\\":\\\"Browse our products and collections.\\\",\\\"noindex\\\":false},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true},{\\\"id\\\":\\\"cedros-shop:cart-page\\\",\\\"displayName\\\":\\\"Cart page\\\",\\\"title\\\":\\\"Cart\\\",\\\"description\\\":\\\"Review the items in your cart before checkout.\\\",\\\"routePath\\\":\\\"/cart\\\",\\\"templateId\\\":\\\"cedros-shop:cart-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Cart\\\",\\\"description\\\":\\\"Review the items in your cart before checkout.\\\",\\\"noindex\\\":true},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true},{\\\"id\\\":\\\"cedros-shop:checkout-page\\\",\\\"displayName\\\":\\\"Chec(kout page\\\",\\\"title\\\":\\\"Checkout\\\",\\\"description\\\":\\\"Securely complete your purchase.\\\",\\\"routePath\\\":\\\"/checkout\\\",\\\"templateId\\\":\\\"cedros-shop:checkout-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Checkout\\\",\\\"description\\\":\\\"Securely complete your purchase.\\\",\\\"noindex\\\":true},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true},{\\\"id\\\":\\\"cedros-shop:account-page\\\",\\\"displayName\\\":\\\"Account page\\\",\\\"title\\\":\\\"Account\\\",\\\"description\\\":\\\"Manage your account details and get help with your orders.\\\",\\\"routePath\\\":\\\"/account\\\",\\\"templateId\\\":\\\"cedros-shop:account-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Account\\\",\\\"description\\\":\\\"Manage your account profile, addresses, saved checkout details, and support links.\\\",\\\"noindex\\\":true},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true},{\\\"id\\\":\\\"cedros-shop:purchase-history-page\\\",\\\"(displayName\\\":\\\"Purchase history page\\\",\\\"title\\\":\\\"Purchase history\\\",\\\"description\\\":\\\"View your past orders and receipts.\\\",\\\"routePath\\\":\\\"/account/orders\\\",\\\"templateId\\\":\\\"cedros-shop:purchase-history-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Purchase history\\\",\\\"description\\\":\\\"View your past orders and receipts.\\\",\\\"noindex\\\":true},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true},{\\\"id\\\":\\\"cedros-shop:subscription-page\\\",\\\"displayName\\\":\\\"Subscription page\\\",\\\"title\\\":\\\"Subscriptions\\\",\\\"description\\\":\\\"Choose a subscription plan, or manage the one you already have.\\\",\\\"routePath\\\":\\\"/subscribe\\\",\\\"templateId\\\":\\\"cedros-shop:subscription-page-template\\\",\\\"chromeMode\\\":\\\"default\\\",\\\"seo\\\":{\\\"title\\\":\\\"Subscriptions\\\",\\\"description\\\":\\\"Choose a subscription plan, or manage the one you already have.\\\",\\\"canonicalPath\\\":\\\"/subscribe\\\",\\\"og(Title\\\":\\\"Subscriptions\\\",\\\"ogDescription\\\":\\\"Choose a subscription plan, or manage the one you already have.\\\",\\\"noindex\\\":false},\\\"autoCreateOnEnable\\\":true,\\\"publishOnEnable\\\":true}],\\\"seoRoutes\\\":[{\\\"routeId\\\":\\\"cedros-shop:category-page\\\",\\\"pathPattern\\\":\\\"/shop/:slug\\\",\\\"indexable\\\":true,\\\"includeInSitemap\\\":true,\\\"canonicalStrategy\\\":\\\"self\\\",\\\"schemaType\\\":\\\"CollectionPage\\\",\\\"chromeMode\\\":\\\"default\\\"},{\\\"routeId\\\":\\\"cedros-shop:product-page\\\",\\\"pathPattern\\\":\\\"/product/:slug\\\",\\\"indexable\\\":true,\\\"includeInSitemap\\\":true,\\\"canonicalStrategy\\\":\\\"self\\\",\\\"schemaType\\\":\\\"Product\\\",\\\"chromeMode\\\":\\\"default\\\"}],\\\"authoredSurfaces\\\":[{\\\"id\\\":\\\"cedros-shop:storefront-pages\\\",\\\"displayName\\\":\\\"Storefront pages\\\",\\\"description\\\":\\\"Editable page templates for your shop, cart, checkout, account, purchase history, and subscriptions.\\\",\\\"eyebrow\\\":\\\"Shop\\\",\\\"templateIds\\\":[\\\"(cedros-shop:shop-page-template\\\",\\\"cedros-shop:category-page-template\\\",\\\"cedros-shop:product-page-template\\\",\\\"cedros-shop:cart-page-template\\\",\\\"cedros-shop:checkout-page-template\\\",\\\"cedros-shop:account-page-template\\\",\\\"cedros-shop:purchase-history-page-template\\\",\\\"cedros-shop:subscription-page-template\\\"]}],\\\"authoredTemplateUtilities\\\":[{\\\"id\\\":\\\"cedros-shop:storefront-starter-set\\\",\\\"displayName\\\":\\\"Storefront starter set\\\",\\\"description\\\":\\\"Adds the standard Cedros Shop page templates.\\\",\\\"order\\\":10,\\\"templateIds\\\":[\\\"cedros-shop:shop-page-template\\\",\\\"cedros-shop:category-page-template\\\",\\\"cedros-shop:product-page-template\\\",\\\"cedros-shop:cart-page-template\\\",\\\"cedros-shop:checkout-page-template\\\",\\\"cedros-shop:account-page-template\\\",\\\"cedros-shop:purchase-history-page-template\\\",\\\"cedros-shop:subscription-page-template\\\"],\\\"c(ontentTypes\\\":[\\\"page\\\"],\\\"surfaceIds\\\":[\\\"cedros-shop:storefront-pages\\\"],\\\"suggestedBlockTypes\\\":[\\\"cedros-shop:shop-surface\\\",\\\"cedros-shop:category-surface\\\",\\\"cedros-shop:product-surface\\\",\\\"cedros-shop:cart-surface\\\",\\\"cedros-shop:checkout-surface\\\",\\\"cedros-shop:account-surface\\\",\\\"cedros-shop:purchase-history-surface\\\",\\\"cedros-shop:subscription-surface\\\"]}],\\\"formTemplates\\\":[],\\\"docsArticles\\\":[],\\\"policies\\\":[],\\\"onboardingPages\\\":[{\\\"id\\\":\\\"cedros-shop:onboarding-storefront\\\",\\\"moduleId\\\":\\\"cedros-shop:admin\\\",\\\"sectionId\\\":\\\"cedros-shop:storefront\\\",\\\"displayName\\\":\\\"Review storefront settings\\\",\\\"description\\\":\\\"Check that you have products to sell and a way to get paid, then make your storefront visible.\\\"}],\\\"setupSeeds\\\":{\\\"notifications\\\":[{\\\"id\\\":\\\"cedros-shop:setup-blocked-notification\\\",\\\"displayName\\\":\\\"Setup blocked notification\\\"(,\\\"title\\\":\\\"Cedros Shop setup blocked\\\",\\\"description\\\":\\\"Alerts your team when the storefront goes live while a required service or setting, such as a payment method, is missing.\\\",\\\"eventId\\\":\\\"cedros-shop:setup-blocked\\\",\\\"audience\\\":\\\"team\\\",\\\"severity\\\":\\\"warning\\\",\\\"defaultChannels\\\":[\\\"email\\\"],\\\"subjectTemplate\\\":\\\"Cedros Shop setup is blocked\\\",\\\"bodyTemplate\\\":\\\"Your Cedros Shop storefront is live, but a required service or setting, such as a payment method, is missing, so shoppers may not be able to check out. Review the Cedros Shop storefront settings.\\\",\\\"tags\\\":[\\\"shop\\\",\\\"setup\\\"]},{\\\"id\\\":\\\"cedros-shop:checkout-handoff-failed-notification\\\",\\\"displayName\\\":\\\"Checkout handoff failed notification\\\",\\\"title\\\":\\\"Cedros Shop checkout handoff failed\\\",\\\"description\\\":\\\"Not sent in this version. Checkout runs in Cedros Pay, so Cedr(os Shop can't detect handoff failures.\\\",\\\"eventId\\\":\\\"cedros-shop:checkout-handoff-failed\\\",\\\"audience\\\":\\\"team\\\",\\\"severity\\\":\\\"error\\\",\\\"defaultChannels\\\":[\\\"email\\\"],\\\"subjectTemplate\\\":\\\"Cedros Shop checkout handoff failed\\\",\\\"bodyTemplate\\\":\\\"Cedros Shop could not complete a checkout handoff. Review Cedros Pay availability and shop checkout configuration.\\\",\\\"tags\\\":[\\\"shop\\\",\\\"checkout\\\"]}]},\\\"pwaShortcuts\\\":[{\\\"id\\\":\\\"cedros-shop:pwa-shop-shortcut\\\",\\\"name\\\":\\\"Shop\\\",\\\"shortName\\\":\\\"Shop\\\",\\\"description\\\":\\\"Open the shop catalog.\\\",\\\"url\\\":\\\"/shop\\\"},{\\\"id\\\":\\\"cedros-shop:pwa-cart-shortcut\\\",\\\"name\\\":\\\"Cart\\\",\\\"shortName\\\":\\\"Cart\\\",\\\"description\\\":\\\"Review your cart.\\\",\\\"url\\\":\\\"/cart\\\"},{\\\"id\\\":\\\"cedros-shop:pwa-orders-shortcut\\\",\\\"name\\\":\\\"Purchase history\\\",\\\"shortName\\\":\\\"Purchases\\\",\\\"description\\\":\\\"See your past orders and receipts. Sign-in required.\\\",\\\"url\\\":\\\"/a(ccount/orders\\\"}],\\\"analytics\\\":{\\\"events\\\":[{\\\"id\\\":\\\"cedros-shop:product-viewed\\\",\\\"displayName\\\":\\\"Product viewed\\\",\\\"description\\\":\\\"Counts product detail views so owners can compare product interest.\\\",\\\"category\\\":\\\"storefront\\\",\\\"visibility\\\":\\\"public\\\",\\\"kind\\\":\\\"purchase_intent_view\\\"},{\\\"id\\\":\\\"cedros-shop:add-to-cart\\\",\\\"displayName\\\":\\\"Add to cart\\\",\\\"description\\\":\\\"Counts storefront cart additions so owners can identify product conversion interest.\\\",\\\"category\\\":\\\"cart\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:checkout-started\\\",\\\"displayName\\\":\\\"Checkout started\\\",\\\"description\\\":\\\"Counts checkout attempts before Cedros Pay handoff so owners can monitor checkout intent.\\\",\\\"category\\\":\\\"checkout\\\",\\\"visibility\\\":\\\"public\\\",\\\"kind\\\":\\\"purchase_intent_view\\\"},{\\\"id\\\":\\\"cedros-shop:subscription-checkout-started\\\",\\\"displayName\\\":\\\"Subscription ch(eckout started\\\",\\\"description\\\":\\\"Counts subscription checkout attempts so owners can monitor subscription interest.\\\",\\\"category\\\":\\\"subscriptions\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:cart-opened\\\",\\\"displayName\\\":\\\"Cart opened\\\",\\\"description\\\":\\\"Counts cart drawer opens so owners can monitor shopping cart interest.\\\",\\\"category\\\":\\\"cart\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:admin-section-saved\\\",\\\"displayName\\\":\\\"Admin section saved\\\",\\\"description\\\":\\\"Counts successful owner configuration saves by admin section.\\\",\\\"category\\\":\\\"admin\\\",\\\"visibility\\\":\\\"admin\\\"},{\\\"id\\\":\\\"cedros-shop:collection-viewed\\\",\\\"displayName\\\":\\\"Collection viewed\\\",\\\"description\\\":\\\"Counts shop and category listing views so owners can see which collections draw traffic.\\\",\\\"category\\\":\\\"storefront\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:catalog-s(earched\\\",\\\"displayName\\\":\\\"Catalog searched\\\",\\\"description\\\":\\\"Counts catalog search, sort, and filter refinements so owners can see how visitors browse.\\\",\\\"category\\\":\\\"storefront\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:quick-view-opened\\\",\\\"displayName\\\":\\\"Quick view opened\\\",\\\"description\\\":\\\"Counts product quick-view opens from listing grids so owners can gauge product interest.\\\",\\\"category\\\":\\\"storefront\\\",\\\"visibility\\\":\\\"public\\\",\\\"kind\\\":\\\"purchase_intent_view\\\"},{\\\"id\\\":\\\"cedros-shop:cart-viewed\\\",\\\"displayName\\\":\\\"Cart viewed\\\",\\\"description\\\":\\\"Counts cart page views so owners can monitor cart engagement before checkout.\\\",\\\"category\\\":\\\"cart\\\",\\\"visibility\\\":\\\"public\\\"},{\\\"id\\\":\\\"cedros-shop:remove-from-cart\\\",\\\"displayName\\\":\\\"Remove from cart\\\",\\\"description\\\":\\\"Counts cart line removals so owners can monitor cart drop-off.\\\",\\\"categ(ory\\\":\\\"cart\\\",\\\"visibility\\\":\\\"public\\\"}]},\\\"capabilities\\\":[{\\\"id\\\":\\\"cedros-shop:storefront-manage\\\",\\\"displayName\\\":\\\"Storefront management\\\",\\\"description\\\":\\\"Manage storefront settings, Markets controls, and layouts.\\\",\\\"category\\\":\\\"admin\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"storefront-settings\\\",\\\"summary\\\":\\\"Create and update storefront display, catalog, checkout, inventory, merchandising, and Markets settings.\\\"}]},{\\\"id\\\":\\\"cedros-shop:commerce-analytics\\\",\\\"displayName\\\":\\\"Commerce analytics\\\",\\\"description\\\":\\\"Shows recent sales metrics and abandoned-checkout counts from Cedros analytics and Cedros Pay.\\\",\\\"category\\\":\\\"admin\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"read\\\",\\\"resource\\\":\\\"host commerce analytics aggregate reports\\\",\\\"summary\\\":\\\"Read redacted storefront funnel, product interest, and cart/checkout conversion metri(cs.\\\"},{\\\"verb\\\":\\\"read\\\",\\\"resource\\\":\\\"cedros-pay abandoned checkout and payment-event views\\\",\\\"summary\\\":\\\"Read Pay-owned abandoned checkout status, recovery state, and payment-event health without exposing raw customer PII.\\\"}]},{\\\"id\\\":\\\"cedros-shop:observability\\\",\\\"displayName\\\":\\\"Shop observability\\\",\\\"description\\\":\\\"Records storefront setup status and configuration changes. No customer personal data is included.\\\",\\\"category\\\":\\\"runtime\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"site-brain-record:setup\\\",\\\"summary\\\":\\\"Write setup completion and setup blocked records.\\\"},{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"site-brain-record:configuration\\\",\\\"summary\\\":\\\"Write admin configuration change records.\\\"},{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"site-brain-record:checkout\\\",\\\"summary\\\":\\\"Reserved for checkout handoff failure records; none are w(ritten in this version.\\\"}]},{\\\"id\\\":\\\"cedros-shop:product-write\\\",\\\"displayName\\\":\\\"Merch physical product publication\\\",\\\"description\\\":\\\"Merch physical product publication through an exact, host-attested extension service identity.\\\",\\\"category\\\":\\\"commerce\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"Merch-owned physical storefront products through Pay\\\",\\\"summary\\\":\\\"Merch physical product publication; no generic administrator or arbitrary payment authority.\\\"}]},{\\\"id\\\":\\\"cedros-shop:paid-order-read\\\",\\\"displayName\\\":\\\"Merch paid order intake\\\",\\\"description\\\":\\\"Merch paid order intake through an exact, host-attested extension service identity.\\\",\\\"category\\\":\\\"commerce\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"read\\\",\\\"resource\\\":\\\"Verified Merch order lines through Pay\\\",\\\"summary\\\":\\\"Merch paid order intake; no generic administrator (or arbitrary payment authority.\\\"}]},{\\\"id\\\":\\\"cedros-shop:fulfillment-write\\\",\\\"displayName\\\":\\\"Merch delivery confirmation\\\",\\\"description\\\":\\\"Record delivery only for the exact purchased Merch line; preserves other order lines and payment/refund facts.\\\",\\\"category\\\":\\\"commerce\\\",\\\"requestedScopes\\\":[{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"Merch-owned physical order delivery\\\",\\\"summary\\\":\\\"Idempotently confirm full delivery of an exact purchased Merch line through its host-attested extension service.\\\"}]}],\\\"providerAccess\\\":[{\\\"id\\\":\\\"cedros-shop:agentic-commerce-provider\\\",\\\"provider\\\":\\\"intelligence\\\",\\\"displayName\\\":\\\"Agentic commerce provider\\\",\\\"description\\\":\\\"Not used in this version: Cedros Shop doesn't send requests to your AI provider. AI shopping channels use the declared agentic routes instead.\\\",\\\"scopes\\\":[\\\"chat.generate\\\"],\\\"t(ags\\\":[\\\"commerce\\\",\\\"ai-channel\\\"]}],\\\"databaseAccess\\\":[{\\\"id\\\":\\\"cedros-shop:storefront-settings-db\\\",\\\"displayName\\\":\\\"Storefront settings database\\\",\\\"description\\\":\\\"Reads and writes extension-owned storefront display, catalog, checkout, inventory, merchandising, and Markets settings.\\\",\\\"contentModels\\\":[\\\"cedros-shop:storefront-settings\\\"],\\\"migrations\\\":[\\\"cedros-shop:storefront-settings-v1\\\"],\\\"tags\\\":[\\\"commerce\\\",\\\"settings\\\"],\\\"scopes\\\":[{\\\"verb\\\":\\\"read\\\",\\\"resource\\\":\\\"storefront settings\\\",\\\"summary\\\":\\\"Load storefront display, catalog, checkout, inventory, merchandising, and Markets settings.\\\"},{\\\"verb\\\":\\\"write\\\",\\\"resource\\\":\\\"storefront settings\\\",\\\"summary\\\":\\\"Persist admin-managed storefront settings.\\\"}]}]}\".split(\"(\")).join(\"\"), He = JSON.parse(Ve), Ue = \"/subscribe\", d = \"https://cedros.invalid\", We = 2048, Ge = 256, f = \"checkoutPlan\";\nfunction p(e) {\n\tif (!(typeof e != \"string\" || !e || new TextEncoder().encode(e).length > We) && !(e.trim() !== e || !e.startsWith(\"/\") || e.startsWith(\"//\")) && !(/[\\\\\\s\\u0000-\\u0020\\u007f-\\u009f]/.test(e) || Ze(e))) try {\n\t\tlet t = new URL(e, d);\n\t\treturn t.origin === d ? `${t.pathname}${t.search}${t.hash}` : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction Ke(e, t) {\n\tlet n = new URLSearchParams(e).getAll(\"returnTo\");\n\tif (n.length > 1) return { ok: !1 };\n\tlet r = p(n.length === 1 ? n[0] : t);\n\treturn r ? {\n\t\tok: !0,\n\t\tpath: r\n\t} : { ok: !1 };\n}\nfunction qe(e, t, n) {\n\tlet r = p(e);\n\tif (!r) return;\n\tlet i = new URL(r, d);\n\treturn i.searchParams.set(\"checkout\", t), i.searchParams.delete(f), t === \"success\" && m(n) && i.searchParams.set(f, n), `${i.pathname}${i.search}${i.hash}`;\n}\nfunction Je(e) {\n\tlet t = new URLSearchParams(e).getAll(\"checkout\");\n\treturn t.length === 1 && (t[0] === \"success\" || t[0] === \"cancelled\") ? t[0] : null;\n}\nfunction Ye(e) {\n\tlet t = new URLSearchParams(e).getAll(f), n = t.length === 1 ? t[0] : void 0;\n\treturn m(n) ? n : null;\n}\nfunction Xe(e, t, n, r) {\n\tlet i = qe(t, n, r);\n\tif (!(!e || !i)) try {\n\t\tlet t = new URL(e);\n\t\treturn t.protocol !== \"https:\" || t.username || t.password ? void 0 : new URL(i, t.origin).href;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction m(e) {\n\treturn typeof e == \"string\" && e.length > 0 && e.length <= Ge && e.trim() === e && !/[\\u0000-\\u001f\\u007f]/.test(e);\n}\nfunction Ze(e) {\n\tlet t = e;\n\tfor (let e = 0; e < 3; e += 1) {\n\t\tif (/%(?:00|0a|0d|2f|5c)/i.test(t)) return !0;\n\t\tlet e = t.replace(/%25/gi, \"%\");\n\t\tif (e === t) return !1;\n\t\tt = e;\n\t}\n\treturn /%(?:00|0a|0d|2f|5c)/i.test(t);\n}\n//#endregion\n//#region src/storefront/helpers.ts\nfunction h(e, t) {\n\tif (!(typeof e != \"string\" || !e || e.trim() !== e || /[\\u0000-\\u0020\\u007f]/.test(e)) && !(e.includes(\"\\\\\") || /^\\/{2,}/.test(e) || /%(?:00|0a|0d)/i.test(e))) try {\n\t\tif (/^[A-Za-z][A-Za-z\\d+.-]*:/.test(e)) return ot(e);\n\t\tlet n = new URL(\"https://placeholder.invalid\");\n\t\tif (e.startsWith(\"?\")) {\n\t\t\tlet t = new URL(e, n);\n\t\t\treturn `${t.search}${t.hash}`;\n\t\t}\n\t\tif (e.startsWith(\"#\")) return new URL(e, n).hash;\n\t\tif (e.startsWith(\"/\")) {\n\t\t\tlet t = new URL(e, n);\n\t\t\treturn `${t.pathname}${t.search}${t.hash}`;\n\t\t}\n\t\tlet r = st(t ?? g());\n\t\tif (!r) return;\n\t\tlet i = new URL(e, r), a = i.protocol === \"https:\" || i.protocol === \"http:\", o = !!(i.username || i.password) || /^https?:\\/\\/[^/?#]*@/i.test(e);\n\t\treturn a && !o && i.origin === r.origin ? `${i.pathname}${i.search}${i.hash}` : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction g() {\n\treturn typeof window > \"u\" ? void 0 : window.location.href;\n}\nfunction Qe(e, t = g()) {\n\treturn h(e ?? \"/login\", t) ?? \"/login\";\n}\nvar $e = \"returnTo\", et = \"https://cedros.invalid\";\nfunction tt(e, t = g()) {\n\tlet n = Qe(e, t);\n\tif (!t) return n;\n\ttry {\n\t\tlet e = new URL(t), r = p(`${e.pathname}${e.search}${e.hash}`);\n\t\tif (!r) return n;\n\t\tlet i = n.startsWith(\"/\"), a = new URL(n, i ? et : void 0);\n\t\treturn !i && a.origin !== e.origin || a.searchParams.has($e) ? n : (a.searchParams.set($e, r), i ? `${a.pathname}${a.search}${a.hash}` : a.href);\n\t} catch {\n\t\treturn n;\n\t}\n}\nfunction nt(e) {\n\ttypeof window < \"u\" && window.location.assign(tt(e));\n}\nfunction rt(e) {\n\tconsole.warn(\"[cedros] Blocked unsafe adapter navigation\", { operation: e });\n}\nfunction it(e) {\n\tconsole.warn(\"[cedros] Adapter navigation failed\", { operation: e });\n}\nfunction at(e, t, n, r = g()) {\n\tlet i = h(e, r);\n\tif (!i) return rt(t), \"blocked\";\n\tlet a = n ?? (typeof window > \"u\" ? void 0 : (e) => window.location.assign(e));\n\tif (!a) return \"unavailable\";\n\ttry {\n\t\treturn a(i), \"navigated\";\n\t} catch {\n\t\treturn it(t), \"failed\";\n\t}\n}\nfunction ot(e) {\n\tif (!/^https?:\\/\\//i.test(e)) return;\n\tlet t = new URL(e), n = t.protocol === \"https:\" || t.protocol === \"http:\", r = !!(t.username || t.password) || /^https?:\\/\\/[^/?#]*@/i.test(e);\n\treturn n && t.hostname && !r ? t.href : void 0;\n}\nfunction st(e) {\n\tif (!(!e || e.trim() !== e || /[\\u0000-\\u0020\\u007f\\\\]/.test(e)) && !(!/^https?:\\/\\//i.test(e) || /%(?:00|0a|0d)/i.test(e))) try {\n\t\tlet t = new URL(e);\n\t\tif (!ot(e)) return;\n\t\tlet n = g();\n\t\treturn n && new URL(n).origin !== t.origin ? void 0 : t;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction ct(e) {\n\treturn !e || typeof e != \"string\" ? [] : e.split(\",\").map((e) => e.trim()).filter(Boolean);\n}\nfunction lt(e) {\n\tlet t;\n\ttry {\n\t\tt = new Intl.NumberFormat(e).formatToParts(12345.6);\n\t} catch {\n\t\tt = new Intl.NumberFormat(\"en\").formatToParts(12345.6);\n\t}\n\treturn {\n\t\tgroup: t.find((e) => e.type === \"group\")?.value ?? \",\",\n\t\tdecimal: t.find((e) => e.type === \"decimal\")?.value ?? \".\"\n\t};\n}\nfunction ut(e, t) {\n\tlet { group: n, decimal: r } = lt(t), i = e.trim().replace(/\\s/g, \"\"), a = (/\\s/.test(n) ? i : i.split(n).join(\"\")).split(r).join(\".\");\n\treturn a === \"\" ? NaN : Number(a);\n}\nfunction dt(e, t) {\n\ttry {\n\t\treturn new Intl.NumberFormat(t, {\n\t\t\tuseGrouping: !1,\n\t\t\tmaximumFractionDigits: 20\n\t\t}).format(e);\n\t} catch {\n\t\treturn String(e);\n\t}\n}\n//#endregion\n//#region src/i18n/messages.admin.ts\nvar ft = {\n\t\"admin.storefront.imagePositioning\": \"Image positioning\",\n\t\"admin.storefront.howItWorks\": \"How it works\",\n\t\"admin.storefront.collectionsSummary\": \"Offer shoppers shortcuts into your catalog by category, tag, or search.\",\n\t\"admin.storefront.bundlesSummary\": \"Group complementary products so shoppers can add them together.\",\n\t\"admin.auth.ownerRequired\": \"Cedros couldn't tell which account or organization these storefront settings belong to. Sign in again or reload the page.\",\n\t\"admin.nav.storefront\": \"Storefront\",\n\t\"admin.auth.tokenRequired\": \"An authenticated admin token is required.\",\n\t\"admin.auth.loginRequired\": \"The Cedros Login service is required to manage the shop.\",\n\t\"admin.auth.sessionUnavailable\": \"Your sign-in details aren't available\",\n\t\"admin.auth.signIn\": \"Cedros couldn't read your sign-in session. Sign in again or reload the page to manage the shop.\",\n\t\"admin.dialog.close\": \"Close dialog\",\n\t\"admin.dialog.cannotUndo\": \"This can't be undone.\",\n\t\"admin.analytics.missingBridgeTitle\": \"Commerce analytics is not connected\",\n\t\"admin.analytics.missingBridgeDescription\": \"Sales metrics appear here when Cedros Pay reporting is available on your site.\",\n\t\"admin.analytics.emptyMetrics\": \"No aggregate metrics are available for this period.\",\n\t\"admin.analytics.cardTitle\": \"Commerce analytics\",\n\t\"admin.analytics.cardLoading\": \"Loading commerce analytics…\",\n\t\"admin.analytics.cardError\": \"Cedros couldn't load commerce analytics. Try again.\",\n\t\"admin.analytics.metricUnlabelled\": \"Unlabelled metric\",\n\t\"admin.analytics.cardAction\": \"Open analytics\",\n\t\"admin.analytics.cardActionUnavailable\": \"Full analytics isn't available on this site yet.\",\n\t\"admin.analytics.cardRecovery\": \"{count, plural, one {# checkout needs recovery} other {# checkouts need recovery}}\",\n\t\"admin.analytics.cardRecoveryAtLeast\": \"{count, plural, one {#+ checkout needs recovery} other {#+ checkouts need recovery}}\",\n\t\"admin.analytics.cardBasis\": \"{range} · Updated {time}\",\n\t\"admin.analytics.cardUpdated\": \"Updated {time}\",\n\t\"admin.analytics.refreshFailed\": \"Couldn't refresh. Showing the last update.\",\n\t\"admin.analytics.stale\": \"Stale\",\n\t\"admin.analytics.comparisonUnavailable\": \"Comparison unavailable\",\n\t\"admin.analytics.periodUnavailable\": \"Reporting period unavailable\",\n\t\"admin.analytics.updateTimeUnavailable\": \"Update time unavailable\",\n\t\"admin.error.save\": \"Could not save {resource}. Your changes are still here — try again.\",\n\t\"admin.storefront.description\": \"See what shoppers can access, then shape the storefront experience.\",\n\t\"admin.storefront.loading\": \"Loading storefront settings…\",\n\t\"admin.storefront.loadErrorTitle\": \"Cedros couldn't load storefront settings\",\n\t\"admin.storefront.loadErrorDescription\": \"Your saved settings are safe. Try again before editing.\",\n\t\"admin.storefront.loadErrorCause\": \"Cause: {cause}\",\n\t\"admin.storefront.loadErrorReason.permissionDenied\": \"You don't have permission to manage the shop.\",\n\t\"admin.storefront.loadErrorReason.unauthorized\": \"Your session has ended. Sign in again.\",\n\t\"admin.storefront.loadErrorReason.csrfRequired\": \"Your session couldn't be verified. Reload the page and try again.\",\n\t\"admin.storefront.loadErrorReason.notFound\": \"Cedros Shop isn't available on this site. Check that the extension is installed and turned on.\",\n\t\"admin.storefront.loadErrorReason.serverError\": \"The Cedros server couldn't return your settings. Try again in a moment.\",\n\t\"admin.storefront.loadErrorReason.timeout\": \"The request took too long. Check your connection and try again.\",\n\t\"admin.storefront.loadErrorReason.connection\": \"Cedros couldn't be reached. Check your connection and try again.\",\n\t\"admin.storefront.unsavedChanges\": \"Unsaved changes\",\n\t\"admin.storefront.autosaveError\": \"Couldn't save\",\n\t\"admin.storefront.autosaveSavedJustNow\": \"Saved just now\",\n\t\"admin.storefront.autosaveSaved\": \"Saved\",\n\t\"admin.storefront.autosaveOffline\": \"Offline — changes will sync\",\n\t\"admin.storefront.autosaveConflict\": \"Conflict — review changes\",\n\t\"admin.storefront.autosaveFailed\": \"Save failed — retry\",\n\t\"admin.storefront.saveRejected.countries\": \"Couldn't save: a market can have at most {max, number} countries. Remove some, then retry.\",\n\t\"admin.storefront.saveRejected.languages\": \"Couldn't save: a market can have at most {max, number} languages. Remove some, then retry.\",\n\t\"admin.storefront.saveRejected.products\": \"Couldn't save: a market can list at most {max, number} products. Remove some, then retry.\",\n\t\"admin.storefront.saveRejected.reload\": \"Couldn't save: your latest change wasn't accepted. Reload the latest settings, then make it again.\",\n\t\"admin.storefront.saveRejected.rateLimited\": \"Couldn't save yet: too many saves in a short time. Wait a moment, then retry.\",\n\t\"admin.storefront.autosaveRateLimited\": \"Saving paused — retrying shortly\",\n\t\"admin.storefront.saveRejected.generic\": \"Couldn't save: some settings weren't accepted. Check your latest change, then retry.\",\n\t\"admin.storefront.saveRejected.tooLarge\": \"Couldn't save: storefront settings are too large. Remove some bundles, collections, or markets, or shorten long descriptions.\",\n\t\"admin.storefront.saveRejected.unauthorized\": \"Couldn't save: your session has ended. Sign in again.\",\n\t\"admin.storefront.saveRejected.permissionDenied\": \"Couldn't save: you don't have permission to manage the shop.\",\n\t\"admin.storefront.saveRejected.csrfRequired\": \"Couldn't save: your session couldn't be verified. Reload the page and try again.\",\n\t\"admin.storefront.reloadPage\": \"Reload page\",\n\t\"admin.storefront.conflictRecoveryHelp\": \"Reload discards this draft. Reapply preserves it on top of the latest saved settings.\",\n\t\"admin.storefront.reloadLatest\": \"Reload latest\",\n\t\"admin.storefront.reapplyChanges\": \"Reapply my changes\",\n\t\"admin.storefront.conflictRecoveryFailed\": \"Couldn't refresh the latest settings. Your draft is still safe.\",\n\t\"admin.storefront.savedExceptIssues\": \"{count, plural, one {Saved · # item needs attention and isn't saved} other {Saved · # items need attention and aren't saved}}\",\n\t\"admin.storefront.issuesNotSaved\": \"{count, plural, one {# item needs attention and isn't saved} other {# items need attention and aren't saved}}\",\n\t\"admin.storefront.tabIssues\": \"{count, plural, one {# issue needs attention} other {# issues need attention}}\",\n\t\"admin.storefront.tabsLabel\": \"Storefront settings\",\n\t\"admin.storefront.storefrontVisibility\": \"Public storefront\",\n\t\"admin.storefront.enabledHelp\": \"When off, the public shop, category, and product pages show an \\\"unavailable\\\" notice instead of the catalog.\",\n\t\"admin.storefront.presaleMode\": \"Presale mode\",\n\t\"admin.storefront.presaleModeHelp\": \"Sell from a purchase-first landing page while the rest of the site stays hidden.\",\n\t\"admin.storefront.presaleModeHostRequired\": \"Presale mode isn't available on this site yet.\",\n\t\"admin.storefront.presaleModeLoading\": \"Checking the current site mode…\",\n\t\"admin.storefront.presaleModeUpdating\": \"Switching the public site mode…\",\n\t\"admin.storefront.presaleModeUnavailable\": \"Presale mode is unavailable: {requirements}.\",\n\t\"admin.storefront.presaleModeRequirements\": \"Cedros Login, Cedros Pay, and Cedros Shop must be installed and set up\",\n\t\"admin.storefront.presaleModeError\": \"Presale mode couldn't be loaded or updated.\",\n\t\"admin.storefront.presaleModeRefreshFailed\": \"Site mode switched. Cedros couldn't refresh the latest state — reload the page to confirm.\",\n\t\"admin.storefront.presaleModeLoadError\": \"Couldn't check the current site mode, so presale mode can't be changed. Try again.\",\n\t\"admin.storefront.presaleConfirmOnTitle\": \"Turn on presale mode?\",\n\t\"admin.storefront.presaleConfirmOnImpact\": \"Your public site switches to a purchase-first presale page.\",\n\t\"admin.storefront.presaleConfirmOnHidden\": \"Other pages are hidden from visitors until you turn presale mode off.\",\n\t\"admin.storefront.presaleConfirmOn\": \"Turn on presale mode\",\n\t\"admin.storefront.hideConfirmTitle\": \"Hide your shop?\",\n\t\"admin.storefront.hideConfirmImpact\": \"Shoppers can't browse products or start a new checkout until you show the shop again.\",\n\t\"admin.storefront.hideConfirmSearch\": \"Shop pages leave search results and the sitemap while hidden.\",\n\t\"admin.storefront.hideConfirm\": \"Hide shop\",\n\t\"admin.storefront.presaleConfirmOffTitle\": \"Turn off presale mode?\",\n\t\"admin.storefront.presaleConfirmOffImpact\": \"Your full public site becomes visible to visitors again.\",\n\t\"admin.storefront.presaleConfirmOff\": \"Turn off presale mode\",\n\t\"admin.storefront.tabs.overview\": \"Overview\",\n\t\"admin.storefront.tabs.shopPage\": \"Shop page\",\n\t\"admin.storefront.tabs.productPages\": \"Product pages\",\n\t\"admin.storefront.tabs.checkout\": \"Checkout\",\n\t\"admin.storefront.tabs.subscriptions\": \"Subscriptions\",\n\t\"admin.storefront.tabs.merchandising\": \"Merchandising\",\n\t\"admin.storefront.tabs.markets\": \"Markets\",\n\t\"admin.storefront.overview.statusTitle\": \"Storefront status\",\n\t\"admin.storefront.overview.statusLive\": \"Live\",\n\t\"admin.storefront.overview.statusHidden\": \"Hidden\",\n\t\"admin.storefront.overview.statusBlocked\": \"Live — can't sell\",\n\t\"admin.storefront.overview.statusChecking\": \"Checking…\",\n\t\"admin.storefront.overview.statusPublishing\": \"Publishing…\",\n\t\"admin.storefront.overview.statusHiding\": \"Hiding…\",\n\t\"admin.storefront.overview.statusPublishFailed\": \"Not published — couldn't save\",\n\t\"admin.storefront.overview.statusHideFailed\": \"Not hidden — couldn't save\",\n\t\"admin.storefront.overview.rowProducts\": \"Products\",\n\t\"admin.storefront.overview.rowPayments\": \"Payments\",\n\t\"admin.storefront.overview.rowCheckout\": \"Checkout\",\n\t\"admin.storefront.overview.rowMerchandising\": \"Merchandising\",\n\t\"admin.storefront.overview.rowMarkets\": \"Markets\",\n\t\"admin.storefront.overview.catalogChecking\": \"Checking…\",\n\t\"admin.storefront.overview.catalogError\": \"Couldn't check\",\n\t\"admin.storefront.overview.catalogEmpty\": \"None available\",\n\t\"admin.storefront.overview.catalogCount\": \"{count, number} available\",\n\t\"admin.storefront.overview.catalogCountTruncated\": \"{count, number}+ available\",\n\t\"admin.storefront.overview.paymentUnknown\": \"Not verified\",\n\t\"admin.storefront.overview.paymentUnavailable\": \"None available\",\n\t\"admin.storefront.overview.paymentCount\": \"{count, plural, one {# method available} other {# methods available}}\",\n\t\"admin.storefront.overview.guestCheckout\": \"Guest checkout allowed\",\n\t\"admin.storefront.overview.accountRequired\": \"Account required\",\n\t\"admin.storefront.overview.collectionCount\": \"{count, plural, one {# collection} other {# collections}}\",\n\t\"admin.storefront.overview.bundleCount\": \"{count, plural, one {# bundle} other {# bundles}}\",\n\t\"admin.storefront.overview.merchandisingNone\": \"Nothing published yet\",\n\t\"admin.storefront.overview.marketsCount\": \"{count, plural, one {# regional market} other {# regional markets}}\",\n\t\"admin.storefront.overview.marketsNone\": \"Home market only\",\n\t\"admin.storefront.overview.viewShop\": \"View storefront\",\n\t\"admin.storefront.overview.manageCatalog\": \"Manage products in Cedros Pay\",\n\t\"admin.storefront.overview.edit\": \"Edit\",\n\t\"admin.storefront.overview.editSection\": \"Edit {section} settings\",\n\t\"admin.storefront.overview.configurePayments\": \"Configure payments in Cedros Pay\",\n\t\"admin.storefront.overview.setupTitle\": \"Open your storefront.\",\n\t\"admin.storefront.overview.setupBody\": \"Shoppers need one product they can buy and one way to pay for it.\",\n\t\"admin.storefront.overview.setupReadyTitle\": \"You're ready to open.\",\n\t\"admin.storefront.overview.setupReadyBody\": \"Products and payments are in place. Make the storefront visible when you want shoppers in.\",\n\t\"admin.storefront.overview.setupSteps\": \"Steps to open the storefront\",\n\t\"admin.storefront.overview.stepProducts\": \"Add a product in Cedros Pay\",\n\t\"admin.storefront.overview.stepPayments\": \"Turn on a payment method in Cedros Pay\",\n\t\"admin.storefront.overview.stepVisible\": \"Make the storefront visible\",\n\t\"admin.storefront.overview.stepDone\": \"Done\",\n\t\"admin.storefront.overview.stepTodo\": \"Not done yet\",\n\t\"admin.storefront.overview.addProducts\": \"Add products in Cedros Pay\",\n\t\"admin.storefront.overview.makeVisible\": \"Make storefront visible\",\n\t\"admin.storefront.overview.setupNoPayAdmin\": \"Cedros Pay admin is not available from here — open Cedros Pay to finish these steps.\",\n\t\"admin.storefront.overview.blockedTitle\": \"Shoppers can't complete a purchase.\",\n\t\"admin.storefront.overview.blockedNoProducts\": \"No product in the Cedros Pay catalog is available to buy.\",\n\t\"admin.storefront.overview.blockedNoPayments\": \"No payment method is available at checkout.\",\n\t\"admin.storefront.overview.blockedCatalogUnknown\": \"Cedros couldn't reach the Cedros Pay catalog to confirm products are available.\",\n\t\"admin.storefront.overview.unverifiedTitle\": \"Cedros couldn't check your catalog.\",\n\t\"admin.storefront.overview.unverifiedBody\": \"Your storefront is unchanged. Try again to confirm shoppers can buy.\",\n\t\"admin.storefront.overview.launchBlockedHelp\": \"Add a product and turn on a payment method first.\",\n\t\"admin.storefront.overview.launchCheckingHelp\": \"Checking your catalog…\",\n\t\"admin.storefront.overview.catalogUnverifiedHelp\": \"Cedros couldn't check your Cedros Pay catalog. Make sure it has a product shoppers can buy once the storefront is visible.\",\n\t\"admin.storefront.overview.launchUnverifiedHelp\": \"Cedros couldn't check your products or payments in Cedros Pay. Make sure shoppers can buy and pay once the storefront is visible.\",\n\t\"admin.storefront.overview.paymentsUnverifiedHelp\": \"Cedros couldn't confirm payments are set up in Cedros Pay. Check Cedros Pay so shoppers can pay once the storefront is visible.\",\n\t\"admin.storefront.pageTitle\": \"Page title\",\n\t\"admin.storefront.pageDescription\": \"Page description\",\n\t\"admin.storefront.pageDescriptionHelp\": \"Shown under the shop page title.\",\n\t\"admin.storefront.tagsFilter\": \"Tags filter\",\n\t\"admin.storefront.priceRangeFilter\": \"Price range filter\",\n\t\"admin.storefront.inStockFilter\": \"In-stock filter\",\n\t\"admin.storefront.shopLayout\": \"Shop layout\",\n\t\"admin.storefront.categoryLayout\": \"Category layout\",\n\t\"admin.storefront.imageCrop\": \"Shop image crop\",\n\t\"admin.storefront.categoryImageCrop\": \"Category image crop\",\n\t\"admin.storefront.relatedLayout\": \"Related products layout\",\n\t\"admin.storefront.relatedImageCrop\": \"Related image crop\",\n\t\"admin.storefront.relatedMode\": \"Related products mode\",\n\t\"admin.storefront.relatedManualHelp\": \"Shows the related products you've listed on each product in your Cedros Pay catalog.\",\n\t\"admin.storefront.relatedAiHelp\": \"An AI model reviews each product against your catalog and picks the most relevant matches. Falls back to recent products when AI curation is unavailable.\",\n\t\"admin.storefront.maxRelatedItems\": \"Max related items\",\n\t\"admin.storefront.maxRelatedItemsHelp\": \"1–12 products.\",\n\t\"admin.storefront.showDescription\": \"Show description\",\n\t\"admin.storefront.showSpecs\": \"Show specs\",\n\t\"admin.storefront.showRelated\": \"Show related products\",\n\t\"admin.storefront.preCheckoutVerification\": \"Pre-checkout inventory verification\",\n\t\"admin.storefront.preCheckoutVerificationHelp\": \"Re-checks stock when checkout starts and blocks unavailable items.\",\n\t\"admin.storefront.card.subscriptionCompletion\": \"Subscription completion\",\n\t\"admin.storefront.card.subscriptionCompletionHelp\": \"Choose where signed-in customers continue after a subscription succeeds.\",\n\t\"admin.storefront.subscriptionSuccessPath\": \"After subscription success\",\n\t\"admin.storefront.subscriptionSuccessPathHelp\": \"Customers return to this page after subscribing. Use a path on this site, such as /subscribe.\",\n\t\"admin.storefront.subscriptionSuccessPathError\": \"Enter a page on this site that starts with /, such as /welcome. Full web addresses and links to other sites can't be used.\",\n\t\"admin.storefront.collections\": \"Collections\",\n\t\"admin.storefront.collectionsHelp\": \"Curated groups of products that match conditions you set — by tag, category, or search. Turn on Show on shop page to offer a collection as a quick filter shoppers can browse on your site. The mobile app shows your full catalog without collections.\",\n\t\"admin.storefront.addCollection\": \"Add collection\",\n\t\"admin.storefront.collectionsEmptyTitle\": \"No collections yet\",\n\t\"admin.storefront.collectionsEmptyBody\": \"Curate quick filters for your shop.\",\n\t\"admin.storefront.bundles\": \"Bundles\",\n\t\"admin.storefront.bundlesHelp\": \"Hand-picked sets of products sold together. Choose the exact products in each bundle; visible bundles appear on your site's shop page, and featured ones are shown first. The mobile app doesn't show bundles.\",\n\t\"admin.storefront.addBundle\": \"Add bundle\",\n\t\"admin.storefront.bundlesEmptyTitle\": \"No bundles yet\",\n\t\"admin.storefront.bundlesEmptyBody\": \"Sell hand-picked products together.\",\n\t\"admin.storefront.untitledCollection\": \"Untitled collection\",\n\t\"admin.storefront.untitledBundle\": \"Untitled bundle\",\n\t\"admin.storefront.newCollection\": \"New collection\",\n\t\"admin.storefront.newBundle\": \"New bundle\",\n\t\"admin.storefront.collectionTitle\": \"Collection title\",\n\t\"admin.storefront.bundleTitle\": \"Bundle title\",\n\t\"admin.storefront.ruleType\": \"Condition type\",\n\t\"admin.storefront.ruleValue\": \"Condition value\",\n\t\"admin.storefront.collectionSort\": \"Collection sort\",\n\t\"admin.storefront.conditions\": \"Conditions\",\n\t\"admin.storefront.conditionsHelp\": \"Show products that match all of these conditions.\",\n\t\"admin.storefront.conditionsEmpty\": \"No conditions yet — this collection won't filter the catalog.\",\n\t\"admin.storefront.addCondition\": \"Add condition\",\n\t\"admin.storefront.removeCondition\": \"Remove condition\",\n\t\"admin.storefront.deleteCollection\": \"Delete collection\",\n\t\"admin.storefront.deleteBundle\": \"Delete bundle\",\n\t\"admin.storefront.deleteMarket\": \"Delete market\",\n\t\"admin.storefront.deleteNamed\": \"Delete {name}?\",\n\t\"admin.storefront.deleteCollectionImpact\": \"The collection is removed from storefront merchandising.\",\n\t\"admin.storefront.deleteBundleImpact\": \"The bundle is removed from storefront merchandising.\",\n\t\"admin.storefront.deleteMarketImpact\": \"The market and its regional storefront settings are deleted.\",\n\t\"admin.storefront.deleteProductsRemain\": \"Products remain in your catalog.\",\n\t\"admin.storefront.deletePrimaryUnchanged\": \"Your primary market remains unchanged.\",\n\t\"admin.storefront.manualConditionNote\": \"Curated in the catalog — no condition value needed.\",\n\t\"admin.storefront.conditionPlaceholder.category\": \"Category name as in its shop page URL, e.g. summer-shoes\",\n\t\"admin.storefront.conditionPlaceholder.tag\": \"Tag\",\n\t\"admin.storefront.conditionPlaceholder.search\": \"Search query\",\n\t\"admin.storefront.itemDescription\": \"Description\",\n\t\"admin.storefront.bundleProducts\": \"Products\",\n\t\"admin.storefront.bundleProductsHelp\": \"Search your catalog and select the products in this bundle.\",\n\t\"admin.storefront.bundleProductsPlaceholder\": \"Add products…\",\n\t\"admin.storefront.bundleProductsLoading\": \"Loading products from your catalog…\",\n\t\"admin.storefront.bundleProductsError\": \"Couldn't load your catalog.\",\n\t\"admin.storefront.productNotInCatalog\": \"Product no longer in your catalog\",\n\t\"admin.storefront.productUnavailable\": \"Product details unavailable\",\n\t\"admin.storefront.bundleProductsTruncated\": \"Showing your first {count} products. Your catalog is larger than the picker can list, so some products may not appear here.\",\n\t\"admin.storefront.visible\": \"Visible\",\n\t\"admin.storefront.featured\": \"Featured\",\n\t\"admin.storefront.showOnShopPage\": \"Show on shop page\",\n\t\"admin.storefront.rule.category\": \"Category\",\n\t\"admin.storefront.rule.tag\": \"Tag\",\n\t\"admin.storefront.rule.search\": \"Search\",\n\t\"admin.storefront.rule.manual\": \"Hand-picked products\",\n\t\"admin.storefront.sort.featured\": \"Featured\",\n\t\"admin.storefront.sort.priceAsc\": \"Price: low to high\",\n\t\"admin.storefront.sort.priceDesc\": \"Price: high to low\",\n\t\"admin.storefront.marketRoutingCard\": \"Routing\",\n\t\"admin.storefront.marketsHelp\": \"Sell to different regions with their own currency, language, and available products. Cedros Pay still calculates the final tax, duties, and totals at checkout.\",\n\t\"admin.storefront.marketsEnabled\": \"Enable markets\",\n\t\"admin.storefront.marketsEnabledHelp\": \"When on, shoppers are matched to the market for their country, domain, or language. When off, every shopper sees your standard storefront without market-specific currency, languages, or product availability.\",\n\t\"admin.storefront.primaryMarket\": \"Primary market\",\n\t\"admin.storefront.primaryMarketHelp\": \"Your home market. It's always active and can't be removed.\",\n\t\"admin.storefront.primaryMarketRoutingOff\": \"Turn on markets to customize currency, languages, and product availability per region.\",\n\t\"admin.storefront.primaryBadge\": \"Base\",\n\t\"admin.storefront.marketsRoutingOffNote\": \"Routing is off — these markets aren't applied yet.\",\n\t\"admin.storefront.defaultMarket\": \"Default market\",\n\t\"admin.storefront.defaultMarketHelp\": \"Used for shoppers who don't match a region. Usually your primary market.\",\n\t\"admin.storefront.defaultMarketInactive\": \"This market is inactive, so shoppers who can't be matched to a region see your primary market instead. Turn it on or choose an active market.\",\n\t\"admin.storefront.marketInactiveOption\": \"{name} (inactive)\",\n\t\"admin.storefront.marketActive\": \"Active\",\n\t\"admin.storefront.marketNameHelp\": \"A label for your reference — shoppers don't see it.\",\n\t\"admin.storefront.marketRegionGroup\": \"Region & language\",\n\t\"admin.storefront.marketSellingGroup\": \"Products & checkout\",\n\t\"admin.storefront.marketAdvanced\": \"Advanced\",\n\t\"admin.storefront.countriesHelp\": \"Shoppers in these countries see this market.\",\n\t\"admin.storefront.moreTargets\": \"{count} more\",\n\t\"admin.storefront.marketCurrencyUnavailable\": \"Needs attention — no products are priced in {currency}.\",\n\t\"admin.storefront.marketNeedsAttention\": \"Needs attention — review the incomplete market settings.\",\n\t\"admin.storefront.allCountries\": \"All countries\",\n\t\"admin.storefront.countriesPlaceholder\": \"Add countries…\",\n\t\"admin.storefront.currencyHelp\": \"Shoppers in this market see only products priced in this currency. Prices aren't converted.\",\n\t\"admin.storefront.currencyPlaceholder\": \"Select a currency\",\n\t\"admin.storefront.languagesHelp\": \"Match shoppers browsing in these languages.\",\n\t\"admin.storefront.languagesPlaceholder\": \"Add languages…\",\n\t\"admin.storefront.marketAvailabilityHelp\": \"Choose which products this market can buy.\",\n\t\"admin.storefront.marketProductIdsHelp\": \"Search your catalog and choose the products this rule applies to.\",\n\t\"admin.storefront.marketHostHelp\": \"Optional. Shoppers who visit your site on this domain are matched to this market.\",\n\t\"admin.storefront.marketHostPlaceholder\": \"example.fr\",\n\t\"admin.storefront.pathPrefixHelp\": \"Optional. Shoppers who visit pages under this path are matched to this market.\",\n\t\"admin.storefront.pathPrefixPlaceholder\": \"/eu\",\n\t\"admin.storefront.removeSelection\": \"Remove {item}\",\n\t\"admin.storefront.selectedCount\": \"{count, plural, one {# selected} other {# selected}}\",\n\t\"admin.storefront.selectionUnavailable\": \"No longer available\",\n\t\"admin.storefront.countryUnavailable\": \"Country no longer supported\",\n\t\"admin.storefront.languageUnavailable\": \"Language no longer supported\",\n\t\"admin.storefront.searchSelection\": \"Search {field}\",\n\t\"admin.storefront.noMatches\": \"No matches — try a different term.\",\n\t\"admin.storefront.moreMatches\": \"Showing the first {shown} of {total}. Keep typing to narrow.\",\n\t\"admin.storefront.addMarket\": \"Add market\",\n\t\"admin.storefront.newMarket\": \"New market\",\n\t\"admin.storefront.untitledMarket\": \"Untitled market\",\n\t\"admin.storefront.marketName\": \"Market name\",\n\t\"admin.storefront.countries\": \"Countries\",\n\t\"admin.storefront.currency\": \"Currency\",\n\t\"admin.storefront.languages\": \"Languages\",\n\t\"admin.storefront.marketHost\": \"Dedicated domain\",\n\t\"admin.storefront.pathPrefix\": \"URL path\",\n\t\"admin.storefront.marketAvailability\": \"Product availability\",\n\t\"admin.storefront.marketProductIds\": \"Products\",\n\t\"admin.storefront.availability.all\": \"All products\",\n\t\"admin.storefront.availability.include\": \"Only specific products\",\n\t\"admin.storefront.availability.exclude\": \"All except specific products\",\n\t\"admin.storefront.related.mostRecent\": \"Most recent\",\n\t\"admin.storefront.related.byCategory\": \"By category\",\n\t\"admin.storefront.related.aiCurated\": \"AI curated\",\n\t\"admin.storefront.related.manual\": \"Manual selection\",\n\t\"admin.storefront.layout.large\": \"Large\",\n\t\"admin.storefront.layout.square\": \"Square\",\n\t\"admin.storefront.layout.compact\": \"Compact\",\n\t\"admin.storefront.crop.center\": \"Center\",\n\t\"admin.storefront.crop.top\": \"Top\",\n\t\"admin.storefront.crop.bottom\": \"Bottom\",\n\t\"admin.storefront.crop.left\": \"Left\",\n\t\"admin.storefront.crop.right\": \"Right\",\n\t\"admin.storefront.card.shopPage\": \"Shop landing page\",\n\t\"admin.storefront.card.shopPageHelp\": \"The title and intro shown at the top of your public shop.\",\n\t\"admin.storefront.card.catalogFilters\": \"Catalog filters\",\n\t\"admin.storefront.card.catalogFiltersHelp\": \"Choose which filters shoppers can use to narrow the catalog.\",\n\t\"admin.storefront.card.sortOptions\": \"Sort options\",\n\t\"admin.storefront.card.sortOptionsHelp\": \"Choose which sort orders shoppers can pick. If you turn them all off, the catalog shows in Featured order.\",\n\t\"admin.storefront.card.paySetup\": \"Cedros Pay setup\",\n\t\"admin.storefront.card.paySetupHelp\": \"Set up promotions, tax, and shipping in Cedros Pay. Checkout uses those settings.\",\n\t\"admin.storefront.openPayPromotions\": \"Open Cedros Pay catalog\",\n\t\"admin.storefront.openPayTaxShipping\": \"Manage tax and shipping in Cedros Pay\",\n\t\"admin.storefront.card.productGrids\": \"Product grids\",\n\t\"admin.storefront.card.productGridsHelp\": \"Card size and image cropping for the shop and category grids.\",\n\t\"admin.storefront.card.productDetails\": \"Product detail page\",\n\t\"admin.storefront.card.productDetailsHelp\": \"Choose which sections appear on every product page.\",\n\t\"admin.storefront.card.relatedProducts\": \"Related products\",\n\t\"admin.storefront.card.relatedProductsHelp\": \"Suggest more products at the bottom of each product page.\",\n\t\"admin.storefront.card.inventory\": \"Inventory\",\n\t\"admin.storefront.card.inventoryHelp\": \"How stock is checked when shoppers start checkout.\",\n\t\"admin.storefront.card.accounts\": \"Accounts\",\n\t\"admin.storefront.card.accountsHelp\": \"Decide whether shoppers need an account to place an order.\",\n\t\"admin.storefront.guestCheckout\": \"Guest checkout\",\n\t\"admin.storefront.guestCheckoutHelp\": \"Let shoppers check out without an account. When off, they must sign in to place an order.\",\n\t\"admin.storefront.relatedSelection\": \"Selection mode\",\n\t\"admin.storefront.errors.ruleValueRequired\": \"Enter a value or remove this condition.\",\n\t\"admin.storefront.errors.duplicateRule.category\": \"A collection can match only one category. Remove this condition or change its type — until then, these changes aren't saved.\",\n\t\"admin.storefront.errors.duplicateRule.search\": \"A collection can match only one search term. Remove this condition or change its type — until then, these changes aren't saved.\",\n\t\"admin.storefront.itemStatus.shown\": \"Shown on storefront\",\n\t\"admin.storefront.itemStatus.turnOnVisible\": \"Not shown: turn on Visible\",\n\t\"admin.storefront.itemStatus.turnOnShowOnShopPage\": \"Not shown: turn on Show on shop page\",\n\t\"admin.storefront.itemStatus.addCondition\": \"Not shown: add a condition\",\n\t\"admin.storefront.itemStatus.overCollectionLimit\": \"Not shown: the shop page shows the first 8 collections; move this one up\",\n\t\"admin.storefront.itemStatus.incompleteNew\": \"Incomplete — not saved or shown on the storefront yet\",\n\t\"admin.storefront.itemStatus.incompleteSaved\": \"Incomplete — these changes aren't saved; the storefront keeps the last saved version\",\n\t\"admin.storefront.itemStatus.needsAttentionSaved\": \"Needs attention — the storefront doesn't show this item until it's fixed\",\n\t\"admin.storefront.errors.currencyUnpriced\": \"No products in your catalog are priced in {currency}, so this market's shop pages can't show any products. Your catalog is priced in {catalogCurrency}.\",\n\t\"admin.storefront.errors.productsRequired\": \"Add at least one product to this bundle.\",\n\t\"admin.storefront.errors.titleRequired\": \"Enter a title. Untitled items aren't saved or shown on the storefront.\",\n\t\"admin.storefront.errors.marketNameRequired\": \"Enter a market name. A market without a name isn't saved.\",\n\t\"admin.storefront.errors.countriesLimit\": \"Choose at most {max, number} countries for one market.\",\n\t\"admin.storefront.errors.languagesLimit\": \"Choose at most {max, number} languages for one market.\",\n\t\"admin.storefront.errors.marketProductsRequired\": \"Choose at least one product. Until you do, this market keeps its last saved availability.\",\n\t\"admin.storefront.errors.productsLimit\": \"Choose at most {max, number} products for one market.\"\n}, pt = {\n\tes: {\n\t\t\"storefront.catalog.searchTags\": \"Buscar etiquetas\",\n\t\t\"storefront.catalog.noMatchingTags\": \"No hay etiquetas coincidentes. Prueba otra búsqueda.\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"Introduce precios válidos y no negativos; el mínimo no puede superar al máximo. Este rango no se ha aplicado.\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"No se pudieron cargar los filtros\",\n\t\t\"storefront.catalog.invalidPrice\": \"Introduce un precio válido y no negativo.\",\n\t\t\"storefront.shop.skipToContent\": \"Saltar al contenido\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"No pudimos confirmar este pago aquí. Si ya pagaste, revisa tus pedidos o el correo de confirmación antes de volver a pagar.\",\n\t\t\"storefront.subscription.plansTitle\": \"Comparar planes\",\n\t\t\"storefront.checkout.updatingTotal\": \"Actualizando tu total…\",\n\t\t\"storefront.history.payNowReturned\": \"Estamos confirmando tu pago. Tu pedido se actualizará aquí cuando se confirme.\",\n\t\t\"storefront.checkout.totalChanged\": \"Tu total ahora es {total}. Revísalo y continúa con el pago.\",\n\t\t\"storefront.checkout.resumePayment\": \"Reanudar pago\",\n\t\t\"storefront.checkout.resumeAttempt\": \"Se inició un pago para este pedido, pero no se completó. Elige Reanudar pago para continuar con ese mismo pago.\",\n\t\t\"storefront.checkout.attemptConflict\": \"Aún no se ha confirmado un pago que iniciaste para este pedido. Para continuarlo de forma segura, vuelve a dejar el carrito y los datos de compra como estaban y elige Reanudar pago. Si ya pagaste, revisa tu correo de confirmación. Si no puedes restaurarlos, la compra se desbloquea en un plazo de 3 días, o ponte en contacto con la tienda.\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"Algunos artículos de tu carrito no se pueden enviar a este país. Elige otro país o actualiza tu carrito.\",\n\t\t\"storefront.checkout.restoreAttempt\": \"Un pago anterior sigue sin resolverse. Restaura su carrito y los datos de compra para comprobarlo de forma segura, o utiliza su enlace de retorno verificado. No envíes otro pago.\",\n\t\t\"storefront.cart.pricingNote\": \"Los impuestos y el envío se calculan al finalizar la compra.\",\n\t\t\"storefront.checkout.billingTitle\": \"Facturación\",\n\t\t\"storefront.checkout.selectCountry\": \"Selecciona un país\",\n\t\t\"storefront.checkout.selectRegion\": \"Selecciona un estado o región\",\n\t\t\"storefront.checkout.addTip\": \"Agregar propina\",\n\t\t\"storefront.checkout.hideTip\": \"Quitar propina\",\n\t\t\"storefront.checkout.editCart\": \"Editar carrito\",\n\t\t\"storefront.checkout.lineQuantity\": \"Cant. {count} · {price} c/u\",\n\t\t\"storefront.checkout.showOrderSummary\": \"Mostrar resumen del pedido · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"Ocultar resumen del pedido · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"Gracias — tu pedido está confirmado\",\n\t\t\"storefront.checkout.confirmedOrder\": \"Pedido {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"Tu pago se procesó correctamente y tu pedido está en preparación.\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"Ver historial de compras\",\n\t\t\"storefront.history.purchaseConfirmed\": \"Pago recibido — tu pedido está confirmado.\",\n\t\t\"storefront.toast.continueToCheckout\": \"Continuar al pago\",\n\t\t\"storefront.history.submitReturn\": \"Enviar solicitud de devolución\",\n\t\t\"storefront.history.submitRefund\": \"Enviar solicitud de reembolso\",\n\t\t\"storefront.history.submitExchange\": \"Enviar solicitud de cambio\",\n\t\t\"storefront.history.submitCancel\": \"Enviar solicitud de cancelación\",\n\t\t\"storefront.history.copyOrderNumber\": \"Copiar número de pedido\",\n\t\t\"storefront.history.copyTrackingNumber\": \"Copiar número de seguimiento\",\n\t\t\"storefront.common.copied\": \"Copiado\",\n\t\t\"storefront.common.copyFailed\": \"No se pudo copiar. El texto está seleccionado para que puedas copiarlo.\",\n\t\t\"storefront.history.submittingRequest\": \"Enviando solicitud…\"\n\t},\n\tfr: {\n\t\t\"storefront.catalog.searchTags\": \"Rechercher des étiquettes\",\n\t\t\"storefront.catalog.noMatchingTags\": \"Aucune étiquette correspondante. Essayez une autre recherche.\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"Saisissez des prix valides et positifs ou nuls, avec un minimum inférieur ou égal au maximum. Cette fourchette n’a pas été appliquée.\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"Impossible de charger les filtres\",\n\t\t\"storefront.catalog.invalidPrice\": \"Saisissez un prix valide, positif ou nul.\",\n\t\t\"storefront.shop.skipToContent\": \"Aller au contenu\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"Nous ne pouvons pas confirmer ce paiement ici. Si vous avez déjà payé, vérifiez vos commandes ou votre e-mail de confirmation avant de payer à nouveau.\",\n\t\t\"storefront.subscription.plansTitle\": \"Comparer les offres\",\n\t\t\"storefront.checkout.updatingTotal\": \"Mise à jour de votre total…\",\n\t\t\"storefront.history.payNowReturned\": \"Nous confirmons votre paiement. Votre commande sera mise à jour ici dès sa confirmation.\",\n\t\t\"storefront.checkout.totalChanged\": \"Votre total est maintenant de {total}. Vérifiez-le, puis passez au paiement.\",\n\t\t\"storefront.checkout.resumePayment\": \"Reprendre le paiement\",\n\t\t\"storefront.checkout.resumeAttempt\": \"Un paiement a été lancé pour cette commande mais n’a pas été finalisé. Choisissez Reprendre le paiement pour poursuivre ce même paiement.\",\n\t\t\"storefront.checkout.attemptConflict\": \"Un paiement que vous avez lancé pour cette commande n’a pas encore été confirmé. Pour le poursuivre en toute sécurité, rétablissez votre panier et vos coordonnées tels qu’ils étaient, puis choisissez Reprendre le paiement. Si vous avez déjà payé, consultez votre e-mail de confirmation. Si vous ne pouvez pas les rétablir, le paiement se débloque sous 3 jours, ou contactez la boutique.\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"Certains articles de votre panier ne peuvent pas être livrés dans ce pays. Choisissez un autre pays ou modifiez votre panier.\",\n\t\t\"storefront.checkout.restoreAttempt\": \"Un paiement précédent reste en attente. Rétablissez son panier et ses coordonnées pour le vérifier en toute sécurité, ou utilisez son lien de retour vérifié. Ne lancez pas un autre paiement.\",\n\t\t\"storefront.cart.pricingNote\": \"Les taxes et les frais de livraison sont calculés au moment du paiement.\",\n\t\t\"storefront.checkout.billingTitle\": \"Facturation\",\n\t\t\"storefront.checkout.selectCountry\": \"Sélectionnez un pays\",\n\t\t\"storefront.checkout.selectRegion\": \"Sélectionnez un état ou une région\",\n\t\t\"storefront.checkout.addTip\": \"Ajouter un pourboire\",\n\t\t\"storefront.checkout.hideTip\": \"Retirer le pourboire\",\n\t\t\"storefront.checkout.editCart\": \"Modifier le panier\",\n\t\t\"storefront.checkout.lineQuantity\": \"Qté {count} · {price} chacun\",\n\t\t\"storefront.checkout.showOrderSummary\": \"Afficher le récapitulatif de commande · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"Masquer le récapitulatif de commande · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"Merci — votre commande est confirmée\",\n\t\t\"storefront.checkout.confirmedOrder\": \"Commande {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"Votre paiement a été accepté et votre commande est en cours de préparation.\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"Voir l’historique des achats\",\n\t\t\"storefront.history.purchaseConfirmed\": \"Paiement reçu — votre commande est confirmée.\",\n\t\t\"storefront.toast.continueToCheckout\": \"Passer au paiement\",\n\t\t\"storefront.history.submitReturn\": \"Envoyer la demande de retour\",\n\t\t\"storefront.history.submitRefund\": \"Envoyer la demande de remboursement\",\n\t\t\"storefront.history.submitExchange\": \"Envoyer la demande d’échange\",\n\t\t\"storefront.history.submitCancel\": \"Envoyer la demande d’annulation\",\n\t\t\"storefront.history.copyOrderNumber\": \"Copier le numéro de commande\",\n\t\t\"storefront.history.copyTrackingNumber\": \"Copier le numéro de suivi\",\n\t\t\"storefront.common.copied\": \"Copié\",\n\t\t\"storefront.common.copyFailed\": \"Copie impossible. Le texte est sélectionné pour que vous puissiez le copier.\",\n\t\t\"storefront.history.submittingRequest\": \"Envoi de la demande…\"\n\t},\n\tde: {\n\t\t\"storefront.catalog.searchTags\": \"Tags suchen\",\n\t\t\"storefront.catalog.noMatchingTags\": \"Keine passenden Tags. Versuche einen anderen Suchbegriff.\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"Gib gültige, nicht negative Preise ein. Der Mindestpreis darf den Höchstpreis nicht überschreiten. Dieser Bereich wurde nicht angewendet.\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"Filter konnten nicht geladen werden\",\n\t\t\"storefront.catalog.invalidPrice\": \"Gib einen gültigen, nicht negativen Preis ein.\",\n\t\t\"storefront.shop.skipToContent\": \"Zum Inhalt springen\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"Wir konnten diese Zahlung hier nicht bestätigen. Wenn Sie bereits bezahlt haben, prüfen Sie Ihre Bestellungen oder die Bestätigungs-E-Mail, bevor Sie erneut bezahlen.\",\n\t\t\"storefront.subscription.plansTitle\": \"Tarife vergleichen\",\n\t\t\"storefront.checkout.updatingTotal\": \"Gesamtbetrag wird aktualisiert…\",\n\t\t\"storefront.history.payNowReturned\": \"Wir bestätigen Ihre Zahlung. Ihre Bestellung wird hier aktualisiert, sobald sie bestätigt ist.\",\n\t\t\"storefront.checkout.totalChanged\": \"Ihr Gesamtbetrag beträgt jetzt {total}. Prüfen Sie ihn und fahren Sie dann mit der Zahlung fort.\",\n\t\t\"storefront.checkout.resumePayment\": \"Zahlung fortsetzen\",\n\t\t\"storefront.checkout.resumeAttempt\": \"Für diese Bestellung wurde eine Zahlung begonnen, aber nicht abgeschlossen. Wählen Sie „Zahlung fortsetzen“, um genau diese Zahlung fortzuführen.\",\n\t\t\"storefront.checkout.attemptConflict\": \"Eine Zahlung, die Sie für diese Bestellung begonnen haben, ist noch nicht bestätigt. Um sie sicher fortzusetzen, stellen Sie Warenkorb und Bestelldaten wieder so her, wie sie waren, und wählen Sie dann „Zahlung fortsetzen“. Wenn Sie bereits bezahlt haben, prüfen Sie Ihre Bestätigungs-E-Mail. Falls Sie sie nicht wiederherstellen können, wird der Checkout innerhalb von 3 Tagen freigegeben, oder wenden Sie sich an den Shop.\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"Einige Artikel in Ihrem Warenkorb können nicht in dieses Land versendet werden. Wählen Sie ein anderes Land oder passen Sie Ihren Warenkorb an.\",\n\t\t\"storefront.checkout.restoreAttempt\": \"Eine frühere Zahlung ist noch ungeklärt. Stellen Sie den ursprünglichen Warenkorb und die Bestelldaten wieder her, um sie sicher zu prüfen, oder verwenden Sie den verifizierten Rückkehrlink. Starten Sie keine weitere Zahlung.\",\n\t\t\"storefront.cart.pricingNote\": \"Steuern und Versand werden an der Kasse berechnet.\",\n\t\t\"storefront.checkout.billingTitle\": \"Rechnung\",\n\t\t\"storefront.checkout.selectCountry\": \"Land auswählen\",\n\t\t\"storefront.checkout.selectRegion\": \"Bundesland oder Region auswählen\",\n\t\t\"storefront.checkout.addTip\": \"Trinkgeld hinzufügen\",\n\t\t\"storefront.checkout.hideTip\": \"Trinkgeld entfernen\",\n\t\t\"storefront.checkout.editCart\": \"Warenkorb bearbeiten\",\n\t\t\"storefront.checkout.lineQuantity\": \"Menge {count} · je {price}\",\n\t\t\"storefront.checkout.showOrderSummary\": \"Bestellübersicht anzeigen · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"Bestellübersicht ausblenden · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"Vielen Dank — Ihre Bestellung ist bestätigt\",\n\t\t\"storefront.checkout.confirmedOrder\": \"Bestellung {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"Ihre Zahlung war erfolgreich und Ihre Bestellung wird vorbereitet.\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"Kaufverlauf ansehen\",\n\t\t\"storefront.history.purchaseConfirmed\": \"Zahlung eingegangen — Ihre Bestellung ist bestätigt.\",\n\t\t\"storefront.toast.continueToCheckout\": \"Weiter zur Kasse\",\n\t\t\"storefront.history.submitReturn\": \"Rücksendeanfrage senden\",\n\t\t\"storefront.history.submitRefund\": \"Erstattungsanfrage senden\",\n\t\t\"storefront.history.submitExchange\": \"Umtauschanfrage senden\",\n\t\t\"storefront.history.submitCancel\": \"Stornierungsanfrage senden\",\n\t\t\"storefront.history.copyOrderNumber\": \"Bestellnummer kopieren\",\n\t\t\"storefront.history.copyTrackingNumber\": \"Sendungsnummer kopieren\",\n\t\t\"storefront.common.copied\": \"Kopiert\",\n\t\t\"storefront.common.copyFailed\": \"Kopieren fehlgeschlagen. Der Text ist markiert, damit Sie ihn selbst kopieren können.\",\n\t\t\"storefront.history.submittingRequest\": \"Anfrage wird gesendet…\"\n\t},\n\tit: {\n\t\t\"storefront.catalog.searchTags\": \"Cerca tag\",\n\t\t\"storefront.catalog.noMatchingTags\": \"Nessun tag corrispondente. Prova un’altra ricerca.\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"Inserisci prezzi validi e non negativi, con il minimo non superiore al massimo. Questo intervallo non è stato applicato.\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"Impossibile caricare i filtri\",\n\t\t\"storefront.catalog.invalidPrice\": \"Inserisci un prezzo valido e non negativo.\",\n\t\t\"storefront.shop.skipToContent\": \"Vai al contenuto\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"Non è stato possibile confermare questo pagamento qui. Se hai già pagato, controlla gli ordini o l’e-mail di conferma prima di pagare di nuovo.\",\n\t\t\"storefront.subscription.plansTitle\": \"Confronta i piani\",\n\t\t\"storefront.checkout.updatingTotal\": \"Aggiornamento del totale…\",\n\t\t\"storefront.history.payNowReturned\": \"Stiamo confermando il tuo pagamento. Il tuo ordine verrà aggiornato qui non appena sarà confermato.\",\n\t\t\"storefront.checkout.totalChanged\": \"Il tuo totale ora è {total}. Controllalo, poi procedi al pagamento.\",\n\t\t\"storefront.checkout.resumePayment\": \"Riprendi il pagamento\",\n\t\t\"storefront.checkout.resumeAttempt\": \"È stato avviato un pagamento per questo ordine, ma non è stato completato. Scegli Riprendi il pagamento per continuare lo stesso pagamento.\",\n\t\t\"storefront.checkout.attemptConflict\": \"Un pagamento che hai avviato per questo ordine non è ancora stato confermato. Per continuarlo in sicurezza, riporta il carrello e i dati di acquisto a com’erano, poi scegli Riprendi il pagamento. Se hai già pagato, controlla l’email di conferma. Se non riesci a ripristinarli, il checkout si sblocca entro 3 giorni, oppure contatta il negozio.\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"Alcuni articoli nel carrello non possono essere spediti in questo paese. Scegli un altro paese o aggiorna il carrello.\",\n\t\t\"storefront.checkout.restoreAttempt\": \"Un pagamento precedente non è ancora risolto. Ripristina il carrello e i dati originali per verificarlo in sicurezza, oppure usa il suo link di ritorno verificato. Non inviare un altro pagamento.\",\n\t\t\"storefront.cart.pricingNote\": \"Tasse e spedizione vengono calcolate al momento del pagamento.\",\n\t\t\"storefront.checkout.billingTitle\": \"Fatturazione\",\n\t\t\"storefront.checkout.selectCountry\": \"Seleziona un paese\",\n\t\t\"storefront.checkout.selectRegion\": \"Seleziona uno stato o una regione\",\n\t\t\"storefront.checkout.addTip\": \"Aggiungi una mancia\",\n\t\t\"storefront.checkout.hideTip\": \"Rimuovi mancia\",\n\t\t\"storefront.checkout.editCart\": \"Modifica carrello\",\n\t\t\"storefront.checkout.lineQuantity\": \"Qtà {count} · {price} cad.\",\n\t\t\"storefront.checkout.showOrderSummary\": \"Mostra riepilogo ordine · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"Nascondi riepilogo ordine · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"Grazie — il tuo ordine è confermato\",\n\t\t\"storefront.checkout.confirmedOrder\": \"Ordine {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"Il pagamento è andato a buon fine e il tuo ordine è in preparazione.\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"Vedi cronologia acquisti\",\n\t\t\"storefront.history.purchaseConfirmed\": \"Pagamento ricevuto — il tuo ordine è confermato.\",\n\t\t\"storefront.toast.continueToCheckout\": \"Procedi al checkout\",\n\t\t\"storefront.history.submitReturn\": \"Invia richiesta di reso\",\n\t\t\"storefront.history.submitRefund\": \"Invia richiesta di rimborso\",\n\t\t\"storefront.history.submitExchange\": \"Invia richiesta di cambio\",\n\t\t\"storefront.history.submitCancel\": \"Invia richiesta di annullamento\",\n\t\t\"storefront.history.copyOrderNumber\": \"Copia numero d’ordine\",\n\t\t\"storefront.history.copyTrackingNumber\": \"Copia numero di tracciamento\",\n\t\t\"storefront.common.copied\": \"Copiato\",\n\t\t\"storefront.common.copyFailed\": \"Impossibile copiare. Il testo è selezionato così puoi copiarlo tu.\",\n\t\t\"storefront.history.submittingRequest\": \"Invio della richiesta…\"\n\t},\n\tpt: {\n\t\t\"storefront.catalog.searchTags\": \"Buscar etiquetas\",\n\t\t\"storefront.catalog.noMatchingTags\": \"Nenhuma etiqueta correspondente. Tente outra busca.\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"Insira preços válidos e não negativos, com o mínimo menor ou igual ao máximo. Este intervalo não foi aplicado.\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"Não foi possível carregar os filtros\",\n\t\t\"storefront.catalog.invalidPrice\": \"Insira um preço válido e não negativo.\",\n\t\t\"storefront.shop.skipToContent\": \"Pular para o conteúdo\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"Não foi possível confirmar este pagamento aqui. Se você já pagou, confira seus pedidos ou o e-mail de confirmação antes de pagar novamente.\",\n\t\t\"storefront.subscription.plansTitle\": \"Comparar planos\",\n\t\t\"storefront.checkout.updatingTotal\": \"Atualizando seu total…\",\n\t\t\"storefront.history.payNowReturned\": \"Estamos confirmando seu pagamento. Seu pedido será atualizado aqui assim que for confirmado.\",\n\t\t\"storefront.checkout.totalChanged\": \"Seu total agora é {total}. Revise-o e continue para o pagamento.\",\n\t\t\"storefront.checkout.resumePayment\": \"Retomar pagamento\",\n\t\t\"storefront.checkout.resumeAttempt\": \"Um pagamento deste pedido foi iniciado, mas não foi concluído. Escolha Retomar pagamento para continuar esse mesmo pagamento.\",\n\t\t\"storefront.checkout.attemptConflict\": \"Um pagamento que você iniciou para este pedido ainda não foi confirmado. Para continuá-lo com segurança, deixe o carrinho e os dados da compra como estavam e escolha Retomar pagamento. Se você já pagou, confira seu e-mail de confirmação. Se não conseguir restaurá-los, o checkout é liberado em até 3 dias, ou entre em contato com a loja.\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"Alguns itens do seu carrinho não podem ser enviados para este país. Escolha outro país ou atualize seu carrinho.\",\n\t\t\"storefront.checkout.restoreAttempt\": \"Um pagamento anterior ainda não foi resolvido. Restaure o carrinho e os dados originais para verificá-lo com segurança, ou use o link de retorno verificado. Não envie outro pagamento.\",\n\t\t\"storefront.cart.pricingNote\": \"Impostos e frete são calculados na finalização da compra.\",\n\t\t\"storefront.checkout.billingTitle\": \"Faturamento\",\n\t\t\"storefront.checkout.selectCountry\": \"Selecione um país\",\n\t\t\"storefront.checkout.selectRegion\": \"Selecione um estado ou região\",\n\t\t\"storefront.checkout.addTip\": \"Adicionar gorjeta\",\n\t\t\"storefront.checkout.hideTip\": \"Remover gorjeta\",\n\t\t\"storefront.checkout.editCart\": \"Editar carrinho\",\n\t\t\"storefront.checkout.lineQuantity\": \"Qtd. {count} · {price} cada\",\n\t\t\"storefront.checkout.showOrderSummary\": \"Mostrar resumo do pedido · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"Ocultar resumo do pedido · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"Obrigado — seu pedido está confirmado\",\n\t\t\"storefront.checkout.confirmedOrder\": \"Pedido {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"Seu pagamento foi aprovado e seu pedido está sendo preparado.\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"Ver histórico de compras\",\n\t\t\"storefront.history.purchaseConfirmed\": \"Pagamento recebido — seu pedido está confirmado.\",\n\t\t\"storefront.toast.continueToCheckout\": \"Continuar para o checkout\",\n\t\t\"storefront.history.submitReturn\": \"Enviar pedido de devolução\",\n\t\t\"storefront.history.submitRefund\": \"Enviar pedido de reembolso\",\n\t\t\"storefront.history.submitExchange\": \"Enviar pedido de troca\",\n\t\t\"storefront.history.submitCancel\": \"Enviar pedido de cancelamento\",\n\t\t\"storefront.history.copyOrderNumber\": \"Copiar número do pedido\",\n\t\t\"storefront.history.copyTrackingNumber\": \"Copiar código de rastreamento\",\n\t\t\"storefront.common.copied\": \"Copiado\",\n\t\t\"storefront.common.copyFailed\": \"Não foi possível copiar. O texto está selecionado para você copiar.\",\n\t\t\"storefront.history.submittingRequest\": \"Enviando pedido…\"\n\t},\n\tja: {\n\t\t\"storefront.catalog.searchTags\": \"タグを検索\",\n\t\t\"storefront.catalog.noMatchingTags\": \"一致するタグがありません。別の言葉で検索してください。\",\n\t\t\"storefront.catalog.invalidPriceRange\": \"0以上の有効な価格を入力してください。最低価格は最高価格以下にしてください。この価格帯は適用されていません。\",\n\t\t\"storefront.catalog.filtersUnavailable\": \"フィルターを読み込めませんでした\",\n\t\t\"storefront.catalog.invalidPrice\": \"0以上の有効な価格を入力してください。\",\n\t\t\"storefront.shop.skipToContent\": \"コンテンツへスキップ\",\n\t\t\"storefront.checkout.returnUnconfirmed\": \"ここではお支払いを確認できませんでした。お支払い済みの場合は、再度支払う前に注文履歴または確認メールをご確認ください。\",\n\t\t\"storefront.subscription.plansTitle\": \"プランを比較\",\n\t\t\"storefront.checkout.updatingTotal\": \"合計金額を更新しています…\",\n\t\t\"storefront.history.payNowReturned\": \"お支払いを確認しています。確認が完了すると、ここに注文内容が反映されます。\",\n\t\t\"storefront.checkout.totalChanged\": \"合計金額が{total}に変わりました。内容を確認してから、お支払いに進んでください。\",\n\t\t\"storefront.checkout.resumePayment\": \"支払いを再開\",\n\t\t\"storefront.checkout.resumeAttempt\": \"この注文の支払いは開始されましたが、完了していません。「支払いを再開」を選ぶと、同じ支払いを続行できます。\",\n\t\t\"storefront.checkout.attemptConflict\": \"この注文で開始した支払いがまだ確認されていません。安全に続行するには、カートと注文情報を元の内容に戻してから「支払いを再開」を選んでください。すでに支払った場合は確認メールをご確認ください。元に戻せない場合は、3日以内にチェックアウトのロックが解除されます。ストアにお問い合わせいただくこともできます。\",\n\t\t\"storefront.checkout.shippingCountryUnavailable\": \"カート内の一部の商品はこの国へ配送できません。別の国を選ぶか、カートを更新してください。\",\n\t\t\"storefront.checkout.restoreAttempt\": \"前回の支払い状況が未確定です。元のカートと注文情報に戻して安全に確認するか、検証済みの戻りリンクを使用してください。新たな支払いを行わないでください。\",\n\t\t\"storefront.cart.pricingNote\": \"税金と送料はチェックアウト時に計算されます。\",\n\t\t\"storefront.checkout.billingTitle\": \"請求先\",\n\t\t\"storefront.checkout.selectCountry\": \"国を選択\",\n\t\t\"storefront.checkout.selectRegion\": \"都道府県・地域を選択\",\n\t\t\"storefront.checkout.addTip\": \"チップを追加\",\n\t\t\"storefront.checkout.hideTip\": \"チップを削除\",\n\t\t\"storefront.checkout.editCart\": \"カートを編集\",\n\t\t\"storefront.checkout.lineQuantity\": \"数量 {count} · 各{price}\",\n\t\t\"storefront.checkout.showOrderSummary\": \"注文内容を表示 · {total}\",\n\t\t\"storefront.checkout.hideOrderSummary\": \"注文内容を非表示 · {total}\",\n\t\t\"storefront.checkout.confirmedTitle\": \"ありがとうございます — ご注文が確定しました\",\n\t\t\"storefront.checkout.confirmedOrder\": \"注文番号 {orderId}\",\n\t\t\"storefront.checkout.confirmedDescription\": \"お支払いが完了し、ご注文の準備を進めています。\",\n\t\t\"storefront.checkout.viewPurchaseHistory\": \"購入履歴を見る\",\n\t\t\"storefront.history.purchaseConfirmed\": \"お支払いを確認しました — ご注文が確定しました。\",\n\t\t\"storefront.toast.continueToCheckout\": \"レジに進む\",\n\t\t\"storefront.history.submitReturn\": \"返品リクエストを送信\",\n\t\t\"storefront.history.submitRefund\": \"返金リクエストを送信\",\n\t\t\"storefront.history.submitExchange\": \"交換リクエストを送信\",\n\t\t\"storefront.history.submitCancel\": \"キャンセルリクエストを送信\",\n\t\t\"storefront.history.copyOrderNumber\": \"注文番号をコピー\",\n\t\t\"storefront.history.copyTrackingNumber\": \"追跡番号をコピー\",\n\t\t\"storefront.common.copied\": \"コピーしました\",\n\t\t\"storefront.common.copyFailed\": \"コピーできませんでした。テキストを選択したので、手動でコピーしてください。\",\n\t\t\"storefront.history.submittingRequest\": \"リクエストを送信しています…\"\n\t}\n};\nfunction mt(e) {\n\tlet t = e.toLowerCase();\n\treturn pt[t] || (pt[t.split(/[-_]/)[0] ?? \"\"] ?? {});\n}\n//#endregion\n//#region src/i18n/messages.storefront.ts\nvar ht = {\n\t\"storefront.account.savedContactMatchesProfile\": \"Saved contact details match your profile.\",\n\t\"storefront.shop.skipToContent\": \"Skip to content\",\n\t\"storefront.catalog.invalidPriceRange\": \"Enter valid, nonnegative prices with the minimum no greater than the maximum. This range has not been applied.\",\n\t\"storefront.catalog.filtersUnavailable\": \"Filters could not be loaded\",\n\t\"storefront.catalog.invalidPrice\": \"Enter a valid, nonnegative price.\",\n\t\"storefront.catalog.allCategories\": \"All categories\",\n\t\"common.active\": \"Active\",\n\t\"common.inactive\": \"Inactive\",\n\t\"common.enabled\": \"Enabled\",\n\t\"common.disabled\": \"Disabled\",\n\t\"common.loading\": \"Loading…\",\n\t\"common.retry\": \"Retry\",\n\t\"common.cancel\": \"Cancel\",\n\t\"common.confirm\": \"Confirm\",\n\t\"common.delete\": \"Delete\",\n\t\"common.edit\": \"Edit\",\n\t\"common.remove\": \"Remove\",\n\t\"common.increase\": \"Increase\",\n\t\"common.decrease\": \"Decrease\",\n\t\"common.moveUp\": \"Move up\",\n\t\"common.moveDown\": \"Move down\",\n\t\"common.reorder\": \"Reorder\",\n\t\"common.save\": \"Save\",\n\t\"common.saving\": \"Saving…\",\n\t\"common.saved\": \"Saved\",\n\t\"common.update\": \"Update\",\n\t\"common.create\": \"Create\",\n\t\"common.previous\": \"Previous\",\n\t\"common.next\": \"Next\",\n\t\"common.page\": \"Page {page}\",\n\t\"common.search\": \"Search\",\n\t\"common.sort\": \"Sort\",\n\t\"common.filters\": \"Filters\",\n\t\"common.clear\": \"Clear\",\n\t\"common.all\": \"All\",\n\t\"common.none\": \"None\",\n\t\"common.back\": \"Back\",\n\t\"common.opensInNewTab\": \"(opens in a new tab)\",\n\t\"common.view\": \"View\",\n\t\"common.checkout\": \"Checkout\",\n\t\"common.shop\": \"Shop\",\n\t\"common.cart\": \"Cart\",\n\t\"common.close\": \"Close\",\n\t\"storefront.sort.featured\": \"Featured\",\n\t\"storefront.sort.priceAsc\": \"Price: low to high\",\n\t\"storefront.sort.priceDesc\": \"Price: high to low\",\n\t\"storefront.cart.inventoryLoading\": \"Checking item availability…\",\n\t\"storefront.cart.inventoryError\": \"We couldn’t check item availability. Your cart is unchanged.\",\n\t\"storefront.stock.out\": \"Out of stock\",\n\t\"storefront.stock.in\": \"In stock\",\n\t\"storefront.stock.low\": \"Only {count, plural, one {# left} other {# left}}\",\n\t\"storefront.stock.quantityExceeded\": \"Only {available} available. You have {quantity} in cart.\",\n\t\"storefront.stock.lowGeneric\": \"Low stock\",\n\t\"storefront.stock.lowCart\": \"Low stock: {available} available.\",\n\t\"storefront.toast.addedToCart\": \"Added to cart\",\n\t\"storefront.toast.viewCart\": \"View cart\",\n\t\"storefront.toast.continueToCheckout\": \"Continue to checkout\",\n\t\"storefront.toast.region\": \"Notifications\",\n\t\"storefront.toast.cartCurrencyReset\": \"Started a new cart\",\n\t\"storefront.toast.cartCurrencyResetDescription\": \"{productTitle} is priced in {currency} and cannot be combined with your {previousCurrency} items.\",\n\t\"storefront.toast.guestCartNotCombined\": \"Your saved cart was kept\",\n\t\"storefront.toast.guestCartNotCombinedDescription\": \"Items you added before signing in are priced in {guestCurrency} and could not be combined with your saved {currency} cart.\",\n\t\"storefront.shop.titleFallback\": \"Shop\",\n\t\"storefront.shop.browse\": \"Browse\",\n\t\"storefront.shop.categories\": \"Categories\",\n\t\"storefront.shop.allProducts\": \"All products\",\n\t\"storefront.shop.brandFallback\": \"Shop\",\n\t\"storefront.shop.exitShop\": \"Exit shop\",\n\t\"storefront.shop.backToShop\": \"Back to shop\",\n\t\"storefront.shop.signIn\": \"Sign in\",\n\t\"storefront.shop.account\": \"Account\",\n\t\"storefront.shop.bundlesLabel\": \"Bundles\",\n\t\"storefront.shop.unavailableTitle\": \"This shop is currently unavailable\",\n\t\"storefront.shop.unavailableDescription\": \"Check back soon.\",\n\t\"storefront.category.titleFallback\": \"Category\",\n\t\"storefront.category.label\": \"Category\",\n\t\"storefront.category.all\": \"All categories\",\n\t\"storefront.category.descriptionFallback\": \"Browse products in this category.\",\n\t\"storefront.category.notFound\": \"This category may have been removed, or the link may be out of date.\",\n\t\"storefront.category.notFoundTitle\": \"Category not found\",\n\t\"storefront.product.notFound\": \"This product may have been removed, or the link may be out of date.\",\n\t\"storefront.product.notFoundTitle\": \"Product not found\",\n\t\"storefront.product.addToCart\": \"Add to cart\",\n\t\"storefront.product.originalPrice\": \"Original price\",\n\t\"storefront.product.cardActionNamed\": \"{action}: {title}\",\n\t\"storefront.product.chooseOptions\": \"Choose options\",\n\t\"storefront.product.buyNow\": \"Buy now\",\n\t\"storefront.product.description\": \"Description\",\n\t\"storefront.product.specs\": \"Specs\",\n\t\"storefront.product.noSpecs\": \"No specs provided.\",\n\t\"storefront.product.specYes\": \"Yes\",\n\t\"storefront.product.specNo\": \"No\",\n\t\"storefront.product.shippingReturns\": \"Shipping & returns\",\n\t\"storefront.product.related\": \"Related products\",\n\t\"storefront.product.imageUnavailable\": \"Image unavailable\",\n\t\"storefront.account.addAddress\": \"Add address\",\n\t\"storefront.history.details\": \"Order details & help\",\n\t\"storefront.history.hideDetails\": \"Close order details\",\n\t\"storefront.product.viewDetails\": \"View details\",\n\t\"storefront.product.quickView\": \"Quick view\",\n\t\"storefront.product.select\": \"Select\",\n\t\"storefront.product.variantOut\": \"(Out of stock)\",\n\t\"storefront.product.unavailable\": \"Unavailable\",\n\t\"storefront.product.combinationUnavailable\": \"This combination isn't available\",\n\t\"storefront.product.titleWithVariant\": \"{productTitle} - {variantTitle}\",\n\t\"storefront.asset.title\": \"Tokenized asset\",\n\t\"storefront.asset.backingValue\": \"Backing value\",\n\t\"storefront.asset.assetId\": \"Asset ID\",\n\t\"storefront.asset.tokensPerUnit\": \"Tokens per unit\",\n\t\"storefront.asset.custodyProof\": \"Custody proof\",\n\t\"storefront.asset.viewDocument\": \"View document\",\n\t\"storefront.asset.onChainToken\": \"On-chain token\",\n\t\"storefront.cart.title\": \"Cart\",\n\t\"storefront.cart.triggerCount\": \"Cart ({count})\",\n\t\"storefront.cart.emptyTitle\": \"Your cart is empty\",\n\t\"storefront.cart.emptyDescription\": \"Browse the shop to add products.\",\n\t\"storefront.cart.continueShopping\": \"Continue shopping\",\n\t\"storefront.cart.subtotal\": \"Subtotal\",\n\t\"storefront.cart.summary\": \"Summary\",\n\t\"storefront.cart.item\": \"Item\",\n\t\"storefront.cart.total\": \"Total\",\n\t\"storefront.cart.itemsCount\": \"{count, plural, one {# item} other {# items}}\",\n\t\"storefront.cart.checkoutBlocked\": \"Some items are out of stock or exceed the available quantity.\",\n\t\"storefront.cart.removeUnavailable\": \"Adjust cart to available stock\",\n\t\"storefront.cart.promoLabel\": \"Promotion code\",\n\t\"storefront.cart.promoPlaceholder\": \"Add a code\",\n\t\"storefront.cart.applyPromo\": \"Apply\",\n\t\"storefront.cart.promoApplied\": \"{code} will be checked at checkout.\",\n\t\"storefront.cart.promoRemove\": \"Remove code\",\n\t\"storefront.cart.promoAppliedList\": \"Applied promotion code\",\n\t\"storefront.cart.promoRemoveCode\": \"Remove {code}\",\n\t\"storefront.cart.removeItem\": \"Remove item\",\n\t\"storefront.cart.removeItemNamed\": \"Remove item: {title}\",\n\t\"storefront.cart.removeConfirmTitle\": \"Remove item?\",\n\t\"storefront.cart.removeConfirm\": \"Remove\",\n\t\"storefront.cart.each\": \"each\",\n\t\"storefront.cart.unitEach\": \"{price} each\",\n\t\"storefront.cart.decreaseQuantity\": \"Decrease quantity\",\n\t\"storefront.cart.increaseQuantity\": \"Increase quantity\",\n\t\"storefront.cart.increaseQuantityNamed\": \"Increase quantity of {title}\",\n\t\"storefront.cart.decreaseQuantityNamed\": \"Decrease quantity of {title}\",\n\t\"storefront.cart.quantityNamed\": \"Quantity for {title}\",\n\t\"storefront.cart.quantity\": \"Quantity\",\n\t\"storefront.cart.sidebarDescription\": \"Review cart items before checkout.\",\n\t\"storefront.cart.pricingNote\": \"Taxes and shipping are calculated at checkout.\",\n\t\"storefront.checkout.title\": \"Checkout\",\n\t\"storefront.checkout.signInTitle\": \"Sign in to check out\",\n\t\"storefront.checkout.signInDescription\": \"This store requires an account to place an order. Sign in or create one to continue — your cart will be waiting.\",\n\t\"storefront.checkout.loadUnavailable\": \"We couldn't load checkout\",\n\t\"storefront.checkout.unavailable\": \"Checkout isn't available right now. Please check back soon.\",\n\t\"storefront.checkout.continueToPayment\": \"Continue to payment\",\n\t\"storefront.checkout.preparing\": \"Preparing checkout…\",\n\t\"storefront.checkout.opening\": \"Opening secure checkout…\",\n\t\"storefront.checkout.created\": \"Checkout session created.\",\n\t\"storefront.checkout.error\": \"Checkout could not start. Your cart is unchanged — try again.\",\n\t\"storefront.checkout.paymentRail\": \"Payment method\",\n\t\"storefront.checkout.paymentRailSolana\": \"Crypto wallet · Solana\",\n\t\"storefront.checkout.paymentAsset\": \"Exact payment\",\n\t\"storefront.checkout.paymentNetwork\": \"Network\",\n\t\"storefront.checkout.walletRejected\": \"Wallet approval was cancelled. No payment was submitted.\",\n\t\"storefront.checkout.insufficientFunds\": \"This wallet does not have enough funds for the quoted payment.\",\n\t\"storefront.checkout.quoteExpired\": \"The payment quote expired. A fresh quote is required before wallet approval.\",\n\t\"storefront.checkout.providerOutage\": \"Your wallet or the Solana network is unavailable right now. No new payment was started — try again shortly.\",\n\t\"storefront.checkout.transactionFailed\": \"The Solana transaction failed. No completed payment was recorded.\",\n\t\"storefront.checkout.paymentPending\": \"Payment submitted. Waiting for payment confirmation — do not submit another payment.\",\n\t\"storefront.checkout.paymentPendingCta\": \"Payment pending\",\n\t\"storefront.checkout.checkPaymentStatus\": \"Check payment status\",\n\t\"storefront.checkout.checkingPaymentStatus\": \"Checking payment status…\",\n\t\"storefront.checkout.restoreAttempt\": \"A previous payment is unresolved. Restore its cart and checkout details to check it safely, or use its verified return link. Do not submit another payment.\",\n\t\"storefront.checkout.paymentUnknown\": \"We can't confirm your payment yet. Trying again continues the same payment instead of starting a new one.\",\n\t\"storefront.checkout.providerOutagePending\": \"Payment status is unknown because the provider is unavailable. Do not submit another payment.\",\n\t\"storefront.checkout.paymentCompleted\": \"Payment completed.\",\n\t\"storefront.checkout.contactTitle\": \"Contact\",\n\t\"storefront.checkout.email\": \"Email\",\n\t\"storefront.checkout.name\": \"Full name\",\n\t\"storefront.checkout.phone\": \"Phone\",\n\t\"storefront.checkout.orderNotes\": \"Order notes\",\n\t\"storefront.checkout.addOrderNote\": \"Add an order note\",\n\t\"storefront.checkout.hideOrderNote\": \"Hide order note\",\n\t\"storefront.checkout.addPromoCode\": \"Add a promo code\",\n\t\"storefront.checkout.hidePromoCode\": \"Hide promo code\",\n\t\"storefront.checkout.required\": \"Required\",\n\t\"storefront.checkout.deliveryTitle\": \"Delivery\",\n\t\"storefront.checkout.billingTitle\": \"Billing\",\n\t\"storefront.checkout.loadingShipping\": \"Loading delivery options…\",\n\t\"storefront.checkout.shippingError\": \"Delivery options could not be verified. Check the address and try again.\",\n\t\"storefront.checkout.shippingDeferred\": \"Shipping will be finalized in secure checkout.\",\n\t\"storefront.checkout.shippingMethod\": \"Shipping method\",\n\t\"storefront.checkout.billingSameAsShipping\": \"Billing address is the same as shipping\",\n\t\"storefront.checkout.addressLine1\": \"Address line 1\",\n\t\"storefront.checkout.addressLine2\": \"Address line 2\",\n\t\"storefront.checkout.city\": \"City\",\n\t\"storefront.checkout.region\": \"State or region\",\n\t\"storefront.checkout.postalCode\": \"Postal code\",\n\t\"storefront.checkout.country\": \"Country\",\n\t\"storefront.checkout.selectCountry\": \"Select a country\",\n\t\"storefront.checkout.selectRegion\": \"Select a state or region\",\n\t\"storefront.checkout.paymentTitle\": \"Payment\",\n\t\"storefront.checkout.paymentMethod\": \"Payment method\",\n\t\"storefront.checkout.paymentUnavailable\": \"No payment methods are available for this checkout.\",\n\t\"storefront.checkout.loadingPaymentMethods\": \"Loading payment methods…\",\n\t\"storefront.checkout.paymentCard\": \"Card\",\n\t\"storefront.checkout.paymentCardDescription\": \"Pay with a saved or new card.\",\n\t\"storefront.checkout.paymentCrypto\": \"Crypto\",\n\t\"storefront.checkout.paymentCryptoDescription\": \"Pay with a supported on-chain payment method.\",\n\t\"storefront.checkout.paymentCredits\": \"Credits\",\n\t\"storefront.checkout.paymentCreditsDescription\": \"Use available account credits.\",\n\t\"storefront.checkout.tipAmount\": \"Tip\",\n\t\"storefront.checkout.addTip\": \"Add a tip\",\n\t\"storefront.checkout.hideTip\": \"Remove tip\",\n\t\"storefront.checkout.reviewTitle\": \"Order review\",\n\t\"storefront.checkout.showOrderSummary\": \"Show order summary · {total}\",\n\t\"storefront.checkout.hideOrderSummary\": \"Hide order summary · {total}\",\n\t\"storefront.checkout.editCart\": \"Edit cart\",\n\t\"storefront.checkout.lineQuantity\": \"Qty {count} · {price} each\",\n\t\"storefront.checkout.shipping\": \"Shipping\",\n\t\"storefront.checkout.discount\": \"Discount\",\n\t\"storefront.checkout.appliedDiscounts\": \"Applied discounts\",\n\t\"storefront.checkout.discountApplied\": \"Applied\",\n\t\"storefront.checkout.discountAutomatic\": \"Automatic discount\",\n\t\"storefront.checkout.discountBxgy\": \"Buy X get Y\",\n\t\"storefront.checkout.discountFreeShipping\": \"Free shipping\",\n\t\"storefront.checkout.discountGiftCard\": \"Gift card\",\n\t\"storefront.checkout.discountStoreCredit\": \"Store credit\",\n\t\"storefront.checkout.discountRecovery\": \"Recovery discount\",\n\t\"storefront.checkout.tax\": \"Tax\",\n\t\"storefront.checkout.calculatedByPay\": \"Calculated before payment\",\n\t\"storefront.checkout.refreshingQuote\": \"Refreshing quote…\",\n\t\"storefront.checkout.updatingTotal\": \"Updating your total…\",\n\t\"storefront.checkout.totalChanged\": \"Your total is now {total}. Review it, then continue to payment.\",\n\t\"storefront.checkout.quoteError\": \"We couldn't confirm your order total. Check your details and try again.\",\n\t\"storefront.checkout.confirmedTitle\": \"Thank you — your order is confirmed\",\n\t\"storefront.checkout.confirmedOrder\": \"Order {orderId}\",\n\t\"storefront.checkout.remainingCart\": \"Some items remain in your cart. Review them before another purchase.\",\n\t\"storefront.checkout.reviewCart\": \"Review cart\",\n\t\"storefront.checkout.confirmedDescription\": \"Your payment went through and your order is being prepared.\",\n\t\"storefront.checkout.viewPurchaseHistory\": \"View purchase history\",\n\t\"storefront.checkout.cancelled\": \"Checkout was cancelled. Your cart is unchanged.\",\n\t\"storefront.checkout.returnError\": \"We could not verify your payment. Retry before starting another checkout.\",\n\t\"storefront.checkout.selectPaymentMethod\": \"Select a payment method to continue.\",\n\t\"storefront.checkout.selectShippingMethod\": \"Select a shipping method to continue.\",\n\t\"storefront.checkout.completeRequiredFields\": \"Complete the required checkout details to continue.\",\n\t\"storefront.checkout.fieldRequired\": \"This field is required.\",\n\t\"storefront.checkout.emailInvalid\": \"Enter a valid email address, like name@example.com.\",\n\t\"storefront.checkout.tipInvalid\": \"Enter a tip of 0 or more.\",\n\t\"storefront.checkout.noShippingOptions\": \"No shipping options are available for this address.\",\n\t\"storefront.checkout.shippingUnavailable\": \"We can't ship to this address yet. Check the address, or contact the store for help.\",\n\t\"storefront.checkout.shippingCountryUnavailable\": \"Some items in your cart can't be shipped to this country. Choose another country or update your cart.\",\n\t\"storefront.checkout.promoCodeInTotal\": \"Any discount from {code} is included in your total.\",\n\t\"storefront.checkout.tipTooLarge\": \"Enter a tip of {max} or less.\",\n\t\"storefront.checkout.resumePayment\": \"Resume payment\",\n\t\"storefront.checkout.resumeAttempt\": \"A payment for this order was started but not finished. Choose Resume payment to continue that same payment.\",\n\t\"storefront.checkout.attemptConflict\": \"A payment you started for this order hasn't been confirmed. To continue it safely, change your cart and checkout details back to what they were, then choose Resume payment. If you already paid, check your confirmation email. If you can't restore them, checkout unlocks within 3 days, or contact the store for help.\",\n\t\"storefront.checkout.returnUnconfirmed\": \"We couldn't confirm this payment here. If you finished paying, check your orders or confirmation email before paying again.\",\n\t\"storefront.checkout.returnUnverified\": \"We could not verify your payment in this browser. If you finished paying, check your orders or confirmation email before paying again.\",\n\t\"storefront.checkout.backToCart\": \"Back to cart\",\n\t\"storefront.account.title\": \"Account\",\n\t\"storefront.account.subtitle\": \"Manage your account details and get help with your orders.\",\n\t\"storefront.account.signInTitle\": \"Sign in to manage your account\",\n\t\"storefront.account.signInDescription\": \"Use your account to update profile details, addresses, checkout defaults, and support options.\",\n\t\"storefront.account.loading\": \"Loading account…\",\n\t\"storefront.account.unavailableTitle\": \"We couldn't load your account\",\n\t\"storefront.account.unavailableDescription\": \"Account management is unavailable right now. Please try again later.\",\n\t\"storefront.account.emptyTitle\": \"Account details are unavailable\",\n\t\"storefront.account.emptyDescription\": \"Your account details are unavailable right now. Please try again later.\",\n\t\"storefront.account.profileTitle\": \"Profile\",\n\t\"storefront.account.profileDescription\": \"Update your contact details and store preferences.\",\n\t\"storefront.account.profileReadOnlyDescription\": \"Your contact details for this store.\",\n\t\"storefront.account.emailManagedBySignIn\": \"To change your email, use your sign-in account settings.\",\n\t\"storefront.account.marketingOptIn\": \"Receive store updates\",\n\t\"storefront.account.profileSaved\": \"Profile saved.\",\n\t\"storefront.account.addressesTitle\": \"Addresses\",\n\t\"storefront.account.addressesDescription\": \"Manage shipping and billing addresses used for checkout.\",\n\t\"storefront.account.addressesReadOnlyDescription\": \"Addresses saved to your account for checkout.\",\n\t\"storefront.account.noAddresses\": \"No saved addresses yet.\",\n\t\"storefront.account.address\": \"Address\",\n\t\"storefront.account.addressLabel\": \"Address label\",\n\t\"storefront.account.defaultShipping\": \"Default shipping\",\n\t\"storefront.account.defaultBilling\": \"Default billing\",\n\t\"storefront.account.addressSaved\": \"Address saved.\",\n\t\"storefront.account.addressDeleted\": \"Address deleted.\",\n\t\"storefront.account.deletingAddress\": \"Deleting…\",\n\t\"storefront.account.deleteAddressTitle\": \"Delete {name}?\",\n\t\"storefront.account.deleteAddressDescription\": \"This removes {name} from your saved checkout addresses.\",\n\t\"storefront.account.deleteAddressError\": \"The address could not be deleted. Try again.\",\n\t\"storefront.account.savedCheckoutTitle\": \"Saved checkout\",\n\t\"storefront.account.savedCheckoutDescription\": \"Save your details for a faster checkout.\",\n\t\"storefront.account.savedCheckoutReadOnlyDescription\": \"These details are filled in for you at checkout.\",\n\t\"storefront.account.savedCheckoutSaved\": \"Saved checkout details updated.\",\n\t\"storefront.account.defaultShippingAddress\": \"Default shipping address\",\n\t\"storefront.account.defaultBillingAddress\": \"Default billing address\",\n\t\"storefront.account.supportTitle\": \"Support\",\n\t\"storefront.account.supportDescription\": \"Get help with your account or orders.\",\n\t\"storefront.account.saveError\": \"Changes could not be saved. Try again.\",\n\t\"storefront.history.title\": \"Purchase history\",\n\t\"storefront.history.subtitle\": \"Review your completed orders and receipts.\",\n\t\"storefront.history.pageOf\": \"Page {page} of {count}\",\n\t\"storefront.history.payNowReturned\": \"We're confirming your payment. Your order will update here once it's confirmed.\",\n\t\"storefront.history.payNowCancelled\": \"Payment wasn't completed. You can pay for your order whenever you're ready.\",\n\t\"storefront.history.signInTitle\": \"Sign in to view your orders\",\n\t\"storefront.history.signInDescription\": \"Use your account to see your past orders and receipts.\",\n\t\"storefront.history.loading\": \"Loading purchases…\",\n\t\"storefront.history.unavailable\": \"We couldn't load your purchases\",\n\t\"storefront.history.emptyTitle\": \"No orders yet\",\n\t\"storefront.history.emptyDescription\": \"Once you place an order, you'll find it here.\",\n\t\"storefront.history.orderTitle\": \"Order {id}\",\n\t\"storefront.history.orderMeta\": \"{date} · {status}\",\n\t\"storefront.history.purchaseConfirmed\": \"Payment received — your order is confirmed.\",\n\t\"storefront.history.orderLine\": \"{quantity} x {title}\",\n\t\"storefront.history.item\": \"Item\",\n\t\"storefront.history.viewReceipt\": \"View receipt\",\n\t\"storefront.history.viewInvoice\": \"View invoice\",\n\t\"storefront.history.subtotal\": \"Subtotal\",\n\t\"storefront.history.duties\": \"Duties\",\n\t\"storefront.history.refunded\": \"Refunded\",\n\t\"storefront.history.fulfillment\": \"Fulfillment\",\n\t\"storefront.history.noShipments\": \"Tracking details will appear here when your order ships.\",\n\t\"storefront.history.ddp\": \"Duties and taxes prepaid\",\n\t\"storefront.history.trackingNumber\": \"Tracking {value}\",\n\t\"storefront.history.shippedAt\": \"Shipped {date}\",\n\t\"storefront.history.estimatedDelivery\": \"Estimated delivery {date}\",\n\t\"storefront.history.deliveredAt\": \"Delivered {date}\",\n\t\"storefront.history.timeline\": \"Order timeline\",\n\t\"storefront.history.timelineMeta\": \"{date} {detail}\",\n\t\"storefront.history.trackShipment\": \"Track shipment\",\n\t\"storefront.history.printShippingLabel\": \"Print shipping label\",\n\t\"storefront.history.printReturnLabel\": \"Print return label\",\n\t\"storefront.history.contactSupport\": \"Contact support\",\n\t\"storefront.history.returns\": \"Returns\",\n\t\"storefront.history.returnableUntil\": \"Returnable until {date}\",\n\t\"storefront.history.returnWindow.returnable\": \"This order is eligible for returns. {reason}\",\n\t\"storefront.history.returnWindow.not_returnable\": \"This order is not eligible for returns. {reason}\",\n\t\"storefront.history.returnWindow.expired\": \"The return window has closed. {reason}\",\n\t\"storefront.history.returnWindow.pending\": \"A return request is already pending. {reason}\",\n\t\"storefront.history.returnWindow.completed\": \"Your return is complete. {reason}\",\n\t\"storefront.history.returnPolicy\": \"Return policy\",\n\t\"storefront.history.orderActions\": \"Order actions\",\n\t\"storefront.history.requestReturn\": \"Request return\",\n\t\"storefront.history.requestRefund\": \"Request refund\",\n\t\"storefront.history.requestExchange\": \"Request exchange\",\n\t\"storefront.history.requestCancel\": \"Cancel order\",\n\t\"storefront.history.reorder\": \"Reorder\",\n\t\"storefront.history.reordering\": \"Adding to cart…\",\n\t\"storefront.history.payNow\": \"Pay now\",\n\t\"storefront.history.reorderReady\": \"Your reorder cart is ready.\",\n\t\"storefront.history.reorderCurrencyReset\": \"This order is priced in {currency}, so it started a new cart in place of your {previousCurrency} items.\",\n\t\"storefront.history.payNowOpening\": \"Opening payment…\",\n\t\"storefront.history.returnTitle\": \"Return request\",\n\t\"storefront.history.returnDescription\": \"Choose items to return. Eligibility and any refund are confirmed after review.\",\n\t\"storefront.history.refundTitle\": \"Refund request\",\n\t\"storefront.history.refundDescription\": \"Choose the items and tell us why you need a refund. Your request will be reviewed before any payment is refunded.\",\n\t\"storefront.history.exchangeTitle\": \"Exchange request\",\n\t\"storefront.history.exchangeDescription\": \"Choose items to exchange. Replacement availability and any price difference are confirmed after review.\",\n\t\"storefront.history.cancelTitle\": \"Cancel order\",\n\t\"storefront.history.cancelDescription\": \"Request cancellation. Orders already being shipped may no longer be eligible.\",\n\t\"storefront.history.itemsToInclude\": \"Items to include\",\n\t\"storefront.history.someItemsNotSelectable\": \"Some items can't be included in an online request. Contact support for help with them.\",\n\t\"storefront.history.reason\": \"Reason\",\n\t\"storefront.history.reasonPlaceholder\": \"Tell us what happened\",\n\t\"storefront.history.note\": \"Additional details\",\n\t\"storefront.history.notePlaceholder\": \"Add details for the merchant\",\n\t\"storefront.history.submitReturn\": \"Send return request\",\n\t\"storefront.history.submitRefund\": \"Send refund request\",\n\t\"storefront.history.submitExchange\": \"Send exchange request\",\n\t\"storefront.history.submitCancel\": \"Send cancellation request\",\n\t\"storefront.history.copyOrderNumber\": \"Copy order number\",\n\t\"storefront.history.copyTrackingNumber\": \"Copy tracking number\",\n\t\"storefront.common.copied\": \"Copied\",\n\t\"storefront.common.copyFailed\": \"Couldn't copy. The text is selected so you can copy it yourself.\",\n\t\"storefront.history.submittingRequest\": \"Sending request…\",\n\t\"storefront.history.requestSubmitted\": \"Request submitted.\",\n\t\"storefront.history.reasonRequired\": \"Add a reason before submitting.\",\n\t\"storefront.history.selectItemsRequired\": \"Select at least one item before submitting.\",\n\t\"storefront.history.operationUnavailable\": \"This option isn't available for this order.\",\n\t\"storefront.history.operationError\": \"This order request could not be submitted. Try again.\",\n\t\"storefront.order.status.created\": \"Created\",\n\t\"storefront.order.status.paid\": \"Paid\",\n\t\"storefront.order.status.processing\": \"Processing\",\n\t\"storefront.order.status.fulfilled\": \"Fulfilled\",\n\t\"storefront.order.status.shipped\": \"Shipped\",\n\t\"storefront.order.status.delivered\": \"Delivered\",\n\t\"storefront.order.status.cancelled\": \"Cancelled\",\n\t\"storefront.order.status.refunded\": \"Refunded\",\n\t\"storefront.fulfillment.status.unfulfilled\": \"Unfulfilled\",\n\t\"storefront.fulfillment.status.partial\": \"Partially fulfilled\",\n\t\"storefront.fulfillment.status.fulfilled\": \"Fulfilled\",\n\t\"storefront.fulfillment.status.shipped\": \"Shipped\",\n\t\"storefront.fulfillment.status.delivered\": \"Delivered\",\n\t\"storefront.fulfillment.status.exception\": \"Needs attention\",\n\t\"storefront.fulfillment.status.returned\": \"Returned\",\n\t\"storefront.fulfillment.status.cancelled\": \"Cancelled\",\n\t\"storefront.subscription.plansTitle\": \"Compare plans\",\n\t\"storefront.subscription.title\": \"Subscriptions\",\n\t\"storefront.subscription.subtitle\": \"Choose a plan and start a secure subscription checkout.\",\n\t\"storefront.subscription.billingInterval\": \"Billing interval\",\n\t\"storefront.subscription.monthly\": \"Monthly\",\n\t\"storefront.subscription.annual\": \"Annual\",\n\t\"storefront.subscription.popular\": \"Most popular\",\n\t\"storefront.subscription.month\": \"month\",\n\t\"storefront.subscription.year\": \"year\",\n\t\"storefront.subscription.interval\": \"/{interval}\",\n\t\"storefront.subscription.newSubscriptionsUnavailable\": \"New subscriptions are unavailable right now. You can still review plans or manage an existing subscription.\",\n\t\"storefront.subscription.unavailable\": \"Subscriptions are unavailable.\",\n\t\"storefront.subscription.loading\": \"Loading plans…\",\n\t\"storefront.subscription.emptyTitle\": \"No plans available yet\",\n\t\"storefront.subscription.emptyDescription\": \"No subscription plans are available for this storefront.\",\n\t\"storefront.subscription.subscribe\": \"Subscribe\",\n\t\"storefront.subscription.signInToSubscribe\": \"Sign in to subscribe\",\n\t\"storefront.subscription.planStatusChecking\": \"Checking your current subscriptions before you choose a plan…\",\n\t\"storefront.subscription.planStatusUnavailable\": \"We couldn't check your current subscriptions, so plans can't be chosen yet.\",\n\t\"storefront.subscription.currentPlan\": \"Current plan\",\n\t\"storefront.subscription.checkoutSucceeded\": \"Thanks for subscribing! Your subscription details are below.\",\n\t\"storefront.subscription.checkoutConfirming\": \"Thanks for subscribing! We're confirming your subscription — it can take a moment to appear.\",\n\t\"storefront.subscription.checkoutCancelled\": \"Subscription checkout was cancelled. Choose a plan whenever you are ready.\",\n\t\"storefront.subscription.confirmingStatus\": \"Confirming your new subscription…\",\n\t\"storefront.subscription.confirmationDelayed\": \"Confirming your subscription is taking longer than expected. It will appear here once it's confirmed.\",\n\t\"storefront.subscription.checkAgain\": \"Check again\",\n\t\"storefront.subscription.soldOut\": \"Sold out\",\n\t\"storefront.subscription.spotsRemaining\": \"{count} spots remaining\",\n\t\"storefront.subscription.annualUnavailable\": \"Annual billing is not available for this plan.\",\n\t\"storefront.subscription.opening\": \"Opening checkout…\",\n\t\"storefront.subscription.checkoutError\": \"Subscription checkout could not start. Try again.\",\n\t\"storefront.subscription.manageTitle\": \"Your subscriptions\",\n\t\"storefront.subscription.manageDescription\": \"Review renewal details and manage eligible subscription actions.\",\n\t\"storefront.subscription.signInManage\": \"Sign in to pause, skip, cancel, or update billing for your subscriptions.\",\n\t\"storefront.subscription.managementUnavailable\": \"Subscription management is unavailable right now. Please try again later.\",\n\t\"storefront.subscription.loadingStatus\": \"Loading subscriptions…\",\n\t\"storefront.subscription.statusUnavailable\": \"We couldn't load your subscriptions\",\n\t\"storefront.subscription.noActiveTitle\": \"No active subscriptions\",\n\t\"storefront.subscription.noActiveDescription\": \"Active subscriptions and billing actions will appear here.\",\n\t\"storefront.subscription.subscriptionMeta\": \"{interval} · {status}\",\n\t\"storefront.subscription.renewsAt\": \"Renews\",\n\t\"storefront.subscription.nextBillingAt\": \"Next billing\",\n\t\"storefront.subscription.currentPeriodEnd\": \"Current period ends\",\n\t\"storefront.subscription.pausedUntil\": \"Paused until\",\n\t\"storefront.subscription.cancelAt\": \"Ends\",\n\t\"storefront.subscription.pause\": \"Pause\",\n\t\"storefront.subscription.resume\": \"Resume\",\n\t\"storefront.subscription.skipNext\": \"Skip next renewal\",\n\t\"storefront.subscription.updatePayment\": \"Update payment\",\n\t\"storefront.subscription.changePlan\": \"Change plan\",\n\t\"storefront.subscription.choosePlan\": \"Plan\",\n\t\"storefront.subscription.confirmPlanChange\": \"Confirm plan change\",\n\t\"storefront.subscription.cancelSubscription\": \"Cancel subscription\",\n\t\"storefront.subscription.cancelReason\": \"Cancellation reason\",\n\t\"storefront.subscription.optional\": \"(optional)\",\n\t\"storefront.subscription.confirmCancel\": \"Confirm cancellation\",\n\t\"storefront.subscription.actionWorking\": \"Submitting subscription request…\",\n\t\"storefront.subscription.actionSubmitted\": \"Subscription request submitted.\",\n\t\"storefront.subscription.actionError\": \"Subscription request could not be submitted. Try again.\",\n\t\"storefront.subscription.status.trialing\": \"Trialing\",\n\t\"storefront.subscription.status.active\": \"Active\",\n\t\"storefront.subscription.status.paused\": \"Paused\",\n\t\"storefront.subscription.status.past_due\": \"Past due\",\n\t\"storefront.subscription.status.cancelled\": \"Cancelled\",\n\t\"storefront.subscription.status.expired\": \"Expired\",\n\t\"storefront.error.title\": \"We couldn't load this content\",\n\t\"storefront.error.load\": \"Check your connection, then try again.\",\n\t\"storefront.builder.missingParam\": \"This block needs a {field} before it can render.\",\n\t\"storefront.builder.field.category\": \"category\",\n\t\"storefront.builder.field.product\": \"product\",\n\t\"storefront.catalog.breadcrumb\": \"Breadcrumb\",\n\t\"storefront.catalog.categoryNav\": \"Categories\",\n\t\"storefront.catalog.searchPlaceholder\": \"Search products…\",\n\t\"storefront.catalog.emptyTitle\": \"No products found\",\n\t\"storefront.catalog.emptyDescription\": \"New products are on the way — check back soon.\",\n\t\"storefront.catalog.emptyFilteredDescription\": \"Nothing matches your search and filters.\",\n\t\"storefront.catalog.clearSearchAndFilters\": \"Clear search and filters\",\n\t\"storefront.catalog.searchTags\": \"Find tags\",\n\t\"storefront.catalog.noMatchingTags\": \"No matching tags. Try a different search.\",\n\t\"storefront.catalog.tags\": \"Tags\",\n\t\"storefront.catalog.price\": \"Price\",\n\t\"storefront.catalog.min\": \"Min\",\n\t\"storefront.catalog.max\": \"Max\",\n\t\"storefront.catalog.availability\": \"Availability\",\n\t\"storefront.catalog.inStockOnly\": \"In stock\",\n\t\"storefront.a11y.viewImage\": \"View image {index}\",\n\t\"storefront.a11y.viewProduct\": \"View {title}\",\n\t\"storefront.a11y.closeCart\": \"Close cart\",\n\t\"storefront.a11y.dragToDismiss\": \"Drag to dismiss\"\n}, _ = \"en\";\nfunction gt(e, t, n = _) {\n\treturn e.indexOf(\"{\") === -1 ? e : v(e, t, n, null);\n}\nfunction v(e, t, n, r) {\n\tlet i = \"\", a = 0;\n\tfor (; a < e.length;) {\n\t\tlet o = e[a];\n\t\tif (o === \"{\") {\n\t\t\tlet r = _t(e, a, t, n);\n\t\t\ti += r.text, a = r.next;\n\t\t} else o === \"#\" && r !== null ? (i += Number.isFinite(r) ? Tt(n, r) : \"\", a += 1) : (i += o, a += 1);\n\t}\n\treturn i;\n}\nfunction _t(e, t, n, r) {\n\tlet i = x(e, t + 1), a = b(e, i), o = a.value;\n\tif (i = x(e, a.next), e[i] !== \",\") return {\n\t\ttext: S(n[o]),\n\t\tnext: i + 1\n\t};\n\ti = x(e, i + 1);\n\tlet s = b(e, i);\n\tif (i = x(e, s.next), s.value === \"number\") return vt(e, i, Number(n[o]), r);\n\tif (e[i] === \",\" && (i = x(e, i + 1)), s.value === \"plural\" || s.value === \"selectordinal\") return yt(e, i, Number(n[o]), s.value === \"selectordinal\", n, r);\n\tif (s.value === \"select\") return bt(e, i, S(n[o]), n, r);\n\tlet c = y(e, i);\n\treturn {\n\t\ttext: S(n[o]),\n\t\tnext: c.next\n\t};\n}\nfunction vt(e, t, n, r) {\n\tlet i;\n\tif (e[t] === \",\") {\n\t\tlet n = b(e, x(e, t + 1));\n\t\ti = n.value, t = x(e, n.next);\n\t}\n\treturn {\n\t\ttext: Tt(r, n, wt(i)),\n\t\tnext: t + 1\n\t};\n}\nfunction yt(e, t, n, r, i, a) {\n\tlet o = y(e, t);\n\treturn {\n\t\ttext: v(o.map[`=${n}`] ?? o.map[Ct(a, n, r)] ?? o.map.other ?? \"\", i, a, n),\n\t\tnext: o.next\n\t};\n}\nfunction bt(e, t, n, r, i) {\n\tlet a = y(e, t);\n\treturn {\n\t\ttext: v(a.map[n] ?? a.map.other ?? \"\", r, i, null),\n\t\tnext: a.next\n\t};\n}\nfunction y(e, t) {\n\tlet n = {}, r = x(e, t);\n\tfor (; r < e.length && e[r] !== \"}\";) {\n\t\tlet t = b(e, r);\n\t\tif (r = x(e, t.next), e[r] !== \"{\") break;\n\t\tlet i = xt(e, r);\n\t\tn[t.value] = i.inner, r = x(e, i.next);\n\t}\n\treturn {\n\t\tmap: n,\n\t\tnext: r + 1\n\t};\n}\nfunction xt(e, t) {\n\tlet n = 0, r = t;\n\tfor (; r < e.length; r += 1) if (e[r] === \"{\") n += 1;\n\telse if (e[r] === \"}\" && (--n, n === 0)) break;\n\treturn {\n\t\tinner: e.slice(t + 1, r),\n\t\tnext: r + 1\n\t};\n}\nfunction b(e, t) {\n\tlet n = t;\n\tfor (; n < e.length && !St(e[n]);) n += 1;\n\treturn {\n\t\tvalue: e.slice(t, n),\n\t\tnext: n\n\t};\n}\nfunction St(e) {\n\treturn e === \" \" || e === \"\t\" || e === \"\\n\" || e === \"\\r\" || e === \",\" || e === \"{\" || e === \"}\";\n}\nfunction x(e, t) {\n\tlet n = t;\n\tfor (; n < e.length && (e[n] === \" \" || e[n] === \"\t\" || e[n] === \"\\n\" || e[n] === \"\\r\");) n += 1;\n\treturn n;\n}\nfunction Ct(e, t, n) {\n\tif (!Number.isFinite(t)) return \"other\";\n\tlet r = n ? \"ordinal\" : \"cardinal\";\n\ttry {\n\t\treturn new Intl.PluralRules(e, { type: r }).select(t);\n\t} catch {\n\t\treturn new Intl.PluralRules(_, { type: r }).select(t);\n\t}\n}\nfunction wt(e) {\n\tif (e === \"percent\") return { style: \"percent\" };\n\tif (e === \"integer\") return { maximumFractionDigits: 0 };\n}\nfunction Tt(e, t, n) {\n\tif (!Number.isFinite(t)) return \"\";\n\ttry {\n\t\treturn new Intl.NumberFormat(e, n).format(t);\n\t} catch {\n\t\treturn new Intl.NumberFormat(_, n).format(t);\n\t}\n}\nfunction S(e) {\n\treturn e == null ? \"\" : e instanceof Date ? e.toISOString() : String(e);\n}\n//#endregion\n//#region src/seoSlug.ts\nvar Et = /^[A-Za-z0-9._~-]{1,160}$/;\nfunction Dt(e) {\n\treturn typeof e == \"string\" && e !== \".\" && e !== \"..\" && Et.test(e);\n}\n//#endregion\n//#region src/i18n/index.ts\nvar C = {\n\t...ht,\n\t...ft\n}, w = \"en\", T = \"USD\", Ot = /* @__PURE__ */ new Set([\n\t\"ar\",\n\t\"he\",\n\t\"fa\",\n\t\"ur\",\n\t\"ps\",\n\t\"sd\",\n\t\"ug\",\n\t\"yi\",\n\t\"dv\",\n\t\"ckb\",\n\t\"ku\",\n\t\"nqo\",\n\t\"rhg\",\n\t\"syr\"\n]);\nfunction kt(e) {\n\tlet t = e.toLowerCase().split(/[-_]/)[0] ?? \"\";\n\treturn Ot.has(t) ? \"rtl\" : \"ltr\";\n}\nvar At = {\n\tshop: \"/shop\",\n\tcategory: ({ slug: e }) => `/shop/${e ?? \"\"}`,\n\tproduct: ({ slug: e }) => `/product/${e ?? \"\"}`,\n\tcart: \"/cart\",\n\tcheckout: \"/checkout\",\n\taccount: \"/account\",\n\torders: \"/account/orders\",\n\tsubscribe: \"/subscribe\"\n};\nfunction jt(e = {}) {\n\tlet t = Ht(e.locale ?? e.defaultLocale ?? w), n = Ht(e.defaultLocale ?? w), r = Pt(e.messages, t, n);\n\treturn {\n\t\tlocale: t,\n\t\tdefaultLocale: n,\n\t\tdirection: kt(t),\n\t\tt: (n, i) => {\n\t\t\tlet a = r[n] ?? C[n];\n\t\t\treturn a ? gt(a, i ?? {}, t) : (e.onMissingMessage?.(n, t), n);\n\t\t},\n\t\tformatMoney: (e, n = T) => E(t, e, n),\n\t\tformatMoneyAtomic: (e, n = T) => E(t, e / 100, n),\n\t\tformatDate: (n, r) => Bt(t, n, {\n\t\t\tdateStyle: \"medium\",\n\t\t\t...r\n\t\t}, e.timeZone),\n\t\tformatDateTime: (n, r) => Bt(t, n, {\n\t\t\tdateStyle: \"medium\",\n\t\t\ttimeStyle: \"short\",\n\t\t\t...r\n\t\t}, e.timeZone),\n\t\tformatNumber: (e, n) => D(t, e, n),\n\t\tformatPercentFromBps: (e) => D(t, e / 1e4, {\n\t\t\tstyle: \"percent\",\n\t\t\tmaximumFractionDigits: 2\n\t\t}),\n\t\tformatList: (e) => Vt(t, e),\n\t\troute: (r, i, a) => It(r, i, a, e, t, n)\n\t};\n}\nvar Mt = jt();\nfunction Nt(e) {\n\treturn {\n\t\tdefaultLocale: w,\n\t\t...e\n\t};\n}\nfunction Pt(e, t, n) {\n\tlet r = {\n\t\t...C,\n\t\t...mt(t)\n\t};\n\treturn e ? Ut(e) ? Ft(r, e[n], e[t]) : Ft(r, e) : r;\n}\nfunction Ft(e, ...t) {\n\tlet n = { ...e };\n\tfor (let e of t) for (let [t, r] of Object.entries(e ?? {})) typeof r == \"string\" && (n[t] = r);\n\treturn n;\n}\nfunction It(e, t = {}, n, r, i, a) {\n\tlet o = {\n\t\t...r.routing?.routes,\n\t\t...n\n\t}[e] ?? At[e], s = typeof o == \"function\" ? o({\n\t\t...t,\n\t\tlocale: i,\n\t\tdefaultLocale: a\n\t}) : o;\n\treturn Lt(e, s, t.slug), Rt(s, r, i, a);\n}\nfunction Lt(e, t, n) {\n\tif (e !== \"category\" && e !== \"product\") return;\n\tif (!Dt(n)) throw Error(`Cedros Shop ${e} routes require a non-empty SEO-safe catalog slug.`);\n\tif (t.startsWith(\"//\") || /[%\\\\?#\\u0000-\\u0020\\u007f]/.test(t)) throw Error(`Cedros Shop ${e} route is not a safe HTTPS path.`);\n\tlet r;\n\ttry {\n\t\tlet e = new URL(t, \"https://cedros.invalid\");\n\t\tif (e.protocol !== \"https:\" || e.search || e.hash || e.username || e.password) throw Error(\"unsafe route\");\n\t\tr = e.pathname;\n\t} catch {\n\t\tthrow Error(`Cedros Shop ${e} route is not a safe HTTPS path.`);\n\t}\n\tif (r.includes(\"//\") || r.split(\"/\").some((e) => e === \".\" || e === \"..\")) throw Error(`Cedros Shop ${e} route is not a normalized path.`);\n\tlet i = e === \"category\" ? `/shop/${n}` : `/product/${n}`;\n\tif (r !== i && !r.endsWith(i)) throw Error(`Cedros Shop ${e} route must preserve the manifest SEO pattern ${i}.`);\n}\nfunction Rt(e, t, n, r) {\n\tif (!e.startsWith(\"/\") || e.startsWith(\"//\")) return e;\n\tlet i = t.routing?.strategy ?? \"prefix-except-default\";\n\tif (i === \"none\" || i === \"prefix-except-default\" && n === r) return e;\n\tlet a = zt(t, n);\n\treturn e === \"/\" ? a || \"/\" : `${a}${e}`;\n}\nfunction zt(e, t) {\n\tlet n = e.routing?.localePrefix, r = typeof n == \"function\" ? n(t) : n ?? `/${t}`;\n\treturn r.startsWith(\"/\") ? r.replace(/\\/$/, \"\") : `/${r.replace(/\\/$/, \"\")}`;\n}\nfunction E(e, t, n) {\n\treturn /^[A-Za-z]{3}$/.test(n) ? D(e, t, {\n\t\tstyle: \"currency\",\n\t\tcurrency: n\n\t}) : `${D(e, t, {\n\t\tminimumFractionDigits: 2,\n\t\tmaximumFractionDigits: 2\n\t})} ${n}`.trim();\n}\nfunction D(e, t, n) {\n\ttry {\n\t\treturn new Intl.NumberFormat(e, n).format(t);\n\t} catch {\n\t\treturn new Intl.NumberFormat(w, n).format(t);\n\t}\n}\nfunction Bt(e, t, n, r) {\n\tlet i = t instanceof Date ? t : new Date(t);\n\tif (Number.isNaN(i.getTime())) return n.fallback ?? String(t);\n\tlet { fallback: a, ...o } = n;\n\treturn new Intl.DateTimeFormat(e, {\n\t\ttimeZone: r,\n\t\t...o\n\t}).format(i);\n}\nfunction Vt(e, t) {\n\tif (t.length === 0) return \"\";\n\ttry {\n\t\tlet n = Intl.ListFormat;\n\t\tif (n) return new n(e, {\n\t\t\tstyle: \"short\",\n\t\t\ttype: \"conjunction\"\n\t\t}).format(t);\n\t} catch {}\n\treturn t.join(\", \");\n}\nfunction Ht(e) {\n\treturn e.trim() || w;\n}\nfunction Ut(e) {\n\treturn Object.values(e).some((e) => typeof e == \"object\" && !!e);\n}\n//#endregion\n//#region src/runtime/modalBackground.ts\nfunction Wt(e) {\n\tlet t = [];\n\tfor (let n = e; n && n !== document.body; n = n.parentElement) for (let e of Array.from(n.parentElement?.children ?? [])) e === n || !(e instanceof HTMLElement) || e.hasAttribute(\"inert\") || (e.setAttribute(\"inert\", \"\"), t.push(e));\n\treturn () => t.forEach((e) => e.removeAttribute(\"inert\"));\n}\n//#endregion\n//#region src/storefront/markets.ts\nvar O = \"primary\", k = {\n\tid: O,\n\tname: \"Primary market\",\n\tenabled: !0,\n\tcountries: [],\n\tcustomerSegments: [],\n\tchannels: [],\n\tcurrency: \"USD\",\n\tlanguages: [\"en\"],\n\tdefaultLocale: \"en\",\n\tpricing: {\n\t\tstrategy: \"base\",\n\t\tpriceListId: \"\",\n\t\tadjustmentPercent: 0\n\t},\n\tdomain: {\n\t\thost: \"\",\n\t\tpathPrefix: \"\"\n\t},\n\tcontent: {\n\t\tstrategy: \"default\",\n\t\tthemeContentKey: \"\"\n\t},\n\tproductAvailability: {\n\t\tmode: \"all\",\n\t\tproductIds: []\n\t},\n\tgiftCards: { policy: \"giftcards_extension\" },\n\tseo: {\n\t\ttitleSuffix: \"\",\n\t\tdescription: \"\"\n\t}\n}, A = {\n\tenabled: !1,\n\tdefaultMarketId: O,\n\tmarkets: [k]\n};\nfunction Gt(e) {\n\tlet t = j(e), n = on(sn(t?.markets).map(Xt).filter(rn)), r = an(n.length ? n : A.markets), i = I(t?.defaultMarketId), a = i && r.some((e) => e.id === i) ? i : r[0]?.id ?? O;\n\treturn {\n\t\tenabled: cn(t?.enabled) ?? A.enabled,\n\t\tdefaultMarketId: a,\n\t\tmarkets: r\n\t};\n}\nfunction Kt(e, t = {}) {\n\tif (!e.enabled) return null;\n\tlet n = e.markets.filter((e) => e.enabled);\n\tif (!n.length) return null;\n\tlet r = n.some((t) => t.id === e.defaultMarketId) ? e.defaultMarketId : O;\n\treturn n.map((e) => ({\n\t\tmarket: e,\n\t\tscore: nn(e, t, r)\n\t})).filter((e) => e.score > -Infinity).sort((e, t) => t.score - e.score)[0]?.market ?? n.find((e) => e.id === r) ?? n[0] ?? null;\n}\nfunction qt(e, t, n = {}) {\n\treturn {\n\t\t...n,\n\t\t...e ?? {},\n\t\tlocale: e?.locale ?? n.locale ?? t\n\t};\n}\nfunction Jt(e, t) {\n\tif (!t) return !0;\n\tlet { mode: n, productIds: r } = t.productAvailability;\n\tif (n === \"all\") return !0;\n\tlet i = r.includes(e.id);\n\treturn n === \"include\" ? i : !i;\n}\nfunction Yt(e, t) {\n\treturn e.filter((e) => Jt(e, t));\n}\nfunction Xt(e) {\n\tlet t = j(e), n = I(t?.id);\n\treturn n ? {\n\t\tid: n,\n\t\tname: N(t, [\"name\", \"label\"]) ?? n,\n\t\tenabled: cn(t?.enabled) ?? !0,\n\t\tcountries: un(t?.countries),\n\t\tcustomerSegments: P(t?.customerSegments),\n\t\tchannels: P(t?.channels),\n\t\tcurrency: dn(t?.currency) ?? k.currency,\n\t\tlanguages: F(t?.languages),\n\t\tdefaultLocale: R(t?.defaultLocale) ?? F(t?.languages)[0] ?? k.defaultLocale,\n\t\tpricing: Zt(t?.pricing),\n\t\tdomain: Qt(t?.domain),\n\t\tcontent: $t(t?.content),\n\t\tproductAvailability: en(t?.productAvailability),\n\t\tgiftCards: { policy: M(j(t?.giftCards)?.policy, [\"giftcards_extension\", \"hidden\"]) ?? \"giftcards_extension\" },\n\t\tseo: tn(t?.seo)\n\t} : null;\n}\nfunction Zt(e) {\n\tlet t = j(e);\n\treturn {\n\t\tstrategy: M(t?.strategy, [\n\t\t\t\"base\",\n\t\t\t\"fixed\",\n\t\t\t\"adjustment\"\n\t\t]) ?? \"base\",\n\t\tpriceListId: N(t, [\"priceListId\"]) ?? \"\",\n\t\tadjustmentPercent: ln(t?.adjustmentPercent) ?? 0\n\t};\n}\nfunction Qt(e) {\n\tlet t = j(e);\n\treturn {\n\t\thost: z(t?.host),\n\t\tpathPrefix: pn(t?.pathPrefix)\n\t};\n}\nfunction $t(e) {\n\tlet t = j(e);\n\treturn {\n\t\tstrategy: M(t?.strategy, [\"default\", \"localized\"]) ?? \"default\",\n\t\tthemeContentKey: N(t, [\"themeContentKey\"]) ?? \"\"\n\t};\n}\nfunction en(e) {\n\tlet t = j(e);\n\treturn {\n\t\tmode: M(t?.mode, [\n\t\t\t\"all\",\n\t\t\t\"include\",\n\t\t\t\"exclude\"\n\t\t]) ?? \"all\",\n\t\tproductIds: P(t?.productIds)\n\t};\n}\nfunction tn(e) {\n\tlet t = j(e);\n\treturn {\n\t\ttitleSuffix: N(t, [\"titleSuffix\"]) ?? \"\",\n\t\tdescription: N(t, [\"description\"]) ?? \"\"\n\t};\n}\nfunction nn(e, t, n) {\n\tlet r = +(e.id === n), i = L(t.country);\n\tif (i && e.countries.length) {\n\t\tif (!e.countries.includes(i)) return -Infinity;\n\t\tr += 10;\n\t}\n\tlet a = R(t.locale);\n\ta && e.languages.length && (e.languages.includes(a) ? r += 6 : e.languages.some((e) => e.split(\"-\")[0] === a.split(\"-\")[0]) && (r += 4));\n\tlet o = z(t.host);\n\to && e.domain.host && o === e.domain.host && (r += 8);\n\tlet s = pn(t.path);\n\tif (s && e.domain.pathPrefix && fn(s, e.domain.pathPrefix) && (r += 5), t.channel && e.channels.length) {\n\t\tif (!e.channels.includes(t.channel)) return -Infinity;\n\t\tr += 2;\n\t}\n\tif (t.customerSegments?.length && e.customerSegments.length) {\n\t\tlet n = new Set(t.customerSegments);\n\t\tif (!e.customerSegments.some((e) => n.has(e))) return -Infinity;\n\t\tr += 2;\n\t}\n\treturn r;\n}\nfunction rn(e) {\n\treturn !!e;\n}\nfunction an(e) {\n\tlet t = e.findIndex((e) => e.id === O), n = t >= 0 ? t : 0, r = e[n];\n\treturn !r || n === 0 && r.enabled ? e : [r.enabled ? r : {\n\t\t...r,\n\t\tenabled: !0\n\t}, ...e.filter((e, t) => t !== n)];\n}\nfunction on(e) {\n\tlet t = /* @__PURE__ */ new Set();\n\treturn e.filter((e) => t.has(e.id) ? !1 : (t.add(e.id), !0));\n}\nfunction j(e) {\n\treturn e && typeof e == \"object\" && !Array.isArray(e) ? e : null;\n}\nfunction sn(e) {\n\treturn Array.isArray(e) ? e : [];\n}\nfunction M(e, t) {\n\treturn typeof e == \"string\" && t.includes(e) ? e : void 0;\n}\nfunction cn(e) {\n\treturn typeof e == \"boolean\" ? e : void 0;\n}\nfunction ln(e) {\n\treturn typeof e == \"number\" && Number.isFinite(e) ? e : void 0;\n}\nfunction N(e, t) {\n\tlet n = j(e);\n\tif (n) for (let e of t) {\n\t\tlet t = n[e];\n\t\tif (typeof t == \"string\" && t.trim()) return t.trim();\n\t}\n}\nfunction P(e) {\n\treturn (Array.isArray(e) ? e : typeof e == \"string\" ? e.split(\",\") : []).map((e) => typeof e == \"string\" ? e.trim() : \"\").filter(Boolean).slice(0, 100);\n}\nfunction un(e) {\n\treturn P(e).map(L).filter(Boolean);\n}\nfunction F(e) {\n\treturn P(e).map(R).filter(Boolean);\n}\nfunction I(e) {\n\treturn typeof e == \"string\" && /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(e) ? e : void 0;\n}\nfunction L(e) {\n\treturn typeof e == \"string\" ? e.trim().toUpperCase().replace(/[^A-Z0-9-]/g, \"\").slice(0, 8) : \"\";\n}\nfunction R(e) {\n\treturn typeof e == \"string\" ? e.trim().replace(/_/g, \"-\").slice(0, 35) : \"\";\n}\nfunction dn(e) {\n\tlet t = L(e);\n\treturn /^[A-Z]{3}$/.test(t) ? t : void 0;\n}\nfunction z(e) {\n\treturn typeof e == \"string\" ? e.trim().toLowerCase().replace(/^https?:\\/\\//, \"\").replace(/\\/.*$/, \"\").slice(0, 253) : \"\";\n}\nfunction fn(e, t) {\n\treturn t === \"/\" || e === t || e.startsWith(`${t}/`);\n}\nfunction pn(e) {\n\tlet t = typeof e == \"string\" ? e.trim() : \"\";\n\treturn t ? `/${t.replace(/^\\/+|\\/+$/g, \"\")}` : \"\";\n}\n//#endregion\n//#region src/storefront/paymentMethods.ts\nvar mn = {\n\tcard: !1,\n\tcrypto: !1,\n\tcredits: !1,\n\tlocalMethods: []\n};\nfunction hn(e) {\n\tlet t = gn(e);\n\treturn {\n\t\tcard: B(t, [\"card\", \"stripe\"]),\n\t\tcrypto: B(t, [\"crypto\", \"x402\"]),\n\t\tcredits: B(t, [\"credits\"]),\n\t\tlocalMethods: vn(e, t)\n\t};\n}\nfunction gn(e) {\n\tlet t = G(e);\n\tif (!t) return {};\n\tfor (let e of [\"paymentMethods\", \"methods\"]) {\n\t\tlet n = G(t[e]);\n\t\tif (n) return n;\n\t}\n\treturn t;\n}\nfunction B(e, t) {\n\tfor (let n of t) {\n\t\tlet t = V(e[n]);\n\t\tif (t !== void 0) return t;\n\t}\n\treturn !1;\n}\nfunction V(e) {\n\tif (typeof e == \"boolean\") return e;\n\tif (typeof e == \"string\") return _n(e);\n\tlet t = G(e);\n\tif (t) {\n\t\tfor (let e of [\n\t\t\t\"enabled\",\n\t\t\t\"available\",\n\t\t\t\"configured\",\n\t\t\t\"eligible\"\n\t\t]) {\n\t\t\tlet n = V(t[e]);\n\t\t\tif (n !== void 0) return n;\n\t\t}\n\t\treturn V(t.status);\n\t}\n}\nfunction _n(e) {\n\tlet t = e.trim().toLowerCase();\n\tif ([\n\t\t\"true\",\n\t\t\"enabled\",\n\t\t\"available\",\n\t\t\"active\",\n\t\t\"eligible\"\n\t].includes(t)) return !0;\n\tif ([\n\t\t\"false\",\n\t\t\"disabled\",\n\t\t\"unavailable\",\n\t\t\"inactive\",\n\t\t\"ineligible\"\n\t].includes(t)) return !1;\n}\nfunction vn(e, t) {\n\tlet n = [], r = /* @__PURE__ */ new Set(), i = G(e)?.paymentMethods;\n\treturn H(n, r, Array.isArray(i) ? i : void 0), H(n, r, t.localMethods), H(n, r, t.local), H(n, r, t.methods), n;\n}\nfunction H(e, t, n, r) {\n\tif (Array.isArray(n)) {\n\t\tn.forEach((n) => U(e, t, n));\n\t\treturn;\n\t}\n\tlet i = G(n);\n\ti && r ? U(e, t, i, r) : i ? Object.entries(i).forEach(([n, r]) => U(e, t, r, n)) : n !== void 0 && U(e, t, n, r);\n}\nvar yn = 32, bn = 120, xn = 500, Sn = 80;\nfunction U(e, t, n, r) {\n\tif (e.length >= yn) return;\n\tlet i = Cn(n, r);\n\t!i || t.has(i.id) || (t.add(i.id), e.push(i));\n}\nfunction Cn(e, t) {\n\tlet n = wn(e, t);\n\treturn !n || On(n) || !kn(n) || !Tn(e) ? null : {\n\t\tid: n,\n\t\tlabel: W(e, [\n\t\t\t\"label\",\n\t\t\t\"name\",\n\t\t\t\"displayName\"\n\t\t], bn) ?? Dn(n),\n\t\tdescription: W(e, [\"description\"], xn),\n\t\tctaLabel: W(e, [\"ctaLabel\", \"cta_label\"], Sn)\n\t};\n}\nfunction wn(e, t) {\n\tlet n = G(e);\n\treturn (n && typeof n.id == \"string\" ? n.id : t)?.trim() || null;\n}\nfunction Tn(e) {\n\treturn typeof e == \"boolean\" ? e : G(e) ? V(e) ?? !0 : !1;\n}\nfunction W(e, t, n) {\n\tlet r = G(e);\n\tif (r) for (let e of t) {\n\t\tlet t = r[e];\n\t\tif (typeof t == \"string\" && t.trim()) return En(t.trim(), n);\n\t}\n}\nfunction En(e, t) {\n\tlet n = Array.from(e);\n\treturn n.length > t ? n.slice(0, t).join(\"\").trimEnd() : e;\n}\nfunction Dn(e) {\n\treturn e.split(/[-_.]/).filter(Boolean).map((e) => `${e[0]?.toUpperCase() ?? \"\"}${e.slice(1)}`).join(\" \");\n}\nfunction On(e) {\n\treturn [\n\t\t\"card\",\n\t\t\"stripe\",\n\t\t\"crypto\",\n\t\t\"x402\",\n\t\t\"credits\"\n\t].includes(e);\n}\nfunction kn(e) {\n\treturn /^[A-Za-z0-9][A-Za-z0-9_.:-]{0,63}$/.test(e);\n}\nfunction G(e) {\n\treturn e && typeof e == \"object\" && !Array.isArray(e) ? e : null;\n}\n//#endregion\n//#region src/storefront/settings.ts\nvar An = {\n\tmin: 0,\n\tmax: 12\n}, jn = {\n\tmin: 5,\n\tmax: 60\n}, Mn = [\n\t\"most_recent\",\n\t\"by_category\",\n\t\"manual\",\n\t\"ai_curated\"\n], Nn = [\n\t\"large\",\n\t\"square\",\n\t\"compact\"\n], Pn = [\n\t\"center\",\n\t\"top\",\n\t\"bottom\",\n\t\"left\",\n\t\"right\"\n], K = {\n\tenabled: !0,\n\trelatedProducts: {\n\t\tmode: \"most_recent\",\n\t\tmaxItems: 4,\n\t\tlayout: {\n\t\t\tlayout: \"large\",\n\t\t\timageCrop: \"center\"\n\t\t}\n\t},\n\tcatalog: {\n\t\tfilters: {\n\t\t\ttags: !0,\n\t\t\tpriceRange: !0,\n\t\t\tinStock: !0\n\t\t},\n\t\tsort: {\n\t\t\tfeatured: !0,\n\t\t\tpriceAsc: !0,\n\t\t\tpriceDesc: !0\n\t\t}\n\t},\n\tcheckout: { guestCheckout: !0 },\n\tsubscriptions: { successPath: Ue },\n\tshopLayout: {\n\t\tlayout: \"large\",\n\t\timageCrop: \"center\"\n\t},\n\tcategoryLayout: {\n\t\tlayout: \"large\",\n\t\timageCrop: \"center\"\n\t},\n\tsections: {\n\t\tshowDescription: !0,\n\t\tshowSpecs: !0,\n\t\tshowRelatedProducts: !0\n\t},\n\tinventory: {\n\t\tpreCheckoutVerification: !0,\n\t\tholdsEnabled: !1,\n\t\tholdDurationMinutes: 15\n\t},\n\tshopPage: {\n\t\ttitle: \"\",\n\t\tdescription: \"\"\n\t},\n\tmerchandising: {\n\t\tcollections: [],\n\t\tbundles: []\n\t},\n\tmarkets: A\n};\nfunction Fn(e) {\n\tlet t = In(e);\n\treturn {\n\t\t...t,\n\t\tmerchandising: {\n\t\t\tcollections: t.merchandising.collections.filter(J),\n\t\t\tbundles: t.merchandising.bundles.filter(J)\n\t\t}\n\t};\n}\nfunction In(e) {\n\tlet t = $(e), n = $(t?.relatedProducts), r = $(t?.catalog), i = $(r?.filters), a = $(r?.sort), o = $(t?.checkout), s = $(t?.sections), c = $(t?.inventory), l = $(t?.shopPage), u = Z(c?.holdsEnabled, K.inventory.holdsEnabled);\n\treturn {\n\t\tenabled: Z(t?.enabled, K.enabled),\n\t\trelatedProducts: {\n\t\t\tmode: X(n?.mode, Mn, K.relatedProducts.mode),\n\t\t\tmaxItems: Rn(n?.maxItems, An, K.relatedProducts.maxItems),\n\t\t\tlayout: q(n?.layout, K.relatedProducts.layout)\n\t\t},\n\t\tcatalog: {\n\t\t\tfilters: {\n\t\t\t\ttags: Z(i?.tags, K.catalog.filters.tags),\n\t\t\t\tpriceRange: Z(i?.priceRange, K.catalog.filters.priceRange),\n\t\t\t\tinStock: Z(i?.inStock, K.catalog.filters.inStock)\n\t\t\t},\n\t\t\tsort: {\n\t\t\t\tfeatured: Z(a?.featured, K.catalog.sort.featured),\n\t\t\t\tpriceAsc: Z(a?.priceAsc, K.catalog.sort.priceAsc),\n\t\t\t\tpriceDesc: Z(a?.priceDesc, K.catalog.sort.priceDesc)\n\t\t\t}\n\t\t},\n\t\tcheckout: { guestCheckout: Z(o?.guestCheckout, K.checkout.guestCheckout) },\n\t\tsubscriptions: { successPath: p($(t?.subscriptions)?.successPath) ?? K.subscriptions.successPath },\n\t\tshopLayout: q(t?.shopLayout, K.shopLayout),\n\t\tcategoryLayout: q(t?.categoryLayout, K.categoryLayout),\n\t\tsections: {\n\t\t\tshowDescription: Z(s?.showDescription, K.sections.showDescription),\n\t\t\tshowSpecs: Z(s?.showSpecs, K.sections.showSpecs),\n\t\t\tshowRelatedProducts: Z(s?.showRelatedProducts, K.sections.showRelatedProducts)\n\t\t},\n\t\tinventory: {\n\t\t\tpreCheckoutVerification: Z(c?.preCheckoutVerification, K.inventory.preCheckoutVerification),\n\t\t\tholdsEnabled: u,\n\t\t\tholdDurationMinutes: Ln(c?.holdDurationMinutes, u)\n\t\t},\n\t\tshopPage: {\n\t\t\ttitle: Yn(l?.title, K.shopPage.title),\n\t\t\tdescription: Yn(l?.description, K.shopPage.description)\n\t\t},\n\t\tmerchandising: zn(t?.merchandising),\n\t\tmarkets: Gt(t?.markets)\n\t};\n}\nfunction q(e, t) {\n\tlet n = $(e);\n\treturn {\n\t\tlayout: X(n?.layout, Nn, t.layout),\n\t\timageCrop: X(n?.imageCrop, Pn, t.imageCrop)\n\t};\n}\nfunction Ln(e, t) {\n\treturn e === 0 && !t ? 0 : Rn(e, jn, K.inventory.holdDurationMinutes);\n}\nfunction Rn(e, t, n) {\n\treturn typeof e == \"number\" && Number.isInteger(e) && e >= t.min && e <= t.max ? e : n;\n}\nfunction zn(e) {\n\tlet t = $(e);\n\treturn {\n\t\tcollections: Bn(Array.isArray(t?.collections) ? t.collections.map(Wn).filter(Vn) : []),\n\t\tbundles: Bn(Array.isArray(t?.bundles) ? t.bundles.map(qn).filter(Hn) : [])\n\t};\n}\nfunction Bn(e) {\n\tlet t = /* @__PURE__ */ new Set();\n\treturn e.map((e) => {\n\t\tif (!t.has(e.handle)) return t.add(e.handle), e;\n\t\tlet n = e.handle;\n\t\tfor (let r = 2; r < 1e4 && t.has(n); r += 1) n = `${e.handle}-${r}`;\n\t\treturn t.add(n), {\n\t\t\t...e,\n\t\t\thandle: n\n\t\t};\n\t});\n}\nfunction J(e) {\n\treturn e.title.trim() !== \"\";\n}\nfunction Vn(e) {\n\treturn !!e;\n}\nfunction Hn(e) {\n\treturn !!e;\n}\nvar Un = [\n\t\"category\",\n\t\"tag\",\n\t\"search\",\n\t\"manual\"\n];\nfunction Wn(e) {\n\tlet t = $(e), n = Q(t, [\"id\"]);\n\tif (!n) return null;\n\tlet r = Q(t, [\n\t\t\"title\",\n\t\t\"label\",\n\t\t\"name\"\n\t]) ?? \"\";\n\treturn {\n\t\tid: n,\n\t\ttitle: r,\n\t\thandle: Q(t, [\"handle\", \"slug\"]) ?? Xn(r || n),\n\t\tdescription: Q(t, [\"description\"]) ?? \"\",\n\t\trules: Gn(t),\n\t\tsort: Y(t?.sort, [\n\t\t\t\"featured\",\n\t\t\t\"priceAsc\",\n\t\t\t\"priceDesc\"\n\t\t]) ?? \"featured\",\n\t\tvisible: Z(t?.visible, !0),\n\t\tfeatured: Z(t?.featured, !1)\n\t};\n}\nfunction Gn(e) {\n\tif (Array.isArray(e?.rules)) return e.rules.map(Kn).filter((e) => e !== null);\n\tlet t = Y(e?.ruleType, Un) ?? \"tag\";\n\treturn [{\n\t\ttype: t,\n\t\tvalue: t === \"manual\" ? \"\" : Q(e, [\n\t\t\t\"ruleValue\",\n\t\t\t\"query\",\n\t\t\t\"categorySlug\",\n\t\t\t\"tag\"\n\t\t]) ?? \"\"\n\t}];\n}\nfunction Kn(e) {\n\tlet t = $(e), n = Y(t?.type ?? t?.ruleType, Un);\n\treturn n ? {\n\t\ttype: n,\n\t\tvalue: n === \"manual\" ? \"\" : Q(t, [\n\t\t\t\"value\",\n\t\t\t\"ruleValue\",\n\t\t\t\"query\"\n\t\t]) ?? \"\"\n\t} : null;\n}\nfunction qn(e) {\n\tlet t = $(e), n = Q(t, [\"id\"]);\n\tif (!n) return null;\n\tlet r = Q(t, [\n\t\t\"title\",\n\t\t\"label\",\n\t\t\"name\"\n\t]) ?? \"\";\n\treturn {\n\t\tid: n,\n\t\ttitle: r,\n\t\thandle: Q(t, [\"handle\", \"slug\"]) ?? Xn(r || n),\n\t\tdescription: Q(t, [\"description\"]) ?? \"\",\n\t\tproductIds: Jn(t?.productIds),\n\t\tvisible: Z(t?.visible, !0),\n\t\tfeatured: Z(t?.featured, !1)\n\t};\n}\nfunction Jn(e) {\n\treturn (Array.isArray(e) ? e : typeof e == \"string\" ? e.split(\",\") : []).map((e) => typeof e == \"string\" ? e.trim() : \"\").filter(Boolean);\n}\nfunction Y(e, t) {\n\treturn typeof e == \"string\" && t.includes(e) ? e : void 0;\n}\nfunction X(e, t, n) {\n\treturn Y(e, t) ?? n;\n}\nfunction Z(e, t) {\n\treturn typeof e == \"boolean\" ? e : t;\n}\nfunction Yn(e, t) {\n\treturn typeof e == \"string\" ? e : t;\n}\nfunction Xn(e) {\n\treturn e.trim().toLowerCase().replace(/[^a-z0-9-]+/g, \"-\").replace(/^-+|-+$/g, \"\") || \"untitled\";\n}\nfunction Q(e, t) {\n\tlet n = $(e);\n\tif (n) for (let e of t) {\n\t\tlet t = n[e];\n\t\tif (typeof t == \"string\" && t.trim()) return t.trim();\n\t}\n}\nfunction $(e) {\n\treturn e && typeof e == \"object\" && !Array.isArray(e) ? e : null;\n}\nfunction Zn(e) {\n\tlet t = e.rules.filter(Qn);\n\treturn e.visible && e.featured && J(e) && t.length > 0 && t.filter((e) => e.type === \"category\").length <= 1 && t.filter((e) => e.type === \"search\").length <= 1;\n}\nfunction Qn(e) {\n\treturn e.type !== \"manual\" && !!e.value.trim();\n}\n//#endregion\n//#region src/extension/styleInjection.ts\nvar $n = /* @__PURE__ */ new Set();\nfunction er(e, t) {\n\tif (!t || typeof document > \"u\" || $n.has(e) || document.getElementById(e)) return;\n\tlet n = document.createElement(\"style\");\n\tn.id = e, n.dataset.c154w00lExtensionId = \"cedros-shop\", n.textContent = t, document.head.appendChild(n), $n.add(e);\n}\n//#endregion\nexport { oe as $, ut as A, ye as At, Ye as B, u as Bt, Dt as C, Le as Ct, at as D, je as Dt, dt as E, Pe as Et, f as F, he as Ft, de as G, He as H, Xe as I, me as It, le as J, ae as K, p as L, De as Lt, it as M, Ee as Mt, rt as N, r as Nt, nt as O, Ae as Ot, Ue as P, _e as Pt, fe as Q, Ke as R, ge as Rt, Nt as S, l as St, g as T, Ie as Tt, ce as U, qe as V, ue as W, ne as X, re as Y, ie as Z, Wt as _, ze as _t, Fn as a, we as at, jt as b, xe as bt, Qn as c, Ce as ct, A as d, Fe as dt, se as et, Gt as f, Ne as ft, Kt as g, Be as gt, Jt as h, i as ht, zn as i, ke as it, h as j, ve as jt, ct as k, a as kt, mn as l, o as lt, Yt as m, be as mt, K as n, Me as nt, In as o, Te as ot, qt as p, s as pt, pe as q, An as r, n as rt, Zn as s, Se as st, er as t, c as tt, hn as u, ee as ut, Mt as v, e as vt, gt as w, Re as wt, kt as x, te as xt, C as y, t as yt, Je as z, Oe as zt };\n","imports":[],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/useCurrentIdentity--397tFNA.js","kind":"module","text":"import { A as e, C as t, E as n, _ as r, a as i, b as a, n as o, vt as s } from \"./styleInjection-D8xLNR6Q.js\";\nimport * as c from \"react\";\nimport l, { useCallback as u, useEffect as d, useId as f, useLayoutEffect as p, useRef as m, useState as h } from \"react\";\nimport { Fragment as g, jsx as _, jsxs as v } from \"react/jsx-runtime\";\n//#region src/storefront/marketCatalogRegistry.ts\nvar y = /* @__PURE__ */ new WeakMap();\nfunction b(e, t) {\n\ty.get(e)?.(t);\n}\nfunction x(e, t) {\n\ty.set(e, t);\n}\n//#endregion\n//#region src/runtime/recurringRefresh.ts\nvar S = 5 * 6e4, C = globalThis;\nfunction w() {\n\treturn C.navigator?.onLine !== !1 && C.document?.visibilityState !== \"hidden\";\n}\nfunction ee(e, t, n) {\n\tif (t <= 0) return 0;\n\tlet r = Math.min(S, t * 2 ** Math.min(n, 4)), i = 0;\n\tfor (let t = 0; t < e.length; t += 1) i = i * 31 + e.charCodeAt(t) >>> 0;\n\treturn Math.round(r * (.9 + i % 21 / 100));\n}\n//#endregion\n//#region src/runtime/asyncResource.ts\nvar te = 200, ne = 5e3, T = 3e4, E = 200, D = 0, O = /* @__PURE__ */ new Map(), k = /* @__PURE__ */ new WeakMap(), re = 1;\nfunction ie(e, t = \"obj\") {\n\tif (!e) return `${t}:none`;\n\tlet n = k.get(e);\n\tif (n) return `${t}:${n}`;\n\tlet r = re++;\n\treturn k.set(e, r), `${t}:${r}`;\n}\nfunction ae(e) {\n\treturn JSON.stringify(A(e));\n}\nfunction oe(e) {\n\tfor (let [t, n] of O) t.startsWith(e) && (n.requestId += 1, n.data = void 0, O.delete(t), j(n));\n}\nfunction A(e) {\n\tif (Array.isArray(e)) return e.map(A);\n\tif (!e || typeof e != \"object\") return e;\n\tlet t = Object.entries(e).sort(([e], [t]) => e.localeCompare(t));\n\treturn Object.fromEntries(t.map(([e, t]) => [e, A(t)]));\n}\nfunction se(e) {\n\tlet t = O.get(e);\n\treturn t ? (t.lastAccessed = Date.now(), t) : (t = {\n\t\tdata: void 0,\n\t\terror: null,\n\t\tstatus: \"idle\",\n\t\tpromise: null,\n\t\tsubscribers: /* @__PURE__ */ new Set(),\n\t\trequestId: 0,\n\t\tlastAccessed: Date.now(),\n\t\tlastSettledAt: 0,\n\t\tconsecutiveFailures: 0,\n\t\thasResolved: !1\n\t}, O.set(e, t), le(t), t);\n}\nfunction ce(e, t) {\n\tlet n = se(e);\n\treturn n.subscribers.add(t), () => {\n\t\tn.subscribers.delete(t), le();\n\t};\n}\nfunction j(e) {\n\te.subscribers.forEach((e) => e());\n}\nfunction M(e, t, n, r) {\n\tlet i = se(e), a = i.data === void 0 ? t : i.data, o = n && i.status === \"loading\", s = n && !i.hasResolved && !r && (i.status === \"idle\" || o);\n\treturn {\n\t\tdata: a,\n\t\terror: i.error,\n\t\tisLoading: s,\n\t\tisFetching: o\n\t};\n}\nasync function N(e, t, n, r) {\n\tlet i = se(e);\n\tif (i.promise) return i.promise;\n\tif (!n && i.lastSettledAt > 0 && Date.now() - i.lastSettledAt < r) return;\n\tlet a = ++i.requestId;\n\tif (i.status = \"loading\", i.error = null, j(i), D >= E) {\n\t\ti.status = \"error\", i.error = \"Too many pending reads. Please retry when earlier requests finish.\", i.lastSettledAt = Date.now(), i.consecutiveFailures += 1, j(i);\n\t\treturn;\n\t}\n\tD += 1;\n\tlet o = !1, s;\n\ti.promise = new Promise((e) => {\n\t\ts = e;\n\t});\n\tlet c = setTimeout(() => {\n\t\to = !0, i.requestId === a && (i.status = \"error\", i.error = \"The request took too long to respond.\", i.consecutiveFailures += 1, i.promise = null, i.lastSettledAt = Date.now(), j(i)), s();\n\t}, T);\n\treturn Promise.resolve().then(t).then((e) => {\n\t\to || i.requestId !== a || (i.data = e, i.status = \"success\", i.error = null, i.hasResolved = !0, i.consecutiveFailures = 0);\n\t}).catch((e) => {\n\t\tif (o || i.requestId !== a) return;\n\t\ti.status = \"error\";\n\t\tlet t = e instanceof Error ? e.message : String(e ?? \"\");\n\t\ti.error = t.trim() ? t : \"The request failed. Please retry.\", i.consecutiveFailures += 1;\n\t}).finally(() => {\n\t\t--D, clearTimeout(c), s(), i.requestId === a && (i.promise = null, i.lastAccessed = Date.now(), i.lastSettledAt = i.lastAccessed, j(i)), le();\n\t}), i.promise;\n}\nfunction le(e) {\n\tif (O.size <= te) return;\n\tlet t = Array.from(O.entries()).sort(([, e], [, t]) => e.lastAccessed - t.lastAccessed);\n\tfor (let [n, r] of t) {\n\t\tif (O.size <= te) return;\n\t\tr !== e && r.subscribers.size === 0 && !r.promise && O.delete(n);\n\t}\n}\nfunction ue({ key: e, enabled: t = !0, initialData: n, refreshIntervalMs: r = 0, initialDataIsResolved: i = !1, staleTimeMs: a = ne, fetcher: o }) {\n\tlet s = c.useRef(o);\n\ts.current = o;\n\tlet l = c.useCallback((t) => ce(e, t), [e]), u = c.useMemo(() => {\n\t\tlet r;\n\t\treturn () => {\n\t\t\tlet a = M(e, n, t, i);\n\t\t\treturn r && r.data === a.data && r.error === a.error && r.isLoading === a.isLoading && r.isFetching === a.isFetching || (r = a), r;\n\t\t};\n\t}, [\n\t\tt,\n\t\tn,\n\t\ti,\n\t\te\n\t]), d = c.useSyncExternalStore(l, u, u);\n\tc.useEffect(() => {\n\t\tif (!t) return;\n\t\tlet n = !1, i = !0, o = null, c = (e) => {\n\t\t\tn || r <= 0 || (o && clearTimeout(o), o = setTimeout(l, e));\n\t\t}, l = async () => {\n\t\t\tif (o = null, !i && !w()) {\n\t\t\t\tc(r);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ti = !1, await N(e, () => s.current(), !1, a), n || c(ee(e, r, O.get(e)?.consecutiveFailures ?? 0));\n\t\t}, u = () => {\n\t\t\tr > 0 && w() && l();\n\t\t};\n\t\treturn l(), C.addEventListener?.(\"online\", u), C.document?.addEventListener?.(\"visibilitychange\", u), () => {\n\t\t\tn = !0, o && clearTimeout(o), C.removeEventListener?.(\"online\", u), C.document?.removeEventListener?.(\"visibilitychange\", u);\n\t\t};\n\t}, [\n\t\tt,\n\t\te,\n\t\tr,\n\t\ta\n\t]);\n\tlet f = c.useCallback(() => N(e, () => s.current(), !0, a), [e, a]);\n\treturn {\n\t\t...d,\n\t\trefetch: f\n\t};\n}\n//#endregion\n//#region node_modules/@noble/hashes/utils.js\nfunction de(e) {\n\treturn e instanceof Uint8Array || ArrayBuffer.isView(e) && e.constructor.name === \"Uint8Array\" && \"BYTES_PER_ELEMENT\" in e && e.BYTES_PER_ELEMENT === 1;\n}\nfunction fe(e, t, n = \"\") {\n\tlet r = de(e), i = e?.length, a = t !== void 0;\n\tif (!r || a && i !== t) {\n\t\tlet o = n && `\"${n}\" `, s = a ? ` of length ${t}` : \"\", c = r ? `length=${i}` : `type=${typeof e}`, l = o + \"expected Uint8Array\" + s + \", got \" + c;\n\t\tthrow r ? RangeError(l) : TypeError(l);\n\t}\n\treturn e;\n}\nfunction pe(e, t = !0) {\n\tif (e.destroyed) throw Error(\"Hash instance has been destroyed\");\n\tif (t && e.finished) throw Error(\"Hash#digest() has already been called\");\n}\nfunction me(e, t) {\n\tfe(e, void 0, \"digestInto() output\");\n\tlet n = t.outputLen;\n\tif (e.length < n) throw RangeError(\"\\\"digestInto() output\\\" expected to be of length >=\" + n);\n}\nfunction he(...e) {\n\tfor (let t = 0; t < e.length; t++) e[t].fill(0);\n}\nfunction ge(e) {\n\treturn new DataView(e.buffer, e.byteOffset, e.byteLength);\n}\nfunction P(e, t) {\n\treturn e << 32 - t | e >>> t;\n}\nvar _e = typeof Uint8Array.from([]).toHex == \"function\" && typeof Uint8Array.fromHex == \"function\", ve = /* @__PURE__ */ Array.from({ length: 256 }, (e, t) => t.toString(16).padStart(2, \"0\"));\nfunction ye(e) {\n\tif (fe(e), _e) return e.toHex();\n\tlet t = \"\";\n\tfor (let n = 0; n < e.length; n++) t += ve[e[n]];\n\treturn t;\n}\nfunction be(e) {\n\tif (typeof e != \"string\") throw TypeError(\"string expected\");\n\treturn new Uint8Array(new TextEncoder().encode(e));\n}\nfunction xe(e, t = {}) {\n\tlet n = (t, n) => e(n).update(t).digest(), r = e(void 0);\n\treturn n.outputLen = r.outputLen, n.blockLen = r.blockLen, n.canXOF = r.canXOF, n.create = (t) => e(t), Object.assign(n, t), Object.freeze(n);\n}\nvar Se = (e) => ({ oid: Uint8Array.from([\n\t6,\n\t9,\n\t96,\n\t134,\n\t72,\n\t1,\n\t101,\n\t3,\n\t4,\n\t2,\n\te\n]) });\n//#endregion\n//#region node_modules/@noble/hashes/_md.js\nfunction Ce(e, t, n) {\n\treturn e & t ^ ~e & n;\n}\nfunction we(e, t, n) {\n\treturn e & t ^ e & n ^ t & n;\n}\nvar Te = class {\n\tblockLen;\n\toutputLen;\n\tcanXOF = !1;\n\tpadOffset;\n\tisLE;\n\tbuffer;\n\tview;\n\tfinished = !1;\n\tlength = 0;\n\tpos = 0;\n\tdestroyed = !1;\n\tconstructor(e, t, n, r) {\n\t\tthis.blockLen = e, this.outputLen = t, this.padOffset = n, this.isLE = r, this.buffer = new Uint8Array(e), this.view = ge(this.buffer);\n\t}\n\tupdate(e) {\n\t\tpe(this), fe(e);\n\t\tlet { view: t, buffer: n, blockLen: r } = this, i = e.length;\n\t\tfor (let a = 0; a < i;) {\n\t\t\tlet o = Math.min(r - this.pos, i - a);\n\t\t\tif (o === r) {\n\t\t\t\tlet t = ge(e);\n\t\t\t\tfor (; r <= i - a; a += r) this.process(t, a);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tn.set(e.subarray(a, a + o), this.pos), this.pos += o, a += o, this.pos === r && (this.process(t, 0), this.pos = 0);\n\t\t}\n\t\treturn this.length += e.length, this.roundClean(), this;\n\t}\n\tdigestInto(e) {\n\t\tpe(this), me(e, this), this.finished = !0;\n\t\tlet { buffer: t, view: n, blockLen: r, isLE: i } = this, { pos: a } = this;\n\t\tt[a++] = 128, he(this.buffer.subarray(a)), this.padOffset > r - a && (this.process(n, 0), a = 0);\n\t\tfor (let e = a; e < r; e++) t[e] = 0;\n\t\tn.setBigUint64(r - 8, BigInt(this.length * 8), i), this.process(n, 0);\n\t\tlet o = ge(e), s = this.outputLen;\n\t\tif (s % 4) throw Error(\"_sha2: outputLen must be aligned to 32bit\");\n\t\tlet c = s / 4, l = this.get();\n\t\tif (c > l.length) throw Error(\"_sha2: outputLen bigger than state\");\n\t\tfor (let e = 0; e < c; e++) o.setUint32(4 * e, l[e], i);\n\t}\n\tdigest() {\n\t\tlet { buffer: e, outputLen: t } = this;\n\t\tthis.digestInto(e);\n\t\tlet n = e.slice(0, t);\n\t\treturn this.destroy(), n;\n\t}\n\t_cloneInto(e) {\n\t\te ||= new this.constructor(), e.set(...this.get());\n\t\tlet { blockLen: t, buffer: n, length: r, finished: i, destroyed: a, pos: o } = this;\n\t\treturn e.destroyed = a, e.finished = i, e.length = r, e.pos = o, r % t && e.buffer.set(n), e;\n\t}\n\tclone() {\n\t\treturn this._cloneInto();\n\t}\n}, F = /* @__PURE__ */ Uint32Array.from([\n\t1779033703,\n\t3144134277,\n\t1013904242,\n\t2773480762,\n\t1359893119,\n\t2600822924,\n\t528734635,\n\t1541459225\n]), Ee = /* @__PURE__ */ Uint32Array.from([\n\t1116352408,\n\t1899447441,\n\t3049323471,\n\t3921009573,\n\t961987163,\n\t1508970993,\n\t2453635748,\n\t2870763221,\n\t3624381080,\n\t310598401,\n\t607225278,\n\t1426881987,\n\t1925078388,\n\t2162078206,\n\t2614888103,\n\t3248222580,\n\t3835390401,\n\t4022224774,\n\t264347078,\n\t604807628,\n\t770255983,\n\t1249150122,\n\t1555081692,\n\t1996064986,\n\t2554220882,\n\t2821834349,\n\t2952996808,\n\t3210313671,\n\t3336571891,\n\t3584528711,\n\t113926993,\n\t338241895,\n\t666307205,\n\t773529912,\n\t1294757372,\n\t1396182291,\n\t1695183700,\n\t1986661051,\n\t2177026350,\n\t2456956037,\n\t2730485921,\n\t2820302411,\n\t3259730800,\n\t3345764771,\n\t3516065817,\n\t3600352804,\n\t4094571909,\n\t275423344,\n\t430227734,\n\t506948616,\n\t659060556,\n\t883997877,\n\t958139571,\n\t1322822218,\n\t1537002063,\n\t1747873779,\n\t1955562222,\n\t2024104815,\n\t2227730452,\n\t2361852424,\n\t2428436474,\n\t2756734187,\n\t3204031479,\n\t3329325298\n]), I = /* @__PURE__ */ new Uint32Array(64), De = class extends Te {\n\tconstructor(e) {\n\t\tsuper(64, e, 8, !1);\n\t}\n\tget() {\n\t\tlet { A: e, B: t, C: n, D: r, E: i, F: a, G: o, H: s } = this;\n\t\treturn [\n\t\t\te,\n\t\t\tt,\n\t\t\tn,\n\t\t\tr,\n\t\t\ti,\n\t\t\ta,\n\t\t\to,\n\t\t\ts\n\t\t];\n\t}\n\tset(e, t, n, r, i, a, o, s) {\n\t\tthis.A = e | 0, this.B = t | 0, this.C = n | 0, this.D = r | 0, this.E = i | 0, this.F = a | 0, this.G = o | 0, this.H = s | 0;\n\t}\n\tprocess(e, t) {\n\t\tfor (let n = 0; n < 16; n++, t += 4) I[n] = e.getUint32(t, !1);\n\t\tfor (let e = 16; e < 64; e++) {\n\t\t\tlet t = I[e - 15], n = I[e - 2], r = P(t, 7) ^ P(t, 18) ^ t >>> 3;\n\t\t\tI[e] = (P(n, 17) ^ P(n, 19) ^ n >>> 10) + I[e - 7] + r + I[e - 16] | 0;\n\t\t}\n\t\tlet { A: n, B: r, C: i, D: a, E: o, F: s, G: c, H: l } = this;\n\t\tfor (let e = 0; e < 64; e++) {\n\t\t\tlet t = P(o, 6) ^ P(o, 11) ^ P(o, 25), u = l + t + Ce(o, s, c) + Ee[e] + I[e] | 0, d = (P(n, 2) ^ P(n, 13) ^ P(n, 22)) + we(n, r, i) | 0;\n\t\t\tl = c, c = s, s = o, o = a + u | 0, a = i, i = r, r = n, n = u + d | 0;\n\t\t}\n\t\tn = n + this.A | 0, r = r + this.B | 0, i = i + this.C | 0, a = a + this.D | 0, o = o + this.E | 0, s = s + this.F | 0, c = c + this.G | 0, l = l + this.H | 0, this.set(n, r, i, a, o, s, c, l);\n\t}\n\troundClean() {\n\t\the(I);\n\t}\n\tdestroy() {\n\t\tthis.destroyed = !0, this.set(0, 0, 0, 0, 0, 0, 0, 0), he(this.buffer);\n\t}\n}, Oe = class extends De {\n\tA = F[0] | 0;\n\tB = F[1] | 0;\n\tC = F[2] | 0;\n\tD = F[3] | 0;\n\tE = F[4] | 0;\n\tF = F[5] | 0;\n\tG = F[6] | 0;\n\tH = F[7] | 0;\n\tconstructor() {\n\t\tsuper(32);\n\t}\n}, ke = /* @__PURE__ */ xe(() => new Oe(), /* @__PURE__ */ Se(1));\n//#endregion\n//#region src/runtime/identityScope.ts\nfunction Ae(...e) {\n\tlet t = ke(be(JSON.stringify(e)));\n\treturn Array.from(t.slice(0, 16), (e) => e.toString(16).padStart(2, \"0\")).join(\"\");\n}\n//#endregion\n//#region src/runtime/config.tsx\nvar je = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map(), Ne = { complianceCheck: !1 };\nfunction Pe(e) {\n\treturn {\n\t\t...Ne,\n\t\t...e.featureFlags ?? {}\n\t};\n}\nvar Fe = l.createContext(null);\nfunction L() {\n\tlet e = l.useContext(Fe);\n\tif (!e) throw Error(\"useCedrosShop must be used within CedrosShopProvider\");\n\treturn e;\n}\nfunction Ie() {\n\treturn l.useContext(Fe);\n}\nfunction R() {\n\treturn l.useContext(Fe)?.i18n ?? a();\n}\nfunction Le({ config: e, children: t }) {\n\tlet n = `${ie(e.adapter, \"adapter\")}:scope:${Ae(e.dataScope ?? \"default\", e.customer?.id ?? \"guest\", e.customer?.isSignedIn === !0)}`;\n\tl.useLayoutEffect(() => Re(n, e.adapter), [n, e.adapter]);\n\tlet r = l.useMemo(() => Pe({ featureFlags: e.featureFlags }), [e.featureFlags]), i = l.useMemo(() => a(e.i18n), [e.i18n]), o = l.useMemo(() => ({\n\t\tconfig: e,\n\t\tfeatureFlags: r,\n\t\ti18n: i,\n\t\tdataCacheKey: n\n\t}), [\n\t\te,\n\t\tr,\n\t\ti,\n\t\tn\n\t]);\n\treturn /* @__PURE__ */ _(Fe.Provider, {\n\t\tvalue: o,\n\t\tchildren: t\n\t});\n}\nfunction Re(e, t) {\n\tlet n = Me.get(e);\n\tn && clearTimeout(n), Me.delete(e), je.set(e, (je.get(e) ?? 0) + 1);\n\tlet r = !0;\n\treturn () => {\n\t\tif (!r) return;\n\t\tr = !1;\n\t\tlet n = je.get(e) ?? 0;\n\t\tif (n > 1) {\n\t\t\tje.set(e, n - 1);\n\t\t\treturn;\n\t\t}\n\t\tje.delete(e), oe(`${e}:`), Me.set(e, setTimeout(() => {\n\t\t\tMe.delete(e), b(t, `${e}:`);\n\t\t}, 25));\n\t};\n}\n//#endregion\n//#region src/runtime/promotionCodes.ts\nfunction ze(e) {\n\treturn e?.trim().toUpperCase() || void 0;\n}\nfunction z(e) {\n\tlet t = /* @__PURE__ */ new Set(), n = [];\n\tfor (let r of e ?? []) {\n\t\tlet e = ze(r);\n\t\t!e || t.has(e) || (t.add(e), n.push(e));\n\t}\n\treturn n;\n}\n//#endregion\n//#region src/runtime/cartReducer.ts\nfunction Be(e) {\n\tthrow Error(`Unhandled cart action: ${JSON.stringify(e)}`);\n}\nfunction B(e) {\n\treturn JSON.stringify([e.productId, e.variantId ?? \"\"]);\n}\nvar Ve = { items: [] };\nfunction He(e, t) {\n\tswitch (t.type) {\n\t\tcase \"cart/hydrate\": return V(t.state);\n\t\tcase \"cart/add\": {\n\t\t\tif (!Number.isSafeInteger(Math.floor(t.qty ?? 1))) return e;\n\t\t\tlet n = Math.min(999, Math.max(1, Math.floor(t.qty ?? 1))), r = B(t.item), i = e.items[0]?.currency;\n\t\t\tif (i && t.item.currency !== i) return {\n\t\t\t\titems: [{\n\t\t\t\t\t...t.item,\n\t\t\t\t\tqty: n\n\t\t\t\t}],\n\t\t\t\tpromoCode: void 0,\n\t\t\t\tpromoCodes: void 0\n\t\t\t};\n\t\t\tlet a = e.items.find((e) => B(e) === r);\n\t\t\treturn a && !Number.isSafeInteger(a.qty + n) ? e : a ? {\n\t\t\t\t...e,\n\t\t\t\titems: e.items.map((e) => B(e) === r ? {\n\t\t\t\t\t...e,\n\t\t\t\t\tqty: Math.min(999, e.qty + n)\n\t\t\t\t} : e)\n\t\t\t} : {\n\t\t\t\t...e,\n\t\t\t\titems: [...e.items, {\n\t\t\t\t\t...t.item,\n\t\t\t\t\tqty: n\n\t\t\t\t}]\n\t\t\t};\n\t\t}\n\t\tcase \"cart/remove\": {\n\t\t\tlet n = B(t);\n\t\t\treturn {\n\t\t\t\t...e,\n\t\t\t\titems: e.items.filter((e) => B(e) !== n)\n\t\t\t};\n\t\t}\n\t\tcase \"cart/setQty\": {\n\t\t\tif (!Number.isSafeInteger(Math.floor(t.qty))) return e;\n\t\t\tlet n = Math.min(999, Math.max(0, Math.floor(t.qty))), r = B(t);\n\t\t\treturn n === 0 ? {\n\t\t\t\t...e,\n\t\t\t\titems: e.items.filter((e) => B(e) !== r)\n\t\t\t} : {\n\t\t\t\t...e,\n\t\t\t\titems: e.items.map((e) => B(e) === r ? {\n\t\t\t\t\t...e,\n\t\t\t\t\tqty: n\n\t\t\t\t} : e)\n\t\t\t};\n\t\t}\n\t\tcase \"cart/clear\": return t.purchased ? qe(e, t.purchased) : {\n\t\t\titems: [],\n\t\t\tpromoCode: void 0,\n\t\t\tpromoCodes: void 0\n\t\t};\n\t\tcase \"cart/setPromoCode\": return Ge(e, z([t.promoCode]));\n\t\tcase \"cart/addPromoCode\": return Ge(e, z([t.promoCode]));\n\t\tcase \"cart/removePromoCode\": {\n\t\t\tlet n = ze(t.promoCode);\n\t\t\treturn Ge(e, z(e.promoCodes ?? [e.promoCode]).filter((e) => e !== n));\n\t\t}\n\t\tcase \"cart/updateHold\": {\n\t\t\tlet n = B(t);\n\t\t\treturn {\n\t\t\t\t...e,\n\t\t\t\titems: e.items.map((e) => B(e) === n ? {\n\t\t\t\t\t...e,\n\t\t\t\t\tholdId: t.holdId === void 0 ? e.holdId : t.holdId || void 0,\n\t\t\t\t\tholdExpiresAt: t.holdExpiresAt === void 0 ? e.holdExpiresAt : t.holdExpiresAt || void 0\n\t\t\t\t} : e)\n\t\t\t};\n\t\t}\n\t\tdefault: return Be(t);\n\t}\n}\nfunction Ue(e) {\n\treturn e.reduce((e, t) => e + t.qty, 0);\n}\nfunction We(e) {\n\treturn e.reduce((e, t) => e + t.qty * t.unitPrice, 0);\n}\nfunction V(e) {\n\tlet t = e.items[0]?.currency, n = t ? e.items.filter((e) => e.currency === t) : e.items;\n\treturn Ge({\n\t\t...e,\n\t\titems: n\n\t}, z(e.promoCodes ?? [e.promoCode]));\n}\nfunction Ge(e, t) {\n\tlet n = t.slice(0, 1);\n\treturn {\n\t\t...e,\n\t\tpromoCodes: n.length ? n : void 0,\n\t\tpromoCode: n[0]\n\t};\n}\nfunction Ke(e) {\n\tif (!Je(e) || !Array.isArray(e.items)) return null;\n\tlet t = [];\n\tfor (let n of e.items) {\n\t\tif (!Je(n) || typeof n.productId != \"string\" || !n.productId || n.variantId !== void 0 && typeof n.variantId != \"string\" || typeof n.qty != \"number\" || !Number.isSafeInteger(n.qty) || n.qty <= 0 || typeof n.unitPrice != \"number\" || !Number.isFinite(n.unitPrice) || n.unitPrice < 0 || typeof n.currency != \"string\" || !n.currency || typeof n.titleSnapshot != \"string\") return null;\n\t\tt.push({\n\t\t\tproductId: n.productId,\n\t\t\tvariantId: n.variantId,\n\t\t\tqty: n.qty,\n\t\t\tunitPrice: n.unitPrice,\n\t\t\tcurrency: n.currency,\n\t\t\ttitleSnapshot: n.titleSnapshot\n\t\t});\n\t}\n\tlet n = e.promoCodes ?? (e.promoCode === void 0 ? [] : [e.promoCode]);\n\treturn !Array.isArray(n) || !n.every((e) => typeof e == \"string\") ? null : {\n\t\titems: t,\n\t\tpromoCodes: z(n)\n\t};\n}\nfunction qe(e, t) {\n\tlet n = Ke(t);\n\tif (!n) return e;\n\tlet r = /* @__PURE__ */ new Map(), i = (e) => JSON.stringify([\n\t\te.productId,\n\t\te.variantId ?? \"\",\n\t\te.currency,\n\t\te.unitPrice\n\t]);\n\tfor (let t of n.items) {\n\t\tlet n = i(t), a = (r.get(n) ?? 0) + t.qty;\n\t\tif (!Number.isSafeInteger(a)) return e;\n\t\tr.set(n, a);\n\t}\n\tlet a = e.items.flatMap((e) => {\n\t\tlet t = i(e), n = r.get(t) ?? 0;\n\t\treturn n ? (r.set(t, Math.max(0, n - e.qty)), e.qty > n ? [{\n\t\t\t...e,\n\t\t\tqty: e.qty - n\n\t\t}] : []) : [e];\n\t}), o = new Set(n.promoCodes);\n\treturn Ge({\n\t\t...e,\n\t\titems: a\n\t}, z(e.promoCodes ?? [e.promoCode]).filter((e) => !o.has(e)));\n}\nfunction Je(e) {\n\treturn typeof e == \"object\" && !!e && !Array.isArray(e);\n}\n//#endregion\n//#region src/runtime/storage.ts\nfunction H() {\n\ttry {\n\t\treturn typeof window > \"u\" ? null : window.localStorage;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction Ye(e, t) {\n\ttry {\n\t\tlet n = e.getItem(t);\n\t\treturn n ? JSON.parse(n) : null;\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction Xe(e, t, n) {\n\ttry {\n\t\treturn e.setItem(t, JSON.stringify(n)), !0;\n\t} catch {\n\t\treturn console.warn(\"[cedros] Failed to write local state\"), !1;\n\t}\n}\n//#endregion\n//#region src/runtime/cartSyncProtocol.ts\nvar Ze = 4, Qe = 24, $e = 3e4;\nfunction et(e, t, n) {\n\treturn Number.isFinite(e) ? Math.max(n, Math.floor(e)) : t;\n}\nfunction tt(e) {\n\treturn {\n\t\tmaxActiveCustomers: et(e?.maxActiveCustomers, Ze, 1),\n\t\tmaxQueuedCustomers: et(e?.maxQueuedCustomers, Qe, 0),\n\t\thungAfterMs: et(e?.hungAfterMs, $e, 1)\n\t};\n}\nfunction nt(e) {\n\treturn it(e)?.abort === \"acknowledged\";\n}\nfunction rt(e) {\n\ttry {\n\t\treturn it(e.cartSyncCapabilities);\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction it(e) {\n\tif (!(!e || typeof e != \"object\")) try {\n\t\tlet { protocol: t, abort: n, versionedWrites: r } = e;\n\t\treturn t !== \"cedros-cart-sync-v1\" || n !== \"acknowledged\" && n !== \"unsupported\" || typeof r != \"boolean\" ? void 0 : {\n\t\t\tprotocol: t,\n\t\t\tabort: n,\n\t\t\tversionedWrites: r\n\t\t};\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction at(e) {\n\treturn it(e) || {\n\t\tprotocol: \"legacy\",\n\t\tabort: \"unsupported\",\n\t\tversionedWrites: !1\n\t};\n}\nfunction ot() {\n\tlet e;\n\ttry {\n\t\te = globalThis.crypto;\n\t} catch {}\n\tlet t = st(e) ?? ct(e);\n\tif (!t) throw Error(\"Secure cart operation ID generation is unavailable\");\n\treturn `cs_${t}`;\n}\nfunction st(e) {\n\tif (typeof e?.randomUUID == \"function\") try {\n\t\tlet t = e.randomUUID();\n\t\treturn /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t) ? t.replace(/-/g, \"\") : void 0;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction ct(e) {\n\tif (typeof e?.getRandomValues == \"function\") try {\n\t\tlet t = /* @__PURE__ */ new Uint8Array(16);\n\t\treturn e.getRandomValues(t) !== t || t.every((e) => e === 0) ? void 0 : Array.from(t, (e) => e.toString(16).padStart(2, \"0\")).join(\"\");\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction lt(e) {\n\treturn !!e && typeof e == \"object\" && e.name === \"AbortError\";\n}\nfunction ut(e) {\n\tif (e === void 0) return \"applied\";\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return \"invalid\";\n\ttry {\n\t\tlet t = e, n = Object.keys(t);\n\t\treturn t.outcome === \"aborted\" ? n.length === 1 ? \"aborted\" : \"invalid\" : t.outcome === \"applied\" ? n.every((e) => e === \"outcome\" || e === \"cart\") && (t.cart === void 0 || dt(t.cart)) ? \"applied\" : \"invalid\" : t.outcome === \"reconciled\" && n.length === 2 && n.includes(\"cart\") && dt(t.cart) ? \"reconciled\" : \"invalid\";\n\t} catch {\n\t\treturn \"invalid\";\n\t}\n}\nfunction dt(e) {\n\treturn !!e && typeof e == \"object\" && !Array.isArray(e) && Array.isArray(e.items);\n}\n//#endregion\n//#region src/runtime/cartSyncScheduler.ts\nvar ft = class {\n\tconstructor(e) {\n\t\tthis.getOptions = e, this.lanes = /* @__PURE__ */ new Map(), this.waiting = [], this.activeByGeneration = /* @__PURE__ */ new Map(), this.disposed = !1, this.epoch = 0;\n\t}\n\tenqueue(e) {\n\t\tif (this.disposed) return;\n\t\tlet t = this.lanes.get(e.customerId) ?? { queued: !1 };\n\t\tif (this.lanes.set(e.customerId, t), e.alreadyApplied) {\n\t\t\tif (t.active?.request.generation === e.generation) {\n\t\t\t\tt.pending = e;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tt.pending = void 0, t.queued = !1, this.removeWaiting(e.customerId), t.active || this.lanes.delete(e.customerId);\n\t\t\treturn;\n\t\t}\n\t\tif (t.active || t.queued) {\n\t\t\tt.pending = e;\n\t\t\treturn;\n\t\t}\n\t\tthis.canStart(e.generation) ? this.start(t, e) : this.queue(t, e);\n\t}\n\tabortCustomer(e) {\n\t\t!e || this.disposed || this.lanes.get(e)?.active?.controller?.abort();\n\t}\n\tresetCustomer(e) {\n\t\tif (!e || this.disposed) return;\n\t\tlet t = this.lanes.get(e);\n\t\tt && (t.active?.controller?.abort(), t.pending = void 0, t.queued = !1, this.removeWaiting(e), t.active || this.lanes.delete(e), this.drain());\n\t}\n\tactivate() {\n\t\tthis.disposed = !1;\n\t}\n\tdispose() {\n\t\tif (!this.disposed) {\n\t\t\tthis.disposed = !0, this.epoch += 1;\n\t\t\tfor (let e of this.lanes.values()) e.active && clearTimeout(e.active.timer), e.active?.controller?.abort(), e.active = void 0, e.pending = void 0;\n\t\t\tthis.waiting.length = 0, this.lanes.clear(), this.activeByGeneration.clear();\n\t\t}\n\t}\n\tqueue(e, t) {\n\t\tlet { maxQueuedCustomers: n } = this.limits();\n\t\tif (this.waiting.length >= n) {\n\t\t\tthis.emit(\"queue_overflow\", t.capability), this.notifyFailure(t, /* @__PURE__ */ Error(\"Cart sync queue capacity exceeded\")), this.lanes.delete(t.customerId);\n\t\t\treturn;\n\t\t}\n\t\te.pending = t, e.queued = !0, this.waiting.push(t.customerId);\n\t}\n\tstart(e, t) {\n\t\tlet n = this.epoch, r = nt(t.capability) ? new AbortController() : void 0, i;\n\t\ttry {\n\t\t\ti = t.capability?.versionedWrites === !0 || r ? ot() : void 0;\n\t\t} catch (n) {\n\t\t\te.pending = void 0, e.queued = !1, this.lanes.delete(t.customerId), this.notifyFailure(t, n), this.drain();\n\t\t\treturn;\n\t\t}\n\t\te.active = {\n\t\t\trequest: t,\n\t\t\tcontroller: r,\n\t\t\ttimer: setTimeout(() => {\n\t\t\t\tthis.disposed || e.active?.request !== t || (console.warn(\"[cedros] Cart server update remains pending beyond the configured threshold\"), this.emit(\"write_hung\", t.capability));\n\t\t\t}, this.limits().hungAfterMs),\n\t\t\tepoch: n\n\t\t}, e.pending = void 0, e.queued = !1, this.setActive(t.generation, this.activeFor(t.generation) + 1);\n\t\tlet a = {\n\t\t\tcustomerId: t.customerId,\n\t\t\tcart: t.cart,\n\t\t\t...i ? { operationId: i } : {},\n\t\t\t...r ? { signal: r.signal } : {}\n\t\t};\n\t\tPromise.resolve().then(() => {\n\t\t\tif (!(this.disposed || this.epoch !== n || e.active?.request !== t)) return t.updateCart(a);\n\t\t}).then((n) => this.finish(e, t, n), (n) => this.finish(e, t, void 0, n));\n\t}\n\tfinish(e, t, n, r) {\n\t\tlet i = e.active;\n\t\tif (!(!i || i.request !== t || i.epoch !== this.epoch) && (clearTimeout(i.timer), e.active = void 0, this.setActive(t.generation, this.activeFor(t.generation) - 1), !this.disposed)) {\n\t\t\tlet a = ut(n), o = i.controller?.signal.aborted === !0 && (a === \"aborted\" || lt(r)), s = !o && r === void 0 && (a === \"applied\" || a === \"reconciled\");\n\t\t\tif (!o && r !== void 0) this.notifyFailure(t, r);\n\t\t\telse if (!o && a === \"aborted\") this.notifyFailure(t, /* @__PURE__ */ Error(\"Cart adapter returned aborted without acknowledging an abort request\"));\n\t\t\telse if (!o && a === \"invalid\") this.notifyFailure(t, /* @__PURE__ */ Error(\"Cart adapter returned an invalid update outcome\"));\n\t\t\telse if (!o) try {\n\t\t\t\tt.onApplied(n);\n\t\t\t} catch {\n\t\t\t\tconsole.warn(\"[cedros] Cart sync completion callback failed\");\n\t\t\t}\n\t\t\ts && e.pending?.snapshot === t.snapshot && (e.pending = void 0);\n\t\t\tlet c = e.pending;\n\t\t\te.pending = void 0, c || this.lanes.delete(t.customerId), this.drain(), c && (this.canStart(c.generation) ? this.start(e, c) : this.queue(e, c)), this.drain();\n\t\t}\n\t}\n\tdrain() {\n\t\tlet { maxActiveCustomers: e } = this.limits(), t = this.waiting.length;\n\t\tfor (; !this.disposed && t > 0 && this.waiting.length > 0;) {\n\t\t\t--t;\n\t\t\tlet n = this.waiting.shift(), r = this.lanes.get(n), i = r?.pending;\n\t\t\t!r || !i || (this.totalActive() < e && this.activeFor(i.generation) < e ? this.start(r, i) : this.waiting.push(n));\n\t\t}\n\t}\n\temit(e, t) {\n\t\tif (this.disposed) return;\n\t\tlet n = {\n\t\t\tevent: e,\n\t\t\tactiveCustomers: this.totalActive(),\n\t\t\tqueuedCustomers: this.waiting.length,\n\t\t\tcapability: at(t)\n\t\t};\n\t\ttry {\n\t\t\tthis.getOptions()?.onHealthEvent?.(n);\n\t\t} catch {}\n\t}\n\tlimits() {\n\t\treturn tt(this.getOptions());\n\t}\n\tactiveFor(e) {\n\t\treturn this.activeByGeneration.get(e) ?? 0;\n\t}\n\ttotalActive() {\n\t\treturn Array.from(this.activeByGeneration.values()).reduce((e, t) => e + t, 0);\n\t}\n\tcanStart(e) {\n\t\tlet { maxActiveCustomers: t } = this.limits();\n\t\treturn this.totalActive() < t && this.activeFor(e) < t;\n\t}\n\tnotifyFailure(e, t) {\n\t\ttry {\n\t\t\te.onFailure(t);\n\t\t} catch {\n\t\t\tconsole.warn(\"[cedros] Cart sync failure callback failed\");\n\t\t}\n\t}\n\tsetActive(e, t) {\n\t\tt > 0 ? this.activeByGeneration.set(e, t) : this.activeByGeneration.delete(e);\n\t}\n\tremoveWaiting(e) {\n\t\tfor (let t = this.waiting.length - 1; t >= 0; --t) this.waiting[t] === e && this.waiting.splice(t, 1);\n\t}\n};\n//#endregion\n//#region src/runtime/useCartSyncQueue.ts\nfunction pt(e, t, n, r, i) {\n\tlet a = l.useRef(r);\n\ta.current = r;\n\tlet o = rt(e), s = `${o?.protocol ?? \"legacy\"}:${o?.abort ?? \"unsupported\"}:${o?.versionedWrites === !0}`, c = l.useRef({\n\t\tadapter: e,\n\t\tupdateCart: e.updateCart,\n\t\tcapabilityKey: s,\n\t\tcustomerId: t,\n\t\tdataScope: i,\n\t\tgeneration: 0\n\t}), u = c.current, d = u.adapter !== e || u.updateCart !== e.updateCart || u.capabilityKey !== s || u.dataScope !== i ? u.generation + 1 : u.generation;\n\tc.current = {\n\t\tadapter: e,\n\t\tupdateCart: e.updateCart,\n\t\tcapabilityKey: s,\n\t\tcustomerId: t,\n\t\tdataScope: i,\n\t\tgeneration: d\n\t};\n\tlet f = l.useRef(null);\n\tf.current ||= new ft(() => a.current);\n\tlet p = f.current, m = l.useRef(null), h = l.useRef(0);\n\treturn l.useEffect(() => (p.activate(), () => p.dispose()), [p]), l.useEffect(() => (h.current += 1, m.current = null, () => p.abortCustomer(t)), [\n\t\tp,\n\t\tt,\n\t\tn,\n\t\ti\n\t]), l.useEffect(() => (h.current += 1, m.current = null, () => p.resetCustomer(t)), [p, d]), {\n\t\tenqueue: l.useCallback((e) => {\n\t\t\tlet t = h.current, n = d;\n\t\t\tp.enqueue({\n\t\t\t\t...e,\n\t\t\t\talreadyApplied: e.snapshot === m.current,\n\t\t\t\tgeneration: d,\n\t\t\t\tcapability: o,\n\t\t\t\tonApplied: (r) => {\n\t\t\t\t\tif (t !== h.current || n !== c.current.generation) return;\n\t\t\t\t\tlet i = mt(r);\n\t\t\t\t\tm.current = i ? JSON.stringify(i) : e.snapshot, e.onApplied?.(r);\n\t\t\t\t},\n\t\t\t\tonFailure: (r) => {\n\t\t\t\t\tt !== h.current || n !== c.current.generation || (m.current = null, e.onFailure(r));\n\t\t\t\t}\n\t\t\t});\n\t\t}, [\n\t\t\to,\n\t\t\td,\n\t\t\tp\n\t\t]),\n\t\tlastSyncedRef: m\n\t};\n}\nfunction mt(e) {\n\tif (!(!e || e.outcome === \"aborted\")) return e.cart;\n}\nvar ht = .35;\nfunction gt(e, t = 48) {\n\treturn e <= 0 ? 0 : e * t / (e + t);\n}\nfunction _t(e, t = 48) {\n\treturn e >= 0 ? e : -gt(-e, t);\n}\nfunction vt(e) {\n\treturn Math.max(24, e * ht);\n}\nfunction yt({ travelled: e, velocity: t, extent: n }) {\n\treturn e >= vt(n) || t >= .35;\n}\nfunction bt(e, t) {\n\tlet n = e[e.length - 1];\n\tif (!n) return 0;\n\tlet r = e.slice(0, -1), i = r.find((e) => t - e.at <= 80) ?? r[r.length - 1] ?? n, a = n.at - i.at;\n\treturn a <= 0 ? 0 : (n.position - i.position) / a;\n}\n//#endregion\n//#region src/runtime/useSwipeDismiss.ts\nfunction xt({ onDismiss: e, onHold: t, onRelease: n }) {\n\tlet r = c.useRef({\n\t\tonDismiss: e,\n\t\tonHold: t,\n\t\tonRelease: n\n\t});\n\tr.current = {\n\t\tonDismiss: e,\n\t\tonHold: t,\n\t\tonRelease: n\n\t};\n\tlet i = c.useRef(null);\n\treturn c.useCallback((e) => {\n\t\tif (i.current?.(), i.current = null, !e || typeof window > \"u\" || typeof PointerEvent > \"u\") return;\n\t\tlet t = null, n = 0, a = !1, o = [], s = (t) => e.style.setProperty(\"--cs-toast-drag\", `${t}px`), c = () => e.style.removeProperty(\"--cs-toast-drag\"), l = (e) => {\n\t\t\tt !== null || !e.isPrimary || e.button !== 0 || (t = e.pointerId, n = e.clientY, o = [{\n\t\t\t\tposition: 0,\n\t\t\t\tat: e.timeStamp\n\t\t\t}], r.current.onHold?.());\n\t\t}, u = (r) => {\n\t\t\tif (r.pointerId !== t) return;\n\t\t\tlet i = n - r.clientY;\n\t\t\tif (o.push({\n\t\t\t\tposition: i,\n\t\t\t\tat: r.timeStamp\n\t\t\t}), o.length > 8 && o.shift(), !a) {\n\t\t\t\tif (Math.abs(i) < 4) return;\n\t\t\t\ta = !0, e.dataset.dragging = \"true\", e.hasPointerCapture?.(r.pointerId) === !1 && e.setPointerCapture(r.pointerId);\n\t\t\t}\n\t\t\ts(-_t(i));\n\t\t}, d = (i, s) => {\n\t\t\tif (i.pointerId !== t) return;\n\t\t\tt = null;\n\t\t\tlet l = a;\n\t\t\tif (a = !1, delete e.dataset.dragging, e.hasPointerCapture?.(i.pointerId) && e.releasePointerCapture(i.pointerId), !l) {\n\t\t\t\tr.current.onRelease?.();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet u = n - i.clientY, d = {\n\t\t\t\ttravelled: u,\n\t\t\t\tvelocity: bt(o, i.timeStamp),\n\t\t\t\textent: e.offsetHeight\n\t\t\t};\n\t\t\tif (s && yt(d)) {\n\t\t\t\te.style.setProperty(\"--cs-toast-throw\", `${Math.min(-96, -u - 48)}px`), e.dataset.swipe = \"out\", r.current.onDismiss();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tc(), r.current.onRelease?.();\n\t\t}, f = (e) => d(e, !0), p = (e) => d(e, !1);\n\t\te.addEventListener(\"pointerdown\", l), e.addEventListener(\"pointermove\", u), e.addEventListener(\"pointerup\", f), e.addEventListener(\"pointercancel\", p), i.current = () => {\n\t\t\te.removeEventListener(\"pointerdown\", l), e.removeEventListener(\"pointermove\", u), e.removeEventListener(\"pointerup\", f), e.removeEventListener(\"pointercancel\", p), c();\n\t\t};\n\t}, []);\n}\n//#endregion\n//#region src/runtime/toast.tsx\nvar St = c.createContext(null);\nfunction Ct() {\n\tlet e = c.useContext(St);\n\tif (!e) throw Error(\"useToast must be used within ToastProvider\");\n\treturn e;\n}\nfunction wt() {\n\treturn c.useContext(St);\n}\nvar Tt = 200, Et = 3, Dt = 4e3, Ot = 8e3;\nfunction kt({ children: e }) {\n\tlet [t, n] = c.useState([]), r = c.useRef([]), i = c.useRef(/* @__PURE__ */ new Map());\n\tc.useEffect(() => () => {\n\t\tfor (let e of r.current) clearTimeout(e);\n\t\tr.current = [];\n\t\tfor (let e of i.current.values()) clearTimeout(e.handle);\n\t\ti.current.clear();\n\t}, []);\n\tlet a = c.useCallback((e, t) => {\n\t\tlet n = (typeof window > \"u\" ? globalThis.setTimeout : window.setTimeout)(() => {\n\t\t\tr.current = r.current.filter((e) => e !== n), e();\n\t\t}, t);\n\t\tr.current.push(n);\n\t}, []), o = c.useCallback((e, t, n) => {\n\t\tlet r = (typeof window > \"u\" ? globalThis.setTimeout : window.setTimeout)(() => {\n\t\t\ti.current.delete(e), t();\n\t\t}, n);\n\t\ti.current.set(e, {\n\t\t\thandle: r,\n\t\t\trun: t,\n\t\t\tdueAt: Date.now() + n,\n\t\t\tremainingMs: null\n\t\t});\n\t}, []), s = c.useCallback((e) => {\n\t\tlet t = i.current.get(e);\n\t\t!t || t.remainingMs !== null || (clearTimeout(t.handle), t.remainingMs = Math.max(0, t.dueAt - Date.now()));\n\t}, []), l = c.useCallback((e) => {\n\t\tlet t = i.current.get(e);\n\t\t!t || t.remainingMs === null || o(e, t.run, t.remainingMs);\n\t}, [o]), u = c.useCallback((e) => {\n\t\tlet t = i.current.get(e);\n\t\tt && (clearTimeout(t.handle), i.current.delete(e)), n((t) => t.map((t) => t.id === e ? {\n\t\t\t...t,\n\t\t\tleaving: !0\n\t\t} : t)), a(() => n((t) => t.filter((t) => t.id !== e)), Tt);\n\t}, [a]), d = c.useCallback((e) => {\n\t\tlet t = `${Date.now()}-${Math.random().toString(36).slice(2)}`, r = {\n\t\t\t...e,\n\t\t\tid: t\n\t\t};\n\t\tn((e) => [...e, r]), o(t, () => u(t), e.durationMs ?? (e.actionLabel && e.onAction ? Ot : Dt));\n\t}, [u, o]);\n\tc.useEffect(() => {\n\t\tlet e = t.filter((e) => !e.leaving);\n\t\tif (!(e.length <= Et)) for (let t of e.slice(0, e.length - Et)) u(t.id);\n\t}, [t, u]);\n\tlet f = R().t(\"storefront.toast.region\"), p = c.useRef(null);\n\tc.useEffect(() => {\n\t\tlet e = p.current;\n\t\tif (!(!e || typeof e.showPopover != \"function\")) return e.matches(\":popover-open\") || e.showPopover(), () => {\n\t\t\te.matches(\":popover-open\") && e.hidePopover();\n\t\t};\n\t}, []);\n\tlet m = /* @__PURE__ */ new Map(), h = t.filter((e) => !e.leaving);\n\treturn h.forEach((e, t) => m.set(e.id, h.length - 1 - t)), /* @__PURE__ */ v(St.Provider, {\n\t\tvalue: { toast: d },\n\t\tchildren: [e, /* @__PURE__ */ _(\"div\", {\n\t\t\tref: p,\n\t\t\tpopover: \"manual\",\n\t\t\tclassName: \"cedros-shop-toast\",\n\t\t\trole: \"region\",\n\t\t\t\"aria-live\": \"polite\",\n\t\t\t\"aria-label\": f,\n\t\t\tchildren: t.map((e) => /* @__PURE__ */ _(At, {\n\t\t\t\ttoast: e,\n\t\t\t\tdepth: m.get(e.id) ?? 0,\n\t\t\t\tonDismiss: u,\n\t\t\t\tonHold: s,\n\t\t\t\tonResume: l\n\t\t\t}, e.id))\n\t\t})]\n\t});\n}\nfunction At({ toast: e, depth: t, onDismiss: n, onHold: r, onResume: i }) {\n\tlet a = c.useCallback(() => r(e.id), [r, e.id]), o = c.useCallback(() => i(e.id), [i, e.id]), s = c.useCallback(() => n(e.id), [n, e.id]), l = xt({\n\t\tonDismiss: s,\n\t\tonHold: a,\n\t\tonRelease: o\n\t}), u = R().t(\"common.close\");\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tref: l,\n\t\tclassName: \"cedros-shop-toast__toast\",\n\t\t\"data-state\": e.leaving ? \"closed\" : \"open\",\n\t\tstyle: { \"--cs-toast-depth\": t },\n\t\tonPointerEnter: a,\n\t\tonPointerLeave: o,\n\t\tonFocus: a,\n\t\tonBlur: o,\n\t\tonKeyDown: (e) => {\n\t\t\te.key === \"Escape\" && (e.stopPropagation(), s());\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-toast__content\",\n\t\t\t\tchildren: [e.title ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-toast__title\",\n\t\t\t\t\tchildren: e.title\n\t\t\t\t}) : null, e.description ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-toast__description\",\n\t\t\t\t\tchildren: e.description\n\t\t\t\t}) : null]\n\t\t\t}),\n\t\t\te.actionLabel && e.onAction ? /* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-toast__action\",\n\t\t\t\tonClick: () => {\n\t\t\t\t\te.onAction?.(), s();\n\t\t\t\t},\n\t\t\t\tchildren: e.actionLabel\n\t\t\t}) : null,\n\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-toast__close\",\n\t\t\t\t\"aria-label\": u,\n\t\t\t\ttitle: u,\n\t\t\t\tonClick: s,\n\t\t\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\twidth: \"16\",\n\t\t\t\t\theight: \"16\",\n\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\tfill: \"none\",\n\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m18 6-12 12M6 6l12 12\" })\n\t\t\t\t})\n\t\t\t})\n\t\t]\n\t});\n}\n//#endregion\n//#region src/runtime/cartProvider.tsx\nvar jt = l.createContext(null);\nfunction Mt() {\n\tlet e = l.useContext(jt);\n\tif (!e) throw Error(\"useCart must be used within CartProvider\");\n\treturn e;\n}\nfunction Nt() {\n\treturn l.useContext(jt);\n}\nfunction U(e) {\n\treturn !!e && typeof e == \"object\" && typeof e.productId == \"string\" && e.productId.length > 0 && Number.isSafeInteger(e.qty) && e.qty > 0 && Number.isFinite(e.unitPrice) && e.unitPrice >= 0 && typeof e.currency == \"string\" && typeof e.titleSnapshot == \"string\";\n}\nfunction Pt(e) {\n\tconsole.warn(`[cedros] Cart server ${e} failed`);\n}\nfunction Ft(e) {\n\tif (!(!e || e.outcome === \"aborted\" || !e.cart || !Array.isArray(e.cart.items))) return V({\n\t\t...e.cart,\n\t\titems: e.cart.items.filter(U)\n\t});\n}\nfunction It({ children: e }) {\n\tlet { config: t } = L(), { t: n } = R(), r = wt(), i = l.useRef({\n\t\tt: n,\n\t\ttoastApi: r\n\t});\n\ti.current = {\n\t\tt: n,\n\t\ttoastApi: r\n\t};\n\tlet a = t.cart?.storageKey ?? \"cedros_shop_cart_v1\", o = t.dataScope === void 0 ? a : `${a}:scope:${Ae(t.dataScope)}`, s = t.customer?.id, c = t.customer?.isSignedIn ?? !!s, u = c && t.cart?.guestDataScope !== void 0 ? `${a}:scope:${Ae(t.cart.guestDataScope)}` : o, d = Lt(o, s, c), f = t.cart?.syncDebounceMs ?? 800, p = !!t.adapter.getCartInventoryStatus, [m, h] = l.useReducer(He, Ve), g = l.useRef(m);\n\tg.current = m;\n\tlet [v, y] = l.useState(null), b = l.useRef(null), x = v === d, S = x ? m : Ve, C = l.useRef(!1), w = l.useRef(null), { enqueue: ee, lastSyncedRef: te } = pt(t.adapter, s, c, t.cartSync, t.dataScope), ne = c && !!s, T = l.useRef(!1), E = l.useRef(null), D = l.useRef(null), O = l.useRef(!1), k = l.useRef(!1), re = l.useRef(null), [ie, ae] = l.useReducer((e) => e + 1, 0), oe = l.useRef(!1), A = l.useRef(null), se = l.useRef(d);\n\tse.current = d;\n\tlet ce = l.useRef(0), j = l.useRef(!1), M = l.useRef([]), N = l.useCallback((e) => {\n\t\tre.current = null, j.current && M.current.push(e), T.current || (E.current = D.current), T.current = !0, h(e);\n\t}, []);\n\tl.useEffect(() => {\n\t\tlet e = H(), t = b.current !== null && b.current !== d;\n\t\tif (T.current = !1, E.current = null, D.current = null, O.current = !1, k.current = !1, re.current = null, !e) {\n\t\t\tt && h({\n\t\t\t\ttype: \"cart/hydrate\",\n\t\t\t\tstate: Ve\n\t\t\t}), b.current = d, y(d);\n\t\t\treturn;\n\t\t}\n\t\tlet n = c && d !== u ? Ut(e, d) : void 0, r = n !== void 0, { state: i, fromGuest: a } = Rt(e, u, d, c);\n\t\tif (c && d !== u && (a && Ht(e, d, !0), k.current = a || Vt(e, d)), i && Array.isArray(i.items)) {\n\t\t\tlet e = i.items.filter(U);\n\t\t\th({\n\t\t\t\ttype: \"cart/hydrate\",\n\t\t\t\tstate: V({\n\t\t\t\t\t...i,\n\t\t\t\t\titems: e\n\t\t\t\t})\n\t\t\t}), T.current = r && !k.current, E.current = T.current ? n?.base ?? null : null, O.current = T.current;\n\t\t} else t && h({\n\t\t\ttype: \"cart/hydrate\",\n\t\t\tstate: Ve\n\t\t});\n\t\tb.current = d, y(d);\n\t}, [\n\t\tu,\n\t\tc,\n\t\td\n\t]), l.useEffect(() => {\n\t\tif (!x) return;\n\t\tlet e = H();\n\t\te && re.current !== JSON.stringify(m) && (Xe(e, d, m), ne && Wt(e, d, T.current ? { base: E.current } : null));\n\t}, [\n\t\tm,\n\t\td,\n\t\tx,\n\t\tne\n\t]), l.useEffect(() => () => {\n\t\tce.current += 1, j.current = !1, M.current = [];\n\t}, [\n\t\tt.adapter,\n\t\ts,\n\t\tc,\n\t\td\n\t]), l.useEffect(() => {\n\t\tif (!x) return;\n\t\tlet e = w.current;\n\t\tif ((!e || e.adapter !== t.adapter || e.customerId !== s || e.isSignedIn !== c || e.storageKey !== d) && (C.current = !1, te.current = null, D.current = null, w.current = {\n\t\t\tadapter: t.adapter,\n\t\t\tcustomerId: s,\n\t\t\tisSignedIn: c,\n\t\t\tstorageKey: d\n\t\t}), !c || !s || C.current || j.current) return;\n\t\tlet n = O.current, r = E.current, a = n && r !== null && !!(t.adapter.updateCart && t.adapter.getCart);\n\t\tif (!a && !t.adapter.mergeCart && !t.adapter.getCart) {\n\t\t\tif (C.current = !0, k.current) {\n\t\t\t\tk.current = !1;\n\t\t\t\tlet e = H();\n\t\t\t\te && Ht(e, d, !1);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tlet o = ce.current, l = () => o !== ce.current;\n\t\tj.current = !0, M.current = [], (async () => {\n\t\t\ttry {\n\t\t\t\tif (a) {\n\t\t\t\t\tlet e = await t.adapter.getCart({ customerId: s });\n\t\t\t\t\tif (l()) return;\n\t\t\t\t\tlet n = e && Array.isArray(e.items) ? V({\n\t\t\t\t\t\t...e,\n\t\t\t\t\t\titems: e.items.filter(U)\n\t\t\t\t\t}) : null;\n\t\t\t\t\tif (n && Gt(n) === r) {\n\t\t\t\t\t\tO.current = !1, C.current = !0, D.current = r, oe.current = !0, ae();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlet e = k.current, n = g.current;\n\t\t\t\tM.current = [];\n\t\t\t\tlet o = t.adapter.mergeCart ? await t.adapter.mergeCart({\n\t\t\t\t\tcustomerId: s,\n\t\t\t\t\tcart: n,\n\t\t\t\t\t...e ? { origin: \"guest\" } : {}\n\t\t\t\t}) : await t.adapter.getCart({ customerId: s });\n\t\t\t\tif (l()) return;\n\t\t\t\tif (o && Array.isArray(o.items)) {\n\t\t\t\t\tO.current = !1, C.current = !0, k.current = !1;\n\t\t\t\t\tlet t = V({\n\t\t\t\t\t\t...o,\n\t\t\t\t\t\titems: o.items.filter(U)\n\t\t\t\t\t});\n\t\t\t\t\tD.current = Gt(t);\n\t\t\t\t\tlet r = M.current;\n\t\t\t\t\tM.current = [];\n\t\t\t\t\tlet a = r.reduce(He, t);\n\t\t\t\t\tT.current = r.length > 0, E.current = r.length > 0 ? D.current : null;\n\t\t\t\t\tlet s = H();\n\t\t\t\t\ts && (Wt(s, d, T.current ? { base: E.current } : null), Ht(s, d, !1)), g.current = a, h({\n\t\t\t\t\t\ttype: \"cart/hydrate\",\n\t\t\t\t\t\tstate: a\n\t\t\t\t\t}), te.current = JSON.stringify(t);\n\t\t\t\t\tlet c = e ? n.items[0]?.currency : void 0, l = t.items[0]?.currency;\n\t\t\t\t\tif (c && l && c !== l) {\n\t\t\t\t\t\tlet e = i.current;\n\t\t\t\t\t\te.toastApi?.toast({\n\t\t\t\t\t\t\ttitle: e.t(\"storefront.toast.guestCartNotCombined\"),\n\t\t\t\t\t\t\tdescription: e.t(\"storefront.toast.guestCartNotCombinedDescription\", {\n\t\t\t\t\t\t\t\tguestCurrency: c,\n\t\t\t\t\t\t\t\tcurrency: l\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\tl() || (C.current = !1, Pt(\"merge\"));\n\t\t\t} finally {\n\t\t\t\tl() || (j.current = !1);\n\t\t\t}\n\t\t})();\n\t}, [\n\t\tt.adapter,\n\t\ts,\n\t\tx,\n\t\tc,\n\t\tm,\n\t\td\n\t]), l.useEffect(() => {\n\t\tif (!x || !c || !s || !t.adapter.updateCart || !C.current || typeof window > \"u\") return;\n\t\tlet e = JSON.stringify(m);\n\t\tif (re.current === e) return;\n\t\tif (T.current && D.current !== null && Gt(m) === D.current) {\n\t\t\tT.current = !1, E.current = null;\n\t\t\tlet e = H();\n\t\t\te && Wt(e, d, null);\n\t\t}\n\t\tlet n = oe.current ? 0 : f;\n\t\toe.current = !1;\n\t\tlet r = !1, i = () => {\n\t\t\tr || (r = !0, window.clearTimeout(a), A.current === i && (A.current = null), ee({\n\t\t\t\tcustomerId: s,\n\t\t\t\tcart: m,\n\t\t\t\tsnapshot: e,\n\t\t\t\tupdateCart: t.adapter.updateCart,\n\t\t\t\tonApplied: (n) => {\n\t\t\t\t\tif (w.current?.adapter !== t.adapter || w.current.storageKey !== d || JSON.stringify(g.current) !== e) return;\n\t\t\t\t\tT.current = !1, E.current = null;\n\t\t\t\t\tlet r = H();\n\t\t\t\t\tr && Wt(r, d, null);\n\t\t\t\t\tlet i = Ft(n);\n\t\t\t\t\tD.current = Gt(i ?? m), i && (g.current = i, h({\n\t\t\t\t\t\ttype: \"cart/hydrate\",\n\t\t\t\t\t\tstate: i\n\t\t\t\t\t}));\n\t\t\t\t},\n\t\t\t\tonFailure: () => Pt(\"update\")\n\t\t\t}));\n\t\t}, a = window.setTimeout(i, n);\n\t\treturn A.current = i, () => {\n\t\t\twindow.clearTimeout(a), A.current === i && (A.current = null);\n\t\t};\n\t}, [\n\t\tt.adapter,\n\t\ts,\n\t\tee,\n\t\tx,\n\t\tc,\n\t\tm,\n\t\tf,\n\t\td,\n\t\tie\n\t]), l.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet e = () => A.current?.();\n\t\treturn window.addEventListener(\"pagehide\", e), () => window.removeEventListener(\"pagehide\", e);\n\t}, []), l.useEffect(() => {\n\t\tif (!x || typeof window > \"u\") return;\n\t\tlet e = () => {\n\t\t\tlet e = H();\n\t\t\tif (!e) return;\n\t\t\tlet t = Ye(e, d), n = V(t && Array.isArray(t.items) ? {\n\t\t\t\t...t,\n\t\t\t\titems: t.items.filter(U)\n\t\t\t} : Ve);\n\t\t\tif (ne) {\n\t\t\t\tlet t = Ut(e, d);\n\t\t\t\tT.current = t !== void 0, E.current = t?.base ?? null;\n\t\t\t}\n\t\t\tlet r = JSON.stringify(n);\n\t\t\tr !== JSON.stringify(g.current) && (re.current = r, g.current = n, h({\n\t\t\t\ttype: \"cart/hydrate\",\n\t\t\t\tstate: n\n\t\t\t}));\n\t\t}, t = (t) => {\n\t\t\tt.key !== null && t.key !== d && t.key !== `${d}${zt}` || t.storageArea && t.storageArea !== H() || e();\n\t\t}, n = (t) => {\n\t\t\tt.persisted && e();\n\t\t};\n\t\treturn window.addEventListener(\"storage\", t), window.addEventListener(\"pageshow\", n), () => {\n\t\t\twindow.removeEventListener(\"storage\", t), window.removeEventListener(\"pageshow\", n);\n\t\t};\n\t}, [\n\t\tx,\n\t\td,\n\t\tne\n\t]);\n\tlet le = l.useCallback((e, t) => {\n\t\tlet n = S.items.find((n) => n.productId === e && n.variantId === t);\n\t\tif (n) return {\n\t\t\tholdId: n.holdId,\n\t\t\texpiresAt: n.holdExpiresAt\n\t\t};\n\t}, [S.items]), ue = l.useCallback((e, t, n, r) => {\n\t\th({\n\t\t\ttype: \"cart/updateHold\",\n\t\t\tproductId: e,\n\t\t\tvariantId: t,\n\t\t\tholdId: r,\n\t\t\tholdExpiresAt: n\n\t\t});\n\t}, []), de = l.useCallback((e) => {\n\t\tN({\n\t\t\ttype: \"cart/hydrate\",\n\t\t\tstate: V({\n\t\t\t\t...e,\n\t\t\t\titems: e.items.filter(U)\n\t\t\t})\n\t\t});\n\t}, [N]), fe = l.useCallback((e) => {\n\t\tse.current === d && N({\n\t\t\ttype: \"cart/clear\",\n\t\t\tpurchased: e\n\t\t});\n\t}, [N, d]), pe = l.useMemo(() => ({\n\t\titems: S.items,\n\t\tpromoCode: S.promoCode,\n\t\tpromoCodes: S.promoCodes ?? [],\n\t\tcount: Ue(S.items),\n\t\tsubtotal: We(S.items),\n\t\taddItem: (e, t) => N({\n\t\t\ttype: \"cart/add\",\n\t\t\titem: e,\n\t\t\tqty: t\n\t\t}),\n\t\tremoveItem: (e, t) => N({\n\t\t\ttype: \"cart/remove\",\n\t\t\tproductId: e,\n\t\t\tvariantId: t\n\t\t}),\n\t\tsetQty: (e, t, n) => N({\n\t\t\ttype: \"cart/setQty\",\n\t\t\tproductId: e,\n\t\t\tvariantId: t,\n\t\t\tqty: n\n\t\t}),\n\t\tclear: fe,\n\t\tsetPromoCode: (e) => N({\n\t\t\ttype: \"cart/setPromoCode\",\n\t\t\tpromoCode: e\n\t\t}),\n\t\taddPromoCode: (e) => N({\n\t\t\ttype: \"cart/addPromoCode\",\n\t\t\tpromoCode: e\n\t\t}),\n\t\tremovePromoCode: (e) => N({\n\t\t\ttype: \"cart/removePromoCode\",\n\t\t\tpromoCode: e\n\t\t}),\n\t\treplaceCart: de,\n\t\tisHydrated: x,\n\t\tholdsSupported: p,\n\t\tgetItemHold: le,\n\t\tupdateItemHold: ue\n\t}), [\n\t\tS.items,\n\t\tS.promoCode,\n\t\tS.promoCodes,\n\t\tN,\n\t\tfe,\n\t\tde,\n\t\tx,\n\t\tp,\n\t\tle,\n\t\tue\n\t]);\n\treturn /* @__PURE__ */ _(jt.Provider, {\n\t\tvalue: pe,\n\t\tchildren: e\n\t});\n}\nfunction Lt(e, t, n) {\n\treturn n && t ? `${e}:customer:${Ae(t)}` : e;\n}\nfunction Rt(e, t, n, r) {\n\tlet i = () => ({\n\t\tstate: Ye(e, n),\n\t\tfromGuest: !1\n\t});\n\tif (!r || t === n) return i();\n\tlet a = Ye(e, t);\n\tif (!a || !Array.isArray(a.items)) return i();\n\tif (!Kt(a)) {\n\t\ttry {\n\t\t\te.removeItem(t);\n\t\t} catch {}\n\t\treturn i();\n\t}\n\ttry {\n\t\treturn e.removeItem(t), {\n\t\t\tstate: a,\n\t\t\tfromGuest: !0\n\t\t};\n\t} catch {\n\t\treturn console.warn(\"[cedros] Cart guest migration could not isolate local state\"), i();\n\t}\n}\nvar zt = \":pending-sync\", Bt = \":guest-merge\";\nfunction Vt(e, t) {\n\ttry {\n\t\treturn e.getItem(`${t}${Bt}`) !== null;\n\t} catch {\n\t\treturn !1;\n\t}\n}\nfunction Ht(e, t, n) {\n\ttry {\n\t\tn ? e.setItem(`${t}${Bt}`, \"1\") : e.removeItem(`${t}${Bt}`);\n\t} catch {\n\t\tconsole.warn(\"[cedros] Failed to write local state\");\n\t}\n}\nfunction Ut(e, t) {\n\tlet n;\n\ttry {\n\t\tn = e.getItem(`${t}${zt}`);\n\t} catch {\n\t\treturn;\n\t}\n\tif (n !== null) try {\n\t\tlet e = JSON.parse(n), t = e && typeof e == \"object\" ? e.base : void 0;\n\t\treturn { base: typeof t == \"string\" ? t : null };\n\t} catch {\n\t\treturn { base: null };\n\t}\n}\nfunction Wt(e, t, n) {\n\ttry {\n\t\tn ? e.setItem(`${t}${zt}`, JSON.stringify(n)) : e.removeItem(`${t}${zt}`);\n\t} catch {\n\t\tconsole.warn(\"[cedros] Failed to write local state\");\n\t}\n}\nfunction Gt(e) {\n\tlet t = e.items.map((e) => [\n\t\te.productId,\n\t\te.variantId ?? \"\",\n\t\te.qty\n\t]).sort((e, t) => (e[0] + \"\\0\" + e[1]).localeCompare(t[0] + \"\\0\" + t[1])), n = [.../* @__PURE__ */ new Set([...e.promoCodes ?? [], ...e.promoCode ? [e.promoCode] : []])].sort();\n\treturn JSON.stringify({\n\t\tlines: t,\n\t\tpromos: n\n\t});\n}\nfunction Kt(e) {\n\treturn e.items.length > 0 || !!e.promoCode || !!e.promoCodes?.length;\n}\n//#endregion\n//#region src/storefront/commerceResponse.ts\nfunction qt(e) {\n\tif (!Array.isArray(e) || !e.every(rn) || !hn(e)) throw Error(\"Invalid order history response\");\n\treturn e;\n}\nfunction Jt(e) {\n\tif (!nn(e)) throw Error(\"Invalid subscription status response\");\n\treturn e;\n}\nfunction Yt(e) {\n\tif (!W(e) || !K(e.id) || !Zt(e) || !Y(e, [\"variants\"], (e) => Array.isArray(e) && e.every((e) => W(e) && K(e.id) && Zt(e)) && hn(e))) throw Error(\"Invalid inventory response\");\n}\nfunction Xt(e) {\n\tif (!(e instanceof Map)) throw Error(\"Invalid inventory response\");\n\tfor (let [t, n] of e) if (Yt(n), t !== n.id) throw Error(\"Product identity changed during inventory lookup\");\n\treturn e;\n}\nfunction Zt(e) {\n\treturn Y(e, [\"inventoryQuantity\"], (e) => typeof e == \"number\" && Number.isSafeInteger(e)) && Y(e, [\"inventoryStatus\"], (e) => J(e, [\n\t\t\"in_stock\",\n\t\t\"low\",\n\t\t\"out_of_stock\",\n\t\t\"backorder\"\n\t]));\n}\nfunction Qt(e, t) {\n\tif (!$t(e, t)) throw Error(\"Invalid checkout quote response\");\n\treturn e;\n}\nfunction $t(e, t) {\n\treturn W(e) && e.currency === t && q(e.subtotal) && q(e.total) && Y(e, [\n\t\t\"discountTotal\",\n\t\t\"shippingTotal\",\n\t\t\"taxTotal\",\n\t\t\"tipAmount\"\n\t], q) && Y(e, [\"id\"], K) && Y(e, [\"expiresAt\"], (e) => G(e) && Number.isFinite(Date.parse(e))) && Y(e, [\"warnings\", \"promotionMessages\"], (e) => Array.isArray(e) && e.every(G)) && Y(e, [\"discounts\"], cn) && Y(e, [\"shippingMethods\"], (e) => tn(e, t)) && Y(e, [\"x402\"], (e) => W(e) && [\n\t\t\"network\",\n\t\t\"tokenMint\",\n\t\t\"payTo\",\n\t\t\"recipientTokenAccount\",\n\t\t\"memo\"\n\t].every((t) => K(e[t])) && Y(e, [\"tokenSymbol\", \"feePayer\"], K) && pn(e.amountAtomic) && fn(e.decimals) && Number(e.decimals) <= 255);\n}\nfunction en(e, t) {\n\tif (!tn(e, t)) throw Error(\"Invalid shipping rates response\");\n\treturn e;\n}\nfunction tn(e, t) {\n\treturn Array.isArray(e) && e.every((e) => W(e) && K(e.id) && K(e.label) && q(e.price) && e.currency === t && Y(e, [\"detail\"], G)) && hn(e);\n}\nfunction nn(e) {\n\treturn W(e) && typeof e.isActive == \"boolean\" && Y(e, [\"currentTierId\"], K) && Y(e, [\n\t\t\"renewsAt\",\n\t\t\"supportUrl\",\n\t\t\"generatedAt\"\n\t], G) && Y(e, [\"subscriptions\"], (e) => Array.isArray(e) && e.every(sn) && hn(e));\n}\nfunction rn(e) {\n\treturn W(e) && K(e.id) && G(e.createdAt) && J(e.status, [\n\t\t\"created\",\n\t\t\"paid\",\n\t\t\"processing\",\n\t\t\"fulfilled\",\n\t\t\"shipped\",\n\t\t\"delivered\",\n\t\t\"cancelled\",\n\t\t\"refunded\"\n\t]) && q(e.total) && K(e.currency) && Array.isArray(e.items) && e.items.every(an) && Y(e, [\n\t\t\"receiptUrl\",\n\t\t\"invoiceUrl\",\n\t\t\"purchaseId\",\n\t\t\"customerEmail\",\n\t\t\"customerName\",\n\t\t\"supportUrl\"\n\t], G) && Y(e, [\"source\"], (e) => J(e, [\n\t\t\"stripe\",\n\t\t\"x402\",\n\t\t\"credits\"\n\t])) && Y(e, [\"fulfillmentStatus\"], ln) && Y(e, [\"operations\"], (e) => mn(e, [\n\t\t\"tracking\",\n\t\t\"shippingLabel\",\n\t\t\"returnLabel\",\n\t\t\"returnRequest\",\n\t\t\"refundRequest\",\n\t\t\"exchangeRequest\",\n\t\t\"cancel\",\n\t\t\"reorder\",\n\t\t\"payNow\"\n\t])) && Y(e, [\"totals\"], (e) => W(e) && Y(e, [\n\t\t\"subtotal\",\n\t\t\"shipping\",\n\t\t\"tax\",\n\t\t\"duties\",\n\t\t\"refunded\"\n\t], q) && Y(e, [\"discount\"], dn)) && Y(e, [\"shipments\"], (e) => Array.isArray(e) && e.every(on) && hn(e)) && Y(e, [\"timeline\"], (e) => Array.isArray(e) && e.every((e) => W(e) && K(e.id) && G(e.label) && G(e.occurredAt) && Y(e, [\"detail\", \"status\"], G))) && Y(e, [\"returnWindow\"], (e) => W(e) && J(e.status, [\n\t\t\"not_returnable\",\n\t\t\"returnable\",\n\t\t\"expired\",\n\t\t\"pending\",\n\t\t\"completed\"\n\t]) && Y(e, [\n\t\t\"returnableUntil\",\n\t\t\"policyUrl\",\n\t\t\"reason\"\n\t], G));\n}\nfunction an(e) {\n\treturn W(e) && G(e.title) && pn(e.qty) && q(e.unitPrice) && K(e.currency) && Y(e, [\n\t\t\"id\",\n\t\t\"productId\",\n\t\t\"variantId\",\n\t\t\"imageUrl\",\n\t\t\"assetClass\",\n\t\t\"backingCurrency\"\n\t], G) && Y(e, [\"tokenizedAsset\"], un) && Y(e, [\"backingValueCents\"], q);\n}\nfunction on(e) {\n\treturn W(e) && K(e.id) && ln(e.status) && Y(e, [\n\t\t\"carrier\",\n\t\t\"serviceLevel\",\n\t\t\"trackingNumber\",\n\t\t\"trackingUrl\",\n\t\t\"labelUrl\",\n\t\t\"returnLabelUrl\",\n\t\t\"shippedAt\",\n\t\t\"deliveredAt\",\n\t\t\"estimatedDeliveryAt\"\n\t], G) && Y(e, [\"ddp\"], un) && Y(e, [\"items\"], (e) => Array.isArray(e) && e.every((e) => W(e) && pn(e.quantity) && Y(e, [\"lineItemId\", \"title\"], G)));\n}\nfunction sn(e) {\n\treturn W(e) && K(e.id) && G(e.tierTitle) && q(e.price) && K(e.currency) && J(e.status, [\n\t\t\"trialing\",\n\t\t\"active\",\n\t\t\"paused\",\n\t\t\"past_due\",\n\t\t\"cancelled\",\n\t\t\"expired\"\n\t]) && J(e.interval, [\"monthly\", \"annual\"]) && Y(e, [\"tierId\"], K) && Y(e, [\n\t\t\"startedAt\",\n\t\t\"currentPeriodEnd\",\n\t\t\"renewsAt\",\n\t\t\"nextBillingAt\",\n\t\t\"pausedUntil\",\n\t\t\"cancelAt\",\n\t\t\"managementUrl\",\n\t\t\"supportUrl\"\n\t], G) && Y(e, [\"operations\"], (e) => mn(e, [\n\t\t\"pause\",\n\t\t\"resume\",\n\t\t\"skipNext\",\n\t\t\"cancel\",\n\t\t\"changePlan\",\n\t\t\"updatePayment\",\n\t\t\"managementPortal\"\n\t])) && Y(e, [\"discounts\"], cn);\n}\nfunction cn(e) {\n\treturn Array.isArray(e) && e.every((e) => W(e) && G(e.title) && J(e.type, [\n\t\t\"code\",\n\t\t\"automatic\",\n\t\t\"bxgy\",\n\t\t\"free_shipping\",\n\t\t\"gift_card\",\n\t\t\"store_credit\",\n\t\t\"abandoned_checkout\",\n\t\t\"manual\",\n\t\t\"custom\"\n\t]) && Y(e, [\"amount\"], dn) && Y(e, [\n\t\t\"id\",\n\t\t\"currency\",\n\t\t\"code\",\n\t\t\"message\"\n\t], G) && Y(e, [\"combinable\"], un));\n}\nfunction ln(e) {\n\treturn J(e, [\n\t\t\"unfulfilled\",\n\t\t\"partial\",\n\t\t\"fulfilled\",\n\t\t\"shipped\",\n\t\t\"delivered\",\n\t\t\"exception\",\n\t\t\"returned\",\n\t\t\"cancelled\"\n\t]);\n}\nfunction W(e) {\n\treturn typeof e == \"object\" && !!e && !Array.isArray(e);\n}\nfunction G(e) {\n\treturn typeof e == \"string\";\n}\nfunction K(e) {\n\treturn G(e) && e.trim().length > 0;\n}\nfunction un(e) {\n\treturn typeof e == \"boolean\";\n}\nfunction dn(e) {\n\treturn typeof e == \"number\" && Number.isFinite(e);\n}\nfunction q(e) {\n\treturn dn(e) && e >= 0;\n}\nfunction fn(e) {\n\treturn q(e) && Number.isSafeInteger(e);\n}\nfunction pn(e) {\n\treturn fn(e) && typeof e == \"number\" && e > 0;\n}\nfunction J(e, t) {\n\treturn G(e) && t.includes(e);\n}\nfunction Y(e, t, n) {\n\treturn t.every((t) => e[t] === void 0 || n(e[t]));\n}\nfunction mn(e, t) {\n\treturn W(e) && Y(e, t, un);\n}\nfunction hn(e) {\n\treturn new Set(e.map((e) => e.id)).size === e.length;\n}\n//#endregion\n//#region src/runtime/payFeatureFlags.ts\nvar gn = {\n\tsubscriptions: !0,\n\trefunds: !0,\n\treturns: !0,\n\tinventory: !0,\n\tcoupons: !0,\n\tshipping: !0,\n\ttaxes: !0\n}, _n = {\n\tsubscriptions: [\n\t\t\"subscriptions\",\n\t\t\"subscription\",\n\t\t\"pay.subscriptions\",\n\t\t\"pay.subscription\",\n\t\t\"cedros-pay:subscriptions\"\n\t],\n\trefunds: [\n\t\t\"refunds\",\n\t\t\"refund\",\n\t\t\"pay.refunds\",\n\t\t\"pay.refund\",\n\t\t\"cedros-pay:refunds\"\n\t],\n\treturns: [\n\t\t\"returns\",\n\t\t\"return\",\n\t\t\"pay.returns\",\n\t\t\"pay.return\",\n\t\t\"cedros-pay:returns\"\n\t],\n\tinventory: [\n\t\t\"inventory\",\n\t\t\"stock\",\n\t\t\"pay.inventory\",\n\t\t\"pay.stock\",\n\t\t\"cedros-pay:inventory\"\n\t],\n\tcoupons: [\n\t\t\"coupons\",\n\t\t\"coupon\",\n\t\t\"promoCodes\",\n\t\t\"promotionCodes\",\n\t\t\"discounts\",\n\t\t\"pay.coupons\",\n\t\t\"cedros-pay:coupons\"\n\t],\n\tshipping: [\n\t\t\"shipping\",\n\t\t\"fulfillment.shipping\",\n\t\t\"pay.shipping\",\n\t\t\"cedros-pay:shipping\"\n\t],\n\ttaxes: [\n\t\t\"taxes\",\n\t\t\"tax\",\n\t\t\"pay.taxes\",\n\t\t\"pay.tax\",\n\t\t\"cedros-pay:taxes\"\n\t]\n};\nfunction vn(e) {\n\tlet t = { ...gn };\n\tfor (let n of Object.keys(_n)) {\n\t\tlet r = xn(e, _n[n]);\n\t\tr !== void 0 && (t[n] = r);\n\t}\n\treturn t;\n}\nfunction yn(e, t) {\n\treturn vn(e.featureFlags)[t];\n}\nfunction bn() {\n\treturn vn(Ie()?.featureFlags);\n}\nfunction xn(e, t) {\n\tfor (let n of t) {\n\t\tlet t = e?.[n];\n\t\tif (typeof t == \"boolean\") return t;\n\t}\n}\n//#endregion\n//#region src/runtime/cartInventory.ts\nfunction Sn(e, t, n) {\n\tfor (let r of e) {\n\t\tlet e = t(r.productId, r.variantId);\n\t\tif (!e) continue;\n\t\tif (e.isOutOfStock) {\n\t\t\tn.remove(r);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!e.exceedsAvailable) continue;\n\t\tlet i = Math.floor(e.availableQty ?? 0);\n\t\ti >= 1 ? n.setQty(r, i) : n.remove(r);\n\t}\n}\nfunction Cn(e) {\n\treturn e.inventoryStatus === \"out_of_stock\" || e.inventoryStatus !== \"backorder\" && typeof e.inventoryQuantity == \"number\" && e.inventoryQuantity <= 0;\n}\nfunction wn(e) {\n\treturn e.inventoryStatus === \"backorder\" || Cn(e) ? !1 : e.inventoryStatus === \"low\" || typeof e.inventoryQuantity == \"number\" && e.inventoryQuantity > 0 && e.inventoryQuantity <= 5;\n}\nvar Tn = /* @__PURE__ */ new Map(), En = 2;\nfunction Dn(e, t) {\n\treturn JSON.stringify([e, t ?? \"\"]);\n}\nfunction On(e, t) {\n\tif (t && e.variants?.length) {\n\t\tlet n = e.variants.find((e) => e.id === t);\n\t\tif (n) return {\n\t\t\tqty: n.inventoryQuantity,\n\t\t\tstatus: n.inventoryStatus\n\t\t};\n\t}\n\treturn {\n\t\tqty: e.inventoryQuantity,\n\t\tstatus: e.inventoryStatus\n\t};\n}\nfunction kn(e, t, n) {\n\tlet r = {\n\t\tproductId: e.productId,\n\t\tvariantId: e.variantId,\n\t\tisOutOfStock: !1,\n\t\texceedsAvailable: !1,\n\t\tisLowStock: !1\n\t};\n\tif (!t || e.variantId && !t.variants?.some((t) => t.id === e.variantId) || !e.variantId && t.variants?.length) return {\n\t\t...r,\n\t\tisOutOfStock: !0,\n\t\treason: \"not_found\",\n\t\tmessage: n.t(\"storefront.stock.out\")\n\t};\n\tlet { qty: i, status: a } = On(t, e.variantId);\n\treturn r.availableQty = i, r.status = a, a === \"backorder\" ? r : a === \"out_of_stock\" || typeof i == \"number\" && i <= 0 ? {\n\t\t...r,\n\t\tisOutOfStock: !0,\n\t\treason: \"out_of_stock\",\n\t\tmessage: n.t(\"storefront.stock.out\")\n\t} : typeof i == \"number\" && e.qty > i ? {\n\t\t...r,\n\t\texceedsAvailable: !0,\n\t\treason: \"quantity_exceeded\",\n\t\tmessage: n.t(\"storefront.stock.quantityExceeded\", {\n\t\t\tavailable: i,\n\t\t\tquantity: e.qty\n\t\t})\n\t} : a === \"low\" || typeof i == \"number\" && i > 0 && i <= 5 ? {\n\t\t...r,\n\t\tisLowStock: !0,\n\t\treason: \"low_stock\",\n\t\tmessage: typeof i == \"number\" ? n.t(\"storefront.stock.low\", { count: i }) : n.t(\"storefront.stock.lowGeneric\")\n\t} : r;\n}\nfunction An(e) {\n\tlet t = /* @__PURE__ */ new Map();\n\tfor (let n of e) {\n\t\tlet e = n.metadata?.productSlug;\n\t\ttypeof e == \"string\" && e.trim() && t.set(n.productId, e.trim());\n\t}\n\treturn Array.from(t).sort(([e], [t]) => e.localeCompare(t));\n}\nasync function jn(e, t) {\n\tlet n = /* @__PURE__ */ new Map();\n\tfor (let r = 0; r < e.length; r += En) {\n\t\tlet i = e.slice(r, r + En);\n\t\tawait Promise.all(i.map(async ([e, r]) => {\n\t\t\tlet i = await t(r);\n\t\t\tif (i !== null) {\n\t\t\t\tif (Yt(i), i.id !== e) throw Error(\"Product identity changed during inventory lookup\");\n\t\t\t\tn.set(e, i);\n\t\t\t}\n\t\t}));\n\t}\n\treturn n;\n}\nfunction Mn(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map();\n\tfor (let i of e) r.set(Dn(i.productId, i.variantId), kn(i, t.get(i.productId) ?? null, n));\n\treturn r;\n}\nfunction Nn({ items: e, refreshInterval: t = 3e4, skip: n = !1 }) {\n\tlet { config: r, i18n: i, dataCacheKey: a } = L(), o = bn(), s = c.useMemo(() => Array.from(new Set(e.map((e) => e.productId))).sort(), [e]), l = c.useMemo(() => An(e), [e]), u = !!r.adapter.getProductsByIds, d = c.useMemo(() => {\n\t\tif (u) return e;\n\t\tlet t = new Set(l.map(([e]) => e));\n\t\treturn e.filter((e) => t.has(e.productId));\n\t}, [\n\t\te,\n\t\tl,\n\t\tu\n\t]), f = ae(u ? s : l), p = o.inventory && !n && d.length > 0, { data: m, isLoading: h, isFetching: g, error: _, refetch: v } = ue({\n\t\tkey: `${a}:cart-inventory:${i.locale}:${f}`,\n\t\tenabled: p,\n\t\tstaleTimeMs: 5e3,\n\t\trefreshIntervalMs: p && t > 0 ? t : 0,\n\t\tfetcher: async () => r.adapter.getProductsByIds ? Xt(await r.adapter.getProductsByIds(s)) : jn(l, (e) => r.adapter.getProductBySlug(e))\n\t}), y = c.useMemo(() => p && m !== void 0 ? Mn(d, m, i) : Tn, [\n\t\tp,\n\t\tm,\n\t\td,\n\t\ti\n\t]), b = c.useCallback((e, t) => y.get(Dn(e, t)), [y]), x = c.useMemo(() => !h && !g && !_ && Array.from(y.values()).some((e) => e.isOutOfStock || e.exceedsAvailable), [\n\t\ty,\n\t\th,\n\t\tg,\n\t\t_\n\t]);\n\treturn {\n\t\tinventory: y,\n\t\tisLoading: h || g,\n\t\terror: p ? _ : null,\n\t\trefresh: () => {\n\t\t\tv();\n\t\t},\n\t\tgetItemInventory: b,\n\t\thasIssues: x\n\t};\n}\n//#endregion\n//#region src/runtime/useStorefrontSettings.ts\nfunction Pn() {\n\tlet e = Ie(), t = e?.config?.adapter?.getStorefrontSettings ?? null, n = e?.config?.ssr?.storefrontSettings, { data: r, isLoading: a, isFetching: s, error: c, refetch: l } = ue({\n\t\tkey: `${e?.dataCacheKey ?? \"adapter:none\"}:storefront-settings`,\n\t\tenabled: !!t,\n\t\tinitialData: n ? i(n) : o,\n\t\tinitialDataIsResolved: n !== void 0,\n\t\tstaleTimeMs: 6e4,\n\t\tfetcher: async () => {\n\t\t\tlet e = await t?.();\n\t\t\treturn e ? i(e) : o;\n\t\t}\n\t});\n\treturn {\n\t\tsettings: r ?? o,\n\t\tisLoading: a,\n\t\tisFetching: s,\n\t\terror: c === null ? null : c || \"Storefront settings could not be loaded.\",\n\t\trefetch: l\n\t};\n}\n//#endregion\n//#region src/seoPolicy.ts\nvar Fn = /^[A-Za-z]{3}$/, In = /* @__PURE__ */ new Set([\n\t\"code\",\n\t\"automatic\",\n\t\"bxgy\",\n\t\"free_shipping\",\n\t\"gift_card\",\n\t\"store_credit\",\n\t\"abandoned_checkout\",\n\t\"manual\",\n\t\"custom\"\n]), Ln = /* @__PURE__ */ new Set([\n\t\"order\",\n\t\"line_item\",\n\t\"shipping\",\n\t\"payment\",\n\t\"gift_card\"\n]), Rn = /* @__PURE__ */ new Set([\n\t\"cedros-pay\",\n\t\"cedros-giftcards\",\n\t\"host\",\n\t\"custom\"\n]);\nfunction zn(e) {\n\treturn Bn(e, 100);\n}\nfunction Bn(e, n) {\n\tif (!e || typeof e != \"object\") return null;\n\tlet r = e;\n\tif (!(X(r.id, 200) && t(r.slug) && X(r.title, 200) && X(r.description, 5e3) && typeof r.price == \"number\" && Number.isFinite(r.price) && r.price >= 0 && typeof r.currency == \"string\" && Fn.test(r.currency) && Array.isArray(r.images) && Array.isArray(r.tags) && r.tags.length <= 100 && r.tags.every((e) => X(e, 100)) && Array.isArray(r.categoryIds) && r.categoryIds.length <= 100 && r.categoryIds.every((e) => X(e, 200)))) return null;\n\tlet i = Hn(r.images, n), a = Vn(r, n);\n\treturn i === null || a === null ? null : {\n\t\t...r,\n\t\t...a,\n\t\tid: r.id.trim(),\n\t\ttitle: r.title.trim(),\n\t\tdescription: r.description.trim(),\n\t\tcurrency: r.currency.toUpperCase(),\n\t\ttags: lr(r.tags),\n\t\tcategoryIds: lr(r.categoryIds),\n\t\timages: i\n\t};\n}\nfunction Vn(e, t) {\n\tlet n = e.variants === void 0 ? void 0 : Un(e.variants, t), r = e.variationConfig === void 0 ? void 0 : Wn(e.variationConfig), i = e.attributes === void 0 ? void 0 : qn(e.attributes), a = mr(e.compareAtPrice), o = hr(e.inventoryQuantity), s = Yn(e.checkoutRequirements), c = Xn(e.fulfillment), l = Zn(e.tokenizedAssetConfig);\n\treturn n === null || r === null || i === null || a === null || o === null || s === null || c === null || l === null || !vr(e.inventoryStatus, [\n\t\t\"in_stock\",\n\t\t\"low\",\n\t\t\"out_of_stock\",\n\t\t\"backorder\"\n\t]) || !vr(e.shippingProfile, [\"physical\", \"digital\"]) ? null : {\n\t\tvariants: n,\n\t\tvariationConfig: r,\n\t\tattributes: i,\n\t\tcompareAtPrice: a,\n\t\tinventoryQuantity: o,\n\t\tcheckoutRequirements: s,\n\t\tfulfillment: c,\n\t\ttokenizedAssetConfig: l\n\t};\n}\nfunction Hn(e, t) {\n\tif (!Array.isArray(e) || e.length > t) return null;\n\tlet n = [];\n\tfor (let t of e) {\n\t\tif (!t || typeof t != \"object\") return null;\n\t\tlet e = t, r = _r(e.width), i = _r(e.height);\n\t\t!br(e.url) || r === null || i === null || e.alt !== void 0 && !ur(e.alt, 200) || n.push({\n\t\t\turl: e.url,\n\t\t\talt: e.alt?.trim(),\n\t\t\twidth: r,\n\t\t\theight: i\n\t\t});\n\t}\n\treturn n;\n}\nfunction Un(e, t) {\n\tif (!Array.isArray(e) || e.length > 500) return null;\n\tlet n = [];\n\tfor (let r of e) {\n\t\tif (!r || typeof r != \"object\") return null;\n\t\tlet e = r, i = Jn(e.options, 20, 100), a = e.optionValueIds === void 0 ? void 0 : fr(e.optionValueIds, 20, 200), o = mr(e.price), s = mr(e.compareAtPrice), c = hr(e.inventoryQuantity), l = e.images === void 0 ? void 0 : Hn(e.images, t);\n\t\tif (!X(e.id, 200) || !X(e.title, 120) || i === null || a === null || o === null || s === null || c === null || l === null || !vr(e.inventoryStatus, [\n\t\t\t\"in_stock\",\n\t\t\t\"low\",\n\t\t\t\"out_of_stock\",\n\t\t\t\"backorder\"\n\t\t]) || e.sku !== void 0 && !ur(e.sku, 120) || e.autoGenerated !== void 0 && typeof e.autoGenerated != \"boolean\") return null;\n\t\tn.push({\n\t\t\t...e,\n\t\t\tid: e.id.trim(),\n\t\t\ttitle: e.title.trim(),\n\t\t\toptions: i,\n\t\t\toptionValueIds: a,\n\t\t\tprice: o,\n\t\t\tcompareAtPrice: s,\n\t\t\tinventoryQuantity: c,\n\t\t\timages: l,\n\t\t\tsku: e.sku?.trim()\n\t\t});\n\t}\n\treturn cr(n);\n}\nfunction Wn(e) {\n\tif (!e || typeof e != \"object\" || !Array.isArray(e.variationTypes)) return null;\n\tlet t = e.variationTypes;\n\tif (t.length > 10) return null;\n\tlet n = t.map(Gn);\n\tif (n.some((e) => e === null)) return null;\n\tlet r = cr(n);\n\treturn r ? { variationTypes: r } : null;\n}\nfunction Gn(e) {\n\tif (!e || typeof e != \"object\") return null;\n\tlet t = e;\n\tif (!X(t.id, 200) || !X(t.name, 120) || !Number.isSafeInteger(t.displayOrder) || !Array.isArray(t.values) || t.values.length > 100) return null;\n\tlet n = t.values.map(Kn);\n\tif (n.some((e) => e === null)) return null;\n\tlet r = cr(n);\n\treturn r ? {\n\t\tid: t.id.trim(),\n\t\tname: t.name.trim(),\n\t\tdisplayOrder: t.displayOrder,\n\t\tvalues: r\n\t} : null;\n}\nfunction Kn(e) {\n\tif (!e || typeof e != \"object\") return null;\n\tlet t = e;\n\treturn !X(t.id, 200) || !X(t.label, 120) || t.parentValueId !== void 0 && !X(t.parentValueId, 200) ? null : {\n\t\tid: t.id.trim(),\n\t\tlabel: t.label.trim(),\n\t\tparentValueId: t.parentValueId?.trim()\n\t};\n}\nfunction qn(e, t = 100, n = 1e3) {\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return null;\n\tlet r = Object.entries(e);\n\tif (r.length > t) return null;\n\tlet i = {};\n\tfor (let [e, t] of r) {\n\t\tlet r = e.trim();\n\t\tif (!X(e, 100) || !(typeof t == \"boolean\" || typeof t == \"number\" && Number.isFinite(t) || typeof t == \"string\" && Array.from(t).length <= n) || r in i) return null;\n\t\ti[r] = typeof t == \"string\" ? t.trim() : t;\n\t}\n\treturn i;\n}\nfunction Jn(e, t, n) {\n\tlet r = qn(e, t, n);\n\treturn !r || Object.values(r).some((e) => typeof e != \"string\") ? null : r;\n}\nfunction Yn(e) {\n\tif (e === void 0) return;\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return null;\n\tlet t = e;\n\treturn !vr(t.email, [\n\t\t\"none\",\n\t\t\"optional\",\n\t\t\"required\"\n\t]) || !vr(t.name, [\n\t\t\"none\",\n\t\t\"optional\",\n\t\t\"required\"\n\t]) || !vr(t.phone, [\n\t\t\"none\",\n\t\t\"optional\",\n\t\t\"required\"\n\t]) || !yr(t.shippingAddress) || !yr(t.billingAddress) ? null : { ...t };\n}\nfunction Xn(e) {\n\tif (e === void 0) return;\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return null;\n\tlet t = e;\n\treturn ![\n\t\t\"digital_download\",\n\t\t\"shipping\",\n\t\t\"service\"\n\t].includes(String(t.type)) || t.notes !== void 0 && !ur(t.notes, 1e3) ? null : {\n\t\ttype: t.type,\n\t\tnotes: t.notes?.trim()\n\t};\n}\nfunction Zn(e) {\n\tif (e === void 0) return;\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) return null;\n\tlet t = e, n = typeof t.backingCurrency == \"string\" ? t.backingCurrency.toUpperCase() : \"\";\n\treturn !X(t.assetClassCollectionId, 200) || !Number.isSafeInteger(t.backingValueCents) || t.backingValueCents < 0 || !Number.isSafeInteger(t.tokensPerUnit) || t.tokensPerUnit <= 0 || !Fn.test(n) || !dr(t.assetClass, 120) || !dr(t.assetIdentifier, 200) || !dr(t.regulatoryNotice, 1e3) || t.custodyProofUrl !== void 0 && !br(t.custodyProofUrl) || t.nftMintAddress !== void 0 && !/^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(t.nftMintAddress) ? null : {\n\t\t...t,\n\t\tassetClassCollectionId: t.assetClassCollectionId.trim(),\n\t\tbackingCurrency: n,\n\t\tassetClass: t.assetClass?.trim(),\n\t\tassetIdentifier: t.assetIdentifier?.trim(),\n\t\tregulatoryNotice: t.regulatoryNotice?.trim()\n\t};\n}\nfunction Qn(e) {\n\tif (!e || typeof e != \"object\") return null;\n\tlet n = e;\n\treturn X(n.id, 200) && t(n.slug) && X(n.name, 120) && (n.description === void 0 || n.description === \"\" || X(n.description, 320)) ? {\n\t\t...n,\n\t\tid: n.id.trim(),\n\t\tname: n.name.trim(),\n\t\tdescription: n.description?.trim() || void 0\n\t} : null;\n}\nfunction $n(e) {\n\treturn Array.isArray(e) ? or(e.map(Qn).filter((e) => e !== null)) : [];\n}\nfunction er(e) {\n\treturn Array.isArray(e) ? or(e.map(zn).filter((e) => e !== null)) : [];\n}\nfunction tr(e, t, n, r) {\n\treturn nr(e, t, n, r, er);\n}\nfunction nr(e, t, n, r, i) {\n\tif (!Number.isSafeInteger(t) || t <= 0 || !Number.isSafeInteger(n) || n <= 0 || !Number.isSafeInteger(e.page) || e.page !== t || !Number.isSafeInteger(e.pageSize) || e.pageSize !== n || !Array.isArray(e.items) || e.items.length > n) return null;\n\tlet a = i(e.items);\n\tif (a.length !== e.items.length || r && a.some((e) => e.currency !== r.toUpperCase())) return null;\n\tlet o = (t - 1) * n + a.length;\n\tif (e.total !== void 0) {\n\t\tif (!Number.isSafeInteger(e.total) || e.total < o || e.hasNextPage !== void 0 && e.hasNextPage !== o < e.total) return null;\n\t} else if (e.hasNextPage !== void 0) {\n\t\tif (typeof e.hasNextPage != \"boolean\" || a.length === 0 && e.hasNextPage) return null;\n\t} else if (a.length === n) return null;\n\tlet s = e.hasNextPage ?? (e.total !== void 0 && o < e.total);\n\treturn {\n\t\t...e,\n\t\titems: a,\n\t\thasNextPage: s\n\t};\n}\nfunction rr(e, t) {\n\tif (!Array.isArray(e) || e.length > 100) return null;\n\tlet n = e.map((e) => ir(e, t));\n\tif (n.some((e) => e === null)) return null;\n\tlet r = n;\n\treturn sr(r.map((e) => e.id)).size === r.length ? r : null;\n}\nfunction ir(e, t) {\n\tif (!e || typeof e != \"object\") return null;\n\tlet n = e, r = typeof n.currency == \"string\" ? n.currency.toUpperCase() : \"\", i = fr(n.features, 50, 160), a = n.promotionMessages === void 0 ? void 0 : fr(n.promotionMessages, 20, 160), o = n.discounts === void 0 ? void 0 : ar(n.discounts, r);\n\treturn !X(n.id, 200) || !X(n.title, 120) || n.description !== void 0 && !ur(n.description, 320) || !pr(n.priceMonthly) || n.priceAnnual !== void 0 && !pr(n.priceAnnual) || !Fn.test(r) || r !== t.toUpperCase() || i === null || a === null || o === null || !gr(n.inventoryQuantity, !0) || !gr(n.inventorySold) || !yr(n.isPopular) ? null : {\n\t\t...n,\n\t\tid: n.id.trim(),\n\t\ttitle: n.title.trim(),\n\t\tdescription: n.description?.trim(),\n\t\tcurrency: r,\n\t\tfeatures: i,\n\t\tdiscounts: o,\n\t\tpromotionMessages: a\n\t};\n}\nfunction ar(e, t) {\n\tif (e.length > 20) return null;\n\tlet n = [];\n\tfor (let r of e) {\n\t\tif (!r || typeof r != \"object\") return null;\n\t\tlet e = r, i = e.currency?.toUpperCase();\n\t\tif (!X(e.title, 120) || !In.has(String(e.type)) || e.amount !== void 0 && !pr(e.amount) || i !== void 0 && (!Fn.test(i) || i !== t) || !dr(e.id, 200) || !dr(e.code, 120) || !dr(e.message, 320) || e.target !== void 0 && !Ln.has(e.target) || e.source !== void 0 && !Rn.has(e.source) || !yr(e.combinable)) return null;\n\t\tn.push({\n\t\t\t...e,\n\t\t\ttitle: e.title.trim(),\n\t\t\tcurrency: i,\n\t\t\tid: e.id?.trim(),\n\t\t\tcode: e.code?.trim(),\n\t\t\tmessage: e.message?.trim()\n\t\t});\n\t}\n\treturn n;\n}\nfunction or(e) {\n\tlet t = sr(e.map((e) => e.id.trim())), n = sr(e.map((e) => e.slug));\n\treturn e.filter((e) => t.get(e.id.trim()) === 1 && n.get(e.slug) === 1);\n}\nfunction sr(e) {\n\tlet t = /* @__PURE__ */ new Map();\n\treturn e.forEach((e) => t.set(e, (t.get(e) ?? 0) + 1)), t;\n}\nfunction cr(e) {\n\treturn sr(e.map((e) => e.id)).size === e.length ? e : null;\n}\nfunction lr(e) {\n\treturn [...new Set(e.map((e) => e.trim()))];\n}\nfunction X(e, t) {\n\tif (typeof e != \"string\") return !1;\n\tlet n = e.trim();\n\treturn n.length > 0 && Array.from(n).length <= t;\n}\nfunction ur(e, t) {\n\treturn typeof e == \"string\" && Array.from(e.trim()).length <= t;\n}\nfunction dr(e, t) {\n\treturn e === void 0 || ur(e, t);\n}\nfunction fr(e, t, n) {\n\treturn !Array.isArray(e) || e.length > t || e.some((e) => !X(e, n)) ? null : e.map((e) => e.trim());\n}\nfunction pr(e) {\n\treturn typeof e == \"number\" && Number.isFinite(e) && e >= 0;\n}\nfunction mr(e) {\n\treturn e === void 0 ? void 0 : pr(e) ? e : null;\n}\nfunction hr(e) {\n\treturn e === void 0 ? void 0 : Number.isSafeInteger(e) && e >= 0 ? e : null;\n}\nfunction gr(e, t = !1) {\n\treturn e === void 0 || t && e === null || Number.isSafeInteger(e) && e >= 0;\n}\nfunction _r(e) {\n\treturn e === void 0 ? void 0 : Number.isSafeInteger(e) && e > 0 && e <= 2e4 ? e : null;\n}\nfunction vr(e, t) {\n\treturn e === void 0 || typeof e == \"string\" && t.includes(e);\n}\nfunction yr(e) {\n\treturn e === void 0 || typeof e == \"boolean\";\n}\nfunction br(e) {\n\tif (typeof e != \"string\" || e.length === 0 || e.length > 1024 || /[\\\\#\\u0000-\\u0020\\u007f]/.test(e) || xr(e)) return !1;\n\tif (e.startsWith(\"/\") && !e.startsWith(\"//\")) return !e.split(\"/\").some((e) => e === \".\" || e === \"..\");\n\tif (!e.startsWith(\"https://\")) return !1;\n\tlet t = e.slice(8), n = t.split(/[/?]/, 1)[0] ?? \"\", r = t.slice(n.length).split(\"?\", 1)[0] ?? \"\";\n\tif (n.length === 0 || n.includes(\"@\") || r.split(\"/\").some((e) => e === \".\" || e === \"..\")) return !1;\n\ttry {\n\t\tlet t = new URL(e);\n\t\treturn t.protocol === \"https:\" && !t.username && !t.password && !t.hash;\n\t} catch {\n\t\treturn !1;\n\t}\n}\nfunction xr(e) {\n\tfor (let t = e.indexOf(\"%\"); t >= 0; t = e.indexOf(\"%\", t + 3)) {\n\t\tlet n = e.slice(t + 1, t + 3);\n\t\tif (!/^[0-9A-Fa-f]{2}$/.test(n)) return !0;\n\t\tlet r = Number.parseInt(n, 16);\n\t\tif (r <= 31 || r === 127 || [\n\t\t\t35,\n\t\t\t46,\n\t\t\t47,\n\t\t\t63,\n\t\t\t92\n\t\t].includes(r)) return !0;\n\t}\n\treturn !1;\n}\n//#endregion\n//#region src/runtime/analytics.ts\nvar Sr = {\n\t\"cedros-shop:product-viewed\": [\n\t\t\"product_ref\",\n\t\t\"category_ref\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:collection-viewed\": [\n\t\t\"collection_ref\",\n\t\t\"collection_type\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:catalog-searched\": [\n\t\t\"has_query\",\n\t\t\"sort_ref\",\n\t\t\"filter_facets\",\n\t\t\"result_count_bucket\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:quick-view-opened\": [\n\t\t\"product_ref\",\n\t\t\"category_ref\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:add-to-cart\": [\n\t\t\"product_ref\",\n\t\t\"variant_ref\",\n\t\t\"quantity_bucket\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:remove-from-cart\": [\n\t\t\"product_ref\",\n\t\t\"variant_ref\",\n\t\t\"quantity_bucket\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:cart-viewed\": [\"cart_item_count_bucket\", \"surface\"],\n\t\"cedros-shop:checkout-started\": [\n\t\t\"cart_item_count_bucket\",\n\t\t\"checkout_mode\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:subscription-checkout-started\": [\n\t\t\"tier_ref\",\n\t\t\"billing_interval\",\n\t\t\"surface\"\n\t],\n\t\"cedros-shop:cart-opened\": [\"cart_item_count_bucket\", \"surface\"]\n};\nfunction Cr(e, t, n) {\n\tif (!e) {\n\t\tAr(t, kr(t, n));\n\t\treturn;\n\t}\n\tif (e.disabled) return;\n\tlet r = {\n\t\tid: t,\n\t\tproperties: kr(t, n)\n\t};\n\ttry {\n\t\tlet t = e.emit(r);\n\t\tjr(t) && t.catch((t) => wr(e, t, r));\n\t} catch (t) {\n\t\twr(e, t, r);\n\t}\n}\nfunction wr(e, t, n) {\n\ttry {\n\t\tlet r = e.onError?.(t, n);\n\t\tjr(r) && r.catch(() => Tr(n.id));\n\t} catch {\n\t\tTr(n.id);\n\t}\n}\nfunction Tr(e) {\n\tconsole.warn(\"Cedros Shop analytics event was not reported.\", { eventId: e });\n}\nfunction Er() {\n\tlet { config: e } = L();\n\treturn c.useCallback((t, n) => {\n\t\tCr(e.analytics, t, n);\n\t}, [e.analytics]);\n}\nfunction Dr(e) {\n\treturn e <= 1 ? \"1\" : e <= 5 ? \"2-5\" : e <= 10 ? \"6-10\" : \"11+\";\n}\nfunction Or(e) {\n\treturn e <= 0 ? \"0\" : Dr(e);\n}\nfunction kr(e, t) {\n\tlet n = new Set(Sr[e]), r = {};\n\tfor (let [e, i] of Object.entries(t)) n.has(e) && (i == null || i === \"\" || (r[e] = String(i)));\n\treturn r;\n}\nfunction Ar(e, t) {\n\tif (typeof window > \"u\") return;\n\tlet n = window.c154w00lAnalytics;\n\tif (typeof n?.trackExtensionEvent != \"function\") return;\n\tlet r = () => Tr(e);\n\ttry {\n\t\tlet i = n.trackExtensionEvent({\n\t\t\textensionId: s,\n\t\t\teventId: e,\n\t\t\tmetadata: t\n\t\t});\n\t\tjr(i) && i.catch(r);\n\t} catch {\n\t\tr();\n\t}\n}\nfunction jr(e) {\n\treturn !!(e && typeof e.catch == \"function\");\n}\n//#endregion\n//#region src/runtime/cartMetadata.ts\nvar Mr = \"shippingCountries\";\nfunction Nr(e) {\n\tlet t = {};\n\te.slug && (t.productSlug = e.slug), e.shippingProfile && (t.shippingProfile = e.shippingProfile), e.checkoutRequirements && (t.checkoutRequirements = JSON.stringify(e.checkoutRequirements)), e.fulfillment?.type && (t.fulfillmentType = e.fulfillment.type), e.fulfillment?.notes && (t.fulfillmentNotes = e.fulfillment.notes);\n\tlet n = e.attributes?.[Mr];\n\treturn typeof n == \"string\" && n.trim() && (t.shippingCountries = n), e.tokenizedAssetConfig && (t.tokenizedAsset = \"true\", e.tokenizedAssetConfig.regulatoryNotice && (t.regulatoryNotice = e.tokenizedAssetConfig.regulatoryNotice), e.tokenizedAssetConfig.assetClass && (t.assetClass = e.tokenizedAssetConfig.assetClass), e.tokenizedAssetConfig.backingValueCents != null && (t.backingValueCents = String(e.tokenizedAssetConfig.backingValueCents)), e.tokenizedAssetConfig.backingCurrency && (t.backingCurrency = e.tokenizedAssetConfig.backingCurrency)), Object.keys(t).length ? t : void 0;\n}\n//#endregion\n//#region src/storefront/useScrollEdges.ts\nvar Pr = 28, Fr = [\n\t\"top\",\n\t\"bottom\",\n\t\"left\",\n\t\"right\"\n];\nfunction Ir() {\n\tlet e = c.useRef(null), t = c.useRef(null), n = c.useRef(null);\n\treturn c.useCallback((r) => {\n\t\tif (n.current?.(), n.current = null, e.current = r, !r || typeof window > \"u\") return;\n\t\tlet i = () => {\n\t\t\tt.current = null;\n\t\t\tlet n = e.current;\n\t\t\tif (n) for (let [e, t] of Lr(n)) n.style.setProperty(`--cs-fade-${e}`, `${Math.min(Pr, Math.max(0, Math.round(t)))}px`);\n\t\t}, a = () => {\n\t\t\tt.current === null && (t.current = window.requestAnimationFrame(i));\n\t\t};\n\t\ti(), r.addEventListener(\"scroll\", a, { passive: !0 });\n\t\tlet o = typeof ResizeObserver == \"function\" ? new ResizeObserver(a) : null;\n\t\to?.observe(r);\n\t\tfor (let e of Array.from(r.children)) o?.observe(e);\n\t\tn.current = () => {\n\t\t\tr.removeEventListener(\"scroll\", a), o?.disconnect(), t.current !== null && window.cancelAnimationFrame(t.current), t.current = null;\n\t\t\tfor (let e of Fr) r.style.removeProperty(`--cs-fade-${e}`);\n\t\t};\n\t}, []);\n}\nfunction Lr(e) {\n\tlet t = e.scrollWidth - e.clientWidth, n = e.scrollLeft < 0 ? -e.scrollLeft : e.scrollLeft, r = e.ownerDocument.defaultView?.getComputedStyle(e).direction === \"rtl\" ? t - n : n;\n\treturn [\n\t\t[\"top\", e.scrollTop],\n\t\t[\"bottom\", e.scrollHeight - e.clientHeight - e.scrollTop],\n\t\t[\"left\", r],\n\t\t[\"right\", t - r]\n\t];\n}\n//#endregion\n//#region src/storefront/shared.tsx\nfunction Z(...e) {\n\treturn e.filter(Boolean).join(\" \");\n}\nfunction Rr({ children: e, className: t }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__card rounded-lg border overflow-hidden\", t),\n\t\tchildren: e\n\t});\n}\nfunction zr({ children: e, className: t }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__card-header flex flex-col space-y-1.5 p-6\", t),\n\t\tchildren: e\n\t});\n}\nfunction Br({ children: e, className: t, scroll: n }) {\n\tlet r = Z(\"cedros-shop-public__card-content p-6 pt-0\", t);\n\treturn n ? /* @__PURE__ */ _(Vr, {\n\t\taxis: n,\n\t\tclassName: r,\n\t\tchildren: e\n\t}) : /* @__PURE__ */ _(\"div\", {\n\t\tclassName: r,\n\t\tchildren: e\n\t});\n}\nfunction Vr({ axis: e = \"y\", children: t, className: n, ...r }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tref: Ir(),\n\t\tclassName: Z(e === \"y\" ? \"cedros-shop-public__scroll-y\" : \"cedros-shop-public__scroll-x\", n),\n\t\t...r,\n\t\tchildren: t\n\t});\n}\nfunction Hr({ children: e, className: t }) {\n\treturn /* @__PURE__ */ _(\"h3\", {\n\t\tclassName: Z(\"cedros-shop-public__card-title tracking-tight\", t),\n\t\tchildren: e\n\t});\n}\nfunction Ur({ swapKey: e, children: t, className: n }) {\n\treturn /* @__PURE__ */ _(\"span\", {\n\t\tclassName: Z(\"cs-anim-value\", n),\n\t\tchildren: t\n\t}, String(e));\n}\nfunction Wr({ children: e, className: t }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__reveal\",\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\tclassName: Z(\"cedros-shop-public__collapsible-inner\", t),\n\t\t\tchildren: e\n\t\t})\n\t});\n}\n//#endregion\n//#region src/storefront/EmptyState.tsx\nfunction Gr() {\n\treturn /* @__PURE__ */ v(\"svg\", {\n\t\twidth: \"96\",\n\t\theight: \"84\",\n\t\tviewBox: \"0 0 96 84\",\n\t\tfill: \"none\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"path\", {\n\t\t\t\td: \"M24 30h48l-4.6 42a6 6 0 0 1-6 5.4H34.6a6 6 0 0 1-6-5.4L24 30Z\",\n\t\t\t\tstroke: \"currentColor\",\n\t\t\t\tstrokeWidth: \"2.5\",\n\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\topacity: \"0.55\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"path\", {\n\t\t\t\td: \"M36 38v-12a12 12 0 0 1 24 0v12\",\n\t\t\t\tstroke: \"currentColor\",\n\t\t\t\tstrokeWidth: \"2.5\",\n\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\topacity: \"0.55\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"path\", {\n\t\t\t\td: \"M40 56c2.4 3.2 4.9 4.8 8 4.8s5.6-1.6 8-4.8\",\n\t\t\t\tstroke: \"currentColor\",\n\t\t\t\tstrokeWidth: \"2.5\",\n\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\topacity: \"0.8\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ v(\"g\", {\n\t\t\t\tclassName: \"cs-illo-accent\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ _(\"path\", {\n\t\t\t\t\t\td: \"M80 14v8M76 18h8\",\n\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\tstrokeLinecap: \"round\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ _(\"circle\", {\n\t\t\t\t\t\tcx: \"14\",\n\t\t\t\t\t\tcy: \"22\",\n\t\t\t\t\t\tr: \"2.5\",\n\t\t\t\t\t\tfill: \"currentColor\",\n\t\t\t\t\t\topacity: \"0.7\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ _(\"circle\", {\n\t\t\t\t\t\tcx: \"86\",\n\t\t\t\t\t\tcy: \"44\",\n\t\t\t\t\t\tr: \"2\",\n\t\t\t\t\t\tfill: \"currentColor\",\n\t\t\t\t\t\topacity: \"0.5\"\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ _(\"path\", {\n\t\t\t\t\t\td: \"M12 48v6M9 51h6\",\n\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\tstrokeWidth: \"1.8\",\n\t\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\t\topacity: \"0.65\"\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Kr({ title: e, description: t, actionLabel: n, actionHref: r, onAction: i, className: a, headingLevel: o = 3 }) {\n\tlet s = `h${o}`;\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__state cedros-shop-public__state--empty flex flex-col items-center justify-center rounded-xl border p-10 text-center\", a),\n\t\tchildren: /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"max-w-sm\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__state-illustration\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(Gr, {})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(s, {\n\t\t\t\t\tclassName: \"text-base font-semibold\",\n\t\t\t\t\tchildren: e\n\t\t\t\t}),\n\t\t\t\tt ? /* @__PURE__ */ _(\"p\", {\n\t\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\t\tchildren: t\n\t\t\t\t}) : null,\n\t\t\t\tn && (r || i) ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"mt-5\",\n\t\t\t\t\tchildren: r ? /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\thref: r,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--secondary inline-flex h-10 items-center justify-center rounded-md px-4 py-2 text-sm\",\n\t\t\t\t\t\tchildren: n\n\t\t\t\t\t}) : /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: i,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--secondary inline-flex h-10 items-center justify-center rounded-md px-4 py-2 text-sm\",\n\t\t\t\t\t\tchildren: n\n\t\t\t\t\t})\n\t\t\t\t}) : null\n\t\t\t]\n\t\t})\n\t});\n}\n//#endregion\n//#region src/storefront/AssetBadge.tsx\nfunction qr({ assetClass: e }) {\n\treturn e ? /* @__PURE__ */ _(\"span\", {\n\t\tclassName: \"cedros-shop-public__asset-badge inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-semibold\",\n\t\tchildren: e\n\t}) : null;\n}\n//#endregion\n//#region src/storefront/catalogDisplay.tsx\nfunction Jr({ amount: e, currency: t, compareAt: n, className: r, size: i = \"default\" }) {\n\tlet a = R(), o = typeof n == \"number\" && n > e;\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__price flex items-baseline gap-2 tabular-nums\", r),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"span\", {\n\t\t\t\tclassName: Z(\"cedros-shop-public__price-current font-semibold\", i === \"sm\" ? \"text-sm\" : \"text-base\"),\n\t\t\t\tchildren: a.formatMoney(e, t)\n\t\t\t}),\n\t\t\t\" \",\n\t\t\to ? /* @__PURE__ */ v(\"span\", {\n\t\t\t\tclassName: Z(\"cedros-shop-public__price-compare line-through\", i === \"sm\" ? \"text-xs\" : \"text-sm\"),\n\t\t\t\tchildren: [/* @__PURE__ */ v(\"span\", {\n\t\t\t\t\tclassName: \"sr-only\",\n\t\t\t\t\tchildren: [a.t(\"storefront.product.originalPrice\"), \" \"]\n\t\t\t\t}), a.formatMoney(n, t)]\n\t\t\t}) : null,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Yr(e, t) {\n\treturn t?.images?.length ? t.images : e.images;\n}\nfunction Xr(e, t) {\n\treturn !t || t.compareAtPrice !== void 0 ? t?.compareAtPrice ?? e.compareAtPrice : t.price === void 0 || t.price === e.price ? e.compareAtPrice : void 0;\n}\nfunction Zr(e, t, n) {\n\tlet r = t ?? e;\n\tif (!(!n || r.inventoryStatus === \"backorder\" || typeof r.inventoryQuantity != \"number\" || r.inventoryQuantity <= 0)) return Math.floor(r.inventoryQuantity);\n}\nfunction Qr({ src: e, compact: t = !1, onError: n, ...r }) {\n\tlet { t: i } = R(), [a, o] = c.useState();\n\treturn !e || a === e ? /* @__PURE__ */ v(\"span\", {\n\t\tclassName: \"cedros-shop-public__missing-media\",\n\t\trole: \"img\",\n\t\t\"aria-label\": i(\"storefront.product.imageUnavailable\"),\n\t\tchildren: [/* @__PURE__ */ v(\"svg\", {\n\t\t\twidth: \"24\",\n\t\t\theight: \"24\",\n\t\t\tviewBox: \"0 0 24 24\",\n\t\t\tfill: \"none\",\n\t\t\tstroke: \"currentColor\",\n\t\t\tstrokeWidth: \"1.5\",\n\t\t\tstrokeLinecap: \"round\",\n\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ _(\"rect\", {\n\t\t\t\t\tx: \"3\",\n\t\t\t\t\ty: \"3\",\n\t\t\t\t\twidth: \"18\",\n\t\t\t\t\theight: \"18\",\n\t\t\t\t\trx: \"2\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(\"circle\", {\n\t\t\t\t\tcx: \"8.5\",\n\t\t\t\t\tcy: \"8.5\",\n\t\t\t\t\tr: \"1.5\"\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(\"path\", { d: \"m21 15-5-5L5 21\" })\n\t\t\t]\n\t\t}), t ? null : /* @__PURE__ */ _(\"span\", { children: i(\"storefront.product.imageUnavailable\") })]\n\t}) : /* @__PURE__ */ _(\"img\", {\n\t\t...r,\n\t\tsrc: e,\n\t\tonError: (t) => {\n\t\t\to(e), n?.(t);\n\t\t}\n\t});\n}\nfunction $r({ images: e, fallbackAlt: t, className: n }) {\n\tlet { t: r } = R(), i = e.map((e) => e.url).join(\"\\n\"), [a, o] = c.useState({\n\t\timageSetKey: i,\n\t\tindex: 0\n\t}), s = a.imageSetKey === i && a.index < e.length ? a.index : 0, l = (e) => o({\n\t\timageSetKey: i,\n\t\tindex: e\n\t}), u = e[s];\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"space-y-3\", n),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__product-media aspect-[4/5] overflow-hidden rounded-2xl\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Qr, {\n\t\t\t\t\t\tsrc: u?.url,\n\t\t\t\t\t\talt: u?.alt ?? t ?? \"\",\n\t\t\t\t\t\twidth: u?.width ?? 1200,\n\t\t\t\t\t\theight: u?.height ?? 1200,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__gallery-image cs-anim-fade h-full w-full\",\n\t\t\t\t\t\tloading: \"eager\",\n\t\t\t\t\t\tfetchPriority: \"high\"\n\t\t\t\t\t}, u?.url),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\te.length > 1 ? /* @__PURE__ */ v(Vr, {\n\t\t\t\taxis: \"x\",\n\t\t\t\tclassName: \"cedros-shop-public__product-thumbnails flex gap-2 pb-1\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\te.map((e, t) => /* @__PURE__ */ v(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"h-16 w-16 shrink-0 overflow-hidden rounded-lg border\",\n\t\t\t\t\t\tonClick: () => l(t),\n\t\t\t\t\t\t\"aria-pressed\": t === s,\n\t\t\t\t\t\t\"aria-label\": r(\"storefront.a11y.viewImage\", { index: t + 1 }),\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(Qr, {\n\t\t\t\t\t\t\t\tsrc: e.url,\n\t\t\t\t\t\t\t\talt: e.alt ?? \"\",\n\t\t\t\t\t\t\t\tcompact: !0,\n\t\t\t\t\t\t\t\twidth: e.width ?? 160,\n\t\t\t\t\t\t\t\theight: e.height ?? 160,\n\t\t\t\t\t\t\t\tclassName: \"h-full w-full object-cover\",\n\t\t\t\t\t\t\t\tloading: \"lazy\"\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}, e.url)),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction ei(e) {\n\treturn Array.from(new Set(e.flatMap((e) => Object.keys(e.options))));\n}\nfunction ti(e) {\n\treturn !!e.variants?.length;\n}\nfunction ni(e, t) {\n\treturn Array.from(new Set(e.map((e) => e.options[t]).filter(Boolean)));\n}\nfunction ri(e, t) {\n\tlet n = Object.entries(t);\n\treturn e.find((e) => n.every(([t, n]) => e.options[t] === n)) ?? null;\n}\nfunction ii(e) {\n\treturn Cn(e);\n}\nfunction ai(e) {\n\treturn wn(e);\n}\nfunction oi(e) {\n\tlet t = ii(e), n = typeof e.inventoryQuantity == \"number\" ? e.inventoryQuantity : void 0;\n\treturn {\n\t\tisOutOfStock: t,\n\t\tisLow: !t && ai(e),\n\t\tquantity: n\n\t};\n}\nfunction si(e, t, n, r) {\n\tlet i = {\n\t\t...t,\n\t\t[n]: r\n\t}, a = Object.entries(i), o = !1;\n\tfor (let t of e) if (a.every(([e, n]) => t.options[e] === n)) {\n\t\tif (!ii(t)) return !0;\n\t\to = !0;\n\t}\n\treturn !o;\n}\nfunction ci({ product: e, value: t, onChange: n, className: r, showInventory: i = !0, disableOutOfStock: a = !1 }) {\n\tlet { t: o } = R(), s = c.useMemo(() => e.variants ?? [], [e.variants]), l = c.useMemo(() => ei(s), [s]), u = c.useMemo(() => new Map(l.map((e) => [e, ni(s, e)])), [l, s]), d = c.useMemo(() => l.length ? ri(s, t.selectedOptions) : s.find((e) => e.id === t.variantId) ?? null, [\n\t\tl.length,\n\t\ts,\n\t\tt.selectedOptions,\n\t\tt.variantId\n\t]), f = c.useMemo(() => d ? oi(d) : null, [d]), p = c.useId();\n\treturn s.length === 0 ? null : l.length === 0 ? /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"space-y-4\", r),\n\t\tchildren: [/* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"space-y-2\",\n\t\t\trole: \"group\",\n\t\t\t\"aria-label\": o(\"storefront.product.select\"),\n\t\t\tchildren: [/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\tchildren: o(\"storefront.product.select\")\n\t\t\t}), /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap gap-2\",\n\t\t\t\tchildren: s.map((e) => {\n\t\t\t\t\tlet r = i && ii(e), s = a && r;\n\t\t\t\t\treturn /* @__PURE__ */ v(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: Z(\"inline-flex h-9 items-center justify-center rounded-md border px-3 text-sm\", r && !s && \"opacity-50 line-through\"),\n\t\t\t\t\t\t\"aria-pressed\": e.id === t.variantId,\n\t\t\t\t\t\tdisabled: s,\n\t\t\t\t\t\tonClick: () => n({\n\t\t\t\t\t\t\tselectedOptions: {},\n\t\t\t\t\t\t\tvariant: e\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tchildren: [e.title, r && !s ? /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\tclassName: \"ml-1 text-[10px] opacity-70\",\n\t\t\t\t\t\t\tchildren: o(\"storefront.product.variantOut\")\n\t\t\t\t\t\t}) : null]\n\t\t\t\t\t}, e.id);\n\t\t\t\t})\n\t\t\t})]\n\t\t}), i && f ? /* @__PURE__ */ _(li, { inventory: f }) : null]\n\t}) : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"space-y-4\", r),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\tl.map((e, r) => {\n\t\t\t\tlet c = t.selectedOptions[e], l = `${p}-${r}`;\n\t\t\t\treturn /* @__PURE__ */ v(\"div\", {\n\t\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\t\trole: \"group\",\n\t\t\t\t\t\"aria-labelledby\": l,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\t\tclassName: \"flex items-baseline justify-between\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\t\tid: l,\n\t\t\t\t\t\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\t\t\t\t\t\tchildren: e\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"text-xs\",\n\t\t\t\t\t\t\t\t\tchildren: c || o(\"storefront.product.select\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\t\tclassName: \"flex flex-wrap gap-2\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\tu.get(e).map((r) => {\n\t\t\t\t\t\t\t\t\tlet l = r === c, u = !i || si(s, t.selectedOptions, e, r), d = a && !u;\n\t\t\t\t\t\t\t\t\treturn /* @__PURE__ */ v(\"button\", {\n\t\t\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\t\t\tclassName: Z(\"inline-flex h-9 items-center justify-center rounded-md border px-3 text-sm\", !u && !d && \"opacity-50 line-through\"),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\tlet i = {\n\t\t\t\t\t\t\t\t\t\t\t\t...t.selectedOptions,\n\t\t\t\t\t\t\t\t\t\t\t\t[e]: r\n\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\tn({\n\t\t\t\t\t\t\t\t\t\t\t\tselectedOptions: i,\n\t\t\t\t\t\t\t\t\t\t\t\tvariant: ri(s, i)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\"aria-pressed\": l,\n\t\t\t\t\t\t\t\t\t\tdisabled: d,\n\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\tr,\n\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\t!u && !d ? /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\t\t\t\t\t\tclassName: \"ml-1 text-[10px] opacity-70\",\n\t\t\t\t\t\t\t\t\t\t\t\tchildren: o(\"storefront.product.variantOut\")\n\t\t\t\t\t\t\t\t\t\t\t}) : null,\n\t\t\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}, r);\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t]\n\t\t\t\t}, e);\n\t\t\t}),\n\t\t\t\" \",\n\t\t\ti && d && f ? /* @__PURE__ */ _(li, { inventory: f }) : null,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction li({ inventory: e }) {\n\tlet { t } = R();\n\treturn e.isOutOfStock ? /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__error pt-2 text-sm font-medium\",\n\t\tchildren: t(\"storefront.stock.out\")\n\t}) : e.isLow && e.quantity !== void 0 ? /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__notice pt-2 text-sm\",\n\t\tchildren: t(\"storefront.stock.low\", { count: e.quantity })\n\t}) : null;\n}\nfunction ui({ qty: e, onChange: t, min: n = 1, max: r, className: i }) {\n\tlet { t: a } = R(), o = Math.min(r ?? 999, 999), s = Number.isFinite(e) ? Math.min(o, Math.max(n, Math.floor(e))) : n, c = s > n, l = s < o;\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__quantity-controls flex items-center gap-2\", i),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--icon inline-flex h-10 w-10 items-center justify-center rounded-md border\",\n\t\t\t\tonClick: () => t(Math.max(n, s - 1)),\n\t\t\t\tdisabled: !c,\n\t\t\t\t\"aria-label\": a(\"storefront.cart.decreaseQuantity\"),\n\t\t\t\tchildren: /* @__PURE__ */ _(pi, { step: \"decrease\" })\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Ti, {\n\t\t\t\tqty: s,\n\t\t\t\tminQty: n,\n\t\t\t\tmaxQty: o,\n\t\t\t\tonSetQty: t,\n\t\t\t\tclassName: \"h-10 w-16 rounded-md border px-3 py-2 text-center\",\n\t\t\t\tlabel: a(\"storefront.cart.quantity\")\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--icon inline-flex h-10 w-10 items-center justify-center rounded-md border\",\n\t\t\t\tonClick: () => t(Math.min(o, s + 1)),\n\t\t\t\tdisabled: !l,\n\t\t\t\t\"aria-label\": a(\"storefront.cart.increaseQuantity\"),\n\t\t\t\tchildren: /* @__PURE__ */ _(pi, { step: \"increase\" })\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction di({ title: e, description: t, onRetry: n, className: r }) {\n\tlet { t: i } = R();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__state rounded-xl border p-6\", r),\n\t\tchildren: [\" \", /* @__PURE__ */ v(\"div\", { children: [\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__state-icon--error\",\n\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\tchildren: /* @__PURE__ */ v(\"svg\", {\n\t\t\t\t\twidth: \"18\",\n\t\t\t\t\theight: \"18\",\n\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\tfill: \"none\",\n\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ _(\"circle\", {\n\t\t\t\t\t\t\tcx: \"12\",\n\t\t\t\t\t\t\tcy: \"12\",\n\t\t\t\t\t\t\tr: \"10\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ _(\"line\", {\n\t\t\t\t\t\t\tx1: \"12\",\n\t\t\t\t\t\t\ty1: \"8\",\n\t\t\t\t\t\t\tx2: \"12\",\n\t\t\t\t\t\t\ty2: \"12\"\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t/* @__PURE__ */ _(\"line\", {\n\t\t\t\t\t\t\tx1: \"12\",\n\t\t\t\t\t\t\ty1: \"16\",\n\t\t\t\t\t\t\tx2: \"12.01\",\n\t\t\t\t\t\t\ty2: \"16\"\n\t\t\t\t\t\t})\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"h3\", {\n\t\t\t\tclassName: \"text-sm font-semibold\",\n\t\t\t\tchildren: e ?? i(\"storefront.error.title\")\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"p\", {\n\t\t\t\tclassName: \"mt-2 text-sm\",\n\t\t\t\tchildren: t\n\t\t\t}),\n\t\t\t\" \",\n\t\t\tn ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"mt-4\",\n\t\t\t\tchildren: /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclassName: \"cedros-shop-public__button inline-flex h-10 items-center justify-center rounded-md border px-4 py-2 text-sm\",\n\t\t\t\t\tonClick: n,\n\t\t\t\t\tchildren: i(\"common.retry\")\n\t\t\t\t})\n\t\t\t}) : null,\n\t\t\t\" \"\n\t\t] })]\n\t});\n}\nfunction Q({ className: e, ...t }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__skeleton animate-pulse rounded-md\", e),\n\t\t...t\n\t});\n}\nfunction fi(e = 1400) {\n\tlet [t, n] = c.useState(!1), r = c.useRef(null);\n\treturn c.useEffect(() => () => {\n\t\tr.current !== null && window.clearTimeout(r.current);\n\t}, []), [t, c.useCallback(() => {\n\t\tn(!0), r.current !== null && window.clearTimeout(r.current), r.current = window.setTimeout(() => n(!1), e);\n\t}, [e])];\n}\nfunction pi({ step: e }) {\n\treturn /* @__PURE__ */ _(\"svg\", {\n\t\twidth: \"16\",\n\t\theight: \"16\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ _(\"path\", { d: e === \"increase\" ? \"M5 12h14M12 5v14\" : \"M5 12h14\" })\n\t});\n}\nfunction mi() {\n\treturn /* @__PURE__ */ _(\"svg\", {\n\t\tclassName: \"cs-anim-fade\",\n\t\twidth: \"14\",\n\t\theight: \"14\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2.5\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ _(\"path\", {\n\t\t\tclassName: \"cs-anim-check\",\n\t\t\tpathLength: 1,\n\t\t\td: \"m4 12.5 5 5L20 6.5\"\n\t\t})\n\t});\n}\nvar hi = {\n\tlarge: \"aspect-[4/5]\",\n\tsquare: \"aspect-square\",\n\tcompact: \"aspect-[3/4]\"\n}, gi = {\n\tcenter: \"object-center\",\n\ttop: \"object-top\",\n\tbottom: \"object-bottom\",\n\tleft: \"object-left\",\n\tright: \"object-right\"\n};\nfunction _i({ product: e, href: t, onAddToCart: n, onQuickView: r, className: i, layout: a = \"large\", imageCrop: o = \"center\", imagePriority: s = !1 }) {\n\tlet { t: l } = R(), u = bn(), d = u.inventory && Cn(e), f = u.inventory && e.inventoryStatus !== \"backorder\" && typeof e.inventoryQuantity == \"number\" ? e.inventoryQuantity : null, p = (e.variants?.length ?? 0) > 0, [m, h] = fi(), g = c.useRef(!1), y = () => {\n\t\tif (!p) {\n\t\t\tif (n?.(e, null) === !1) return;\n\t\t\tg.current = !0, h();\n\t\t\treturn;\n\t\t}\n\t\tr ? r(e) : t && typeof window < \"u\" && window.location.assign(t);\n\t}, b = l(d ? \"storefront.stock.out\" : p ? \"storefront.product.chooseOptions\" : \"storefront.product.addToCart\");\n\treturn /* @__PURE__ */ v(Rr, {\n\t\tclassName: Z(\"cedros-shop-public__product-card group flex h-full flex-col overflow-hidden rounded-2xl\", d && \"cedros-shop-public__product-card--unavailable\", i),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(vi, {\n\t\t\t\tproduct: e,\n\t\t\t\thref: t,\n\t\t\t\tlayout: a,\n\t\t\t\timageCrop: o,\n\t\t\t\tisOutOfStock: d,\n\t\t\t\tlowStockQty: f,\n\t\t\t\tonQuickView: r,\n\t\t\t\timagePriority: s\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: Z(\"cedros-shop-public__product-card-body flex flex-1 flex-col\", a === \"compact\" ? \"p-3\" : \"p-4\"),\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"min-w-0\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\tclassName: Z(\"cedros-shop-public__product-title line-clamp-2 font-medium\", a === \"compact\" ? \"text-xs\" : \"text-sm\"),\n\t\t\t\t\t\t\t\ttitle: e.title,\n\t\t\t\t\t\t\t\tchildren: t ? /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\t\t\t\thref: t,\n\t\t\t\t\t\t\t\t\tchildren: e.title\n\t\t\t\t\t\t\t\t}) : e.title\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__product-card-price mt-1\",\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(Jr, {\n\t\t\t\t\t\t\t\t\tamount: e.price,\n\t\t\t\t\t\t\t\t\tcurrency: e.currency,\n\t\t\t\t\t\t\t\t\tcompareAt: e.compareAtPrice,\n\t\t\t\t\t\t\t\t\tsize: a === \"compact\" ? \"sm\" : \"default\"\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(bi, { assetClass: e.tokenizedAssetConfig?.assetClass })\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\td ? null : /* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"mt-auto\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ v(\"button\", {\n\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--ghost cedros-shop-public__product-card-action inline-flex items-center gap-1.5 rounded-md text-sm font-medium\",\n\t\t\t\t\t\t\t\tonClick: y,\n\t\t\t\t\t\t\t\t\"aria-label\": l(\"storefront.product.cardActionNamed\", {\n\t\t\t\t\t\t\t\t\taction: m ? l(\"storefront.toast.addedToCart\") : b,\n\t\t\t\t\t\t\t\t\ttitle: e.title\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\tm ? /* @__PURE__ */ v(\"span\", {\n\t\t\t\t\t\t\t\t\t\tclassName: \"cs-anim-value inline-flex items-center gap-1.5\",\n\t\t\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\t\t/* @__PURE__ */ _(mi, {}),\n\t\t\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t\t\tl(\"storefront.toast.addedToCart\")\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t}, \"added\") : /* @__PURE__ */ v(\"span\", {\n\t\t\t\t\t\t\t\t\t\tclassName: Z(\"inline-flex items-center gap-1.5\", g.current && \"cs-anim-value\"),\n\t\t\t\t\t\t\t\t\t\tchildren: [p ? null : /* @__PURE__ */ _(xi, {}), b]\n\t\t\t\t\t\t\t\t\t}, \"idle\"),\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction vi({ product: e, href: t, layout: n, imageCrop: r, isOutOfStock: i, lowStockQty: a, onQuickView: o, imagePriority: s }) {\n\tlet { t: c } = R(), l = /* @__PURE__ */ _(yi, {\n\t\tproduct: e,\n\t\tlayout: n,\n\t\timageCrop: r,\n\t\tpriority: s\n\t});\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"cedros-shop-public__product-media relative\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__product-media-actions\",\n\t\t\t\tchildren: [i ? /* @__PURE__ */ _(Si, { label: c(\"storefront.stock.out\") }) : a != null && a > 0 && a <= 5 ? /* @__PURE__ */ _(Si, { label: c(\"storefront.stock.low\", { count: a }) }) : null, o ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__quick-view\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button inline-flex h-9 items-center justify-center rounded-md px-3 text-sm\",\n\t\t\t\t\t\t\"aria-label\": c(\"storefront.product.cardActionNamed\", {\n\t\t\t\t\t\t\taction: c(\"storefront.product.quickView\"),\n\t\t\t\t\t\t\ttitle: e.title\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonClick: () => o(e),\n\t\t\t\t\t\tchildren: c(\"storefront.product.quickView\")\n\t\t\t\t\t})\n\t\t\t\t}) : null]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t\" \",\n\t\t\tt ? /* @__PURE__ */ _(\"a\", {\n\t\t\t\thref: t,\n\t\t\t\tclassName: \"cedros-shop-public__product-media-link block\",\n\t\t\t\t\"aria-label\": c(\"storefront.a11y.viewProduct\", { title: e.title }),\n\t\t\t\tchildren: l\n\t\t\t}) : l,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction yi({ product: e, layout: t, imageCrop: n, priority: r }) {\n\tlet i = e.images[0];\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__product-media overflow-hidden\", hi[t]),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Qr, {\n\t\t\t\tsrc: i?.url,\n\t\t\t\talt: i?.alt ?? e.title,\n\t\t\t\twidth: i?.width ?? 800,\n\t\t\t\theight: i?.height ?? 1e3,\n\t\t\t\tclassName: Z(\"h-full w-full object-cover\", gi[n]),\n\t\t\t\tloading: r ? \"eager\" : \"lazy\",\n\t\t\t\tfetchPriority: r ? \"high\" : \"auto\"\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction bi({ assetClass: e }) {\n\treturn e ? /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__product-badges mt-2 flex flex-wrap gap-1\",\n\t\tchildren: /* @__PURE__ */ _(qr, { assetClass: e })\n\t}) : null;\n}\nfunction xi() {\n\treturn /* @__PURE__ */ _(\"svg\", {\n\t\twidth: \"14\",\n\t\theight: \"14\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"M12 5v14M5 12h14\" })\n\t});\n}\nfunction Si({ label: e }) {\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__product-stock pointer-events-none\",\n\t\tchildren: /* @__PURE__ */ _(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__badge cedros-shop-public__badge--warning rounded-md px-2 py-0.5 text-xs\",\n\t\t\tchildren: e\n\t\t})\n\t});\n}\nfunction Ci({ products: e, columns: t, onAddToCart: n, onQuickView: r, getProductHref: i, className: a, layout: o, imageCrop: s }) {\n\tlet c = Z(\"cedros-shop-public__product-grid grid gap-4\", wi(t?.base ?? 2, \"\"), wi(t?.md ?? 3, \"md:\"), wi(t?.lg ?? 3, \"lg:\")), l = {\n\t\t\"--c154w00l-shop-grid-base\": t?.base ?? 1,\n\t\t\"--c154w00l-shop-grid-md\": t?.md ?? 3,\n\t\t\"--c154w00l-shop-grid-lg\": t?.lg ?? 3,\n\t\t\"--c154w00l-shop-grid-xl\": t?.lg ?? 4\n\t};\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: Z(c, a),\n\t\tstyle: l,\n\t\tchildren: e.map((e, t) => /* @__PURE__ */ _(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__product-grid-item\",\n\t\t\tchildren: /* @__PURE__ */ _(_i, {\n\t\t\t\tproduct: e,\n\t\t\t\thref: i?.(e),\n\t\t\t\tonAddToCart: n,\n\t\t\t\tonQuickView: r,\n\t\t\t\tlayout: o,\n\t\t\t\timageCrop: s,\n\t\t\t\timagePriority: t === 0\n\t\t\t})\n\t\t}, e.id))\n\t});\n}\nfunction wi(e, t) {\n\tlet n = Math.min(4, Math.max(1, e));\n\treturn {\n\t\t\"\": {\n\t\t\t1: \"grid-cols-1\",\n\t\t\t2: \"grid-cols-2\",\n\t\t\t3: \"grid-cols-3\",\n\t\t\t4: \"grid-cols-4\"\n\t\t},\n\t\t\"md:\": {\n\t\t\t1: \"md:grid-cols-1\",\n\t\t\t2: \"md:grid-cols-2\",\n\t\t\t3: \"md:grid-cols-3\",\n\t\t\t4: \"md:grid-cols-4\"\n\t\t},\n\t\t\"lg:\": {\n\t\t\t1: \"lg:grid-cols-1\",\n\t\t\t2: \"lg:grid-cols-2\",\n\t\t\t3: \"lg:grid-cols-3\",\n\t\t\t4: \"lg:grid-cols-4\"\n\t\t}\n\t}[t][n];\n}\nfunction Ti({ qty: e, minQty: t = 1, maxQty: n = 999, onSetQty: r, className: i, label: a }) {\n\tlet [o, s] = c.useState(String(e));\n\treturn c.useEffect(() => s(String(e)), [e]), /* @__PURE__ */ _(\"input\", {\n\t\tinputMode: \"numeric\",\n\t\tpattern: \"[0-9]*\",\n\t\tvalue: o,\n\t\tonChange: (e) => {\n\t\t\ts(e.target.value);\n\t\t\tlet i = Math.floor(Number(e.target.value));\n\t\t\tif (e.target.value.trim() === \"\" || !Number.isFinite(i) || i < t) return;\n\t\t\tlet a = Math.min(n, i);\n\t\t\ta !== i && s(String(a)), r(a);\n\t\t},\n\t\tonBlur: () => s(String(e)),\n\t\tclassName: i,\n\t\t\"aria-label\": a\n\t});\n}\n//#endregion\n//#region node_modules/clsx/dist/clsx.mjs\nfunction Ei(e) {\n\tvar t, n, r = \"\";\n\tif (typeof e == \"string\" || typeof e == \"number\") r += e;\n\telse if (typeof e == \"object\") if (Array.isArray(e)) {\n\t\tvar i = e.length;\n\t\tfor (t = 0; t < i; t++) e[t] && (n = Ei(e[t])) && (r && (r += \" \"), r += n);\n\t} else for (n in e) e[n] && (r && (r += \" \"), r += n);\n\treturn r;\n}\nfunction Di() {\n\tfor (var e, t, n = 0, r = \"\", i = arguments.length; n < i; n++) (e = arguments[n]) && (t = Ei(e)) && (r && (r += \" \"), r += t);\n\treturn r;\n}\n//#endregion\n//#region node_modules/class-variance-authority/dist/index.mjs\nvar Oi = (e) => typeof e == \"boolean\" ? `${e}` : e === 0 ? \"0\" : e, ki = Di, Ai = (e, t) => (n) => {\n\tif (t?.variants == null) return ki(e, n?.class, n?.className);\n\tlet { variants: r, defaultVariants: i } = t, a = Object.keys(r).map((e) => {\n\t\tlet t = n?.[e], a = i?.[e];\n\t\tif (t === null) return null;\n\t\tlet o = Oi(t) || Oi(a);\n\t\treturn r[e][o];\n\t}), o = n && Object.entries(n).reduce((e, t) => {\n\t\tlet [n, r] = t;\n\t\treturn r === void 0 || (e[n] = r), e;\n\t}, {});\n\treturn ki(e, a, t?.compoundVariants?.reduce((e, t) => {\n\t\tlet { class: n, className: r, ...a } = t;\n\t\treturn Object.entries(a).every((e) => {\n\t\t\tlet [t, n] = e;\n\t\t\treturn Array.isArray(n) ? n.includes({\n\t\t\t\t...i,\n\t\t\t\t...o\n\t\t\t}[t]) : {\n\t\t\t\t...i,\n\t\t\t\t...o\n\t\t\t}[t] === n;\n\t\t}) ? [\n\t\t\t...e,\n\t\t\tn,\n\t\t\tr\n\t\t] : e;\n\t}, []), n?.class, n?.className);\n}, ji = Ai(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"\",\n\t\t\tsecondary: \"\",\n\t\t\toutline: \"border\",\n\t\t\tghost: \"\",\n\t\t\tdestructive: \"\",\n\t\t\tlink: \"underline-offset-4 hover:underline\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-10 px-4 py-2\",\n\t\t\tsm: \"h-9 rounded-md px-3\",\n\t\t\tlg: \"h-11 rounded-md px-6\",\n\t\t\ticon: \"h-10 w-10\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\nfunction Mi(e, t) {\n\tt?.(e);\n}\nfunction Ni(e, t, n) {\n\tif (!c.isValidElement(e)) return null;\n\tlet r = c.Children.only(e);\n\treturn c.cloneElement(r, {\n\t\t...t,\n\t\tref: n,\n\t\tclassName: Z(t.className, r.props.className),\n\t\tonClick: (e) => {\n\t\t\tMi(e, r.props.onClick), e.defaultPrevented || Mi(e, t.onClick);\n\t\t}\n\t});\n}\nvar $ = c.forwardRef(({ className: e, variant: t, size: n, asChild: r, children: i, ...a }, o) => {\n\tlet s = t ?? \"default\", c = n ?? \"default\", l = Z(\"cedros-shop-public__button\", `cedros-shop-public__button--${s}`, c === \"default\" ? void 0 : `cedros-shop-public__button--size-${c}`, ji({\n\t\tvariant: t,\n\t\tsize: n\n\t}), e);\n\treturn r ? Ni(i, {\n\t\t...a,\n\t\tclassName: l\n\t}, o) : /* @__PURE__ */ _(\"button\", {\n\t\tref: o,\n\t\tclassName: l,\n\t\t...a,\n\t\tchildren: i\n\t});\n});\n$.displayName = \"Button\";\nvar Pi = c.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ _(\"input\", {\n\tref: n,\n\tclassName: Z(\"cedros-shop-public__input flex h-10 w-full rounded-md border px-3 py-2 text-sm shadow-sm transition-colors file:border-0 file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\", e),\n\t...t\n}));\nPi.displayName = \"Input\";\nvar Fi = c.forwardRef(({ className: e, orientation: t = \"horizontal\", decorative: n = !0, ...r }, i) => /* @__PURE__ */ _(\"div\", {\n\tref: i,\n\trole: n ? \"presentation\" : \"separator\",\n\t\"aria-orientation\": n ? void 0 : t,\n\tclassName: Z(\"shrink-0\", t === \"horizontal\" ? \"h-px w-full\" : \"h-full w-px\", e),\n\t...r\n}));\nFi.displayName = \"Separator\";\nvar Ii = c.createContext(null);\nfunction Li({ children: e, open: t, defaultOpen: n = !1, onOpenChange: r, modal: i = !0 }) {\n\tlet a = c.useId(), [o, s] = c.useState(n), l = t ?? o, u = c.useCallback((e) => {\n\t\tt === void 0 && s(e), r?.(e);\n\t}, [r, t]);\n\treturn /* @__PURE__ */ _(Ii.Provider, {\n\t\tvalue: {\n\t\t\topen: l,\n\t\t\tmodal: i,\n\t\t\ttitleId: a,\n\t\t\tcontentId: `${a}-content`,\n\t\t\tsetOpen: u\n\t\t},\n\t\tchildren: e\n\t});\n}\nfunction Ri() {\n\treturn c.useContext(Ii) ?? {\n\t\topen: !0,\n\t\tmodal: !0,\n\t\tsetOpen: () => void 0\n\t};\n}\nfunction zi(e) {\n\tlet [t, n] = c.useState(e);\n\treturn c.useEffect(() => {\n\t\tif (e) {\n\t\t\tn(!0);\n\t\t\treturn;\n\t\t}\n\t\tif (!t) return;\n\t\tif (typeof window < \"u\" && window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches) {\n\t\t\tn(!1);\n\t\t\treturn;\n\t\t}\n\t\tlet r = window.setTimeout(() => n(!1), 180);\n\t\treturn () => window.clearTimeout(r);\n\t}, [e, t]), t;\n}\nvar Bi = [], Vi = \"a[href], button, input:not([type=\\\"hidden\\\"]), select, textarea, [tabindex]\";\nfunction Hi(e) {\n\treturn Array.from(e.querySelectorAll(Vi)).filter((t) => {\n\t\tif (t.tabIndex < 0 || t.matches(\":disabled\") || t.closest(\"[hidden], [inert], [aria-hidden=\\\"true\\\"]\")) return !1;\n\t\tfor (let n = t; n; n = n.parentElement) {\n\t\t\tlet t = window.getComputedStyle(n);\n\t\t\tif (t.display === \"none\" || t.visibility === \"hidden\") return !1;\n\t\t\tif (n === e) break;\n\t\t}\n\t\treturn !0;\n\t});\n}\nfunction Ui(e, t, n) {\n\tlet i = c.useRef(null), a = c.useRef(e.setOpen);\n\ta.current = e.setOpen;\n\tlet o = c.useCallback((e) => {\n\t\ti.current = e, typeof n == \"function\" ? n(e) : n && (n.current = e);\n\t}, [n]);\n\treturn c.useEffect(() => {\n\t\tlet n = i.current;\n\t\tif (!e.open || !t || !n) return;\n\t\tlet o = document.activeElement instanceof HTMLElement ? document.activeElement : null, s = n.closest(\".cedros-shop-public__modal-layer\") ?? n, c = e.modal ? r(s) : void 0;\n\t\tBi.push(n);\n\t\tlet l = () => Bi[Bi.length - 1] === n, u = () => (Hi(n)[0] ?? n).focus(), d = (t) => {\n\t\t\tif (!(!l() || t.defaultPrevented)) {\n\t\t\t\tif (t.key === \"Escape\") t.preventDefault(), t.stopPropagation(), a.current(!1);\n\t\t\t\telse if (t.key === \"Tab\" && e.modal) {\n\t\t\t\t\tlet e = Hi(n), r = e[0], i = e[e.length - 1];\n\t\t\t\t\t!r || !n.contains(document.activeElement) ? (t.preventDefault(), (r ?? n).focus()) : t.shiftKey && (document.activeElement === r || document.activeElement === n) ? (t.preventDefault(), i.focus()) : !t.shiftKey && document.activeElement === i && (t.preventDefault(), r.focus());\n\t\t\t\t}\n\t\t\t}\n\t\t}, f = (t) => {\n\t\t\te.modal && l() && t.target instanceof Node && !n.contains(t.target) && u();\n\t\t};\n\t\treturn document.addEventListener(\"keydown\", d), document.addEventListener(\"focusin\", f), u(), () => {\n\t\t\tc?.(), document.removeEventListener(\"keydown\", d), document.removeEventListener(\"focusin\", f);\n\t\t\tlet t = Bi.indexOf(n);\n\t\t\tt >= 0 && Bi.splice(t, 1), o?.isConnected && (e.modal || n.contains(document.activeElement)) && o.focus();\n\t\t};\n\t}, [\n\t\te.open,\n\t\te.modal,\n\t\tt\n\t]), o;\n}\nfunction Wi(e, t) {\n\tlet n = c.forwardRef(({ asChild: t, children: n, onClick: r, ...i }, a) => {\n\t\tlet o = Ri(), s = (t) => {\n\t\t\tMi(t, r), t.defaultPrevented || o.setOpen(e);\n\t\t}, c = e ? {\n\t\t\t\"aria-haspopup\": \"dialog\",\n\t\t\t\"aria-expanded\": o.open,\n\t\t\t\"aria-controls\": o.contentId\n\t\t} : {};\n\t\treturn t ? Ni(n, {\n\t\t\t...c,\n\t\t\t...i,\n\t\t\tonClick: s\n\t\t}, a) : /* @__PURE__ */ _(\"button\", {\n\t\t\tref: a,\n\t\t\ttype: \"button\",\n\t\t\tonClick: s,\n\t\t\t...c,\n\t\t\t...i,\n\t\t\tchildren: n\n\t\t});\n\t});\n\treturn n.displayName = t, n;\n}\nfunction Gi({ disclosure: e, present: t, children: n }) {\n\tlet r = c.useRef(null);\n\treturn c.useLayoutEffect(() => {\n\t\tlet n = r.current;\n\t\tif (!(!e.modal || !e.open || !t || !n || typeof n.showPopover != \"function\")) return n.showPopover(), () => {\n\t\t\tn.matches(\":popover-open\") && n.hidePopover();\n\t\t};\n\t}, [\n\t\te.modal,\n\t\te.open,\n\t\tt\n\t]), e.modal ? /* @__PURE__ */ _(\"div\", {\n\t\tref: r,\n\t\tpopover: \"manual\",\n\t\tclassName: \"cedros-shop-public__modal-layer\",\n\t\tchildren: n\n\t}) : /* @__PURE__ */ _(g, { children: n });\n}\nvar Ki = Li, qi = c.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ _(\"div\", {\n\tref: n,\n\t\"data-state\": \"open\",\n\tclassName: Z(\"cedros-shop-public__overlay fixed inset-0 z-50\", e),\n\t...t\n}));\nqi.displayName = \"DialogOverlay\";\nvar Ji = c.forwardRef(({ className: e, children: t, ...n }, r) => {\n\tlet { t: i } = R(), a = Ri(), o = zi(a.open), s = Ui(a, o, r);\n\tif (!o) return null;\n\tlet c = a.open ? \"open\" : \"closed\";\n\treturn /* @__PURE__ */ v(Gi, {\n\t\tdisclosure: a,\n\t\tpresent: o,\n\t\tchildren: [/* @__PURE__ */ _(qi, {\n\t\t\t\"data-state\": c,\n\t\t\tonClick: () => a.setOpen(!1)\n\t\t}), /* @__PURE__ */ v(\"div\", {\n\t\t\tref: s,\n\t\t\trole: \"dialog\",\n\t\t\tid: a.contentId,\n\t\t\t\"aria-modal\": a.modal || void 0,\n\t\t\t\"aria-labelledby\": a.titleId,\n\t\t\t\"aria-hidden\": !a.open || void 0,\n\t\t\tinert: !a.open || void 0,\n\t\t\ttabIndex: -1,\n\t\t\t\"data-state\": c,\n\t\t\tclassName: Z(\"cedros-shop-public__dialog fixed left-1/2 top-1/2 z-50 grid -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg outline-none transition data-[state=closed]:opacity-0 data-[state=closed]:scale-95 data-[state=open]:opacity-100 data-[state=open]:scale-100 rounded-2xl\", e),\n\t\t\t...n,\n\t\t\tchildren: [t, /* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-public__dialog-close cedros-shop-public__button cedros-shop-public__button--ghost absolute right-4 top-4 inline-flex h-11 w-11 items-center justify-center leading-none\",\n\t\t\t\t\"aria-label\": i(\"common.close\"),\n\t\t\t\tonClick: () => a.setOpen(!1),\n\t\t\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\twidth: \"20\",\n\t\t\t\t\theight: \"20\",\n\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\tfill: \"none\",\n\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m18 6-12 12M6 6l12 12\" })\n\t\t\t\t})\n\t\t\t})]\n\t\t})]\n\t});\n});\nJi.displayName = \"DialogContent\";\nvar Yi = ({ className: e, ...t }) => /* @__PURE__ */ _(\"div\", {\n\tclassName: Z(\"flex flex-col space-y-2 text-center sm:text-left\", e),\n\t...t\n}), Xi = c.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ _(\"h2\", {\n\tref: n,\n\tid: Ri().titleId,\n\tclassName: Z(\"cedros-shop-public__dialog-title text-lg font-semibold tracking-tight\", e),\n\t...t\n}));\nXi.displayName = \"DialogTitle\";\nvar Zi = c.createContext(null), Qi = c.createContext(null);\nfunction $i({ children: e, className: t, collapsible: n, defaultValue: r, value: i, onValueChange: a, ...o }) {\n\tlet [s, l] = c.useState(r), u = i ?? s, d = c.useCallback((e) => {\n\t\ti === void 0 && l(e), a?.(e);\n\t}, [a, i]);\n\treturn /* @__PURE__ */ _(Zi.Provider, {\n\t\tvalue: {\n\t\t\topenValue: u,\n\t\t\tsetOpenValue: d,\n\t\t\tcollapsible: n\n\t\t},\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\tclassName: t,\n\t\t\t...o,\n\t\t\tchildren: e\n\t\t})\n\t});\n}\nvar ea = c.forwardRef(({ className: e, value: t, children: n, ...r }, i) => {\n\tlet a = c.useId();\n\treturn /* @__PURE__ */ _(Qi.Provider, {\n\t\tvalue: {\n\t\t\tvalue: t,\n\t\t\ttriggerId: `${a}-trigger`,\n\t\t\tcontentId: `${a}-content`\n\t\t},\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\tref: i,\n\t\t\tclassName: Z(\"border-b\", e),\n\t\t\t...r,\n\t\t\tchildren: n\n\t\t})\n\t});\n});\nea.displayName = \"AccordionItem\";\nvar ta = c.forwardRef(({ className: e, children: t, onClick: n, ...r }, i) => {\n\tlet a = c.useContext(Zi), o = c.useContext(Qi), s = a?.openValue === o?.value;\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"flex\",\n\t\tchildren: /* @__PURE__ */ v(\"button\", {\n\t\t\tref: i,\n\t\t\tid: o?.triggerId,\n\t\t\ttype: \"button\",\n\t\t\t\"aria-expanded\": s,\n\t\t\t\"aria-controls\": o?.contentId,\n\t\t\t\"data-state\": s ? \"open\" : \"closed\",\n\t\t\tclassName: Z(\"cedros-shop-public__accordion-trigger flex flex-1 items-center justify-between py-4 text-sm font-medium\", e),\n\t\t\tonClick: (e) => {\n\t\t\t\tMi(e, n), !e.defaultPrevented && a && o && a.setOpenValue(s && a.collapsible ? void 0 : o.value);\n\t\t\t},\n\t\t\t...r,\n\t\t\tchildren: [t, /* @__PURE__ */ _(\"span\", {\n\t\t\t\tclassName: \"cedros-shop-public__accordion-chevron ml-3\",\n\t\t\t\t\"aria-hidden\": !0,\n\t\t\t\tchildren: /* @__PURE__ */ _(ia, {})\n\t\t\t})]\n\t\t})\n\t});\n});\nta.displayName = \"AccordionTrigger\";\nvar na = c.forwardRef(({ className: e, children: t, ...n }, r) => {\n\tlet i = c.useContext(Zi), a = c.useContext(Qi), o = i?.openValue === a?.value;\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tref: r,\n\t\tid: a?.contentId,\n\t\trole: \"region\",\n\t\t\"aria-labelledby\": a?.triggerId,\n\t\t\"data-state\": o ? \"open\" : \"closed\",\n\t\t\"aria-hidden\": !o,\n\t\tinert: !o || void 0,\n\t\tclassName: Z(\"cedros-shop-public__accordion-content text-sm\", e),\n\t\t...n,\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__accordion-content-inner\",\n\t\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"pb-4 pt-0\",\n\t\t\t\tchildren: t\n\t\t\t})\n\t\t})\n\t});\n});\nna.displayName = \"AccordionContent\";\nfunction ra({ open: e, onOpenChange: t, openLabel: n, closeLabel: r, children: i, className: a }) {\n\tlet o = c.useId();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__disclosure\", a),\n\t\tchildren: [/* @__PURE__ */ v($, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"ghost\",\n\t\t\tsize: \"sm\",\n\t\t\t\"aria-expanded\": e,\n\t\t\t\"aria-controls\": o,\n\t\t\tclassName: \"cedros-shop-public__disclosure-trigger\",\n\t\t\tonClick: () => t(!e),\n\t\t\tchildren: [/* @__PURE__ */ _(\"span\", { children: e ? r : n }), /* @__PURE__ */ _(\"span\", {\n\t\t\t\tclassName: \"cedros-shop-public__disclosure-chevron\",\n\t\t\t\t\"data-state\": e ? \"open\" : \"closed\",\n\t\t\t\t\"aria-hidden\": !0,\n\t\t\t\tchildren: /* @__PURE__ */ _(ia, {})\n\t\t\t})]\n\t\t}), /* @__PURE__ */ _(\"div\", {\n\t\t\tid: o,\n\t\t\tclassName: \"cedros-shop-public__disclosure-content\",\n\t\t\t\"data-state\": e ? \"open\" : \"closed\",\n\t\t\t\"aria-hidden\": !e,\n\t\t\tinert: !e || void 0,\n\t\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__disclosure-content-inner\",\n\t\t\t\tchildren: i\n\t\t\t})\n\t\t})]\n\t});\n}\nfunction ia() {\n\treturn /* @__PURE__ */ _(\"svg\", {\n\t\twidth: \"14\",\n\t\theight: \"14\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m6 9 6 6 6-6\" })\n\t});\n}\nvar aa = c.createContext(null);\nfunction oa({ children: e, value: t, onValueChange: n }) {\n\tlet r = c.useMemo(() => sa(e), [e]), i = t ? r.find((e) => e.value === t)?.label : void 0;\n\treturn /* @__PURE__ */ _(aa.Provider, {\n\t\tvalue: {\n\t\t\tvalue: t,\n\t\t\tonValueChange: n,\n\t\t\toptions: r,\n\t\t\tselectedLabel: i\n\t\t},\n\t\tchildren: e\n\t});\n}\nfunction sa(e, t = []) {\n\treturn c.Children.forEach(e, (e) => {\n\t\tif (c.isValidElement(e)) {\n\t\t\tif (e.type === da) {\n\t\t\t\tlet n = e.props;\n\t\t\t\tt.push({\n\t\t\t\t\tvalue: n.value,\n\t\t\t\t\tlabel: String(n.children ?? n.value),\n\t\t\t\t\tdisabled: n.disabled\n\t\t\t\t});\n\t\t\t}\n\t\t\tsa(e.props.children, t);\n\t\t}\n\t}), t;\n}\nvar ca = ({ placeholder: e }) => {\n\tlet t = c.useContext(aa);\n\treturn /* @__PURE__ */ _(g, { children: t?.selectedLabel ?? t?.value ?? e });\n}, la = c.forwardRef(({ className: e, children: t, onChange: n, ...r }, i) => {\n\tlet a = c.useContext(aa);\n\treturn /* @__PURE__ */ v(\"span\", {\n\t\tclassName: \"cedros-shop-public__select-field\",\n\t\tchildren: [/* @__PURE__ */ _(\"select\", {\n\t\t\tref: i,\n\t\t\tvalue: a?.value,\n\t\t\tclassName: Z(\"cedros-shop-public__select-trigger flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-50\", e),\n\t\t\tonChange: (e) => {\n\t\t\t\tn?.(e), e.defaultPrevented || a?.onValueChange?.(e.currentTarget.value);\n\t\t\t},\n\t\t\t...r,\n\t\t\tchildren: a?.options.map((e) => /* @__PURE__ */ _(\"option\", {\n\t\t\t\tvalue: e.value,\n\t\t\t\tdisabled: e.disabled,\n\t\t\t\tchildren: e.label\n\t\t\t}, e.value))\n\t\t}), /* @__PURE__ */ _(\"span\", {\n\t\t\tclassName: \"cedros-shop-public__select-arrow\",\n\t\t\t\"aria-hidden\": \"true\"\n\t\t})]\n\t});\n});\nla.displayName = \"SelectTrigger\";\nvar ua = c.forwardRef((e, t) => null);\nua.displayName = \"SelectContent\";\nvar da = c.forwardRef(({ className: e, children: t, value: n, onClick: r, ...i }, a) => {\n\tlet o = c.useContext(aa);\n\treturn /* @__PURE__ */ _(\"button\", {\n\t\tref: a,\n\t\ttype: \"button\",\n\t\trole: \"option\",\n\t\t\"aria-selected\": o?.value === n,\n\t\tclassName: Z(\"relative flex w-full cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50\", e),\n\t\tonClick: (e) => {\n\t\t\tMi(e, r), e.defaultPrevented || o?.onValueChange?.(n);\n\t\t},\n\t\t...i,\n\t\tchildren: t\n\t});\n});\nda.displayName = \"SelectItem\";\nvar fa = Li, pa = Wi(!0, \"SheetTrigger\"), ma = Wi(!1, \"SheetClose\"), ha = qi, ga = Ai(\"fixed z-50 gap-4 p-6 outline-none\", {\n\tvariants: { side: {\n\t\ttop: \"cedros-shop-public__sheet--top inset-x-0 top-0 border-b\",\n\t\tbottom: \"cedros-shop-public__sheet--bottom inset-x-0 bottom-0 border-t\",\n\t\tleft: \"cedros-shop-public__sheet--left inset-y-0 left-0 h-full border-r\",\n\t\tright: \"cedros-shop-public__sheet--right inset-y-0 right-0 h-full border-l\",\n\t\tpopup: \"cedros-shop-public__sheet--popup bottom-4 right-4 w-[420px] max-w-[calc(100vw-2rem)] max-h-[calc(100vh-2rem)] overflow-hidden rounded-2xl border p-4\"\n\t} },\n\tdefaultVariants: { side: \"right\" }\n}), _a = c.forwardRef(({ side: e = \"right\", className: t, children: n, overlayClassName: r, ...i }, a) => {\n\tlet o = Ri(), s = zi(o.open), c = Ui(o, s, a);\n\tif (!s) return null;\n\tlet l = o.open ? \"open\" : \"closed\";\n\treturn /* @__PURE__ */ v(Gi, {\n\t\tdisclosure: o,\n\t\tpresent: s,\n\t\tchildren: [/* @__PURE__ */ _(ha, {\n\t\t\tclassName: r,\n\t\t\t\"data-state\": l,\n\t\t\tonClick: () => o.setOpen(!1)\n\t\t}), /* @__PURE__ */ _(\"div\", {\n\t\t\tref: c,\n\t\t\trole: \"dialog\",\n\t\t\tid: o.contentId,\n\t\t\t\"aria-modal\": o.modal || void 0,\n\t\t\t\"aria-labelledby\": o.titleId,\n\t\t\t\"aria-hidden\": !o.open || void 0,\n\t\t\tinert: !o.open || void 0,\n\t\t\ttabIndex: -1,\n\t\t\t\"data-state\": l,\n\t\t\tclassName: Z(\"cedros-shop-public__sheet\", ga({ side: e }), t),\n\t\t\t...i,\n\t\t\tchildren: n\n\t\t})]\n\t});\n});\n_a.displayName = \"SheetContent\";\nvar va = ({ className: e, ...t }) => /* @__PURE__ */ _(\"div\", {\n\tclassName: Z(\"flex flex-col space-y-2 text-left\", e),\n\t...t\n}), ya = c.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ _(\"h2\", {\n\tref: n,\n\tid: Ri().titleId,\n\tclassName: Z(\"cedros-shop-public__dialog-title text-lg font-semibold tracking-tight\", e),\n\t...t\n}));\nya.displayName = \"SheetTitle\";\nvar ba = c.createContext(null);\nfunction xa({ children: e, value: t, defaultValue: n, onValueChange: r, ...i }) {\n\tlet [a, o] = c.useState(n), s = c.useId(), l = t ?? a, u = c.useCallback((e) => {\n\t\tt === void 0 && o(e), r?.(e);\n\t}, [r, t]);\n\treturn /* @__PURE__ */ _(ba.Provider, {\n\t\tvalue: {\n\t\t\tvalue: l,\n\t\t\tsetValue: u,\n\t\t\tbaseId: s\n\t\t},\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\t...i,\n\t\t\tchildren: e\n\t\t})\n\t});\n}\nvar Sa = (e, t) => `${e}-tab-${t}`, Ca = (e, t) => `${e}-panel-${t}`, wa = c.forwardRef(({ className: e, onKeyDown: t, ...n }, r) => {\n\tlet i = n[\"aria-orientation\"] === \"vertical\";\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tref: r,\n\t\trole: \"tablist\",\n\t\tclassName: Z(\"inline-flex h-10 items-center justify-center rounded-md p-1\", e),\n\t\tonKeyDown: (e) => {\n\t\t\tif (t?.(e), e.defaultPrevented) return;\n\t\t\tlet n = Array.from(e.currentTarget.querySelectorAll(\"[role=\\\"tab\\\"]:not(:disabled)\")), r = n.indexOf(document.activeElement);\n\t\t\tif (r < 0 || n.length === 0) return;\n\t\t\tlet a = !i && getComputedStyle(e.currentTarget).direction === \"rtl\", o = i ? \"ArrowDown\" : a ? \"ArrowLeft\" : \"ArrowRight\", s = i ? \"ArrowUp\" : a ? \"ArrowRight\" : \"ArrowLeft\", c = -1;\n\t\t\te.key === o ? c = (r + 1) % n.length : e.key === s ? c = (r - 1 + n.length) % n.length : e.key === \"Home\" ? c = 0 : e.key === \"End\" && (c = n.length - 1), !(c < 0) && (e.preventDefault(), n[c].focus(), n[c].click());\n\t\t},\n\t\t...n\n\t});\n});\nwa.displayName = \"TabsList\";\nvar Ta = c.forwardRef(({ className: e, value: t, onClick: n, ...r }, i) => {\n\tlet a = c.useContext(ba), o = a?.value === t, s = o || a?.value === void 0;\n\treturn /* @__PURE__ */ _(\"button\", {\n\t\tref: i,\n\t\ttype: \"button\",\n\t\trole: \"tab\",\n\t\tid: a ? Sa(a.baseId, t) : void 0,\n\t\t\"aria-controls\": a ? Ca(a.baseId, t) : void 0,\n\t\t\"aria-selected\": o,\n\t\ttabIndex: s ? 0 : -1,\n\t\t\"data-state\": o ? \"active\" : \"inactive\",\n\t\tclassName: Z(\"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm\", e),\n\t\tonClick: (e) => {\n\t\t\tMi(e, n), e.defaultPrevented || a?.setValue(t);\n\t\t},\n\t\t...r\n\t});\n});\nTa.displayName = \"TabsTrigger\";\nvar Ea = c.forwardRef(({ value: e, ...t }, n) => {\n\tlet r = c.useContext(ba), i = r?.value === e;\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tref: n,\n\t\trole: \"tabpanel\",\n\t\tid: r ? Ca(r.baseId, e) : void 0,\n\t\t\"aria-labelledby\": r ? Sa(r.baseId, e) : void 0,\n\t\thidden: !i,\n\t\ttabIndex: 0,\n\t\t\"data-state\": i ? \"active\" : \"inactive\",\n\t\t...t\n\t});\n});\nEa.displayName = \"TabsContent\";\n//#endregion\n//#region src/storefront/cart.tsx\nfunction Da(e, t) {\n\ttypeof window > \"u\" || window.location.assign(e.route(\"shop\", void 0, t));\n}\nfunction Oa({ innerClassName: e, leaving: t, onLeft: n, children: r }) {\n\tlet i = c.useRef(n);\n\treturn i.current = n, c.useEffect(() => {\n\t\tif (!t) return;\n\t\tlet e = window.setTimeout(() => i.current(), 420);\n\t\treturn () => window.clearTimeout(e);\n\t}, [t]), /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__collapsible\",\n\t\t\"data-leaving\": t || void 0,\n\t\t\"aria-hidden\": t || void 0,\n\t\tinert: t || void 0,\n\t\tonTransitionEnd: (e) => {\n\t\t\tt && e.target === e.currentTarget && e.propertyName === \"grid-template-rows\" && n();\n\t\t},\n\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\tclassName: Z(\"cedros-shop-public__collapsible-inner\", e),\n\t\t\tchildren: r\n\t\t})\n\t});\n}\nvar ka = (e) => JSON.stringify([e.productId, e.variantId ?? \"\"]);\nfunction Aa(e, t) {\n\tlet [n, r] = c.useState([]), i = (n) => {\n\t\tlet i = ka(n), a = e.findIndex((e) => ka(e) === i);\n\t\tt(n), a >= 0 && r((e) => [...e.filter((e) => e.key !== i), {\n\t\t\tkey: i,\n\t\t\titem: n,\n\t\t\tindex: a\n\t\t}]);\n\t}, a = (e) => r((t) => t.filter((t) => t.key !== e)), o = e.map((e) => ({\n\t\tkey: ka(e),\n\t\titem: e,\n\t\tleaving: !1\n\t}));\n\tfor (let e of [...n].sort((e, t) => e.index - t.index)) o.some((t) => t.key === e.key) || o.splice(Math.min(e.index, o.length), 0, {\n\t\tkey: e.key,\n\t\titem: e.item,\n\t\tleaving: !0\n\t});\n\treturn {\n\t\trows: o,\n\t\tbeginRemove: i,\n\t\tfinishRemove: a\n\t};\n}\nfunction ja({ onApply: e }) {\n\tlet { t } = R(), [n, r] = c.useState(\"\"), i = () => {\n\t\tlet t = n.trim();\n\t\tt && (e(t), r(\"\"));\n\t};\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"cedros-shop-public__inline-form flex gap-2\",\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"input\", {\n\t\t\t\tvalue: n,\n\t\t\t\tonChange: (e) => r(e.target.value),\n\t\t\t\tonKeyDown: (e) => {\n\t\t\t\t\te.key !== \"Enter\" || e.nativeEvent.isComposing || (e.preventDefault(), i());\n\t\t\t\t},\n\t\t\t\tplaceholder: t(\"storefront.cart.promoPlaceholder\"),\n\t\t\t\t\"aria-label\": t(\"storefront.cart.promoLabel\"),\n\t\t\t\tenterKeyHint: \"go\",\n\t\t\t\tclassName: \"cedros-shop-public__input flex h-10 w-full rounded-md border px-3 py-2 text-sm\"\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--secondary inline-flex h-10 items-center justify-center rounded-md border px-4 py-2 text-sm\",\n\t\t\t\tonClick: i,\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\tt(\"storefront.cart.applyPromo\"),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Ma({ value: e, values: t, onApply: n, onAdd: r, onRemove: i, className: a, maxCodes: o = 1, codeStatus: s }) {\n\tlet { t: c } = R(), l = t?.length ? t : e ? [e] : [], u = (e) => {\n\t\tif (o === 1 && l.length > 0 && !l.some((t) => t.toUpperCase() === e.trim().toUpperCase())) {\n\t\t\tif (!r) {\n\t\t\t\tn?.(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tfor (let e of l) i?.(e);\n\t\t}\n\t\tr ? r(e) : n?.(e);\n\t}, d = (t) => {\n\t\ti ? i(t) : e === t && n?.(void 0);\n\t};\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"space-y-2\", a),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"text-sm font-medium\",\n\t\t\t\tchildren: c(\"storefront.cart.promoLabel\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(ja, { onApply: u }),\n\t\t\tl.length ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"flex flex-wrap gap-2 text-xs\",\n\t\t\t\trole: \"status\",\n\t\t\t\t\"aria-label\": c(\"storefront.cart.promoAppliedList\"),\n\t\t\t\tchildren: l.map((e) => /* @__PURE__ */ v(\"span\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__badge inline-flex items-center gap-1\",\n\t\t\t\t\tchildren: [c(s === \"inTotal\" ? \"storefront.checkout.promoCodeInTotal\" : \"storefront.cart.promoApplied\", { code: e }), /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"h-6 px-1 text-xs underline underline-offset-2\",\n\t\t\t\t\t\tonClick: () => d(e),\n\t\t\t\t\t\t\"aria-label\": c(\"storefront.cart.promoRemoveCode\", { code: e }),\n\t\t\t\t\t\tchildren: c(\"common.remove\")\n\t\t\t\t\t})]\n\t\t\t\t}, e))\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction Na({ currency: e, subtotal: t, itemCount: n, onCheckout: r, isCheckoutDisabled: i, checkoutDisabledReason: a, checkoutLabel: o, isCheckoutBusy: s, onRemoveUnavailable: l, footnote: u, className: d, children: f }) {\n\tlet p = R(), m = c.useId();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__cart-summary space-y-4\", d),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"div\", { className: \"border-t\" }),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"flex items-center justify-between text-sm\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"flex items-center gap-2\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(\"span\", { children: p.t(\"storefront.cart.subtotal\") }),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\ttypeof n == \"number\" ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\t\t\"aria-hidden\": !0,\n\t\t\t\t\t\t\t\tchildren: \"·\"\n\t\t\t\t\t\t\t}), /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\t\tclassName: \"tabular-nums\",\n\t\t\t\t\t\t\t\tchildren: p.t(\"storefront.cart.itemsCount\", { count: n })\n\t\t\t\t\t\t\t})] }) : null,\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Ur, {\n\t\t\t\t\t\tswapKey: p.formatMoney(t, e),\n\t\t\t\t\t\tclassName: \"font-semibold tabular-nums\",\n\t\t\t\t\t\tchildren: p.formatMoney(t, e)\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\tu ? /* @__PURE__ */ _(\"p\", {\n\t\t\t\tclassName: \"text-xs\",\n\t\t\t\tchildren: u\n\t\t\t}) : null,\n\t\t\t\" \",\n\t\t\tf,\n\t\t\ti && a ? /* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\trole: \"status\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"p\", {\n\t\t\t\t\t\tid: m,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__notice text-xs\",\n\t\t\t\t\t\tchildren: a\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tl ? /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tonClick: l,\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--default inline-flex w-full items-center justify-center rounded-md px-4 py-2 text-sm\",\n\t\t\t\t\t\tchildren: p.t(\"storefront.cart.removeUnavailable\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tonClick: r,\n\t\t\t\tdisabled: i,\n\t\t\t\t\"aria-busy\": s || void 0,\n\t\t\t\t\"aria-describedby\": i && a ? m : void 0,\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--default cedros-shop-public__button--acquire inline-flex w-full items-center justify-center rounded-md px-4 py-2 text-sm font-medium disabled:opacity-50\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\ts ? /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\tclassName: \"cs-spinner\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \",\n\t\t\t\t\to ?? p.t(\"common.checkout\"),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Pa({ isLoading: e, error: t, refresh: n }) {\n\tlet { t: r } = R();\n\treturn !e && !t ? null : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"mt-4 mb-4 rounded-lg border p-3 text-sm\", t ? \"cedros-shop-public__error\" : \"cedros-shop-public__notice\"),\n\t\trole: t ? \"alert\" : \"status\",\n\t\tchildren: [/* @__PURE__ */ _(\"p\", { children: r(t ? \"storefront.cart.inventoryError\" : \"storefront.cart.inventoryLoading\") }), t ? /* @__PURE__ */ _($, {\n\t\t\ttype: \"button\",\n\t\t\tvariant: \"outline\",\n\t\t\tclassName: \"mt-2\",\n\t\t\tdisabled: e,\n\t\t\tonClick: n,\n\t\t\tchildren: r(\"common.retry\")\n\t\t}) : null]\n\t});\n}\nfunction Fa({ onResolve: e }) {\n\tlet { t } = R();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"cedros-shop-public__notice cedros-shop-public__inventory-notice\",\n\t\trole: \"status\",\n\t\tchildren: [/* @__PURE__ */ _(\"p\", { children: t(\"storefront.cart.checkoutBlocked\") }), /* @__PURE__ */ _(\"button\", {\n\t\t\ttype: \"button\",\n\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--default\",\n\t\t\tonClick: e,\n\t\t\tchildren: t(\"storefront.cart.removeUnavailable\")\n\t\t})]\n\t});\n}\nfunction Ia(e) {\n\treturn /* @__PURE__ */ v(\"svg\", {\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"circle\", {\n\t\t\t\tcx: \"12\",\n\t\t\t\tcy: \"12\",\n\t\t\t\tr: \"10\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"line\", {\n\t\t\t\tx1: \"12\",\n\t\t\t\ty1: \"8\",\n\t\t\t\tx2: \"12\",\n\t\t\t\ty2: \"12\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"line\", {\n\t\t\t\tx1: \"12\",\n\t\t\t\ty1: \"16\",\n\t\t\t\tx2: \"12.01\",\n\t\t\t\ty2: \"16\"\n\t\t\t})\n\t\t]\n\t});\n}\nfunction La(e) {\n\treturn /* @__PURE__ */ v(\"svg\", {\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t...e,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M3 6h18\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M8 6V4h8v2\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M6 6l1 16h10l1-16\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M10 11v6\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M14 11v6\" })\n\t\t]\n\t});\n}\nfunction Ra({ item: e, onRemove: t, onSetQty: n, variant: r = \"table\", className: i, inventory: a }) {\n\tlet o = R(), s = e.unitPrice * e.qty, [l, u] = c.useState(null), d = JSON.stringify([e.productId, e.variantId ?? \"\"]), f = a?.status === \"backorder\" ? 999 : Math.min(a?.availableQty || 999, 999), p = !a?.isOutOfStock && e.qty < f, m = Ja(a, o.t(\"storefront.stock.out\"), o.t(\"storefront.stock.quantityExceeded\", {\n\t\tavailable: a?.availableQty ?? \"\",\n\t\tquantity: e.qty\n\t}), o.t(\"storefront.stock.lowGeneric\")), h = l === d && e.qty === 1, g = c.useRef(null), y = c.useRef(!1);\n\treturn c.useEffect(() => {\n\t\th || !y.current || (y.current = !1, g.current?.focus());\n\t}, [h]), r === \"compact\" ? /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__cart-line cedros-shop-public__cart-line--compact flex items-start gap-3\", i),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Va, {\n\t\t\t\titem: e,\n\t\t\t\tsize: \"sm\"\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"min-w-0 flex-1\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__cart-line-main flex items-center gap-3\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__cart-line-text min-w-0 flex-1\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ _(Ha, { item: e }),\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ _(Ur, {\n\t\t\t\t\t\t\t\t\t\tswapKey: o.formatMoney(s, e.currency),\n\t\t\t\t\t\t\t\t\t\tclassName: \"mt-0.5 block text-xs tabular-nums\",\n\t\t\t\t\t\t\t\t\t\tchildren: o.formatMoney(s, e.currency)\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ _(Ga, {\n\t\t\t\t\t\t\t\t\t\twarning: m,\n\t\t\t\t\t\t\t\t\t\tcompact: !0\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\t\t\tclassName: \"flex h-12 w-[140px] shrink-0 items-center justify-end\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\th ? /* @__PURE__ */ _(Wa, {\n\t\t\t\t\t\t\t\t\t\tonCancel: () => {\n\t\t\t\t\t\t\t\t\t\t\ty.current = !0, u(null);\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonConfirm: t\n\t\t\t\t\t\t\t\t\t}) : /* @__PURE__ */ _(Ua, {\n\t\t\t\t\t\t\t\t\t\titem: e,\n\t\t\t\t\t\t\t\t\t\tmaxQty: f,\n\t\t\t\t\t\t\t\t\t\tcanIncreaseQty: p,\n\t\t\t\t\t\t\t\t\t\tonSetQty: n,\n\t\t\t\t\t\t\t\t\t\tonRemoveClick: () => u(d),\n\t\t\t\t\t\t\t\t\t\tdecreaseRef: g,\n\t\t\t\t\t\t\t\t\t\tcompact: !0\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t}) : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__cart-line grid grid-cols-[64px_1fr] items-start gap-x-4 gap-y-3 sm:grid-cols-[64px_1fr_176px_120px]\", i),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Va, { item: e }),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"col-start-2 row-start-1 min-w-0\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__cart-line-heading flex items-start justify-between gap-3\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(Ha, { item: e }),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(Ur, {\n\t\t\t\t\t\t\t\tswapKey: o.formatMoney(s, e.currency),\n\t\t\t\t\t\t\t\tclassName: \"text-sm font-semibold tabular-nums sm:hidden\",\n\t\t\t\t\t\t\t\tchildren: o.formatMoney(s, e.currency)\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"mt-1 text-xs\",\n\t\t\t\t\t\tchildren: o.t(\"storefront.cart.unitEach\", { price: o.formatMoney(e.unitPrice, e.currency) })\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Ga, { warning: m }),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"col-span-2 col-start-1 row-start-2 flex flex-wrap items-center justify-between gap-3 sm:col-span-1 sm:col-start-3 sm:row-start-1 sm:justify-center\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Ua, {\n\t\t\t\t\t\titem: e,\n\t\t\t\t\t\tmaxQty: f,\n\t\t\t\t\t\tcanIncreaseQty: p,\n\t\t\t\t\t\tonSetQty: n\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--ghost cedros-shop-public__cart-remove h-9 px-2 text-xs sm:hidden\",\n\t\t\t\t\t\tonClick: t,\n\t\t\t\t\t\t\"aria-label\": o.t(\"storefront.cart.removeItemNamed\", { title: e.titleSnapshot }),\n\t\t\t\t\t\tchildren: o.t(\"storefront.cart.removeItem\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__cart-line-total hidden sm:col-start-4 sm:row-start-1 sm:flex sm:flex-col\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Ur, {\n\t\t\t\t\t\tswapKey: o.formatMoney(s, e.currency),\n\t\t\t\t\t\tclassName: \"text-sm font-semibold tabular-nums\",\n\t\t\t\t\t\tchildren: o.formatMoney(s, e.currency)\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--ghost cedros-shop-public__cart-remove mt-1 h-8 px-2 text-xs\",\n\t\t\t\t\t\tonClick: t,\n\t\t\t\t\t\t\"aria-label\": o.t(\"storefront.cart.removeItemNamed\", { title: e.titleSnapshot }),\n\t\t\t\t\t\tchildren: o.t(\"storefront.cart.removeItem\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction za({ item: e, inventory: t, className: n }) {\n\tlet r = R(), i = Ja(t, r.t(\"storefront.stock.out\"), r.t(\"storefront.stock.quantityExceeded\", {\n\t\tavailable: t?.availableQty ?? \"\",\n\t\tquantity: e.qty\n\t}), r.t(\"storefront.stock.lowGeneric\"));\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__cart-line cedros-shop-public__cart-line--summary flex items-start gap-3\", n),\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(Va, {\n\t\t\t\titem: e,\n\t\t\t\tsize: \"sm\"\n\t\t\t}),\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__cart-line-text min-w-0 flex-1\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ _(Ha, { item: e }),\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"mt-0.5 text-xs tabular-nums\",\n\t\t\t\t\t\tchildren: r.t(\"storefront.checkout.lineQuantity\", {\n\t\t\t\t\t\t\tcount: e.qty,\n\t\t\t\t\t\t\tprice: r.formatMoney(e.unitPrice, e.currency)\n\t\t\t\t\t\t})\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ _(Ga, {\n\t\t\t\t\t\twarning: i,\n\t\t\t\t\t\tcompact: !0\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"shrink-0 text-sm font-semibold tabular-nums\",\n\t\t\t\tchildren: r.formatMoney(e.unitPrice * e.qty, e.currency)\n\t\t\t})\n\t\t]\n\t});\n}\nfunction Ba(e) {\n\tlet { config: n } = L(), r = R(), i = e.metadata?.productSlug;\n\treturn i && t(i) ? r.route(\"product\", { slug: i }, n.routes) : void 0;\n}\nfunction Va({ item: e, size: t = \"md\" }) {\n\tlet n = Ba(e), r = Z(\"shrink-0 overflow-hidden rounded-lg border\", t === \"sm\" ? \"h-12 w-12\" : \"h-16 w-16\"), i = /* @__PURE__ */ _(Qr, {\n\t\tsrc: e.imageSnapshot,\n\t\talt: e.titleSnapshot,\n\t\tcompact: !0,\n\t\tclassName: \"h-full w-full object-cover\"\n\t});\n\treturn n ? /* @__PURE__ */ _(\"a\", {\n\t\thref: n,\n\t\tclassName: r,\n\t\t\"aria-label\": e.titleSnapshot,\n\t\tchildren: i\n\t}) : /* @__PURE__ */ _(\"div\", {\n\t\tclassName: r,\n\t\tchildren: i\n\t});\n}\nfunction Ha({ item: e }) {\n\tlet t = Ba(e);\n\treturn /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__cart-line-title text-sm font-medium\",\n\t\tchildren: t ? /* @__PURE__ */ _(\"a\", {\n\t\t\thref: t,\n\t\t\tchildren: e.titleSnapshot\n\t\t}) : e.titleSnapshot\n\t});\n}\nfunction Ua({ item: e, maxQty: t, canIncreaseQty: n, onSetQty: r, onRemoveClick: i, decreaseRef: a, compact: o }) {\n\tlet { t: s } = R(), c = o ? \"inline-flex h-8 w-8 items-center justify-center rounded-md border\" : \"inline-flex h-9 w-9 items-center justify-center rounded-md border\";\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__quantity-controls flex items-center whitespace-nowrap\", o ? \"justify-end gap-1.5\" : \"gap-2\"),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"button\", {\n\t\t\t\tref: a,\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: Z(\"cedros-shop-public__button cedros-shop-public__button--icon\", c),\n\t\t\t\t\"aria-label\": e.qty === 1 && i ? s(\"storefront.cart.removeItemNamed\", { title: e.titleSnapshot }) : s(\"storefront.cart.decreaseQuantityNamed\", { title: e.titleSnapshot }),\n\t\t\t\tonClick: () => {\n\t\t\t\t\te.qty === 1 && i ? i() : r(Math.max(1, e.qty - 1));\n\t\t\t\t},\n\t\t\t\tdisabled: e.qty <= 1 && !i,\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\te.qty === 1 && i ? /* @__PURE__ */ _(La, {\n\t\t\t\t\t\tclassName: \"h-4 w-4\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t\t}) : /* @__PURE__ */ _(pi, { step: \"decrease\" }),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Ti, {\n\t\t\t\tqty: e.qty,\n\t\t\t\tmaxQty: t,\n\t\t\t\tonSetQty: r,\n\t\t\t\tclassName: Z(\"cedros-shop-public__input rounded-md border text-center\", o ? \"h-8 w-11 px-2\" : \"h-9 w-14\"),\n\t\t\t\tlabel: s(\"storefront.cart.quantityNamed\", { title: e.titleSnapshot })\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: Z(\"cedros-shop-public__button cedros-shop-public__button--icon\", c),\n\t\t\t\t\"aria-label\": s(\"storefront.cart.increaseQuantityNamed\", { title: e.titleSnapshot }),\n\t\t\t\tonClick: () => r(Math.min(t, e.qty + 1)),\n\t\t\t\tdisabled: !n,\n\t\t\t\tchildren: /* @__PURE__ */ _(pi, { step: \"increase\" })\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Wa({ onCancel: e, onConfirm: t }) {\n\tlet { t: n } = R(), r = c.useRef(null);\n\treturn c.useEffect(() => {\n\t\tr.current?.focus();\n\t}, []), /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"flex w-full flex-col items-center justify-center gap-2\",\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"text-center text-[11px] font-medium leading-none\",\n\t\t\t\tchildren: n(\"storefront.cart.removeConfirmTitle\")\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"flex items-center gap-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\tref: r,\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--secondary h-7 w-[62px] rounded-md border px-0 text-[11px]\",\n\t\t\t\t\t\tonClick: e,\n\t\t\t\t\t\tchildren: n(\"common.cancel\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--destructive h-7 w-[62px] rounded-md px-0 text-[11px]\",\n\t\t\t\t\t\tonClick: t,\n\t\t\t\t\t\tchildren: n(\"storefront.cart.removeConfirm\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction Ga({ warning: e, compact: t }) {\n\treturn e ? /* @__PURE__ */ v(\"div\", {\n\t\trole: \"status\",\n\t\tclassName: Z(t ? \"mt-1 flex items-center gap-1 text-[11px]\" : \"mt-1.5 flex items-center gap-1 text-xs\", e.type === \"error\" && \"cedros-shop-public__error\", e.type === \"warning\" && \"cedros-shop-public__warning\"),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Ia, { className: t ? \"h-3 w-3 shrink-0\" : \"h-3.5 w-3.5 shrink-0\" }),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(\"span\", { children: e.message }),\n\t\t\t\" \"\n\t\t]\n\t}) : null;\n}\nfunction Ka({ onCheckout: e, onContinueShopping: t, className: n }) {\n\tlet { config: r } = L(), i = R(), { t: a } = i, { settings: o } = Pn(), s = bn(), c = Mt(), l = Er(), { getItemInventory: u, hasIssues: d, isLoading: f, error: p, refresh: m } = Nn({\n\t\titems: c.items,\n\t\trefreshInterval: 3e4,\n\t\tskip: c.items.length === 0 || !s.inventory || !o.inventory.preCheckoutVerification\n\t}), h = () => !f && !p && Sn(c.items, u, {\n\t\tremove: (e) => c.removeItem(e.productId, e.variantId),\n\t\tsetQty: (e, t) => c.setQty(e.productId, e.variantId, t)\n\t}), { rows: g, beginRemove: y, finishRemove: b } = Aa(c.items, (e) => {\n\t\tl(\"cedros-shop:remove-from-cart\", {\n\t\t\tproduct_ref: e.productId,\n\t\t\tvariant_ref: e.variantId,\n\t\t\tquantity_bucket: Dr(e.qty),\n\t\t\tsurface: \"mini-cart\"\n\t\t}), c.removeItem(e.productId, e.variantId);\n\t}), x = c.items[0]?.currency ?? r.currency;\n\treturn c.isHydrated === !1 ? /* @__PURE__ */ _(Ya, { className: n }) : c.items.length === 0 ? /* @__PURE__ */ _(Kr, {\n\t\ttitle: a(\"storefront.cart.emptyTitle\"),\n\t\tdescription: a(\"storefront.cart.emptyDescription\"),\n\t\tactionLabel: a(\"storefront.cart.continueShopping\"),\n\t\tonAction: t ?? (() => Da(i, r.routes)),\n\t\tclassName: n\n\t}) : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__cart-panel flex h-full flex-col rounded-xl border p-4\", n),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(Vr, {\n\t\t\t\tclassName: \"-mr-4 min-h-0 flex-1 overflow-x-hidden pr-4\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"divide-y\",\n\t\t\t\t\t\tchildren: g.map(({ key: e, item: t, leaving: n }) => /* @__PURE__ */ _(Oa, {\n\t\t\t\t\t\t\tinnerClassName: \"py-3\",\n\t\t\t\t\t\t\tleaving: n,\n\t\t\t\t\t\t\tonLeft: () => b(e),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(Ra, {\n\t\t\t\t\t\t\t\tvariant: \"compact\",\n\t\t\t\t\t\t\t\titem: t,\n\t\t\t\t\t\t\t\tonRemove: () => y(t),\n\t\t\t\t\t\t\t\tonSetQty: (e) => c.setQty(t.productId, t.variantId, e),\n\t\t\t\t\t\t\t\tinventory: u(t.productId, t.variantId)\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}, e))\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ _(Pa, {\n\t\t\t\tisLoading: f,\n\t\t\t\terror: p,\n\t\t\t\trefresh: m\n\t\t\t}),\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"mt-4 space-y-4\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(Na, {\n\t\t\t\t\t\tcurrency: x,\n\t\t\t\t\t\tsubtotal: c.subtotal,\n\t\t\t\t\t\titemCount: c.count,\n\t\t\t\t\t\tonCheckout: e,\n\t\t\t\t\t\tisCheckoutDisabled: c.items.length === 0 || d || f || !!p,\n\t\t\t\t\t\tcheckoutDisabledReason: p ? a(\"storefront.cart.inventoryError\") : f ? a(\"storefront.cart.inventoryLoading\") : d ? a(\"storefront.cart.checkoutBlocked\") : void 0,\n\t\t\t\t\t\tonRemoveUnavailable: d ? h : void 0\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction qa({ onCheckout: e, showPromoCode: t, className: n, checkoutLabel: r, checkoutDisabled: i, checkoutDisabledReason: a, checkoutBusy: o }) {\n\tlet { config: s } = L(), l = R(), { t: u } = l, { settings: d } = Pn(), f = bn(), p = Mt(), m = Er(), { getItemInventory: h, hasIssues: g, isLoading: y, error: b, refresh: x } = Nn({\n\t\titems: p.items,\n\t\trefreshInterval: 3e4,\n\t\tskip: p.items.length === 0 || !f.inventory || !d.inventory.preCheckoutVerification\n\t}), S = c.useRef(!1);\n\tc.useEffect(() => {\n\t\tS.current || p.isHydrated === !1 || (S.current = !0, m(\"cedros-shop:cart-viewed\", {\n\t\t\tcart_item_count_bucket: Or(p.count),\n\t\t\tsurface: \"cart-page\"\n\t\t}));\n\t}, [\n\t\tm,\n\t\tp.count,\n\t\tp.isHydrated\n\t]);\n\tlet [C, w] = c.useState(!!p.promoCodes?.length);\n\tc.useEffect(() => {\n\t\tp.promoCodes?.length && w(!0);\n\t}, [p.promoCodes]);\n\tlet ee = () => !y && !b && Sn(p.items, h, {\n\t\tremove: (e) => p.removeItem(e.productId, e.variantId),\n\t\tsetQty: (e, t) => p.setQty(e.productId, e.variantId, t)\n\t}), { rows: te, beginRemove: ne, finishRemove: T } = Aa(p.items, (e) => {\n\t\tm(\"cedros-shop:remove-from-cart\", {\n\t\t\tproduct_ref: e.productId,\n\t\t\tvariant_ref: e.variantId,\n\t\t\tquantity_bucket: Dr(e.qty),\n\t\t\tsurface: \"cart-page\"\n\t\t}), p.removeItem(e.productId, e.variantId);\n\t}), E = p.items[0]?.currency ?? s.currency, D = c.useId();\n\treturn p.isHydrated === !1 ? /* @__PURE__ */ _(Ya, { className: n }) : p.items.length === 0 ? /* @__PURE__ */ _(Kr, {\n\t\ttitle: u(\"storefront.cart.emptyTitle\"),\n\t\tdescription: u(\"storefront.cart.emptyDescription\"),\n\t\tactionLabel: u(\"storefront.cart.continueShopping\"),\n\t\tonAction: () => Da(l, s.routes),\n\t\tclassName: n\n\t}) : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: n,\n\t\tchildren: [/* @__PURE__ */ _(Pa, {\n\t\t\tisLoading: y,\n\t\t\terror: b,\n\t\t\trefresh: x\n\t\t}), /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__cart-layout grid items-start gap-6 lg:grid-cols-[1fr_360px]\",\n\t\t\tchildren: [\n\t\t\t\t\" \",\n\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__cart-list self-start rounded-2xl border\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__cart-list-header hidden grid-cols-[64px_1fr_176px_120px] gap-x-4 px-5 py-3 text-xs font-medium sm:grid\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", { children: u(\"storefront.cart.item\") }),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"text-center\",\n\t\t\t\t\t\t\t\t\tchildren: u(\"storefront.cart.quantity\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__cart-line-total\",\n\t\t\t\t\t\t\t\t\tchildren: u(\"storefront.cart.total\")\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\t\tclassName: \"divide-y\",\n\t\t\t\t\t\t\tchildren: te.map(({ key: e, item: t, leaving: n }) => /* @__PURE__ */ _(Oa, {\n\t\t\t\t\t\t\t\tinnerClassName: \"px-4 py-4 sm:px-5\",\n\t\t\t\t\t\t\t\tleaving: n,\n\t\t\t\t\t\t\t\tonLeft: () => T(e),\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(Ra, {\n\t\t\t\t\t\t\t\t\titem: t,\n\t\t\t\t\t\t\t\t\tonRemove: () => ne(t),\n\t\t\t\t\t\t\t\t\tonSetQty: (e) => p.setQty(t.productId, t.variantId, e),\n\t\t\t\t\t\t\t\t\tinventory: h(t.productId, t.variantId)\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}, e))\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\t\" \",\n\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\tclassName: \"self-start lg:sticky lg:top-24\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ v(\"section\", {\n\t\t\t\t\t\t\tclassName: \"cedros-shop-public__card cedros-shop-public__cart-summary-card rounded-2xl border p-5 shadow-sm\",\n\t\t\t\t\t\t\t\"aria-labelledby\": D,\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"h2\", {\n\t\t\t\t\t\t\t\t\tid: D,\n\t\t\t\t\t\t\t\t\tclassName: \"text-sm font-semibold\",\n\t\t\t\t\t\t\t\t\tchildren: u(\"storefront.cart.summary\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(Na, {\n\t\t\t\t\t\t\t\t\tcurrency: E,\n\t\t\t\t\t\t\t\t\tsubtotal: p.subtotal,\n\t\t\t\t\t\t\t\t\titemCount: p.count,\n\t\t\t\t\t\t\t\t\tonCheckout: e,\n\t\t\t\t\t\t\t\t\tcheckoutLabel: r,\n\t\t\t\t\t\t\t\t\tisCheckoutBusy: o,\n\t\t\t\t\t\t\t\t\tisCheckoutDisabled: p.items.length === 0 || g || y || !!b || i,\n\t\t\t\t\t\t\t\t\tcheckoutDisabledReason: a ?? (b ? u(\"storefront.cart.inventoryError\") : y ? u(\"storefront.cart.inventoryLoading\") : g ? u(\"storefront.cart.checkoutBlocked\") : void 0),\n\t\t\t\t\t\t\t\t\tonRemoveUnavailable: g && !y && !b ? ee : void 0,\n\t\t\t\t\t\t\t\t\tfootnote: f.shipping || f.taxes ? u(\"storefront.cart.pricingNote\") : void 0,\n\t\t\t\t\t\t\t\t\tchildren: t ? /* @__PURE__ */ _(ra, {\n\t\t\t\t\t\t\t\t\t\topen: C,\n\t\t\t\t\t\t\t\t\t\tonOpenChange: w,\n\t\t\t\t\t\t\t\t\t\topenLabel: u(\"storefront.checkout.addPromoCode\"),\n\t\t\t\t\t\t\t\t\t\tcloseLabel: u(\"storefront.checkout.hidePromoCode\"),\n\t\t\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(Ma, {\n\t\t\t\t\t\t\t\t\t\t\tvalues: p.promoCodes,\n\t\t\t\t\t\t\t\t\t\t\tonAdd: p.addPromoCode,\n\t\t\t\t\t\t\t\t\t\t\tonRemove: p.removePromoCode\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}) : null\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\t\t\t\thref: l.route(\"shop\", void 0, s.routes),\n\t\t\t\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--link cedros-shop-public__cart-continue inline-flex w-full items-center justify-center text-sm\",\n\t\t\t\t\t\t\t\t\tchildren: u(\"storefront.cart.continueShopping\")\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t]\n\t\t\t\t}),\n\t\t\t\t\" \"\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction Ja(e, t, n, r) {\n\treturn e ? e.isOutOfStock ? {\n\t\ttype: \"error\",\n\t\tmessage: e.message || t\n\t} : e.exceedsAvailable ? {\n\t\ttype: \"warning\",\n\t\tmessage: e.message || n\n\t} : e.isLowStock ? {\n\t\ttype: \"info\",\n\t\tmessage: e.message || r\n\t} : null : null;\n}\nfunction Ya({ className: e }) {\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"space-y-3\", e),\n\t\t\"aria-busy\": \"true\",\n\t\tchildren: [/* @__PURE__ */ _(Q, { className: \"h-20 w-full\" }), /* @__PURE__ */ _(Q, { className: \"h-20 w-full\" })]\n\t});\n}\n//#endregion\n//#region src/runtime/catalogFacets.ts\nasync function Xa(e, t, n, r) {\n\tlet i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = Infinity, s = 0;\n\tfor (let c = 1; c <= 100; c++) {\n\t\tr?.throwIfAborted();\n\t\tlet l = tr(await e({\n\t\t\t...t,\n\t\t\tpage: c,\n\t\t\tpageSize: 100\n\t\t}), c, 100, n);\n\t\tif (r?.throwIfAborted(), !l) throw Error(\"Invalid catalog facet page\");\n\t\tfor (let e of l.items) {\n\t\t\tif (a.has(e.id)) throw Error(\"Repeating catalog facet page\");\n\t\t\ta.add(e.id);\n\t\t\tfor (let t of e.tags) i.add(t);\n\t\t\to = Math.min(o, e.price), s = Math.max(s, e.price);\n\t\t}\n\t\tif (!(l.hasNextPage ?? (l.total === void 0 ? l.items.length === 100 : c * 100 < l.total))) return {\n\t\t\ttags: [...i].sort((e, t) => e.localeCompare(t)),\n\t\t\tprice: Number.isFinite(o) ? {\n\t\t\t\tmin: o,\n\t\t\t\tmax: s\n\t\t\t} : void 0\n\t\t};\n\t\tif (!l.items.length) throw Error(\"Empty nonterminal catalog facet page\");\n\t}\n\tthrow Error(\"Catalog facet scan exceeded its safe limit\");\n}\nfunction Za(e) {\n\tlet { priceMin: t, priceMax: n } = e;\n\treturn t !== void 0 && (!Number.isFinite(t) || t < 0) || n !== void 0 && (!Number.isFinite(n) || n < 0) || t !== void 0 && n !== void 0 && t > n;\n}\n//#endregion\n//#region src/storefront/catalog.tsx\nfunction Qa({ items: e, className: t }) {\n\tlet { t: n } = R();\n\treturn /* @__PURE__ */ v(\"nav\", {\n\t\tclassName: Z(\"cedros-shop-public__muted flex items-center gap-2 text-xs\", t),\n\t\t\"aria-label\": n(\"storefront.catalog.breadcrumb\"),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\te.map((t, n) => /* @__PURE__ */ v(\"span\", {\n\t\t\t\tclassName: \"flex items-center gap-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\tt.href ? /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\thref: t.href,\n\t\t\t\t\t\tclassName: \"hover:underline\",\n\t\t\t\t\t\tchildren: t.label\n\t\t\t\t\t}) : /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\"aria-current\": \"page\",\n\t\t\t\t\t\tchildren: t.label\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tn < e.length - 1 ? /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\"aria-hidden\": !0,\n\t\t\t\t\t\tchildren: \"/\"\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}, `${t.label}-${n}`)),\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction $a(e) {\n\treturn !e.defaultPrevented && e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey;\n}\nfunction eo() {\n\treturn /* @__PURE__ */ _(\"span\", {\n\t\tclassName: \"cedros-shop-public__category-nav-chevron\",\n\t\t\"aria-hidden\": !0,\n\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\twidth: \"14\",\n\t\t\theight: \"14\",\n\t\t\tviewBox: \"0 0 24 24\",\n\t\t\tfill: \"none\",\n\t\t\tstroke: \"currentColor\",\n\t\t\tstrokeWidth: \"2\",\n\t\t\tstrokeLinecap: \"round\",\n\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m9 6 6 6-6 6\" })\n\t\t})\n\t});\n}\nfunction to({ categories: e, activeSlug: t, getHref: n, onSelect: r, allItem: i, className: a, inline: o = !1, onBrowseAll: s }) {\n\tlet { t: c } = R(), l = o && !!s && e.length > 6, u = l ? e.slice(0, 3) : e, d = e.find((e) => e.slug === t), f = l && d && !u.includes(d) ? [...u, d] : u;\n\treturn /* @__PURE__ */ v(\"nav\", {\n\t\tclassName: Z(\"cedros-shop-public__category-nav\", o ? \"cedros-shop-public__category-nav--inline\" : \"space-y-1\", a),\n\t\t\"aria-label\": c(\"storefront.catalog.categoryNav\"),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\ti ? /* @__PURE__ */ v(\"a\", {\n\t\t\t\thref: i.href,\n\t\t\t\t\"data-c154w00l-full-navigation\": i.onSelect ? \"true\" : void 0,\n\t\t\t\tclassName: \"cedros-shop-public__category-nav-item flex w-full items-center justify-between rounded-md px-3 py-2 text-sm transition-colors\",\n\t\t\t\tonClick: (e) => {\n\t\t\t\t\t!i.onSelect || !$a(e) || (e.preventDefault(), i.onSelect());\n\t\t\t\t},\n\t\t\t\t\"aria-current\": t ? void 0 : \"page\",\n\t\t\t\tchildren: [\n\t\t\t\t\t/* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\tclassName: \"truncate\",\n\t\t\t\t\t\tchildren: c(\"storefront.shop.allProducts\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(eo, {})\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\tf.map((e) => {\n\t\t\t\tlet i = t === e.slug;\n\t\t\t\treturn /* @__PURE__ */ v(\"a\", {\n\t\t\t\t\thref: n(e),\n\t\t\t\t\t\"data-c154w00l-full-navigation\": r ? \"true\" : void 0,\n\t\t\t\t\tclassName: \"cedros-shop-public__category-nav-item flex w-full items-center justify-between rounded-md px-3 py-2 text-sm transition-colors\",\n\t\t\t\t\tonClick: (t) => {\n\t\t\t\t\t\t!r || !$a(t) || (t.preventDefault(), r(e));\n\t\t\t\t\t},\n\t\t\t\t\t\"aria-current\": i ? \"page\" : void 0,\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\tclassName: \"truncate\",\n\t\t\t\t\t\t\tchildren: e.name\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t/* @__PURE__ */ _(eo, {}),\n\t\t\t\t\t\t\" \"\n\t\t\t\t\t]\n\t\t\t\t}, e.id);\n\t\t\t}),\n\t\t\t\" \",\n\t\t\tl ? /* @__PURE__ */ _(\"button\", {\n\t\t\t\ttype: \"button\",\n\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--link\",\n\t\t\t\tonClick: s,\n\t\t\t\tchildren: c(\"storefront.catalog.allCategories\")\n\t\t\t}) : null\n\t\t]\n\t});\n}\nfunction no({ value: e, onChange: t, placeholder: n, label: r, className: i, onCompositionStart: a, onCompositionEnd: o }) {\n\tlet { t: s } = R(), c = f(), l = m(null);\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__search\", i),\n\t\tchildren: [/* @__PURE__ */ _(\"label\", {\n\t\t\thtmlFor: c,\n\t\t\tclassName: \"sr-only\",\n\t\t\tchildren: r ?? s(\"common.search\")\n\t\t}), /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"relative\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__search-icon\",\n\t\t\t\t\t\"aria-hidden\": !0,\n\t\t\t\t\tchildren: /* @__PURE__ */ v(\"svg\", {\n\t\t\t\t\t\twidth: \"14\",\n\t\t\t\t\t\theight: \"14\",\n\t\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\t\tfill: \"none\",\n\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ _(\"circle\", {\n\t\t\t\t\t\t\tcx: \"11\",\n\t\t\t\t\t\t\tcy: \"11\",\n\t\t\t\t\t\t\tr: \"7\"\n\t\t\t\t\t\t}), /* @__PURE__ */ _(\"path\", { d: \"m20 20-3.5-3.5\" })]\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(\"input\", {\n\t\t\t\t\tref: l,\n\t\t\t\t\tid: c,\n\t\t\t\t\ttype: \"search\",\n\t\t\t\t\tvalue: e,\n\t\t\t\t\tonChange: (e) => t(e.target.value),\n\t\t\t\t\tonCompositionStart: a,\n\t\t\t\t\tonCompositionEnd: (e) => o?.(e.currentTarget.value),\n\t\t\t\t\tplaceholder: n ?? s(\"storefront.catalog.searchPlaceholder\"),\n\t\t\t\t\tclassName: \"cedros-shop-public__input w-full rounded-md border px-3 py-2 pl-9 pr-12 text-sm\",\n\t\t\t\t\t\"aria-label\": r ?? s(\"common.search\")\n\t\t\t\t}),\n\t\t\t\te ? /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tclassName: \"cedros-shop-public__search-clear\",\n\t\t\t\t\t\"aria-label\": s(\"common.clear\"),\n\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\tt(\"\"), l.current?.focus();\n\t\t\t\t\t},\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\t\twidth: \"12\",\n\t\t\t\t\t\theight: \"12\",\n\t\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\t\tfill: \"none\",\n\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"M6 6l12 12M18 6 6 18\" })\n\t\t\t\t\t})\n\t\t\t\t}) : null\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction ro({ facets: e, value: t, onChange: n, onClear: r, className: i, enabledFilters: a }) {\n\tlet { t: o } = R(), [s, c] = h(\"\"), [l, u] = h(0), [d, f] = h(!1), p = Array.from(/* @__PURE__ */ new Set([...e.tags ?? [], ...t.tags ?? []])), m = p.filter((e) => e.toLocaleLowerCase().includes(s.trim().toLocaleLowerCase())), g = new Set(t.tags ?? []), y = a?.tags ?? !0, b = a?.priceRange ?? !0, x = a?.inStock ?? !0;\n\tif (!(y || b || x)) return null;\n\tlet S = d || !!(t.tags?.length || t.priceMin !== void 0 || t.priceMax !== void 0 || t.inStock);\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: Z(\"cedros-shop-public__filters space-y-4\", i),\n\t\tchildren: [\n\t\t\t\" \",\n\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"flex items-center justify-between\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__eyebrow\",\n\t\t\t\t\t\tchildren: o(\"common.filters\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tS ? /* @__PURE__ */ _(\"button\", {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tclassName: \"cedros-shop-public__button cedros-shop-public__button--ghost h-8 px-2 text-xs\",\n\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\tu((e) => e + 1), f(!1), c(\"\"), r();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: o(\"common.clear\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}),\n\t\t\t\" \",\n\t\t\tb ? /* @__PURE__ */ _(io, {\n\t\t\t\tbounds: e.price,\n\t\t\t\tvalue: t,\n\t\t\t\tonChange: n,\n\t\t\t\tonDirty: f\n\t\t\t}, l) : null,\n\t\t\t\" \",\n\t\t\tx ? /* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__eyebrow\",\n\t\t\t\t\t\tchildren: o(\"storefront.catalog.availability\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ v(\"label\", {\n\t\t\t\t\t\tclassName: \"flex cursor-pointer items-center gap-2 text-sm\",\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t/* @__PURE__ */ _(\"input\", {\n\t\t\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\t\t\tchecked: t.inStock ?? !1,\n\t\t\t\t\t\t\t\tonChange: (e) => n({\n\t\t\t\t\t\t\t\t\t...t,\n\t\t\t\t\t\t\t\t\tinStock: e.target.checked || void 0\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\to(\"storefront.catalog.inStockOnly\"),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \"\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\t\" \",\n\t\t\ty && p.length ? /* @__PURE__ */ v(\"div\", {\n\t\t\t\tclassName: \"space-y-2\",\n\t\t\t\tchildren: [\n\t\t\t\t\t\" \",\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__eyebrow\",\n\t\t\t\t\t\tchildren: o(\"storefront.catalog.tags\")\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tp.length > 12 ? /* @__PURE__ */ _(no, {\n\t\t\t\t\t\tvalue: s,\n\t\t\t\t\t\tonChange: c,\n\t\t\t\t\t\tlabel: o(\"storefront.catalog.searchTags\"),\n\t\t\t\t\t\tplaceholder: o(\"storefront.catalog.searchTags\")\n\t\t\t\t\t}) : null,\n\t\t\t\t\t/* @__PURE__ */ v(Vr, {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__tag-options\",\n\t\t\t\t\t\trole: \"region\",\n\t\t\t\t\t\t\"aria-label\": o(\"storefront.catalog.tags\"),\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\tm.map((e) => /* @__PURE__ */ v(\"label\", {\n\t\t\t\t\t\t\t\tclassName: \"flex cursor-pointer items-center gap-2 text-sm\",\n\t\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\t/* @__PURE__ */ _(\"input\", {\n\t\t\t\t\t\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\t\t\t\t\t\tchecked: g.has(e),\n\t\t\t\t\t\t\t\t\t\tonChange: (r) => {\n\t\t\t\t\t\t\t\t\t\t\tlet i = new Set(g);\n\t\t\t\t\t\t\t\t\t\t\tr.target.checked ? i.add(e) : i.delete(e), n({\n\t\t\t\t\t\t\t\t\t\t\t\t...t,\n\t\t\t\t\t\t\t\t\t\t\t\ttags: Array.from(i)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\" \",\n\t\t\t\t\t\t\t\t\te,\n\t\t\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}, e)),\n\t\t\t\t\t\t\t\" \"\n\t\t\t\t\t\t]\n\t\t\t\t\t}),\n\t\t\t\t\t\" \",\n\t\t\t\t\tm.length ? null : /* @__PURE__ */ _(\"p\", {\n\t\t\t\t\t\trole: \"status\",\n\t\t\t\t\t\tclassName: \"text-sm\",\n\t\t\t\t\t\tchildren: o(\"storefront.catalog.noMatchingTags\")\n\t\t\t\t\t})\n\t\t\t\t]\n\t\t\t}) : null,\n\t\t\t\" \"\n\t\t]\n\t});\n}\nfunction io({ bounds: t, value: r, onChange: i, onDirty: a }) {\n\tlet o = f(), { locale: s, t: c } = R(), l = (e) => e === void 0 ? \"\" : n(e, s), [u, p] = h(() => l(r.priceMin)), [m, g] = h(() => l(r.priceMax)), [y, b] = h(() => Za(r) ? c(\"storefront.catalog.invalidPriceRange\") : null);\n\td(() => {\n\t\tp(l(r.priceMin)), g(l(r.priceMax)), b(Za(r) ? c(\"storefront.catalog.invalidPriceRange\") : null), a(!1);\n\t}, [\n\t\tr.priceMin,\n\t\tr.priceMax,\n\t\ts\n\t]);\n\tlet x = () => {\n\t\tlet t = u.trim() ? e(u, s) : void 0, n = m.trim() ? e(m, s) : void 0;\n\t\tif (t !== void 0 && (!Number.isFinite(t) || t < 0) || n !== void 0 && (!Number.isFinite(n) || n < 0)) {\n\t\t\tb(c(\"storefront.catalog.invalidPrice\"));\n\t\t\treturn;\n\t\t}\n\t\tif (Za({\n\t\t\tpriceMin: t,\n\t\t\tpriceMax: n\n\t\t})) {\n\t\t\tb(c(\"storefront.catalog.invalidPriceRange\"));\n\t\t\treturn;\n\t\t}\n\t\tif (b(null), t !== r.priceMin || n !== r.priceMax) {\n\t\t\tlet e = { ...r };\n\t\t\tt === void 0 ? delete e.priceMin : e.priceMin = t, n === void 0 ? delete e.priceMax : e.priceMax = n, i(e);\n\t\t}\n\t\ta(!1);\n\t};\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"space-y-2\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__eyebrow\",\n\t\t\t\tchildren: c(\"storefront.catalog.price\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"grid gap-2 sm:grid-cols-2\",\n\t\t\t\tchildren: [\"min\", \"max\"].map((e) => /* @__PURE__ */ v(\"div\", {\n\t\t\t\t\tclassName: \"grid gap-1\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ _(\"label\", {\n\t\t\t\t\t\tclassName: \"text-xs\",\n\t\t\t\t\t\thtmlFor: `${o}-${e}`,\n\t\t\t\t\t\tchildren: c(`storefront.catalog.${e}`)\n\t\t\t\t\t}), /* @__PURE__ */ _(\"input\", {\n\t\t\t\t\t\tid: `${o}-${e}`,\n\t\t\t\t\t\tinputMode: \"decimal\",\n\t\t\t\t\t\tplaceholder: t ? l(t[e]) : void 0,\n\t\t\t\t\t\tvalue: e === \"min\" ? u : m,\n\t\t\t\t\t\t\"aria-invalid\": !!y,\n\t\t\t\t\t\t\"aria-describedby\": y ? `${o}-error` : void 0,\n\t\t\t\t\t\tonChange: (t) => {\n\t\t\t\t\t\t\t(e === \"min\" ? p : g)(t.target.value), a(!0);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonBlur: x,\n\t\t\t\t\t\tonKeyDown: (e) => {\n\t\t\t\t\t\t\te.key === \"Enter\" && (e.preventDefault(), x());\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: \"cedros-shop-public__input w-full rounded-md border px-3 py-2 text-sm\"\n\t\t\t\t\t})]\n\t\t\t\t}, e))\n\t\t\t}),\n\t\t\ty ? /* @__PURE__ */ _(\"p\", {\n\t\t\t\tid: `${o}-error`,\n\t\t\t\trole: \"alert\",\n\t\t\t\tclassName: \"cedros-shop-public__error text-sm\",\n\t\t\t\tchildren: y\n\t\t\t}) : null\n\t\t]\n\t});\n}\n//#endregion\n//#region src/storefront/CartSidebar.tsx\nfunction ao({ trigger: e, side: t = \"right\", open: n, onOpenChange: r, onCheckout: i, className: a, surface: o = \"mini-cart\" }) {\n\tlet { t: s } = R(), l = Mt(), u = Er(), d = c.useRef(!1);\n\treturn c.useEffect(() => {\n\t\tn && !d.current && u(\"cedros-shop:cart-opened\", {\n\t\t\tcart_item_count_bucket: Or(l.count),\n\t\t\tsurface: o\n\t\t}), d.current = !!n;\n\t}, [\n\t\tn,\n\t\tu,\n\t\tl.count,\n\t\to\n\t]), /* @__PURE__ */ v(fa, {\n\t\tmodal: !1,\n\t\topen: n,\n\t\tonOpenChange: r,\n\t\tchildren: [e ? /* @__PURE__ */ _(pa, {\n\t\t\tasChild: !0,\n\t\t\tchildren: e\n\t\t}) : null, /* @__PURE__ */ v(_a, {\n\t\t\tside: t,\n\t\t\toverlayClassName: \"cedros-shop-public__overlay--ghost\",\n\t\t\tclassName: Z(t === \"bottom\" ? \"h-[85vh] rounded-t-2xl\" : void 0, t === \"popup\" ? \"h-[min(640px,calc(100vh-2rem))]\" : \"p-4\", \"flex flex-col overflow-hidden\", a),\n\t\t\tchildren: [/* @__PURE__ */ _(va, {\n\t\t\t\tclassName: \"space-y-0\",\n\t\t\t\tchildren: /* @__PURE__ */ v(\"div\", {\n\t\t\t\t\tclassName: \"flex items-center justify-between gap-3\",\n\t\t\t\t\tchildren: [/* @__PURE__ */ _(ya, { children: s(\"common.cart\") }), /* @__PURE__ */ _(ma, {\n\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ _($, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tsize: \"icon\",\n\t\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\t\tclassName: \"h-9 w-9 leading-none\",\n\t\t\t\t\t\t\t\"aria-label\": s(\"storefront.a11y.closeCart\"),\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\t\t\t\twidth: \"20\",\n\t\t\t\t\t\t\t\theight: \"20\",\n\t\t\t\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\t\t\t\tfill: \"none\",\n\t\t\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m18 6-12 12M6 6l12 12\" })\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t}), /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"mt-3 min-h-0 flex-1 overflow-hidden\",\n\t\t\t\tchildren: /* @__PURE__ */ _(Ka, {\n\t\t\t\t\tonCheckout: () => {\n\t\t\t\t\t\ti(), r?.(!1);\n\t\t\t\t\t},\n\t\t\t\t\tonContinueShopping: n !== void 0 && r ? () => r(!1) : void 0,\n\t\t\t\t\tclassName: \"h-full border-0 p-0 shadow-none\"\n\t\t\t\t})\n\t\t\t})]\n\t\t})]\n\t});\n}\n//#endregion\n//#region src/storefront/viewTransition.ts\nfunction oo(e) {\n\tlet t = typeof document > \"u\" ? null : document, n = typeof window < \"u\" && typeof window.matchMedia == \"function\" && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\tif (!t || typeof t.startViewTransition != \"function\" || n) {\n\t\te();\n\t\treturn;\n\t}\n\tt.startViewTransition(async () => {\n\t\te(), await so();\n\t});\n}\nfunction so() {\n\treturn new Promise((e) => {\n\t\twindow.setTimeout(e, 0);\n\t});\n}\n//#endregion\n//#region src/storefront/SortSelect.tsx\nfunction co({ sort: e, setSort: t, options: n, compact: r = !1 }) {\n\tlet { t: i } = R(), a = c.useId(), o = c.useRef(null), [s, l] = c.useState(!1), [u, d] = c.useState(e), f = c.useRef({\n\t\ttext: \"\",\n\t\ttime: 0\n\t}), p = n.find((t) => t.value === e), m = Math.max(0, n.findIndex((e) => e.value === u)), h = n[m];\n\tc.useEffect(() => {\n\t\tif (!s) return;\n\t\tlet e = (e) => {\n\t\t\te.target instanceof Node && !o.current?.contains(e.target) && l(!1);\n\t\t};\n\t\treturn document.addEventListener(\"pointerdown\", e), () => document.removeEventListener(\"pointerdown\", e);\n\t}, [s]);\n\tfunction g() {\n\t\td(p?.value ?? n[0]?.value ?? \"\"), f.current = {\n\t\t\ttext: \"\",\n\t\t\ttime: 0\n\t\t}, l(!0);\n\t}\n\tfunction y(e) {\n\t\tt(e), l(!1);\n\t}\n\tfunction b(t) {\n\t\tif (t.key === \"Escape\") {\n\t\t\ts && t.preventDefault(), l(!1);\n\t\t\treturn;\n\t\t}\n\t\tif (t.key === \"Tab\") {\n\t\t\tl(!1);\n\t\t\treturn;\n\t\t}\n\t\tif (t.key === \"Enter\" || t.key === \" \") {\n\t\t\tt.preventDefault(), s && h ? y(h.value) : g();\n\t\t\treturn;\n\t\t}\n\t\tif ([\n\t\t\t\"ArrowDown\",\n\t\t\t\"ArrowUp\",\n\t\t\t\"Home\",\n\t\t\t\"End\"\n\t\t].includes(t.key)) {\n\t\t\tif (t.preventDefault(), !n.length) return;\n\t\t\ts || g();\n\t\t\tlet r = s ? m : Math.max(0, n.findIndex((t) => t.value === e)), i = t.key === \"Home\" ? 0 : t.key === \"End\" ? n.length - 1 : s ? (r + (t.key === \"ArrowDown\" ? 1 : -1) + n.length) % n.length : r;\n\t\t\td(n[i].value);\n\t\t\treturn;\n\t\t}\n\t\tif (t.key.length === 1 && !t.ctrlKey && !t.metaKey && !t.altKey) {\n\t\t\tt.preventDefault();\n\t\t\tlet e = Date.now(), r = (e - f.current.time < 700 ? f.current.text : \"\") + t.key.toLocaleLowerCase();\n\t\t\ts || g(), f.current = {\n\t\t\t\ttext: r,\n\t\t\t\ttime: e\n\t\t\t};\n\t\t\tlet i = n.find((e) => e.label.toLocaleLowerCase().startsWith(r));\n\t\t\ti && d(i.value);\n\t\t}\n\t}\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tref: o,\n\t\tclassName: r ? \"cedros-shop-public__catalog-sort\" : \"cedros-shop-public__sort\",\n\t\tonBlur: (e) => {\n\t\t\te.currentTarget.contains(e.relatedTarget) || l(!1);\n\t\t},\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"span\", {\n\t\t\t\tid: `${a}-label`,\n\t\t\t\tclassName: r ? \"sr-only\" : \"cedros-shop-public__eyebrow\",\n\t\t\t\tchildren: i(\"common.sort\")\n\t\t\t}),\n\t\t\t/* @__PURE__ */ v($, {\n\t\t\t\ttype: \"button\",\n\t\t\t\tvariant: \"outline\",\n\t\t\t\tclassName: \"cedros-shop-public__sort-trigger\",\n\t\t\t\trole: \"combobox\",\n\t\t\t\t\"aria-haspopup\": \"listbox\",\n\t\t\t\t\"aria-expanded\": s,\n\t\t\t\t\"aria-controls\": s ? `${a}-list` : void 0,\n\t\t\t\t\"aria-labelledby\": `${a}-label ${a}-value`,\n\t\t\t\t\"aria-activedescendant\": s && h ? `${a}-option-${m}` : void 0,\n\t\t\t\tdisabled: !n.length,\n\t\t\t\tonClick: () => s ? l(!1) : g(),\n\t\t\t\tonKeyDown: b,\n\t\t\t\tchildren: [/* @__PURE__ */ _(\"span\", {\n\t\t\t\t\tid: `${a}-value`,\n\t\t\t\t\tchildren: p?.label ?? i(\"common.sort\")\n\t\t\t\t}), /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\twidth: \"15\",\n\t\t\t\t\theight: \"15\",\n\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\tfill: \"none\",\n\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m6 9 6 6 6-6\" })\n\t\t\t\t})]\n\t\t\t}),\n\t\t\ts ? /* @__PURE__ */ _(\"div\", {\n\t\t\t\tid: `${a}-list`,\n\t\t\t\trole: \"listbox\",\n\t\t\t\t\"aria-labelledby\": `${a}-label`,\n\t\t\t\tclassName: \"cedros-shop-public__select-content cedros-shop-public__sort-menu\",\n\t\t\t\tchildren: n.map((t, n) => /* @__PURE__ */ v(\"button\", {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tid: `${a}-option-${n}`,\n\t\t\t\t\trole: \"option\",\n\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\t\"aria-selected\": t.value === e,\n\t\t\t\t\t\"data-active\": n === m,\n\t\t\t\t\tonPointerMove: () => d(t.value),\n\t\t\t\t\tonMouseDown: (e) => e.preventDefault(),\n\t\t\t\t\tonClick: () => y(t.value),\n\t\t\t\t\tchildren: [/* @__PURE__ */ _(\"span\", { children: t.label }), /* @__PURE__ */ _(\"span\", {\n\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\tchildren: t.value === e ? \"✓\" : \"\"\n\t\t\t\t\t})]\n\t\t\t\t}, t.value))\n\t\t\t}) : null\n\t\t]\n\t});\n}\n//#endregion\n//#region src/storefront/templateShared.tsx\nfunction lo() {\n\treturn /* @__PURE__ */ v(\"svg\", {\n\t\twidth: \"15\",\n\t\theight: \"15\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: [/* @__PURE__ */ _(\"path\", { d: \"M6 7h12l-1.5 13.5a1.8 1.8 0 0 1-1.8 1.5H9.3a1.8 1.8 0 0 1-1.8-1.5L6 7Z\" }), /* @__PURE__ */ _(\"path\", { d: \"M9 10V6a3 3 0 0 1 6 0v4\" })]\n\t});\n}\nfunction uo({ contentId: e }) {\n\tlet { t } = R();\n\treturn e ? /* @__PURE__ */ _($, {\n\t\tasChild: !0,\n\t\tclassName: \"cedros-shop-public__skip-link\",\n\t\tchildren: /* @__PURE__ */ _(\"a\", {\n\t\t\thref: `#${e}`,\n\t\t\tonClick: () => document.getElementById(e)?.focus({ preventScroll: !0 }),\n\t\t\tchildren: t(\"storefront.shop.skipToContent\")\n\t\t})\n\t}) : null;\n}\nfunction fo({ contentId: e, search: t, setSearch: n, searchComposition: r, refine: i, cartCount: a, checkoutHref: o, isDesktop: s, isCartOpen: c, setIsCartOpen: l }) {\n\tlet { t: u } = R();\n\treturn /* @__PURE__ */ v(\"header\", {\n\t\tclassName: \"cedros-shop-public__header border-b\",\n\t\tchildren: [/* @__PURE__ */ _(uo, { contentId: e }), /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"cedros-shop-public__header-inner mx-auto flex max-w-7xl items-center gap-3 px-4 py-3\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__header-search\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(no, {\n\t\t\t\t\t\tvalue: t,\n\t\t\t\t\t\tonChange: n,\n\t\t\t\t\t\tonCompositionStart: r?.compositionStart,\n\t\t\t\t\t\tonCompositionEnd: r?.compositionEnd\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\ti,\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__header-actions flex items-center gap-2 lg:hidden\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(ao, {\n\t\t\t\t\t\topen: !s && c,\n\t\t\t\t\t\tonOpenChange: l,\n\t\t\t\t\t\tside: \"bottom\",\n\t\t\t\t\t\tsurface: \"header\",\n\t\t\t\t\t\tonCheckout: () => window.location.assign(o),\n\t\t\t\t\t\ttrigger: /* @__PURE__ */ v($, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ _(lo, {}), u(\"storefront.cart.triggerCount\", { count: a })]\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"cedros-shop-public__header-actions hidden items-center gap-2 lg:flex\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(ao, {\n\t\t\t\t\t\topen: s && c,\n\t\t\t\t\t\tonOpenChange: l,\n\t\t\t\t\t\tside: \"popup\",\n\t\t\t\t\t\tsurface: \"header\",\n\t\t\t\t\t\tonCheckout: () => window.location.assign(o),\n\t\t\t\t\t\ttrigger: /* @__PURE__ */ v($, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\t\tchildren: [/* @__PURE__ */ _(lo, {}), u(\"storefront.cart.triggerCount\", { count: a })]\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction po({ checkoutHref: e, wide: t = !1, contentId: n }) {\n\tlet { t: r } = R(), i = Nt(), [a, o] = xo(), [s, l] = c.useState(!1);\n\treturn !e || !i ? /* @__PURE__ */ _(uo, { contentId: n }) : /* @__PURE__ */ v(\"header\", {\n\t\tref: o,\n\t\tclassName: \"cedros-shop-public__header border-b\",\n\t\tchildren: [/* @__PURE__ */ _(uo, { contentId: n }), /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: Z(\"cedros-shop-public__header-inner mx-auto flex items-center gap-3 px-4 py-3\", t ? \"max-w-7xl\" : \"max-w-6xl\"),\n\t\t\tchildren: [/* @__PURE__ */ _(\"div\", { className: \"flex-1\" }), /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: \"cedros-shop-public__header-actions flex items-center gap-2\",\n\t\t\t\tchildren: e && i ? /* @__PURE__ */ _(ao, {\n\t\t\t\t\topen: s,\n\t\t\t\t\tonOpenChange: l,\n\t\t\t\t\tside: a ? \"popup\" : \"bottom\",\n\t\t\t\t\tsurface: \"header\",\n\t\t\t\t\tonCheckout: () => window.location.assign(e),\n\t\t\t\t\ttrigger: /* @__PURE__ */ v($, {\n\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ _(lo, {}), r(\"storefront.cart.triggerCount\", { count: i.count })]\n\t\t\t\t\t})\n\t\t\t\t}) : null\n\t\t\t})]\n\t\t})]\n\t});\n}\nfunction mo({ categories: e, activeCategory: t, onSelectCategory: n, categoryHref: r, allCategoriesHref: i, onClearCategory: a, catsLoading: o, catsError: s, catsRetry: c, facets: l, facetsLoading: u, facetsError: d, facetsRetry: f, filters: p, setFilters: m, setPage: h, sort: g, setSort: y, sortOptions: b, enabledFilters: x, title: S, showSort: C = !0 }) {\n\tlet { t: w } = R(), ee = (e) => {\n\t\tm(e), h(1);\n\t};\n\treturn /* @__PURE__ */ v(Rr, {\n\t\tclassName: \"cedros-shop-public__catalog-sidebar flex max-h-[calc(100vh-6rem)] flex-col rounded-2xl\",\n\t\tchildren: [/* @__PURE__ */ _(\"h2\", {\n\t\t\tclassName: \"sr-only\",\n\t\t\tchildren: S\n\t\t}), /* @__PURE__ */ v(Br, {\n\t\t\tscroll: \"y\",\n\t\t\tclassName: \"flex-1 space-y-6 pr-2 pt-1\",\n\t\t\tchildren: [\n\t\t\t\to || s || e.length > 0 ? /* @__PURE__ */ v(\"div\", { children: [\n\t\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"cedros-shop-public__eyebrow\",\n\t\t\t\t\t\tchildren: w(\"storefront.shop.categories\")\n\t\t\t\t\t}),\n\t\t\t\t\ts ? /* @__PURE__ */ _(di, {\n\t\t\t\t\t\tclassName: \"mt-3\",\n\t\t\t\t\t\ttitle: w(\"storefront.error.title\"),\n\t\t\t\t\t\tdescription: w(\"storefront.error.load\"),\n\t\t\t\t\t\tonRetry: c\n\t\t\t\t\t}) : null,\n\t\t\t\t\to ? /* @__PURE__ */ _(bo, {}) : /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\t\tclassName: \"mt-3\",\n\t\t\t\t\t\tchildren: /* @__PURE__ */ _(to, {\n\t\t\t\t\t\t\tcategories: e,\n\t\t\t\t\t\t\tactiveSlug: t,\n\t\t\t\t\t\t\tgetHref: r,\n\t\t\t\t\t\t\tonSelect: n,\n\t\t\t\t\t\t\tallItem: i ? {\n\t\t\t\t\t\t\t\thref: i,\n\t\t\t\t\t\t\t\tonSelect: a\n\t\t\t\t\t\t\t} : void 0\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t] }) : null,\n\t\t\t\tC && b.length > 1 ? /* @__PURE__ */ _(co, {\n\t\t\t\t\tsort: g,\n\t\t\t\t\tsetSort: (e) => oo(() => {\n\t\t\t\t\t\ty(e), h(1);\n\t\t\t\t\t}),\n\t\t\t\t\toptions: b\n\t\t\t\t}) : null,\n\t\t\t\td ? /* @__PURE__ */ _(di, {\n\t\t\t\t\ttitle: w(\"storefront.catalog.filtersUnavailable\"),\n\t\t\t\t\tdescription: w(\"storefront.error.load\"),\n\t\t\t\t\tonRetry: f\n\t\t\t\t}) : u ? /* @__PURE__ */ _(bo, {}) : null,\n\t\t\t\t/* @__PURE__ */ _(ro, {\n\t\t\t\t\tfacets: l,\n\t\t\t\t\tvalue: p,\n\t\t\t\t\tonChange: ee,\n\t\t\t\t\tonClear: () => ee({}),\n\t\t\t\t\tenabledFilters: x\n\t\t\t\t})\n\t\t\t]\n\t\t})]\n\t});\n}\nfunction ho({ isOpen: e, setIsOpen: t, title: n, panel: r, filterCount: i, sort: a, setSort: o, sortOptions: s }) {\n\tlet { t: c } = R();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"cedros-shop-public__catalog-refine\",\n\t\tchildren: [/* @__PURE__ */ v(fa, {\n\t\t\topen: e,\n\t\t\tonOpenChange: t,\n\t\t\tchildren: [/* @__PURE__ */ _(pa, {\n\t\t\t\tasChild: !0,\n\t\t\t\tchildren: /* @__PURE__ */ v($, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tclassName: \"cedros-shop-public__filter-trigger\",\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\t/* @__PURE__ */ _(go, {}),\n\t\t\t\t\t\tc(\"common.filters\"),\n\t\t\t\t\t\ti > 0 ? /* @__PURE__ */ v(\"span\", {\n\t\t\t\t\t\t\tclassName: \"tabular-nums\",\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\t\"(\",\n\t\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\t\t\")\"\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}) : null\n\t\t\t\t\t]\n\t\t\t\t})\n\t\t\t}), /* @__PURE__ */ v(_a, {\n\t\t\t\tside: \"left\",\n\t\t\t\tchildren: [/* @__PURE__ */ _(va, {\n\t\t\t\t\tclassName: \"space-y-0\",\n\t\t\t\t\tchildren: /* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"flex items-center justify-between gap-3\",\n\t\t\t\t\t\tchildren: [/* @__PURE__ */ _(ya, { children: n }), /* @__PURE__ */ _(ma, {\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _($, {\n\t\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\t\tsize: \"icon\",\n\t\t\t\t\t\t\t\tvariant: \"ghost\",\n\t\t\t\t\t\t\t\tclassName: \"h-9 w-9 leading-none\",\n\t\t\t\t\t\t\t\t\"aria-label\": c(\"common.close\"),\n\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"svg\", {\n\t\t\t\t\t\t\t\t\twidth: \"20\",\n\t\t\t\t\t\t\t\t\theight: \"20\",\n\t\t\t\t\t\t\t\t\tviewBox: \"0 0 24 24\",\n\t\t\t\t\t\t\t\t\tfill: \"none\",\n\t\t\t\t\t\t\t\t\tstroke: \"currentColor\",\n\t\t\t\t\t\t\t\t\tstrokeWidth: \"2\",\n\t\t\t\t\t\t\t\t\tstrokeLinecap: \"round\",\n\t\t\t\t\t\t\t\t\tstrokeLinejoin: \"round\",\n\t\t\t\t\t\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"path\", { d: \"m18 6-12 12M6 6l12 12\" })\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})]\n\t\t\t\t\t})\n\t\t\t\t}), /* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"mt-4\",\n\t\t\t\t\tchildren: r\n\t\t\t\t})]\n\t\t\t})]\n\t\t}), s.length > 1 ? /* @__PURE__ */ _(co, {\n\t\t\tcompact: !0,\n\t\t\tsort: a,\n\t\t\toptions: s,\n\t\t\tsetSort: o\n\t\t}) : null]\n\t});\n}\nfunction go() {\n\treturn /* @__PURE__ */ v(\"svg\", {\n\t\twidth: \"15\",\n\t\theight: \"15\",\n\t\tviewBox: \"0 0 24 24\",\n\t\tfill: \"none\",\n\t\tstroke: \"currentColor\",\n\t\tstrokeWidth: \"2\",\n\t\tstrokeLinecap: \"round\",\n\t\tstrokeLinejoin: \"round\",\n\t\t\"aria-hidden\": \"true\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M4 6h16\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M7 12h10\" }),\n\t\t\t/* @__PURE__ */ _(\"path\", { d: \"M10 18h4\" })\n\t\t]\n\t});\n}\nfunction _o({ isLoading: e, products: t, columns: n, productHref: r, onAddToCart: i, onQuickView: a, layout: o, imageCrop: s, page: c, setPage: l, pageHref: u, hasNextPage: d, hasActiveQuery: f, onClearQuery: p }) {\n\tlet { t: m } = R(), h = (e, t) => {\n\t\tif (!$a(e)) return;\n\t\te.preventDefault(), l(t);\n\t\tlet n = e.currentTarget.closest(\"main\");\n\t\tn?.focus({ preventScroll: !0 }), n?.scrollIntoView?.({ block: \"start\" });\n\t};\n\treturn e ? /* @__PURE__ */ _(\"div\", {\n\t\tclassName: \"cedros-shop-public__product-grid mt-6 grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-3\",\n\t\tstyle: { \"--c154w00l-shop-grid-xl\": n?.lg ?? 4 },\n\t\tchildren: Array.from({ length: 8 }).map((e, t) => /* @__PURE__ */ _(Q, { className: \"aspect-[4/5] rounded-2xl\" }, t))\n\t}) : t.length === 0 && c <= 1 ? /* @__PURE__ */ _(Kr, {\n\t\tclassName: \"mt-6\",\n\t\ttitle: m(\"storefront.catalog.emptyTitle\"),\n\t\tdescription: m(f ? \"storefront.catalog.emptyFilteredDescription\" : \"storefront.catalog.emptyDescription\"),\n\t\tactionLabel: f && p ? m(\"storefront.catalog.clearSearchAndFilters\") : void 0,\n\t\tonAction: f && p ? p : void 0\n\t}) : /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"mt-6\",\n\t\tchildren: [t.length === 0 ? /* @__PURE__ */ _(Kr, {\n\t\t\ttitle: m(\"storefront.catalog.emptyTitle\"),\n\t\t\tdescription: m(\"storefront.catalog.emptyFilteredDescription\")\n\t\t}) : /* @__PURE__ */ _(Ci, {\n\t\t\tproducts: t,\n\t\t\tcolumns: n,\n\t\t\tgetProductHref: (e) => r(e.slug),\n\t\t\tonAddToCart: (e) => i(e),\n\t\t\tonQuickView: a,\n\t\t\tlayout: o,\n\t\t\timageCrop: s\n\t\t}), c > 1 || d ? /* @__PURE__ */ v(\"div\", {\n\t\t\tclassName: \"mt-8 flex items-center justify-between gap-3\",\n\t\t\tchildren: [\n\t\t\t\tc <= 1 ? /* @__PURE__ */ _($, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tdisabled: !0,\n\t\t\t\t\tchildren: m(\"common.previous\")\n\t\t\t\t}) : /* @__PURE__ */ _($, {\n\t\t\t\t\tasChild: !0,\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\thref: u(c - 1),\n\t\t\t\t\t\t\"data-c154w00l-full-navigation\": \"true\",\n\t\t\t\t\t\tonClick: (e) => h(e, c - 1),\n\t\t\t\t\t\tchildren: m(\"common.previous\")\n\t\t\t\t\t})\n\t\t\t\t}),\n\t\t\t\t/* @__PURE__ */ _(\"div\", {\n\t\t\t\t\tclassName: \"shrink-0 whitespace-nowrap text-xs\",\n\t\t\t\t\tchildren: m(\"common.page\", { page: c })\n\t\t\t\t}),\n\t\t\t\td ? /* @__PURE__ */ _($, {\n\t\t\t\t\tasChild: !0,\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tchildren: /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\thref: u(c + 1),\n\t\t\t\t\t\t\"data-c154w00l-full-navigation\": \"true\",\n\t\t\t\t\t\tonClick: (e) => h(e, c + 1),\n\t\t\t\t\t\tchildren: m(\"common.next\")\n\t\t\t\t\t})\n\t\t\t\t}) : /* @__PURE__ */ _($, {\n\t\t\t\t\ttype: \"button\",\n\t\t\t\t\tvariant: \"outline\",\n\t\t\t\t\tdisabled: !0,\n\t\t\t\t\tchildren: m(\"common.next\")\n\t\t\t\t})\n\t\t\t]\n\t\t}) : null]\n\t});\n}\nfunction vo({ surface: e, title: t, description: n, shopHref: r, checkoutHref: i, onRetry: a, className: o }) {\n\tlet { t: s, direction: c } = R();\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tdir: c,\n\t\tclassName: Z(\"cedros-shop-public min-h-screen\", `cedros-shop-public--${e}`, o),\n\t\tchildren: [/* @__PURE__ */ _(po, { checkoutHref: i }), /* @__PURE__ */ _(\"main\", {\n\t\t\tclassName: \"mx-auto max-w-6xl px-4 py-10\",\n\t\t\tchildren: /* @__PURE__ */ _(\"div\", {\n\t\t\t\tclassName: Z(\"cedros-shop-public__state rounded-xl border p-10\", !a && \"cedros-shop-public__state--empty\"),\n\t\t\t\trole: a ? \"alert\" : void 0,\n\t\t\t\tchildren: /* @__PURE__ */ v(\"div\", { children: [\n\t\t\t\t\t/* @__PURE__ */ _(\"h1\", {\n\t\t\t\t\t\tclassName: \"text-2xl font-semibold tracking-tight\",\n\t\t\t\t\t\tchildren: t\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ _(\"p\", {\n\t\t\t\t\t\tclassName: \"text-sm\",\n\t\t\t\t\t\tchildren: n\n\t\t\t\t\t}),\n\t\t\t\t\t/* @__PURE__ */ v(\"div\", {\n\t\t\t\t\t\tclassName: \"mt-3 flex flex-wrap items-center justify-center gap-3\",\n\t\t\t\t\t\tchildren: [a ? /* @__PURE__ */ _($, {\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tonClick: a,\n\t\t\t\t\t\t\tchildren: s(\"common.retry\")\n\t\t\t\t\t\t}) : null, /* @__PURE__ */ _($, {\n\t\t\t\t\t\t\tasChild: !0,\n\t\t\t\t\t\t\ttype: \"button\",\n\t\t\t\t\t\t\tvariant: a ? \"outline\" : \"default\",\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ _(\"a\", {\n\t\t\t\t\t\t\t\thref: r,\n\t\t\t\t\t\t\t\tchildren: s(\"storefront.shop.backToShop\")\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})]\n\t\t\t\t\t})\n\t\t\t\t] })\n\t\t\t})\n\t\t})]\n\t});\n}\nfunction yo({ className: e }) {\n\tlet { t } = R();\n\treturn /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(po, {}), /* @__PURE__ */ _(\"main\", {\n\t\tclassName: Z(\"mx-auto max-w-6xl px-4 py-10\", e),\n\t\tchildren: /* @__PURE__ */ _(Kr, {\n\t\t\ttitle: t(\"storefront.shop.unavailableTitle\"),\n\t\t\tdescription: t(\"storefront.shop.unavailableDescription\")\n\t\t})\n\t})] });\n}\nfunction bo() {\n\treturn /* @__PURE__ */ v(\"div\", {\n\t\tclassName: \"mt-3 space-y-2\",\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ _(Q, { className: \"h-9\" }),\n\t\t\t/* @__PURE__ */ _(Q, { className: \"h-9\" }),\n\t\t\t/* @__PURE__ */ _(Q, { className: \"h-9\" })\n\t\t]\n\t});\n}\nfunction xo() {\n\tlet [e, t] = c.useState(null), [n, r] = c.useState(!1);\n\treturn c.useEffect(() => {\n\t\tif (!e) return;\n\t\tlet t = e.closest(\".cedros-shop-public\") ?? e, n = () => {\n\t\t\tlet e = getComputedStyle(t), n = t.clientWidth - parseFloat(e.paddingLeft || \"0\") - parseFloat(e.paddingRight || \"0\");\n\t\t\tr(n >= 1024);\n\t\t};\n\t\tn();\n\t\tlet i = typeof ResizeObserver == \"function\" ? new ResizeObserver(n) : void 0;\n\t\treturn i?.observe(t), window.addEventListener(\"resize\", n), () => {\n\t\t\ti?.disconnect(), window.removeEventListener(\"resize\", n);\n\t\t};\n\t}, [e]), [n, t];\n}\nfunction So(e, t) {\n\tlet { t: n } = R();\n\treturn c.useMemo(() => Co({\n\t\tfeatured: e.featured,\n\t\tpriceAsc: e.priceAsc,\n\t\tpriceDesc: e.priceDesc\n\t}, n, t), [\n\t\te.featured,\n\t\te.priceAsc,\n\t\te.priceDesc,\n\t\tt,\n\t\tn\n\t]);\n}\nfunction Co(e, t, n) {\n\tlet r = [\n\t\t{\n\t\t\tvalue: \"featured\",\n\t\t\tlabel: t(\"storefront.sort.featured\"),\n\t\t\tenabled: e.featured\n\t\t},\n\t\t{\n\t\t\tvalue: \"price_asc\",\n\t\t\tlabel: t(\"storefront.sort.priceAsc\"),\n\t\t\tenabled: e.priceAsc\n\t\t},\n\t\t{\n\t\t\tvalue: \"price_desc\",\n\t\t\tlabel: t(\"storefront.sort.priceDesc\"),\n\t\t\tenabled: e.priceDesc\n\t\t}\n\t].filter((e) => e.enabled || e.value === n).map(({ value: e, label: t }) => ({\n\t\tvalue: e,\n\t\tlabel: t\n\t}));\n\treturn r.length === 0 && r.push({\n\t\tvalue: \"featured\",\n\t\tlabel: t(\"storefront.sort.featured\")\n\t}), r;\n}\nfunction wo(e, t, n) {\n\tc.useEffect(() => {\n\t\tt.some((t) => t.value === e) || n(t[0]?.value ?? \"featured\");\n\t}, [\n\t\tt,\n\t\tn,\n\t\te\n\t]);\n}\nfunction To(e, t, n) {\n\treturn {\n\t\tproductId: e.id,\n\t\tvariantId: t?.id,\n\t\tunitPrice: t?.price ?? e.price,\n\t\tcurrency: e.currency,\n\t\ttitleSnapshot: t ? n.t(\"storefront.product.titleWithVariant\", {\n\t\t\tproductTitle: e.title,\n\t\t\tvariantTitle: t.title\n\t\t}) : e.title,\n\t\timageSnapshot: t?.images?.[0]?.url ?? e.images[0]?.url,\n\t\tpaymentResource: e.id,\n\t\tmetadata: Nr(e)\n\t};\n}\nfunction Eo(e) {\n\tlet t = c.useRef(e);\n\tt.current = e, c.useEffect(() => {\n\t\tif (typeof window > \"u\") return;\n\t\tlet e = (e) => {\n\t\t\te.persisted && t.current();\n\t\t};\n\t\treturn window.addEventListener(\"pageshow\", e), () => window.removeEventListener(\"pageshow\", e);\n\t}, []);\n}\nfunction Do(e, t) {\n\tlet n = e[0]?.currency;\n\treturn n && n !== t ? { previousCurrency: n } : null;\n}\nfunction Oo(e, t, n) {\n\treturn t ? {\n\t\ttitle: n.t(\"storefront.toast.cartCurrencyReset\"),\n\t\tdescription: n.t(\"storefront.toast.cartCurrencyResetDescription\", {\n\t\t\tproductTitle: e.title,\n\t\t\tcurrency: e.currency,\n\t\t\tpreviousCurrency: t.previousCurrency\n\t\t})\n\t} : {\n\t\ttitle: n.t(\"storefront.toast.addedToCart\"),\n\t\tdescription: e.title\n\t};\n}\nfunction ko(e, t, n, r, i, a) {\n\tlet o = Do(e, t.currency), s = Zr(t, n, i), c = o ? 0 : e.find((e) => e.productId === t.id && (e.variantId ?? \"\") === (n?.id ?? \"\"))?.qty ?? 0, l = s === void 0 ? r : Math.min(r, Math.max(0, s - c));\n\treturn {\n\t\tcurrencyReset: o,\n\t\taddQty: l,\n\t\tstockNotice: l < r ? a.t(\"storefront.stock.quantityExceeded\", {\n\t\t\tavailable: s ?? 0,\n\t\t\tquantity: c + l\n\t\t}) : null\n\t};\n}\nfunction Ao(e, t, n) {\n\tif (e.addQty <= 0) return { title: e.stockNotice ?? n.t(\"storefront.stock.out\") };\n\tlet r = Oo(t, e.currencyReset, n);\n\treturn {\n\t\t...r,\n\t\tdescription: e.stockNotice && !e.currencyReset ? e.stockNotice : r.description\n\t};\n}\nfunction jo(e, t) {\n\tif (!(!e && !t)) return {\n\t\t...e,\n\t\tshop: t?.shop ?? e?.shop,\n\t\tcart: t?.cart ?? e?.cart,\n\t\tcheckout: t?.checkout ?? e?.checkout,\n\t\torders: t?.orders ?? e?.orders,\n\t\tsubscribe: t?.subscribe ?? e?.subscribe,\n\t\tcategory: t?.category ? ({ slug: e }) => t.category(e ?? \"\") : e?.category,\n\t\tproduct: t?.product ? ({ slug: e }) => t.product(e ?? \"\") : e?.product\n\t};\n}\nfunction Mo(e, t, n) {\n\ttypeof window > \"u\" || (t ? window.location.assign(e) : n(!0));\n}\n//#endregion\n//#region src/runtime/useCurrentIdentity.ts\nfunction No() {\n\tlet { dataCacheKey: e } = L(), t = m({\n\t\tscope: e,\n\t\tactive: !0\n\t});\n\treturn t.current.scope = e, p(() => (t.current.active = !0, () => {\n\t\tt.current.active = !1;\n\t}), []), u(() => t.current.active && t.current.scope === e, [e]);\n}\n//#endregion\nexport { ma as $, Jt as $t, za as A, Ur as At, Ki as B, tr as Bt, ro as C, Kr as Ct, Fa as D, Hr as Dt, Za as E, zr as Et, $i as F, Dr as Ft, ra as G, Sn as Gt, Yi as H, rr as Ht, na as I, Cr as It, da as J, vn as Jt, oa as K, Nn as Kt, ea as L, Er as Lt, Ka as M, Mr as Mt, Na as N, Nr as Nt, Pa as O, Wr as Ot, Ma as P, Or as Pt, fa as Q, en as Qt, ta as R, $n as Rt, to as S, x as Sn, qr as St, Xa as T, Br as Tt, Xi as U, Pn as Ut, Ji as V, er as Vt, Pi as W, Cn as Wt, ca as X, Qt as Xt, la as Y, bn as Yt, Fi as Z, qt as Zt, So as _, ke as _n, Xr as _t, po as a, wt as an, Ea as at, ao as b, ae as bn, Zr as bt, yo as c, H as cn, mi as ct, jo as d, z as dn, _i as dt, It as en, _a as et, Mo as f, Le as fn, $r as ft, Eo as g, Ae as gn, ci as gt, xo as h, Ie as hn, Q as ht, mo as i, kt as in, xa as it, qa as j, Z as jt, Ra as k, Vr as kt, To as l, Ke as ln, di as lt, Ao as m, R as mn, ui as mt, _o as n, Mt as nn, ya as nt, fo as o, Ct as on, wa as ot, ko as p, L as pn, Ci as pt, ua as q, yn as qt, ho as r, Nt as rn, pa as rt, vo as s, ot as sn, Ta as st, No as t, U as tn, va as tt, Do as u, ze as un, Jr as ut, wo as v, ye as vn, Yr as vt, no as w, Rr as wt, Qa as x, ue as xn, fi as xt, oo as y, be as yn, ti as yt, $ as z, zn as zt };\n","imports":[{"dynamic":false,"end":109,"specifier":"./styleInjection-D8xLNR6Q.js","start":81},{"dynamic":false,"end":137,"specifier":"react","start":132},{"dynamic":false,"end":260,"specifier":"react","start":255},{"dynamic":false,"end":332,"specifier":"react/jsx-runtime","start":315}],"hasUnsupportedDynamicImports":false},{"path":"workspace/react/dist/web/register.js","kind":"module","text":"import { At as e, Bt as t, Ct as n, Et as r, H as i, I as a, Lt as o, Mt as s, Pt as c, St as l, T as ee, Tt as u, _t as d, a as te, at as f, bt as p, ct as m, dt as h, gt as g, kt as _, lt as v, mt as ne, ot as re, pt as ie, rt as ae, st as oe, t as se, tt as ce, u as le, wt as ue, zt as de } from \"../styleInjection-D8xLNR6Q.js\";\nimport { L as fe, a as pe, c as me, d as he, i as ge, l as _e, n as ve, o as ye, s as be, t as xe } from \"../SubscriptionTemplate-JCKiForP.js\";\nimport { Ct as y, Wt as b, an as x, en as S, fn as C, hn as w, ht as T, in as E, lt as D, mn as O, rn as k } from \"../useCurrentIdentity--397tFNA.js\";\nimport { t as A } from \"../CheckoutRecovery-BeJzj45u.js\";\nimport * as j from \"react\";\nimport { Fragment as M, jsx as N, jsxs as P } from \"react/jsx-runtime\";\nvar F = { en: {\n\tfields: {\n\t\tdisplayName: d,\n\t\tdescription: g\n\t},\n\tdependencies: {\n\t\t\"extension:cedros-login\": { reason: \"Cedros Login signs in your customers and the people who manage your storefront.\" },\n\t\t\"extension:cedros-pay\": { reason: \"Cedros Pay manages your products, checkout, shipping, tax, orders, and subscriptions. Cedros Shop presents them to shoppers.\" },\n\t\t\"capability:cedros-pay:product-read\": { reason: \"Lets your shop, category, and product pages show the products you manage in Cedros Pay.\" },\n\t\t\"capability:cedros-pay:checkout\": { reason: \"Lets shoppers pay through Cedros Pay. Checkout stays off until Cedros Pay checkout is available on your site.\" },\n\t\t\"capability:cedros-data:extension-storage-cas-v1\": { reason: \"Keeps storefront settings safe when more than one person edits them at the same time.\" },\n\t\t\"capability:cedros-pay:merch-product-write\": { reason: \"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\" },\n\t\t\"capability:cedros-pay:merch-orders-read\": { reason: \"Scoped Merch publication and paid-order intake; older Pay versions fail closed.\" },\n\t\t\"capability:cedros-pay:merch-order-delivered\": { reason: \"Return confirmed provider delivery to the Pay-owned customer order.\" }\n\t},\n\tadminModules: { [ae]: { displayName: \"Cedros Shop admin\" } },\n\tcontentBlocks: {\n\t\t\"cedros-shop:shop-surface\": {\n\t\t\tdisplayName: \"Shop catalog\",\n\t\t\tdescription: \"Shows your product catalog with search, filters, and collections.\"\n\t\t},\n\t\t\"cedros-shop:category-surface\": {\n\t\t\tdisplayName: \"Category listing\",\n\t\t\tdescription: \"Shows the products in one category.\"\n\t\t},\n\t\t\"cedros-shop:product-surface\": {\n\t\t\tdisplayName: \"Product details\",\n\t\t\tdescription: \"Shows one product with its images, options, and an Add to cart button.\"\n\t\t},\n\t\t\"cedros-shop:cart-surface\": {\n\t\t\tdisplayName: \"Cart\",\n\t\t\tdescription: \"Shows the shopper's cart so they can review items before checkout.\"\n\t\t},\n\t\t\"cedros-shop:checkout-surface\": {\n\t\t\tdisplayName: \"Checkout\",\n\t\t\tdescription: \"Shows the checkout form where shoppers enter their details and pay.\"\n\t\t},\n\t\t\"cedros-shop:account-surface\": {\n\t\t\tdisplayName: \"Customer account\",\n\t\t\tdescription: \"Shows signed-in customers their account details and where to get help.\"\n\t\t},\n\t\t\"cedros-shop:purchase-history-surface\": {\n\t\t\tdisplayName: \"Purchase history\",\n\t\t\tdescription: \"Shows signed-in customers their past orders, receipts, and order help.\"\n\t\t},\n\t\t\"cedros-shop:subscription-surface\": {\n\t\t\tdisplayName: \"Subscription plans\",\n\t\t\tdescription: \"Shows subscription plans and lets signed-in customers manage their subscription.\"\n\t\t}\n\t},\n\tcontentTemplates: {\n\t\t\"cedros-shop:shop-page-template\": {\n\t\t\tdisplayName: \"Shop page\",\n\t\t\tdescription: \"Editable shop landing page.\"\n\t\t},\n\t\t\"cedros-shop:category-page-template\": {\n\t\t\tdisplayName: \"Category page\",\n\t\t\tdescription: \"Editable category listing page.\"\n\t\t},\n\t\t\"cedros-shop:product-page-template\": {\n\t\t\tdisplayName: \"Product page\",\n\t\t\tdescription: \"Editable product detail page.\"\n\t\t},\n\t\t\"cedros-shop:cart-page-template\": {\n\t\t\tdisplayName: \"Cart page\",\n\t\t\tdescription: \"Editable cart page.\"\n\t\t},\n\t\t\"cedros-shop:checkout-page-template\": {\n\t\t\tdisplayName: \"Checkout page\",\n\t\t\tdescription: \"Editable checkout page.\"\n\t\t},\n\t\t\"cedros-shop:account-page-template\": {\n\t\t\tdisplayName: \"Account page\",\n\t\t\tdescription: \"Editable customer account page.\"\n\t\t},\n\t\t\"cedros-shop:purchase-history-page-template\": {\n\t\t\tdisplayName: \"Purchase history page\",\n\t\t\tdescription: \"Editable purchase history page.\"\n\t\t},\n\t\t\"cedros-shop:subscription-page-template\": {\n\t\t\tdisplayName: \"Subscription page\",\n\t\t\tdescription: \"Editable subscription page.\"\n\t\t}\n\t},\n\tpageSeeds: {\n\t\t[_]: {\n\t\t\tdisplayName: \"Shop page\",\n\t\t\ttitle: \"Shop\",\n\t\t\tdescription: \"Browse our products and collections.\"\n\t\t},\n\t\t[v]: {\n\t\t\tdisplayName: \"Cart page\",\n\t\t\ttitle: \"Cart\",\n\t\t\tdescription: \"Review the items in your cart before checkout.\"\n\t\t},\n\t\t[ie]: {\n\t\t\tdisplayName: \"Checkout page\",\n\t\t\ttitle: \"Checkout\",\n\t\t\tdescription: \"Securely complete your purchase.\"\n\t\t},\n\t\t[ce]: {\n\t\t\tdisplayName: \"Account page\",\n\t\t\ttitle: \"Account\",\n\t\t\tdescription: \"Manage your account details and get help with your orders.\"\n\t\t},\n\t\t[l]: {\n\t\t\tdisplayName: \"Purchase history page\",\n\t\t\ttitle: \"Purchase history\",\n\t\t\tdescription: \"View your past orders and receipts.\"\n\t\t},\n\t\t[t]: {\n\t\t\tdisplayName: \"Subscription page\",\n\t\t\ttitle: \"Subscriptions\",\n\t\t\tdescription: \"Choose a subscription plan, or manage the one you already have.\"\n\t\t}\n\t},\n\tauthoredSurfaces: { \"cedros-shop:storefront-pages\": {\n\t\tdisplayName: \"Storefront pages\",\n\t\tdescription: \"Editable page templates for your shop, cart, checkout, account, purchase history, and subscriptions.\",\n\t\teyebrow: \"Shop\"\n\t} },\n\tauthoredTemplateUtilities: { \"cedros-shop:storefront-starter-set\": {\n\t\tdisplayName: \"Storefront starter set\",\n\t\tdescription: \"Adds the standard Cedros Shop page templates.\"\n\t} },\n\tonboardingPages: { \"cedros-shop:onboarding-storefront\": {\n\t\tdisplayName: \"Review storefront settings\",\n\t\tdescription: \"Check that you have products to sell and a way to get paid, then make your storefront visible.\"\n\t} },\n\tsetupSeeds: {\n\t\t[r]: {\n\t\t\tdisplayName: \"Setup blocked notification\",\n\t\t\ttitle: \"Cedros Shop setup blocked\",\n\t\t\tdescription: \"Alerts your team when the storefront goes live while a required service or setting, such as a payment method, is missing.\",\n\t\t\tsubjectTemplate: \"Cedros Shop setup is blocked\",\n\t\t\tbodyTemplate: \"Your Cedros Shop storefront is live, but a required service or setting, such as a payment method, is missing, so shoppers may not be able to check out. Review the Cedros Shop storefront settings.\"\n\t\t},\n\t\t[h]: {\n\t\t\tdisplayName: \"Checkout handoff failed notification\",\n\t\t\ttitle: \"Cedros Shop checkout handoff failed\",\n\t\t\tdescription: \"Not sent in this version. Checkout runs in Cedros Pay, so Cedros Shop can't detect handoff failures.\",\n\t\t\tsubjectTemplate: \"Cedros Shop checkout handoff failed\",\n\t\t\tbodyTemplate: \"Cedros Shop could not complete a checkout handoff. Review Cedros Pay availability and shop checkout configuration.\"\n\t\t}\n\t},\n\tpwaShortcuts: {\n\t\t[u]: {\n\t\t\tname: \"Shop\",\n\t\t\tshortName: \"Shop\",\n\t\t\tdescription: \"Open the shop catalog.\"\n\t\t},\n\t\t[n]: {\n\t\t\tname: \"Cart\",\n\t\t\tshortName: \"Cart\",\n\t\t\tdescription: \"Review your cart.\"\n\t\t},\n\t\t[ue]: {\n\t\t\tname: \"Purchase history\",\n\t\t\tshortName: \"Purchases\",\n\t\t\tdescription: \"See your past orders and receipts. Sign-in required.\"\n\t\t}\n\t},\n\tanalyticsEvents: {\n\t\t\"cedros-shop:product-viewed\": {\n\t\t\tdisplayName: \"Product viewed\",\n\t\t\tdescription: \"Counts product detail views so owners can compare product interest.\"\n\t\t},\n\t\t\"cedros-shop:add-to-cart\": {\n\t\t\tdisplayName: \"Add to cart\",\n\t\t\tdescription: \"Counts storefront cart additions so owners can identify product conversion interest.\"\n\t\t},\n\t\t\"cedros-shop:checkout-started\": {\n\t\t\tdisplayName: \"Checkout started\",\n\t\t\tdescription: \"Counts checkout attempts before Cedros Pay handoff so owners can monitor checkout intent.\"\n\t\t},\n\t\t\"cedros-shop:subscription-checkout-started\": {\n\t\t\tdisplayName: \"Subscription checkout started\",\n\t\t\tdescription: \"Counts subscription checkout attempts so owners can monitor subscription interest.\"\n\t\t},\n\t\t\"cedros-shop:cart-opened\": {\n\t\t\tdisplayName: \"Cart opened\",\n\t\t\tdescription: \"Counts cart drawer opens so owners can monitor shopping cart interest.\"\n\t\t},\n\t\t\"cedros-shop:admin-section-saved\": {\n\t\t\tdisplayName: \"Admin section saved\",\n\t\t\tdescription: \"Counts successful owner configuration saves by admin section.\"\n\t\t},\n\t\t\"cedros-shop:collection-viewed\": {\n\t\t\tdisplayName: \"Collection viewed\",\n\t\t\tdescription: \"Counts shop and category listing views so owners can see which collections draw traffic.\"\n\t\t},\n\t\t\"cedros-shop:catalog-searched\": {\n\t\t\tdisplayName: \"Catalog searched\",\n\t\t\tdescription: \"Counts catalog search, sort, and filter refinements so owners can see how visitors browse.\"\n\t\t},\n\t\t\"cedros-shop:quick-view-opened\": {\n\t\t\tdisplayName: \"Quick view opened\",\n\t\t\tdescription: \"Counts product quick-view opens from listing grids so owners can gauge product interest.\"\n\t\t},\n\t\t\"cedros-shop:cart-viewed\": {\n\t\t\tdisplayName: \"Cart viewed\",\n\t\t\tdescription: \"Counts cart page views so owners can monitor cart engagement before checkout.\"\n\t\t},\n\t\t\"cedros-shop:remove-from-cart\": {\n\t\t\tdisplayName: \"Remove from cart\",\n\t\t\tdescription: \"Counts cart line removals so owners can monitor cart drop-off.\"\n\t\t}\n\t},\n\tcapabilities: {\n\t\t[e]: {\n\t\t\tdisplayName: \"Storefront management\",\n\t\t\tdescription: \"Manage storefront settings, Markets controls, and layouts.\"\n\t\t},\n\t\t[ne]: {\n\t\t\tdisplayName: \"Commerce analytics\",\n\t\t\tdescription: \"Shows recent sales metrics and abandoned-checkout counts from Cedros analytics and Cedros Pay.\"\n\t\t},\n\t\t[p]: {\n\t\t\tdisplayName: \"Shop observability\",\n\t\t\tdescription: \"Records storefront setup status and configuration changes. No customer personal data is included.\"\n\t\t},\n\t\t\"cedros-shop:product-write\": {\n\t\t\tdisplayName: \"Merch physical product publication\",\n\t\t\tdescription: \"Merch physical product publication through an exact, host-attested extension service identity.\"\n\t\t},\n\t\t\"cedros-shop:paid-order-read\": {\n\t\t\tdisplayName: \"Merch paid order intake\",\n\t\t\tdescription: \"Merch paid order intake through an exact, host-attested extension service identity.\"\n\t\t},\n\t\t\"cedros-shop:fulfillment-write\": {\n\t\t\tdisplayName: \"Merch delivery confirmation\",\n\t\t\tdescription: \"Record delivery only for the exact purchased Merch line; preserves other order lines and payment/refund facts.\"\n\t\t}\n\t},\n\tproviderAccess: { [oe]: {\n\t\tdisplayName: \"Agentic commerce provider\",\n\t\tdescription: \"Not used in this version: Cedros Shop doesn't send requests to your AI provider. AI shopping channels use the declared agentic routes instead.\"\n\t} },\n\taiSkills: {\n\t\t[m]: {\n\t\t\tname: \"Agentic commerce\",\n\t\t\tdescription: \"Expose structured product cards and checkout handoff intent for AI shopping channels.\",\n\t\t\tdocsMarkdown: \"Use this skill when an authenticated host AI channel needs machine-readable product data or a buyer-safe checkout intent. Cedros Shop normalizes storefront-safe payloads only; Cedros Pay remains source of truth for catalog reads, quote, checkout, orders, discounts, shipping, tax, subscriptions, and payment execution.\"\n\t\t},\n\t\t[s]: {\n\t\t\tname: \"Storefront management\",\n\t\t\tdescription: \"Manage Shop presentation and launch settings through MCP.\",\n\t\t\tdocsMarkdown: \"Read cedros-shop:storefront-settings-read with {} before editing. Call cedros-shop:storefront-settings-update with expectedRevision from that read, a stable 8–128 character idempotencyKey, and a sparse config object. Manage visibility, shop copy, catalog controls, product/related layouts, checkout sign-in policy, subscription return path, inventory display, collections, bundles, and markets. Arrays replace their whole value: read and preserve unrelated entries. A stale revision fails without writing; re-read and reconcile, never retry with a new revision blindly. Replay identical material with the same key after an uncertain result; changed material needs a new key. Both operations require cedros-shop:storefront-manage; the generic executor confirmation is execute:<capabilityId>. Pay owns products, pricing, payment setup, shipping, tax, orders, subscriptions, and payment execution. Core page tools own the seeded CMS pages; do not invent buyer identity or treat these operator settings tools as buyer checkout.\"\n\t\t}\n\t},\n\taiCapabilities: {\n\t\t[f]: {\n\t\t\tname: \"Export agentic catalog cards\",\n\t\t\tdescription: \"Normalize storefront-safe product snapshots into structured product cards and schema.org Product data for AI channel discovery.\"\n\t\t},\n\t\t[re]: {\n\t\t\tname: \"Prepare agentic checkout intent\",\n\t\t\tdescription: \"Prepare a buyer-safe cart handoff intent for chat checkout without creating payment state or duplicating Cedros Pay quote/checkout policy.\"\n\t\t},\n\t\t[o]: {\n\t\t\tname: \"Read storefront settings\",\n\t\t\tdescription: \"Read all Shop-owned settings with current revision and ETag before editing.\"\n\t\t},\n\t\t[de]: {\n\t\t\tname: \"Update storefront settings\",\n\t\t\tdescription: \"Merge a sparse Shop settings patch using the last read revision and a stable idempotency key; arrays replace as a whole, stale writes fail, and Pay-owned policies stay in Pay.\"\n\t\t}\n\t},\n\tdatabaseAccess: { [c]: {\n\t\tdisplayName: \"Storefront settings database\",\n\t\tdescription: \"Reads and writes extension-owned storefront display, catalog, checkout, inventory, merchandising, and Markets settings.\"\n\t} }\n} }.en, Se = \"cedros-shop:storefront-pages\", I = {\n\tid: \"main\",\n\tlabel: \"Main\",\n\torder: 0\n}, Ce = [\n\t{\n\t\tid: \"cedros-shop:shop-page-template\",\n\t\tblockType: \"cedros-shop:shop-surface\",\n\t\torder: 10\n\t},\n\t{\n\t\tid: \"cedros-shop:category-page-template\",\n\t\tblockType: \"cedros-shop:category-surface\",\n\t\torder: 20\n\t},\n\t{\n\t\tid: \"cedros-shop:product-page-template\",\n\t\tblockType: \"cedros-shop:product-surface\",\n\t\torder: 30\n\t},\n\t{\n\t\tid: \"cedros-shop:cart-page-template\",\n\t\tblockType: \"cedros-shop:cart-surface\",\n\t\torder: 40\n\t},\n\t{\n\t\tid: \"cedros-shop:checkout-page-template\",\n\t\tblockType: \"cedros-shop:checkout-surface\",\n\t\torder: 50\n\t},\n\t{\n\t\tid: \"cedros-shop:account-page-template\",\n\t\tblockType: \"cedros-shop:account-surface\",\n\t\torder: 60\n\t},\n\t{\n\t\tid: \"cedros-shop:purchase-history-page-template\",\n\t\tblockType: \"cedros-shop:purchase-history-surface\",\n\t\torder: 70,\n\t\tprops: { requireSignedIn: !0 }\n\t},\n\t{\n\t\tid: \"cedros-shop:subscription-page-template\",\n\t\tblockType: \"cedros-shop:subscription-surface\",\n\t\torder: 80\n\t}\n];\nfunction we({ id: e, blockType: t, order: n, props: r = {} }) {\n\tlet i = F.contentTemplates[e];\n\treturn {\n\t\tid: e,\n\t\tdisplayName: i.displayName,\n\t\tdescription: i.description,\n\t\torder: n,\n\t\tcontentTypes: [\"page\"],\n\t\tsurfaceId: Se\n\t};\n}\nvar L = Ce.map((e) => ({\n\tmanifest: we(e),\n\tblock: {\n\t\ttype: e.blockType,\n\t\tzoneId: I.id,\n\t\tprops: e.props ?? {}\n\t}\n}));\nL.map(({ manifest: e }) => e);\n//#endregion\n//#region src/content/visual-builder.tsx\nvar Te = F, Ee = (e) => Te.contentBlocks[e].displayName;\nfunction R(e) {\n\treturn e.props ?? e;\n}\nfunction z({ children: e }) {\n\tlet t = w(), n = k(), r = x(), i = O();\n\tif (t) {\n\t\tlet t = N(n ? M : S, { children: e });\n\t\treturn r ? t : /* @__PURE__ */ N(E, { children: t });\n\t}\n\treturn /* @__PURE__ */ N(\"div\", {\n\t\tdir: i.direction,\n\t\tclassName: \"cedros-shop-public\",\n\t\trole: \"status\",\n\t\tchildren: /* @__PURE__ */ N(y, {\n\t\t\ttitle: i.t(\"storefront.shop.unavailableTitle\"),\n\t\t\tdescription: i.t(\"storefront.shop.unavailableDescription\")\n\t\t})\n\t});\n}\nfunction B({ fieldKey: e }) {\n\tlet { t } = O();\n\treturn /* @__PURE__ */ N(\"div\", {\n\t\tclassName: \"cedros-shop-public cedros-shop-public__state\",\n\t\trole: \"status\",\n\t\tchildren: t(\"storefront.builder.missingParam\", { field: t(e) })\n\t});\n}\nfunction De() {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(me, {}) });\n}\nfunction Oe(e) {\n\tlet t = R(e);\n\treturn t.categorySlug ? /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(be, { categorySlug: t.categorySlug }) }) : /* @__PURE__ */ N(B, { fieldKey: \"storefront.builder.field.category\" });\n}\nfunction ke(e) {\n\tlet t = R(e);\n\treturn t.productSlug ? /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(ye, { slug: t.productSlug }) }) : /* @__PURE__ */ N(B, { fieldKey: \"storefront.builder.field.product\" });\n}\nfunction Ae() {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(_e, {}) });\n}\nfunction je() {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(pe, {}) });\n}\nfunction Me() {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(ge, {}) });\n}\nfunction Ne(e) {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(ve, { requireSignedIn: R(e).requireSignedIn ?? !0 }) });\n}\nfunction Pe() {\n\treturn /* @__PURE__ */ N(z, { children: /* @__PURE__ */ N(xe, {}) });\n}\nvar Fe = \"commerce\", V = I;\nfunction H(e, t) {\n\treturn {\n\t\ttype: e,\n\t\tdisplayName: Ee(e),\n\t\tcategory: Fe,\n\t\tComponent: t\n\t};\n}\nfunction Ie({ manifest: e, block: t }) {\n\treturn {\n\t\t...e,\n\t\tlabel: e.displayName,\n\t\tzones: [V],\n\t\tblocks: [{\n\t\t\t...t,\n\t\t\tzoneId: V.id,\n\t\t\tprops: t.props ?? {}\n\t\t}]\n\t};\n}\nvar Le = [\n\tH(\"cedros-shop:shop-surface\", De),\n\tH(\"cedros-shop:category-surface\", Oe),\n\tH(\"cedros-shop:product-surface\", ke),\n\tH(\"cedros-shop:cart-surface\", Ae),\n\tH(\"cedros-shop:checkout-surface\", je),\n\tH(\"cedros-shop:account-surface\", Me),\n\tH(\"cedros-shop:purchase-history-surface\", Ne),\n\tH(\"cedros-shop:subscription-surface\", Pe)\n], Re = [...L.map(Ie)], U = \"/extensions/cedros-shop/storefront\", W = \"/extensions/cedros-pay\", ze = 2e3, G = class extends Error {\n\tconstructor(e) {\n\t\tsuper(`Storefront request failed (${e})`), this.status = e;\n\t}\n};\nfunction K(e) {\n\tif (!e || typeof e != \"object\" || Array.isArray(e)) throw Error(\"Invalid storefront response\");\n\treturn e;\n}\nasync function q(e, t, n) {\n\tlet r = await fetch(e, {\n\t\tmethod: t === void 0 ? \"GET\" : \"POST\",\n\t\tcredentials: \"same-origin\",\n\t\tcache: \"no-store\",\n\t\tredirect: \"error\",\n\t\tsignal: AbortSignal.timeout(3e4),\n\t\theaders: t === void 0 ? void 0 : {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t...n ? { \"Idempotency-Key\": n } : {}\n\t\t},\n\t\tbody: t === void 0 ? void 0 : JSON.stringify(t)\n\t});\n\tif (!r.ok || r.headers.get(\"content-type\")?.split(\";\")[0].trim() !== \"application/json\") throw await r.body?.cancel(), new G(r.status);\n\tif (!r.body) throw Error(\"Empty storefront response\");\n\tlet i = r.body.getReader(), a = new TextDecoder(), o = 0, s = \"\";\n\ttry {\n\t\tfor (;;) {\n\t\t\tlet e = await i.read();\n\t\t\tif (e.done) break;\n\t\t\tif (o += e.value.byteLength, o > 1024 * 1024) throw Error(\"Storefront response exceeds its size limit\");\n\t\t\ts += a.decode(e.value, { stream: !0 });\n\t\t}\n\t\treturn JSON.parse(s + a.decode());\n\t} finally {\n\t\ttry {\n\t\t\tawait i.cancel();\n\t\t} finally {\n\t\t\ti.releaseLock();\n\t\t}\n\t}\n}\nfunction J(e) {\n\treturn typeof e == \"string\" && e.trim() ? e : void 0;\n}\nfunction Y(e) {\n\treturn Array.isArray(e) ? e.filter((e) => typeof e == \"string\") : [];\n}\nfunction X(e) {\n\tlet t = e.availability ? K(e.availability) : {}, n = J(t.status) ?? J(e.inventoryStatus);\n\treturn {\n\t\tinventoryStatus: n === \"in_stock\" || n === \"low\" || n === \"out_of_stock\" || n === \"backorder\" ? n : void 0,\n\t\tinventoryQuantity: Number.isSafeInteger(t.availableQuantity) && Number(t.availableQuantity) >= 0 ? Number(t.availableQuantity) : void 0\n\t};\n}\nfunction Z(e) {\n\tlet t = K(e), n = K(t.price), r = J(t.id), i = J(t.title), a = J(t.slug), o = J(n.currency);\n\tif (!r || !i || !a || !/^[A-Z]{3}$/.test(o ?? \"\") || !Number.isSafeInteger(n.amountCents) || Number(n.amountCents) < 0) throw Error(\"Invalid catalog product\");\n\tlet s = t.fulfillment ? K(t.fulfillment) : {};\n\treturn {\n\t\tid: r,\n\t\ttitle: i,\n\t\tslug: a,\n\t\tdescription: J(t.description) ?? J(t.shortDescription) ?? \"\",\n\t\tprice: Number(n.amountCents) / 100,\n\t\tcurrency: o,\n\t\timages: Array.isArray(t.media) ? t.media.map((e) => {\n\t\t\tlet t = K(e), n = J(t.url);\n\t\t\tif (!n) throw Error(\"Invalid product image\");\n\t\t\treturn {\n\t\t\t\turl: n,\n\t\t\t\talt: J(t.alt)\n\t\t\t};\n\t\t}) : Y(t.imageUrls).map((e) => ({ url: e })),\n\t\ttags: Y(t.tags),\n\t\tcategoryIds: Y(t.categoryIds),\n\t\t...X(t),\n\t\tattributes: { featured: t.featured === !0 },\n\t\tshippingProfile: s.type === \"digital_download\" || s.type === \"service\" ? \"digital\" : \"physical\",\n\t\t...t.compareAtPrice && typeof t.compareAtPrice == \"object\" && K(t.compareAtPrice).currency === o && Number.isSafeInteger(K(t.compareAtPrice).amountCents) && Number(K(t.compareAtPrice).amountCents) >= 0 ? { compareAtPrice: Number(K(t.compareAtPrice).amountCents) / 100 } : {},\n\t\t...Array.isArray(t.variants) && t.variants.length ? { variants: t.variants.map((e, t) => {\n\t\t\tlet n = K(e), r = J(n.id);\n\t\t\tif (!r) throw Error(\"Invalid product variant\");\n\t\t\tlet a = n.price ? K(n.price) : null;\n\t\t\tif (a && (a.currency !== o || !Number.isSafeInteger(a.amountCents) || Number(a.amountCents) < 0)) throw Error(\"Invalid variant price\");\n\t\t\treturn {\n\t\t\t\tid: r,\n\t\t\t\ttitle: J(n.title) ?? `${Array.from(i).slice(0, 110).join(\"\")} ${t + 1}`,\n\t\t\t\toptions: {},\n\t\t\t\tprice: a ? Number(a.amountCents) / 100 : void 0,\n\t\t\t\t...X(n),\n\t\t\t\tsku: J(n.sku),\n\t\t\t\timages: Y(n.imageUrls).map((e) => ({ url: e }))\n\t\t\t};\n\t\t}) } : {}\n\t};\n}\nfunction Be(e, t) {\n\tlet n = t.filters ?? {}, r = e.categories.find((e) => e.id === t.category || e.slug === t.category)?.id ?? t.category, i = t.search?.trim().toLocaleLowerCase(), a = Y(n.tags), o = e.products.filter((e) => (!r || e.categoryIds.includes(r)) && (!i || `${e.title} ${e.description} ${e.tags.join(\" \")}`.toLocaleLowerCase().includes(i)) && a.every((t) => e.tags.includes(t)) && (typeof n.priceMin != \"number\" || e.price >= n.priceMin) && (typeof n.priceMax != \"number\" || e.price <= n.priceMax) && (n.inStock !== !0 || (e.variants?.length ? e.variants.some((e) => !b(e)) : !b(e))));\n\tt.sort === \"price_asc\" && o.sort((e, t) => e.price - t.price), t.sort === \"price_desc\" && o.sort((e, t) => t.price - e.price), t.sort === \"featured\" && o.sort((e, t) => Number(t.attributes?.featured === !0) - Number(e.attributes?.featured === !0));\n\tlet s = Math.max(1, Math.floor(t.page ?? 1)), c = Math.max(1, Math.min(100, Math.floor(t.pageSize ?? 24)));\n\treturn {\n\t\titems: o.slice((s - 1) * c, s * c),\n\t\tpage: s,\n\t\tpageSize: c,\n\t\ttotal: o.length,\n\t\thasNextPage: s * c < o.length\n\t};\n}\nfunction Ve() {\n\tlet e, t, n = async () => K(await q(`${U}/config`)), r = async () => {\n\t\tlet e = [], t = /* @__PURE__ */ new Set(), n = [], r;\n\t\tfor (let i = 0; i < ze; i += 100) {\n\t\t\tlet a = K(await q(`${U}/catalog?limit=100&offset=${i}`)), o = K(a.pagination), s = a.catalogRevision == null ? void 0 : J(K(a.catalogRevision).version);\n\t\t\tif (a.contract !== \"cedros-pay:product-read\" || a.contractVersion !== 2 || !Array.isArray(a.products) || !Array.isArray(a.categories) || typeof o.hasMore != \"boolean\" || o.limit !== 100 || o.offset !== i || o.count !== a.products.length || a.products.length > 100 || i > 0 && r !== s || o.hasMore && !a.products.length) throw Error(\"Invalid or changing product catalog\");\n\t\t\tr = s;\n\t\t\tfor (let n of a.products) {\n\t\t\t\tlet r = K(n);\n\t\t\t\tif (!J(r.slug) || r.price == null || r.productType === \"subscription\" || r.productType === \"capacityAddOn\") continue;\n\t\t\t\tlet i = Z(n);\n\t\t\t\tif (t.has(i.id)) throw Error(\"Duplicate catalog product\");\n\t\t\t\tt.add(i.id), e.push(i);\n\t\t\t}\n\t\t\tif (n = a.categories.flatMap((e) => {\n\t\t\t\tlet t = K(e), n = J(t.id), r = J(t.slug), i = J(t.title);\n\t\t\t\tif (!n) throw Error(\"Invalid catalog category\");\n\t\t\t\treturn r && i ? [{\n\t\t\t\t\tid: n,\n\t\t\t\t\tslug: r,\n\t\t\t\t\tname: i,\n\t\t\t\t\tdescription: J(t.description)\n\t\t\t\t}] : [];\n\t\t\t}), !o.hasMore) return {\n\t\t\t\tproducts: e,\n\t\t\t\tcategories: n\n\t\t\t};\n\t\t}\n\t\tthrow Error(\"Product catalog exceeds the installed storefront limit\");\n\t}, i = (t = !1) => {\n\t\tif (t || !e || e.expiresAt <= Date.now()) {\n\t\t\tlet t = {\n\t\t\t\tpromise: r(),\n\t\t\t\texpiresAt: Date.now() + 6e4\n\t\t\t};\n\t\t\te = t, t.promise.catch(() => {\n\t\t\t\te === t && (e = void 0);\n\t\t\t});\n\t\t}\n\t\treturn e.promise;\n\t}, a = {\n\t\tquote: async (e) => q(`${W}/checkout/quote`, e, e.idempotencyKey),\n\t\tcheckout: async (e) => q(`${W}/checkout`, e, e.idempotencyKey),\n\t\tstatus: async ({ operationId: e }) => q(`${W}/checkout/${encodeURIComponent(e)}`),\n\t\tresolve: async (e) => q(`${W}/checkout/resolve`, e),\n\t\tverifyReturn: async (e) => q(`${W}/checkout/return/verify`, e)\n\t}, o = {\n\t\tlistProducts: async (e) => Be(await i(), e),\n\t\tgetProductBySlug: async (e) => (await i()).products.find((t) => t.slug === e) ?? null,\n\t\tgetProductsByIds: async (e) => new Map((await i(!0)).products.filter((t) => e.includes(t.id)).map((e) => [e.id, e])),\n\t\tlistCategories: async () => (await i()).categories,\n\t\tgetOrderHistory: async () => {\n\t\t\tlet e = [];\n\t\t\tfor (let t = 0; t < 2e3; t += 100) {\n\t\t\t\tlet n = K(await q(`${W}/paywall/v1/purchases?limit=100&offset=${t}`));\n\t\t\t\tif (!Array.isArray(n.purchases) || n.purchases.length > 100) throw Error(\"Invalid purchase history\");\n\t\t\t\tfor (let t of n.purchases) {\n\t\t\t\t\tlet n = K(t), r = J(n.signature), i = J(n.paidAt), a = J(n.currency);\n\t\t\t\t\tif (!r || !i || !Number.isFinite(Date.parse(i)) || !a || !/^[A-Z]{3}$/.test(a) || n.status !== \"succeeded\" || !Number.isSafeInteger(n.amountCents) || Number(n.amountCents) < 0) throw Error(\"Invalid purchase record\");\n\t\t\t\t\te.push({\n\t\t\t\t\t\tid: r,\n\t\t\t\t\t\tcreatedAt: i,\n\t\t\t\t\t\tcurrency: a,\n\t\t\t\t\t\tstatus: \"paid\",\n\t\t\t\t\t\ttotal: Number(n.amountCents) / 100,\n\t\t\t\t\t\titems: []\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif (n.purchases.length < 100) return e;\n\t\t\t}\n\t\t\tthrow Error(\"Purchase history exceeds the installed storefront limit\");\n\t\t},\n\t\tgetStorefrontSettings: async () => {\n\t\t\tlet e = K((await n()).config);\n\t\t\treturn {\n\t\t\t\t...e,\n\t\t\t\tcheckout: {\n\t\t\t\t\t...e.checkout,\n\t\t\t\t\tguestCheckout: !1\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tgetPaymentMethodsConfig: async () => le((await n()).paymentMethods),\n\t\trequiresShippingOption: !0,\n\t\tsupportedPaymentMethodIds: [\"card\", \"stripe\"],\n\t\tcheckoutInputSupport: {\n\t\t\tbillingAddress: !1,\n\t\t\torderNotes: !1\n\t\t},\n\t\tcreateCheckoutQuote: async (e) => (await s()).createCheckoutQuote(e),\n\t\tcreateCheckoutSession: async (e) => (await s()).createCheckoutSession(e),\n\t\tresolveCheckoutReturn: async (e) => (await s()).resolveCheckoutReturn(e)\n\t}, s = () => (t || (t = q(`${W}/checkout/descriptor`).then((e) => {\n\t\tlet t = he(o, { checkout: {\n\t\t\tcapabilityId: \"cedros-pay:checkout\",\n\t\t\tclient: a,\n\t\t\tdescriptor: e\n\t\t} });\n\t\tif (!t.checkoutProviderScope) throw Error(\"Invalid Pay checkout descriptor\");\n\t\treturn {\n\t\t\t...t,\n\t\t\tsupportedPaymentMethodIds: o.supportedPaymentMethodIds\n\t\t};\n\t}), t.catch(() => {\n\t\tt = void 0;\n\t})), t);\n\treturn {\n\t\tadapter: o,\n\t\tsettings: n,\n\t\tcheckoutAdapter: s\n\t};\n}\n//#endregion\n//#region src/web/InstalledStorefrontProvider.tsx\nfunction He({ children: e, checkout: t = !1 }) {\n\treturn w() ? e : /* @__PURE__ */ N(Ue, {\n\t\tcheckout: t,\n\t\tchildren: e\n\t});\n}\nfunction Q() {\n\tlet { t: e } = O();\n\treturn /* @__PURE__ */ N(\"div\", {\n\t\tclassName: \"cedros-shop-public\",\n\t\trole: \"status\",\n\t\t\"aria-label\": e(\"common.loading\"),\n\t\t\"aria-busy\": \"true\",\n\t\tchildren: /* @__PURE__ */ P(\"div\", {\n\t\t\tclassName: \"mx-auto max-w-7xl px-4 py-6\",\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\tchildren: [\n\t\t\t\t/* @__PURE__ */ N(T, { className: \"h-11 w-full\" }),\n\t\t\t\t/* @__PURE__ */ N(T, { className: \"mt-6 h-8 w-48\" }),\n\t\t\t\t/* @__PURE__ */ N(\"div\", {\n\t\t\t\t\tclassName: \"mt-6 grid grid-cols-2 gap-4 md:grid-cols-3 lg:grid-cols-4\",\n\t\t\t\t\tchildren: Array.from({ length: 8 }, (e, t) => /* @__PURE__ */ N(T, { className: \"aspect-[4/5] rounded-2xl\" }, t))\n\t\t\t\t})\n\t\t\t]\n\t\t})\n\t});\n}\nfunction $({ checkout: e, onRetry: t }) {\n\tlet { t: n } = O();\n\treturn /* @__PURE__ */ N(\"div\", {\n\t\tclassName: \"cedros-shop-public mx-auto max-w-3xl px-4 py-8\",\n\t\trole: \"alert\",\n\t\tchildren: e ? /* @__PURE__ */ P(M, { children: [/* @__PURE__ */ N(y, {\n\t\t\theadingLevel: 1,\n\t\t\ttitle: n(\"storefront.checkout.loadUnavailable\"),\n\t\t\tdescription: n(\"storefront.error.load\"),\n\t\t\tactionLabel: n(\"common.retry\"),\n\t\t\tonAction: t\n\t\t}), /* @__PURE__ */ N(A, {})] }) : /* @__PURE__ */ N(D, {\n\t\t\tdescription: n(\"storefront.error.load\"),\n\t\t\tonRetry: t\n\t\t})\n\t});\n}\nfunction Ue({ children: e, checkout: t }) {\n\tlet [n, r] = j.useState(), [i, a] = j.useState(!1), [o, s] = j.useState(!0), [c, l] = j.useReducer((e) => e + 1, 0);\n\treturn j.useEffect(() => {\n\t\tlet e = !0, t = 0, n = async () => {\n\t\t\tlet n = ++t;\n\t\t\ts(!0);\n\t\t\ttry {\n\t\t\t\tlet i = K(K(await q(\"/extensions/cedros-login/public-auth/user\")).user);\n\t\t\t\tif (typeof i.id != \"string\" || !i.id) throw Error(\"Invalid buyer session\");\n\t\t\t\te && n === t && (r({\n\t\t\t\t\tid: i.id,\n\t\t\t\t\tisSignedIn: !0,\n\t\t\t\t\temail: typeof i.email == \"string\" ? i.email : void 0,\n\t\t\t\t\tname: typeof i.name == \"string\" ? i.name : void 0\n\t\t\t\t}), a(!1));\n\t\t\t} catch (i) {\n\t\t\t\tif (!e || n !== t) return;\n\t\t\t\ti instanceof G && i.status === 401 ? (r({ isSignedIn: !1 }), a(!1)) : (r(void 0), a(!0));\n\t\t\t} finally {\n\t\t\t\te && n === t && s(!1);\n\t\t\t}\n\t\t}, i = () => {\n\t\t\tt += 1, r({ isSignedIn: !1 }), a(!1), s(!1);\n\t\t}, o = typeof BroadcastChannel == \"function\" ? new BroadcastChannel(\"cedros_auth_sync\") : null;\n\t\treturn o && (o.onmessage = () => {\n\t\t\tn();\n\t\t}), n(), window.addEventListener(\"focus\", n), window.addEventListener(\"cedros-login:logout\", i), () => {\n\t\t\te = !1, o?.close(), window.removeEventListener(\"focus\", n), window.removeEventListener(\"cedros-login:logout\", i);\n\t\t};\n\t}, [c]), i ? /* @__PURE__ */ N($, {\n\t\tcheckout: t,\n\t\tonRetry: l\n\t}) : n ? /* @__PURE__ */ P(M, { children: [o ? /* @__PURE__ */ N(Q, {}) : null, /* @__PURE__ */ N(\"div\", {\n\t\thidden: o,\n\t\tinert: o,\n\t\tchildren: /* @__PURE__ */ N(We, {\n\t\t\tcustomer: n,\n\t\t\tcheckout: t,\n\t\t\tchildren: e\n\t\t}, n.id ?? \"anonymous\")\n\t})] }) : /* @__PURE__ */ N(Q, {});\n}\nfunction We({ customer: e, children: t, checkout: n }) {\n\tlet [r] = j.useState(Ve), [i, o] = j.useState(), [s, c] = j.useState(!1), [l, u] = j.useReducer((e) => e + 1, 0);\n\tj.useEffect(() => {\n\t\tlet t = !0, i = e.isSignedIn && n ? r.checkoutAdapter() : Promise.resolve(r.adapter);\n\t\treturn Promise.all([i, r.adapter.getStorefrontSettings()]).then(([e, n]) => {\n\t\t\tif (!t) return;\n\t\t\tif (!n) throw Error(\"Storefront settings are unavailable\");\n\t\t\tlet r = te(n).markets, i = r.markets.find((e) => e.id === r.defaultMarketId)?.currency;\n\t\t\tif (!i) throw Error(\"Storefront currency is unavailable\");\n\t\t\to({\n\t\t\t\tadapter: e,\n\t\t\t\tsettings: n,\n\t\t\t\tcurrency: i\n\t\t\t}), c(!1);\n\t\t}).catch(() => {\n\t\t\tt && c(!0);\n\t\t}), () => {\n\t\t\tt = !1;\n\t\t};\n\t}, [\n\t\tl,\n\t\tr,\n\t\te.isSignedIn,\n\t\tn\n\t]);\n\tlet d = ee(), f = n && typeof window < \"u\" ? window.location.pathname : \"/checkout\", p = j.useMemo(() => i ? {\n\t\tcurrency: i.currency,\n\t\tssr: { storefrontSettings: i.settings },\n\t\tdataScope: e.id ?? \"anonymous\",\n\t\tcustomer: e,\n\t\tadapter: i.adapter,\n\t\tcart: { guestDataScope: \"anonymous\" },\n\t\tsignInUrl: \"/login\",\n\t\tcheckout: {\n\t\t\tmode: \"full\",\n\t\t\trequireAccount: !0,\n\t\t\tguestCheckout: !1,\n\t\t\tattemptScope: e.id ?? \"anonymous\",\n\t\t\tsuccessUrl: a(d, f, \"success\"),\n\t\t\tcancelUrl: a(d, f, \"cancelled\")\n\t\t}\n\t} : void 0, [\n\t\ti,\n\t\te,\n\t\td,\n\t\tf\n\t]);\n\treturn s ? /* @__PURE__ */ N($, {\n\t\tcheckout: n,\n\t\tonRetry: u\n\t}) : p ? /* @__PURE__ */ N(C, {\n\t\tconfig: p,\n\t\tchildren: t\n\t}) : /* @__PURE__ */ N(Q, {});\n}\n//#endregion\n//#region src/web/register.ts\nse(\"cedros-shop-public-styles\", fe);\nvar Ge = {\n\tmanifest: i,\n\tcontentBlocks: Le.map((e) => ({\n\t\t...e,\n\t\tComponent: (t) => j.createElement(He, {\n\t\t\tcheckout: e.type === \"cedros-shop:checkout-surface\",\n\t\t\tchildren: j.createElement(e.Component, t)\n\t\t})\n\t})),\n\tcontentTemplates: Re\n};\nfunction Ke() {\n\treturn Ge;\n}\n//#endregion\nexport { Ke as registerCedrosWebSurface };\n","imports":[{"dynamic":false,"end":330,"specifier":"../styleInjection-D8xLNR6Q.js","start":301},{"dynamic":false,"end":474,"specifier":"../SubscriptionTemplate-JCKiForP.js","start":439},{"dynamic":false,"end":625,"specifier":"../useCurrentIdentity--397tFNA.js","start":592},{"dynamic":false,"end":683,"specifier":"../CheckoutRecovery-BeJzj45u.js","start":652},{"dynamic":false,"end":711,"specifier":"react","start":706},{"dynamic":false,"end":783,"specifier":"react/jsx-runtime","start":766}],"hasUnsupportedDynamicImports":false}]}