From 47ebd1ce6cc78ce852bb27d51d0cc2eb2d5f9592 Mon Sep 17 00:00:00 2001 From: Dorian Date: Tue, 26 May 2026 13:34:48 -0500 Subject: [PATCH] Polish Kaiserhacks modals --- ...w-dASKsAat.js => AboutPreview-CyLyQk2G.js} | 2 +- ...n-DV8OcPGp.js => AboutSection-BRQUOd7c.js} | 2 +- ...ep-BPpQD3_l.js => AccountStep-DjcwaxSn.js} | 2 +- ...-C3izaHy7.js => BadgesSection-DIUkDb4L.js} | 2 +- ...ard-BIBLvh4x.js => BundleCard-GFdKUaM1.js} | 2 +- ...QKOl_.js => BundleCardSection-wtbL1gRm.js} | 2 +- ...age-B9Vv-GD3.js => BundlePage-MAbXh4Gk.js} | 2 +- ...undles-A_4NtEnR.js => Bundles-C6mqXo0R.js} | 2 +- ...mIgysGfe.js => BundlesPreview-BF7Z65XU.js} | 2 +- ...CW4DgnRg.js => BundlesSection-ByTt2ygh.js} | 2 +- ...CTZ_LN1G.js => ButtonsSection-CdGg_Q2m.js} | 2 +- ...n-Q-GMwUK8.js => CardsSection-Dsf0JZoe.js} | 2 +- ...wer-B5-Oi-Om.js => CartDrawer-UHso3FZx.js} | 2 +- ...bdIfA.js => CartDrawerSection-DaTMQWqC.js} | 2 +- ...tStep-BaGSfCsg.js => CartStep-Dr3sNnNy.js} | 2 +- ...e-CTqN7IAM.js => CategoryPage-dY8Jtc6b.js} | 2 +- ...e-MODn--5l.js => CheckoutPage-gQ8ESL8i.js} | 2 +- ....js => CheckoutStepperSection-B4Lijrkz.js} | 2 +- ...Twr.js => CheckoutSuccessPage-BSHkZecJ.js} | 2 +- ...-Nyb0Mzxg.js => ColorsSection-BH8R9KQv.js} | 2 +- ...t-BxtiX08J.js => DesignLayout-YmLR4dlb.js} | 2 +- ...pp.js => ExpressCheckoutMount-BekeV0fR.js} | 2 +- ...{Footer-BgNIDT7a.js => Footer-BlfD57J5.js} | 2 +- ...-CH-bfKMG.js => FooterSection-D8N0oQVe.js} | 2 +- ...ew-BrZHaC52.js => HeroPreview-C5SXUt75.js} | 2 +- ...on-BqkAAn3F.js => HeroSection-BDqw88pG.js} | 2 +- ...ePage-BatJKUhc.js => HomePage-C7cew_5L.js} | 2 +- ...n-CfX4Rcgg.js => IconsSection-D2YXD83J.js} | 2 +- ...-Bz8hMnQN.js => InputsSection-B8Rcgemx.js} | 2 +- dist/assets/Kaiserhacks-DJxYTbsi.js | 1 + dist/assets/Kaiserhacks-DMjGIVx-.js | 1 - dist/assets/KaiserhacksPage-Csq0whaA.js | 1 - dist/assets/KaiserhacksPage-DOh6gZW7.js | 1 + dist/assets/KaiserhacksPreview-CGsOwokO.js | 1 - dist/assets/KaiserhacksPreview-CHZS_Ia3.js | 1 + ...AZt-.js => KaiserhacksSection-BB4Tufz7.js} | 2 +- ...XrjPbm.js => LanguageSwitcher-Dfvm4BMl.js} | 2 +- ...js => LanguageSwitcherSection-BYhx_eJX.js} | 2 +- ...Page-BEJryFtA.js => LegalPage-DMfu8IMu.js} | 2 +- ...Page-CQlcOL6m.js => LoginPage-CGqDHmrV.js} | 2 +- ...on-D9NDyEQx.js => LogoSection-CtOhD8Y0.js} | 2 +- ...-_NItCtuf.js => MotionSection-PUqKwaaw.js} | 2 +- ...{Navbar-DzWL8tVE.js => Navbar-Dseq5x1u.js} | 2 +- ...-CK8llyT9.js => NavbarPreview-Dz8iljtD.js} | 2 +- ...-B0NeBn4p.js => NavbarSection-DXF3tFGH.js} | 2 +- ...ep-BBha9ne4.js => PaymentStep-B3K7bRe1.js} | 2 +- ...rd-BvXBGP9m.js => ProductCard-BJ5lVXIo.js} | 2 +- ...ge-3lFXmIYV.js => ProductPage-DeHtMxbN.js} | 2 +- ...iUjG3e0.js => ProductsSection-U1ElpO-z.js} | 2 +- ....js => QuantityStepperSection-C0BJ5NaS.js} | 2 +- ...n-BglVUpbd.js => RadiiSection-aQlK-SHm.js} | 2 +- ...e-C09VxjZJ.js => RegisterPage-p91N15Bw.js} | 2 +- ...t.js => RevitalizationPreview-Bcxmlpur.js} | 2 +- ...I.js => RevitalizationSection-BvkPf9SU.js} | 2 +- ...{Search-CnYcszWN.js => Search-BE0Y2dtB.js} | 2 +- ...-C8kiN4rv.js => SearchSection-JnvndRS3.js} | 2 +- ...DluERjdS.js => ShadowsSection-vqR6U4DJ.js} | 2 +- ...p-n1KbM_LD.js => ShippingStep-BA9Ep8x3.js} | 2 +- ...pPage-xTvHI4TW.js => ShopPage-DEXZ9ZgG.js} | 2 +- ...A5Sdj.js => TypographySection-C0nPE_sq.js} | 2 +- .../{api-Dmuwbd_X.js => api-CJ2exAVU.js} | 2 +- dist/assets/i18n-BPHBAYJ6.js | 21 --------------- dist/assets/i18n-BvZbJICa.js | 21 +++++++++++++++ dist/assets/index-CLPVrKea.js | 2 ++ dist/assets/index-CXeO6J2r.css | 2 ++ dist/assets/index-DKQk9lTV.css | 2 -- dist/assets/index-g2BO-0SI.js | 2 -- dist/assets/kaiserhacks-B4r9oXf7.js | 1 + dist/assets/kaiserhacks-BdBDSw0q.js | 1 - ...js => runtime-dom.esm-bundler-Bg1uJ-W7.js} | 2 +- dist/index.html | 6 ++--- src/api/kaiserhacks.js | 13 ++++++++++ src/design-system/components/Kaiserhacks.vue | 23 +++++++++------- src/i18n/messages.js | 26 +++++++++++++++++++ src/pages/KaiserhacksPage.vue | 23 +++++++++++++--- .../design/previews/KaiserhacksPreview.vue | 1 + 76 files changed, 161 insertions(+), 101 deletions(-) rename dist/assets/{AboutPreview-dASKsAat.js => AboutPreview-CyLyQk2G.js} (89%) rename dist/assets/{AboutSection-DV8OcPGp.js => AboutSection-BRQUOd7c.js} (96%) rename dist/assets/{AccountStep-BPpQD3_l.js => AccountStep-DjcwaxSn.js} (94%) rename dist/assets/{BadgesSection-C3izaHy7.js => BadgesSection-DIUkDb4L.js} (96%) rename dist/assets/{BundleCard-BIBLvh4x.js => BundleCard-GFdKUaM1.js} (98%) rename dist/assets/{BundleCardSection-DVTQKOl_.js => BundleCardSection-wtbL1gRm.js} (96%) rename dist/assets/{BundlePage-B9Vv-GD3.js => BundlePage-MAbXh4Gk.js} (96%) rename dist/assets/{Bundles-A_4NtEnR.js => Bundles-C6mqXo0R.js} (98%) rename dist/assets/{BundlesPreview-mIgysGfe.js => BundlesPreview-BF7Z65XU.js} (92%) rename dist/assets/{BundlesSection-CW4DgnRg.js => BundlesSection-ByTt2ygh.js} (98%) rename dist/assets/{ButtonsSection-CTZ_LN1G.js => ButtonsSection-CdGg_Q2m.js} (98%) rename dist/assets/{CardsSection-Q-GMwUK8.js => CardsSection-Dsf0JZoe.js} (97%) rename dist/assets/{CartDrawer-B5-Oi-Om.js => CartDrawer-UHso3FZx.js} (96%) rename dist/assets/{CartDrawerSection-fjVbdIfA.js => CartDrawerSection-DaTMQWqC.js} (90%) rename dist/assets/{CartStep-BaGSfCsg.js => CartStep-Dr3sNnNy.js} (97%) rename dist/assets/{CategoryPage-CTqN7IAM.js => CategoryPage-dY8Jtc6b.js} (93%) rename dist/assets/{CheckoutPage-MODn--5l.js => CheckoutPage-gQ8ESL8i.js} (97%) rename dist/assets/{CheckoutStepperSection-DWn5pLLU.js => CheckoutStepperSection-B4Lijrkz.js} (97%) rename dist/assets/{CheckoutSuccessPage-DlyEFTwr.js => CheckoutSuccessPage-BSHkZecJ.js} (95%) rename dist/assets/{ColorsSection-Nyb0Mzxg.js => ColorsSection-BH8R9KQv.js} (95%) rename dist/assets/{DesignLayout-BxtiX08J.js => DesignLayout-YmLR4dlb.js} (96%) rename dist/assets/{ExpressCheckoutMount-BtelKqpp.js => ExpressCheckoutMount-BekeV0fR.js} (98%) rename dist/assets/{Footer-BgNIDT7a.js => Footer-BlfD57J5.js} (97%) rename dist/assets/{FooterSection-CH-bfKMG.js => FooterSection-D8N0oQVe.js} (95%) rename dist/assets/{HeroPreview-BrZHaC52.js => HeroPreview-C5SXUt75.js} (96%) rename dist/assets/{HeroSection-BqkAAn3F.js => HeroSection-BDqw88pG.js} (95%) rename dist/assets/{HomePage-BatJKUhc.js => HomePage-C7cew_5L.js} (99%) rename dist/assets/{IconsSection-CfX4Rcgg.js => IconsSection-D2YXD83J.js} (97%) rename dist/assets/{InputsSection-Bz8hMnQN.js => InputsSection-B8Rcgemx.js} (96%) create mode 100644 dist/assets/Kaiserhacks-DJxYTbsi.js delete mode 100644 dist/assets/Kaiserhacks-DMjGIVx-.js delete mode 100644 dist/assets/KaiserhacksPage-Csq0whaA.js create mode 100644 dist/assets/KaiserhacksPage-DOh6gZW7.js delete mode 100644 dist/assets/KaiserhacksPreview-CGsOwokO.js create mode 100644 dist/assets/KaiserhacksPreview-CHZS_Ia3.js rename dist/assets/{KaiserhacksSection-D94HAZt-.js => KaiserhacksSection-BB4Tufz7.js} (94%) rename dist/assets/{LanguageSwitcher-D_XrjPbm.js => LanguageSwitcher-Dfvm4BMl.js} (95%) rename dist/assets/{LanguageSwitcherSection-CWZ9eQva.js => LanguageSwitcherSection-BYhx_eJX.js} (96%) rename dist/assets/{LegalPage-BEJryFtA.js => LegalPage-DMfu8IMu.js} (92%) rename dist/assets/{LoginPage-CQlcOL6m.js => LoginPage-CGqDHmrV.js} (90%) rename dist/assets/{LogoSection-D9NDyEQx.js => LogoSection-CtOhD8Y0.js} (97%) rename dist/assets/{MotionSection-_NItCtuf.js => MotionSection-PUqKwaaw.js} (98%) rename dist/assets/{Navbar-DzWL8tVE.js => Navbar-Dseq5x1u.js} (96%) rename dist/assets/{NavbarPreview-CK8llyT9.js => NavbarPreview-Dz8iljtD.js} (91%) rename dist/assets/{NavbarSection-B0NeBn4p.js => NavbarSection-DXF3tFGH.js} (95%) rename dist/assets/{PaymentStep-BBha9ne4.js => PaymentStep-B3K7bRe1.js} (97%) rename dist/assets/{ProductCard-BvXBGP9m.js => ProductCard-BJ5lVXIo.js} (98%) rename dist/assets/{ProductPage-3lFXmIYV.js => ProductPage-DeHtMxbN.js} (98%) rename dist/assets/{ProductsSection-DiUjG3e0.js => ProductsSection-U1ElpO-z.js} (94%) rename dist/assets/{QuantityStepperSection-1hvWle7w.js => QuantityStepperSection-C0BJ5NaS.js} (97%) rename dist/assets/{RadiiSection-BglVUpbd.js => RadiiSection-aQlK-SHm.js} (93%) rename dist/assets/{RegisterPage-C09VxjZJ.js => RegisterPage-p91N15Bw.js} (91%) rename dist/assets/{RevitalizationPreview-B8ldjtyt.js => RevitalizationPreview-Bcxmlpur.js} (91%) rename dist/assets/{RevitalizationSection-B1wUCqCI.js => RevitalizationSection-BvkPf9SU.js} (94%) rename dist/assets/{Search-CnYcszWN.js => Search-BE0Y2dtB.js} (97%) rename dist/assets/{SearchSection-C8kiN4rv.js => SearchSection-JnvndRS3.js} (97%) rename dist/assets/{ShadowsSection-DluERjdS.js => ShadowsSection-vqR6U4DJ.js} (93%) rename dist/assets/{ShippingStep-n1KbM_LD.js => ShippingStep-BA9Ep8x3.js} (97%) rename dist/assets/{ShopPage-xTvHI4TW.js => ShopPage-DEXZ9ZgG.js} (94%) rename dist/assets/{TypographySection-CglA5Sdj.js => TypographySection-C0nPE_sq.js} (96%) rename dist/assets/{api-Dmuwbd_X.js => api-CJ2exAVU.js} (98%) delete mode 100644 dist/assets/i18n-BPHBAYJ6.js create mode 100644 dist/assets/i18n-BvZbJICa.js create mode 100644 dist/assets/index-CLPVrKea.js create mode 100644 dist/assets/index-CXeO6J2r.css delete mode 100644 dist/assets/index-DKQk9lTV.css delete mode 100644 dist/assets/index-g2BO-0SI.js create mode 100644 dist/assets/kaiserhacks-B4r9oXf7.js delete mode 100644 dist/assets/kaiserhacks-BdBDSw0q.js rename dist/assets/{runtime-dom.esm-bundler-CXLmyuFK.js => runtime-dom.esm-bundler-Bg1uJ-W7.js} (92%) diff --git a/dist/assets/AboutPreview-dASKsAat.js b/dist/assets/AboutPreview-CyLyQk2G.js similarity index 89% rename from dist/assets/AboutPreview-dASKsAat.js rename to dist/assets/AboutPreview-CyLyQk2G.js index a56d220..b29abb9 100644 --- a/dist/assets/AboutPreview-dASKsAat.js +++ b/dist/assets/AboutPreview-CyLyQk2G.js @@ -1 +1 @@ -import{C as e,G as t,m as n,o as r,u as i}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as a}from"./i18n-BPHBAYJ6.js";import{t as o}from"./About-UkOVPBlU.js";var s={class:`min-h-screen bg-cream`},c={__name:`AboutPreview`,setup(c){let{t:l}=a(),u=r(()=>[1,2,3].map(e=>({year:l(`about.milestone.${e}.year`),title:l(`about.milestone.${e}.title`),text:l(`about.milestone.${e}.text`)})));return(r,a)=>(e(),i(`div`,s,[n(o,{eyebrow:t(l)(`about.eyebrow`),headline:t(l)(`about.headline`),sub:t(l)(`about.sub`),milestones:u.value},null,8,[`eyebrow`,`headline`,`sub`,`milestones`])]))}};export{c as default}; \ No newline at end of file +import{C as e,G as t,m as n,o as r,u as i}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as a}from"./i18n-BvZbJICa.js";import{t as o}from"./About-UkOVPBlU.js";var s={class:`min-h-screen bg-cream`},c={__name:`AboutPreview`,setup(c){let{t:l}=a(),u=r(()=>[1,2,3].map(e=>({year:l(`about.milestone.${e}.year`),title:l(`about.milestone.${e}.title`),text:l(`about.milestone.${e}.text`)})));return(r,a)=>(e(),i(`div`,s,[n(o,{eyebrow:t(l)(`about.eyebrow`),headline:t(l)(`about.headline`),sub:t(l)(`about.sub`),milestones:u.value},null,8,[`eyebrow`,`headline`,`sub`,`milestones`])]))}};export{c as default}; \ No newline at end of file diff --git a/dist/assets/AboutSection-DV8OcPGp.js b/dist/assets/AboutSection-BRQUOd7c.js similarity index 96% rename from dist/assets/AboutSection-DV8OcPGp.js rename to dist/assets/AboutSection-BRQUOd7c.js index 20201ab..909f878 100644 --- a/dist/assets/AboutSection-DV8OcPGp.js +++ b/dist/assets/AboutSection-BRQUOd7c.js @@ -1,4 +1,4 @@ -import{C as e,G as t,c as n,ft as r,j as i,m as a,p as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BPHBAYJ6.js";import{t as l}from"./SectionShell-XUVs_07L.js";import{t as u}from"./DevicePreview-CxF-mErd.js";var d={class:`eyebrow mb-5`},f=`/design/preview/about`,p={__name:`AboutSection`,setup(p){let{t:m}=c();return(c,p)=>(e(),n(l,{eyebrow:t(m)(`ds.eyebrow.components`),title:t(m)(`ds.about.title`),description:t(m)(`ds.about.description`),wide:``},{default:i(()=>[s(`section`,null,[a(u,{src:f,initial:`desktop`,height:820})]),s(`section`,null,[s(`h2`,d,r(t(m)(`ds.heading.usage`)),1),p[0]||=s(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[s(`pre`,{class:`whitespace-pre-wrap`},`(e(),n(l,{eyebrow:t(m)(`ds.eyebrow.components`),title:t(m)(`ds.about.title`),description:t(m)(`ds.about.description`),wide:``},{default:i(()=>[s(`section`,null,[a(u,{src:f,initial:`desktop`,height:820})]),s(`section`,null,[s(`h2`,d,r(t(m)(`ds.heading.usage`)),1),p[0]||=s(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[s(`pre`,{class:`whitespace-pre-wrap`},`V.accountMode===`guest`),J=d(()=>V.accountMode===`signin`),Y=d(()=>V.accountMode===`register`),X=d(()=>!Y.value||V.password===V.passwordConfirm),Z=d(()=>V.email?q.value?!1:!!(!V.password||V.password.length<8||Y.value&&!X.value):!0);async function Q(){W.value=``,U.value=!0;try{J.value?await b({email:V.email,password:V.password}):Y.value&&await x({email:V.email,password:V.password,firstName:V.firstName,lastName:V.lastName,acceptsMarketing:V.acceptsMarketing}),V.persist(),H.push(`/checkout/shipping`)}catch(e){W.value=e?.message||B(`checkout.error.generic`)}finally{U.value=!1}}return i(async()=>{let e=await S();e?.user?.email&&!V.email&&V.update({email:e.user.email})}),(e,i)=>{let d=n(`RouterLink`);return t(),h(p,null,[m(`section`,E,[m(`div`,{role:`tablist`,"aria-label":r(B)(`checkout.account.tabsLabel`),class:`flex w-full rounded-pill border border-line bg-paper p-1`},[(t(),h(p,null,a(G,e=>m(`button`,{key:e.key,role:`tab`,type:`button`,"aria-selected":r(V).accountMode===e.key,class:g([`flex-1 px-4 py-2 rounded-pill text-[13px] font-semibold tracking-label transition-colors duration-base text-center`,r(V).accountMode===e.key?`bg-brand text-cream`:`text-brand hover:bg-cream`]),onClick:t=>K(e.key)},s(r(B)(e.label)),11,O)),64))],8,D),m(`form`,{class:`flex flex-col gap-5 md:min-h-[28rem]`,novalidate:``,onSubmit:_(Q,[`prevent`])},[u(T,{"model-value":r(V).email,label:r(B)(`checkout.field.email`),type:`email`,required:``,placeholder:r(B)(`checkout.placeholder.email`),hint:q.value?r(B)(`checkout.hint.email`):``,"onUpdate:modelValue":i[0]||=e=>r(V).update({email:e})},null,8,[`model-value`,`label`,`placeholder`,`hint`]),Y.value?(t(),h(`div`,k,[u(T,{"model-value":r(V).firstName,label:r(B)(`checkout.field.firstName`),"onUpdate:modelValue":i[1]||=e=>r(V).update({firstName:e})},null,8,[`model-value`,`label`]),u(T,{"model-value":r(V).lastName,label:r(B)(`checkout.field.lastName`),"onUpdate:modelValue":i[2]||=e=>r(V).update({lastName:e})},null,8,[`model-value`,`label`])])):l(``,!0),J.value||Y.value?(t(),o(T,{key:1,"model-value":r(V).password,label:r(B)(`checkout.field.password`),type:`password`,required:``,hint:Y.value?r(B)(`checkout.hint.password`):``,"onUpdate:modelValue":i[3]||=e=>r(V).update({password:e})},null,8,[`model-value`,`label`,`hint`])):l(``,!0),Y.value?(t(),o(T,{key:2,"model-value":r(V).passwordConfirm,label:r(B)(`checkout.field.passwordConfirm`),type:`password`,required:``,error:X.value?``:r(B)(`checkout.error.passwordMismatch`),"onUpdate:modelValue":i[4]||=e=>r(V).update({passwordConfirm:e})},null,8,[`model-value`,`label`,`error`])):l(``,!0),q.value||Y.value?(t(),h(`label`,A,[m(`input`,{checked:r(V).acceptsMarketing,type:`checkbox`,class:`w-5 h-5 rounded-xs border border-line accent-brand`,onChange:i[5]||=e=>r(V).update({acceptsMarketing:e.target.checked})},null,40,j),m(`span`,M,s(r(B)(`checkout.field.marketing`)),1)])):l(``,!0),W.value?(t(),h(`p`,N,s(W.value),1)):l(``,!0),J.value?(t(),h(`p`,P,[m(`a`,F,s(r(B)(`checkout.account.forgot`)),1)])):l(``,!0)],32)]),m(`footer`,I,[m(`div`,L,[u(d,{to:`/checkout/cart`,class:`flex-1 sm:flex-initial`},{default:c(()=>[u(C,{variant:`primary`,size:`lg`,block:``,type:`button`},{default:c(()=>[f(s(r(B)(`checkout.back`)),1)]),_:1})]),_:1}),m(`div`,R,[u(C,{variant:`accent`,size:`lg`,block:``,loading:U.value,disabled:Z.value,onClick:Q},{default:c(()=>[f(s(r(B)(`checkout.account.cta.continue`)),1)]),_:1},8,[`loading`,`disabled`])])])])],64)}}};export{z as default}; \ No newline at end of file +import{B as e,C as t,D as n,G as r,S as i,T as a,c as o,ft as s,j as c,l,m as u,o as d,p as f,r as p,s as m,u as h,ut as g}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{c as _}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{o as v}from"./vue-router-Cyqru1db.js";import{t as y}from"./i18n-BvZbJICa.js";import{i as b,n as x,t as S}from"./api-CJ2exAVU.js";import{t as C}from"./Button-JT3QbcL8.js";import{t as w}from"./checkout-DTEUVxo-.js";import{t as T}from"./Input-RN3gn2df.js";var E={class:`flex flex-col gap-6`},D=[`aria-label`],O=[`aria-selected`,`onClick`],k={key:0,class:`grid gap-5 md:grid-cols-2`},A={key:3,class:`inline-flex items-center gap-3 cursor-pointer select-none`},j=[`checked`],M={class:`text-sm text-ink`},N={key:4,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},P={key:5,class:`text-[13px] text-muted`},F={href:`/account/reset-password`,class:`text-brand hover:underline`},I={class:`fixed inset-x-0 bottom-0 z-30 bg-cream border-t border-line`,role:`contentinfo`},L={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 py-3 flex gap-3 sm:justify-between`,style:{paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`}},R={class:`flex-1 sm:flex-initial`},z={__name:`AccountStep`,setup(z){let{t:B}=y(),V=w(),H=v(),U=e(!1),W=e(``),G=[{key:`guest`,label:`checkout.account.tab.guest`},{key:`signin`,label:`checkout.account.tab.signin`},{key:`register`,label:`checkout.account.tab.register`}];function K(e){W.value=``,V.setAccountMode(e)}let q=d(()=>V.accountMode===`guest`),J=d(()=>V.accountMode===`signin`),Y=d(()=>V.accountMode===`register`),X=d(()=>!Y.value||V.password===V.passwordConfirm),Z=d(()=>V.email?q.value?!1:!!(!V.password||V.password.length<8||Y.value&&!X.value):!0);async function Q(){W.value=``,U.value=!0;try{J.value?await b({email:V.email,password:V.password}):Y.value&&await x({email:V.email,password:V.password,firstName:V.firstName,lastName:V.lastName,acceptsMarketing:V.acceptsMarketing}),V.persist(),H.push(`/checkout/shipping`)}catch(e){W.value=e?.message||B(`checkout.error.generic`)}finally{U.value=!1}}return i(async()=>{let e=await S();e?.user?.email&&!V.email&&V.update({email:e.user.email})}),(e,i)=>{let d=n(`RouterLink`);return t(),h(p,null,[m(`section`,E,[m(`div`,{role:`tablist`,"aria-label":r(B)(`checkout.account.tabsLabel`),class:`flex w-full rounded-pill border border-line bg-paper p-1`},[(t(),h(p,null,a(G,e=>m(`button`,{key:e.key,role:`tab`,type:`button`,"aria-selected":r(V).accountMode===e.key,class:g([`flex-1 px-4 py-2 rounded-pill text-[13px] font-semibold tracking-label transition-colors duration-base text-center`,r(V).accountMode===e.key?`bg-brand text-cream`:`text-brand hover:bg-cream`]),onClick:t=>K(e.key)},s(r(B)(e.label)),11,O)),64))],8,D),m(`form`,{class:`flex flex-col gap-5 md:min-h-[28rem]`,novalidate:``,onSubmit:_(Q,[`prevent`])},[u(T,{"model-value":r(V).email,label:r(B)(`checkout.field.email`),type:`email`,required:``,placeholder:r(B)(`checkout.placeholder.email`),hint:q.value?r(B)(`checkout.hint.email`):``,"onUpdate:modelValue":i[0]||=e=>r(V).update({email:e})},null,8,[`model-value`,`label`,`placeholder`,`hint`]),Y.value?(t(),h(`div`,k,[u(T,{"model-value":r(V).firstName,label:r(B)(`checkout.field.firstName`),"onUpdate:modelValue":i[1]||=e=>r(V).update({firstName:e})},null,8,[`model-value`,`label`]),u(T,{"model-value":r(V).lastName,label:r(B)(`checkout.field.lastName`),"onUpdate:modelValue":i[2]||=e=>r(V).update({lastName:e})},null,8,[`model-value`,`label`])])):l(``,!0),J.value||Y.value?(t(),o(T,{key:1,"model-value":r(V).password,label:r(B)(`checkout.field.password`),type:`password`,required:``,hint:Y.value?r(B)(`checkout.hint.password`):``,"onUpdate:modelValue":i[3]||=e=>r(V).update({password:e})},null,8,[`model-value`,`label`,`hint`])):l(``,!0),Y.value?(t(),o(T,{key:2,"model-value":r(V).passwordConfirm,label:r(B)(`checkout.field.passwordConfirm`),type:`password`,required:``,error:X.value?``:r(B)(`checkout.error.passwordMismatch`),"onUpdate:modelValue":i[4]||=e=>r(V).update({passwordConfirm:e})},null,8,[`model-value`,`label`,`error`])):l(``,!0),q.value||Y.value?(t(),h(`label`,A,[m(`input`,{checked:r(V).acceptsMarketing,type:`checkbox`,class:`w-5 h-5 rounded-xs border border-line accent-brand`,onChange:i[5]||=e=>r(V).update({acceptsMarketing:e.target.checked})},null,40,j),m(`span`,M,s(r(B)(`checkout.field.marketing`)),1)])):l(``,!0),W.value?(t(),h(`p`,N,s(W.value),1)):l(``,!0),J.value?(t(),h(`p`,P,[m(`a`,F,s(r(B)(`checkout.account.forgot`)),1)])):l(``,!0)],32)]),m(`footer`,I,[m(`div`,L,[u(d,{to:`/checkout/cart`,class:`flex-1 sm:flex-initial`},{default:c(()=>[u(C,{variant:`primary`,size:`lg`,block:``,type:`button`},{default:c(()=>[f(s(r(B)(`checkout.back`)),1)]),_:1})]),_:1}),m(`div`,R,[u(C,{variant:`accent`,size:`lg`,block:``,loading:U.value,disabled:Z.value,onClick:Q},{default:c(()=>[f(s(r(B)(`checkout.account.cta.continue`)),1)]),_:1},8,[`loading`,`disabled`])])])])],64)}}};export{z as default}; \ No newline at end of file diff --git a/dist/assets/BadgesSection-C3izaHy7.js b/dist/assets/BadgesSection-DIUkDb4L.js similarity index 96% rename from dist/assets/BadgesSection-C3izaHy7.js rename to dist/assets/BadgesSection-DIUkDb4L.js index bf4bff7..ee00d4f 100644 --- a/dist/assets/BadgesSection-C3izaHy7.js +++ b/dist/assets/BadgesSection-DIUkDb4L.js @@ -1 +1 @@ -import{C as e,G as t,c as n,ft as r,j as i,m as a,p as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BPHBAYJ6.js";import{t as l}from"./Badge-DiccZCC_.js";import{t as u}from"./SectionShell-XUVs_07L.js";import{t as d}from"./Card-CPlQ-6EI.js";var f={class:`eyebrow mb-5`},p={class:`flex flex-wrap gap-3`},m={class:`eyebrow mb-5`},h={class:`flex flex-wrap gap-3`},g={__name:`BadgesSection`,setup(g){let{t:_}=c();return(c,g)=>(e(),n(u,{eyebrow:t(_)(`ds.eyebrow.components`),title:t(_)(`ds.badges.title`),description:t(_)(`ds.badges.description`)},{default:i(()=>[s(`section`,null,[s(`h2`,f,r(t(_)(`ds.heading.variants`)),1),a(d,{tone:`paper`},{default:i(()=>[s(`div`,p,[a(l,{variant:`neutral`},{default:i(()=>[o(r(t(_)(`ds.badges.neutral`)),1)]),_:1}),a(l,{variant:`brand`},{default:i(()=>[o(r(t(_)(`ds.badges.brand`)),1)]),_:1}),a(l,{variant:`accent`},{default:i(()=>[o(r(t(_)(`ds.badges.accent`)),1)]),_:1}),a(l,{variant:`subtle`},{default:i(()=>[o(r(t(_)(`ds.badges.subtle`)),1)]),_:1}),a(l,{variant:`success`},{default:i(()=>[o(r(t(_)(`ds.badges.success`)),1)]),_:1}),a(l,{variant:`warning`},{default:i(()=>[o(r(t(_)(`ds.badges.warning`)),1)]),_:1}),a(l,{variant:`danger`},{default:i(()=>[o(r(t(_)(`ds.badges.danger`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,m,r(t(_)(`ds.heading.nonUppercase`)),1),a(d,{tone:`paper`},{default:i(()=>[s(`div`,h,[a(l,{variant:`brand`,uppercase:!1},{default:i(()=>[o(r(t(_)(`ds.badges.newRelease`)),1)]),_:1}),a(l,{variant:`accent`,uppercase:!1},{default:i(()=>[o(r(t(_)(`ds.badges.featured`)),1)]),_:1}),a(l,{variant:`subtle`,uppercase:!1},{default:i(()=>[...g[0]||=[o(`v2.1.0`,-1)]]),_:1})])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default}; \ No newline at end of file +import{C as e,G as t,c as n,ft as r,j as i,m as a,p as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BvZbJICa.js";import{t as l}from"./Badge-DiccZCC_.js";import{t as u}from"./SectionShell-XUVs_07L.js";import{t as d}from"./Card-CPlQ-6EI.js";var f={class:`eyebrow mb-5`},p={class:`flex flex-wrap gap-3`},m={class:`eyebrow mb-5`},h={class:`flex flex-wrap gap-3`},g={__name:`BadgesSection`,setup(g){let{t:_}=c();return(c,g)=>(e(),n(u,{eyebrow:t(_)(`ds.eyebrow.components`),title:t(_)(`ds.badges.title`),description:t(_)(`ds.badges.description`)},{default:i(()=>[s(`section`,null,[s(`h2`,f,r(t(_)(`ds.heading.variants`)),1),a(d,{tone:`paper`},{default:i(()=>[s(`div`,p,[a(l,{variant:`neutral`},{default:i(()=>[o(r(t(_)(`ds.badges.neutral`)),1)]),_:1}),a(l,{variant:`brand`},{default:i(()=>[o(r(t(_)(`ds.badges.brand`)),1)]),_:1}),a(l,{variant:`accent`},{default:i(()=>[o(r(t(_)(`ds.badges.accent`)),1)]),_:1}),a(l,{variant:`subtle`},{default:i(()=>[o(r(t(_)(`ds.badges.subtle`)),1)]),_:1}),a(l,{variant:`success`},{default:i(()=>[o(r(t(_)(`ds.badges.success`)),1)]),_:1}),a(l,{variant:`warning`},{default:i(()=>[o(r(t(_)(`ds.badges.warning`)),1)]),_:1}),a(l,{variant:`danger`},{default:i(()=>[o(r(t(_)(`ds.badges.danger`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,m,r(t(_)(`ds.heading.nonUppercase`)),1),a(d,{tone:`paper`},{default:i(()=>[s(`div`,h,[a(l,{variant:`brand`,uppercase:!1},{default:i(()=>[o(r(t(_)(`ds.badges.newRelease`)),1)]),_:1}),a(l,{variant:`accent`,uppercase:!1},{default:i(()=>[o(r(t(_)(`ds.badges.featured`)),1)]),_:1}),a(l,{variant:`subtle`,uppercase:!1},{default:i(()=>[...g[0]||=[o(`v2.1.0`,-1)]]),_:1})])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default}; \ No newline at end of file diff --git a/dist/assets/BundleCard-BIBLvh4x.js b/dist/assets/BundleCard-GFdKUaM1.js similarity index 98% rename from dist/assets/BundleCard-BIBLvh4x.js rename to dist/assets/BundleCard-GFdKUaM1.js index d58a9b8..4503e63 100644 --- a/dist/assets/BundleCard-BIBLvh4x.js +++ b/dist/assets/BundleCard-GFdKUaM1.js @@ -1 +1 @@ -import{C as e,G as t,O as n,T as r,c as i,ft as a,j as o,l as s,m as c,o as l,p as u,r as d,s as f,u as p,ut as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./vue-router-Cyqru1db.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./i18n-BPHBAYJ6.js";import{t as v}from"./Badge-DiccZCC_.js";import{t as y}from"./Button-JT3QbcL8.js";var b=[`src`,`alt`],x=[`src`,`alt`],S={class:`flex flex-col gap-1.5`},C={key:0,class:`text-xs font-semibold tracking-label text-muted uppercase`},w={class:`flex flex-col gap-1.5`},T={key:0,class:`text-sm text-muted tracking-label`},E={class:`flex flex-col gap-0.5`},D={class:`text-xs tracking-label text-muted uppercase`},O={class:`font-display text-2xl font-normal text-brand leading-none`},k={key:0,class:`text-xs text-muted mt-1`},A={key:1,class:`text-xs font-semibold tracking-label uppercase text-danger mt-1`},j=3,M={__name:`BundleCard`,props:{name:{type:String,required:!0},items:{type:Array,required:!0},price:{type:Number,required:!0},memberPrice:{type:Number,default:null},usage:{type:String,default:``},image:{type:String,required:!0},imageAlt:{type:String,default:``},badge:{type:String,default:``},badgeVariant:{type:String,default:`accent`,validator:e=>[`neutral`,`brand`,`accent`,`subtle`,`success`,`warning`,`danger`].includes(e)},tone:{type:String,default:`paper`,validator:e=>[`paper`,`cream`].includes(e)},layout:{type:String,default:`vertical`,validator:e=>[`vertical`,`horizontal`].includes(e)},inStock:{type:Boolean,default:!0},currency:{type:String,default:`€`},href:{type:String,default:``},imageFit:{type:String,default:`cover`,validator:e=>[`contain`,`cover`].includes(e)}},emits:[`add`],setup(M){function N(e){return typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)}let P=M,{t:F}=_(),I={paper:{surface:`bg-paper`,media:`bg-cream`,border:`border-line`},cream:{surface:`bg-cream`,media:`bg-paper`,border:`border-line`}},L=l(()=>I[P.tone]);function R(e){return`${P.currency} ${e.toFixed(2).replace(`.`,`,`)}`}let z=l(()=>R(P.price)),B=l(()=>P.memberPrice==null?``:R(P.memberPrice)),V=l(()=>P.items.slice(0,j)),H=l(()=>Math.max(0,P.items.length-j));return(l,_)=>(e(),p(`article`,{class:m([`group flex overflow-hidden rounded-md border transition-all duration-base ease-out`,M.layout===`horizontal`?`flex-col md:flex-row`:`flex-col`,L.value.surface,L.value.border,`hover:-translate-y-1 hover:shadow-md hover:border-brand-soft`])},[M.href&&N(M.href)?(e(),i(t(h),{key:0,to:M.href,class:m([`relative block overflow-hidden`,M.layout===`horizontal`?`aspect-[4/3] md:aspect-auto md:w-[38%] md:shrink-0 md:min-h-[300px]`:`aspect-[4/3]`,L.value.media])},{default:o(()=>[M.badge?(e(),i(v,{key:0,variant:M.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:o(()=>[u(a(M.badge),1)]),_:1},8,[`variant`])):s(``,!0),f(`img`,{src:M.image,alt:M.imageAlt||M.name,loading:`lazy`,decoding:`async`,class:m([`absolute inset-0 w-full h-full transition-transform duration-slow ease-out group-hover:scale-105`,M.imageFit===`cover`?`object-cover`:`object-contain `+(M.layout===`horizontal`?`p-6 md:p-5`:`p-8`)])},null,10,b)]),_:1},8,[`to`,`class`])):(e(),i(n(M.href?`a`:`div`),{key:1,href:M.href||null,class:m([`relative block overflow-hidden`,M.layout===`horizontal`?`aspect-[4/3] md:aspect-auto md:w-[38%] md:shrink-0 md:min-h-[300px]`:`aspect-[4/3]`,L.value.media])},{default:o(()=>[M.badge?(e(),i(v,{key:0,variant:M.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:o(()=>[u(a(M.badge),1)]),_:1},8,[`variant`])):s(``,!0),f(`img`,{src:M.image,alt:M.imageAlt||M.name,loading:`lazy`,decoding:`async`,class:m([`absolute inset-0 w-full h-full transition-transform duration-slow ease-out group-hover:scale-105`,M.imageFit===`cover`?`object-cover`:`object-contain `+(M.layout===`horizontal`?`p-6 md:p-5`:`p-8`)])},null,10,x)]),_:1},8,[`href`,`class`])),f(`div`,{class:m([`flex flex-col gap-4 p-6`,M.layout===`horizontal`?`md:p-6 md:flex-1`:``])},[f(`div`,S,[M.usage?(e(),p(`span`,C,a(M.usage),1)):s(``,!0),M.href&&N(M.href)?(e(),i(t(h),{key:1,to:M.href,class:`font-display text-xl font-normal leading-tight text-ink hover:text-brand transition-colors duration-base`},{default:o(()=>[u(a(M.name),1)]),_:1},8,[`to`])):(e(),i(n(M.href?`a`:`h3`),{key:2,href:M.href||null,class:m([`font-display text-xl font-normal leading-tight text-ink`,M.href?`hover:text-brand transition-colors duration-base`:``])},{default:o(()=>[u(a(M.name),1)]),_:1},8,[`href`,`class`]))]),f(`ul`,w,[(e(!0),p(d,null,r(V.value,t=>(e(),p(`li`,{key:t,class:`text-sm text-ink/80 leading-relaxed`},a(t),1))),128)),H.value>0?(e(),p(`li`,T,`+ `+a(H.value)+` `+a(t(F)(`bundles.card.moreItems`)),1)):s(``,!0)]),f(`div`,{class:m([`mt-auto pt-4 border-t border-line flex gap-3`,M.layout===`horizontal`?`flex-col sm:flex-row sm:items-end sm:justify-between`:`flex-col`])},[f(`div`,E,[f(`span`,D,a(t(F)(`bundles.card.priceLabel`)),1),f(`span`,O,a(z.value),1),B.value?(e(),p(`span`,k,a(t(F)(`bundles.card.memberPrefix`))+` `+a(B.value),1)):s(``,!0),M.inStock?s(``,!0):(e(),p(`span`,A,a(t(F)(`ds.product.outOfStock`)),1))]),c(y,{variant:`primary`,size:`md`,block:M.layout===`vertical`,disabled:!M.inStock,onClick:_[0]||=e=>l.$emit(`add`)},{before:o(()=>[c(g,{name:`plus`,size:16})]),default:o(()=>[u(` `+a(t(F)(`ds.buttons.addToCart`)),1)]),_:1},8,[`block`,`disabled`])],2)],2)],2))}};export{M as t}; \ No newline at end of file +import{C as e,G as t,O as n,T as r,c as i,ft as a,j as o,l as s,m as c,o as l,p as u,r as d,s as f,u as p,ut as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./vue-router-Cyqru1db.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./i18n-BvZbJICa.js";import{t as v}from"./Badge-DiccZCC_.js";import{t as y}from"./Button-JT3QbcL8.js";var b=[`src`,`alt`],x=[`src`,`alt`],S={class:`flex flex-col gap-1.5`},C={key:0,class:`text-xs font-semibold tracking-label text-muted uppercase`},w={class:`flex flex-col gap-1.5`},T={key:0,class:`text-sm text-muted tracking-label`},E={class:`flex flex-col gap-0.5`},D={class:`text-xs tracking-label text-muted uppercase`},O={class:`font-display text-2xl font-normal text-brand leading-none`},k={key:0,class:`text-xs text-muted mt-1`},A={key:1,class:`text-xs font-semibold tracking-label uppercase text-danger mt-1`},j=3,M={__name:`BundleCard`,props:{name:{type:String,required:!0},items:{type:Array,required:!0},price:{type:Number,required:!0},memberPrice:{type:Number,default:null},usage:{type:String,default:``},image:{type:String,required:!0},imageAlt:{type:String,default:``},badge:{type:String,default:``},badgeVariant:{type:String,default:`accent`,validator:e=>[`neutral`,`brand`,`accent`,`subtle`,`success`,`warning`,`danger`].includes(e)},tone:{type:String,default:`paper`,validator:e=>[`paper`,`cream`].includes(e)},layout:{type:String,default:`vertical`,validator:e=>[`vertical`,`horizontal`].includes(e)},inStock:{type:Boolean,default:!0},currency:{type:String,default:`€`},href:{type:String,default:``},imageFit:{type:String,default:`cover`,validator:e=>[`contain`,`cover`].includes(e)}},emits:[`add`],setup(M){function N(e){return typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)}let P=M,{t:F}=_(),I={paper:{surface:`bg-paper`,media:`bg-cream`,border:`border-line`},cream:{surface:`bg-cream`,media:`bg-paper`,border:`border-line`}},L=l(()=>I[P.tone]);function R(e){return`${P.currency} ${e.toFixed(2).replace(`.`,`,`)}`}let z=l(()=>R(P.price)),B=l(()=>P.memberPrice==null?``:R(P.memberPrice)),V=l(()=>P.items.slice(0,j)),H=l(()=>Math.max(0,P.items.length-j));return(l,_)=>(e(),p(`article`,{class:m([`group flex overflow-hidden rounded-md border transition-all duration-base ease-out`,M.layout===`horizontal`?`flex-col md:flex-row`:`flex-col`,L.value.surface,L.value.border,`hover:-translate-y-1 hover:shadow-md hover:border-brand-soft`])},[M.href&&N(M.href)?(e(),i(t(h),{key:0,to:M.href,class:m([`relative block overflow-hidden`,M.layout===`horizontal`?`aspect-[4/3] md:aspect-auto md:w-[38%] md:shrink-0 md:min-h-[300px]`:`aspect-[4/3]`,L.value.media])},{default:o(()=>[M.badge?(e(),i(v,{key:0,variant:M.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:o(()=>[u(a(M.badge),1)]),_:1},8,[`variant`])):s(``,!0),f(`img`,{src:M.image,alt:M.imageAlt||M.name,loading:`lazy`,decoding:`async`,class:m([`absolute inset-0 w-full h-full transition-transform duration-slow ease-out group-hover:scale-105`,M.imageFit===`cover`?`object-cover`:`object-contain `+(M.layout===`horizontal`?`p-6 md:p-5`:`p-8`)])},null,10,b)]),_:1},8,[`to`,`class`])):(e(),i(n(M.href?`a`:`div`),{key:1,href:M.href||null,class:m([`relative block overflow-hidden`,M.layout===`horizontal`?`aspect-[4/3] md:aspect-auto md:w-[38%] md:shrink-0 md:min-h-[300px]`:`aspect-[4/3]`,L.value.media])},{default:o(()=>[M.badge?(e(),i(v,{key:0,variant:M.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:o(()=>[u(a(M.badge),1)]),_:1},8,[`variant`])):s(``,!0),f(`img`,{src:M.image,alt:M.imageAlt||M.name,loading:`lazy`,decoding:`async`,class:m([`absolute inset-0 w-full h-full transition-transform duration-slow ease-out group-hover:scale-105`,M.imageFit===`cover`?`object-cover`:`object-contain `+(M.layout===`horizontal`?`p-6 md:p-5`:`p-8`)])},null,10,x)]),_:1},8,[`href`,`class`])),f(`div`,{class:m([`flex flex-col gap-4 p-6`,M.layout===`horizontal`?`md:p-6 md:flex-1`:``])},[f(`div`,S,[M.usage?(e(),p(`span`,C,a(M.usage),1)):s(``,!0),M.href&&N(M.href)?(e(),i(t(h),{key:1,to:M.href,class:`font-display text-xl font-normal leading-tight text-ink hover:text-brand transition-colors duration-base`},{default:o(()=>[u(a(M.name),1)]),_:1},8,[`to`])):(e(),i(n(M.href?`a`:`h3`),{key:2,href:M.href||null,class:m([`font-display text-xl font-normal leading-tight text-ink`,M.href?`hover:text-brand transition-colors duration-base`:``])},{default:o(()=>[u(a(M.name),1)]),_:1},8,[`href`,`class`]))]),f(`ul`,w,[(e(!0),p(d,null,r(V.value,t=>(e(),p(`li`,{key:t,class:`text-sm text-ink/80 leading-relaxed`},a(t),1))),128)),H.value>0?(e(),p(`li`,T,`+ `+a(H.value)+` `+a(t(F)(`bundles.card.moreItems`)),1)):s(``,!0)]),f(`div`,{class:m([`mt-auto pt-4 border-t border-line flex gap-3`,M.layout===`horizontal`?`flex-col sm:flex-row sm:items-end sm:justify-between`:`flex-col`])},[f(`div`,E,[f(`span`,D,a(t(F)(`bundles.card.priceLabel`)),1),f(`span`,O,a(z.value),1),B.value?(e(),p(`span`,k,a(t(F)(`bundles.card.memberPrefix`))+` `+a(B.value),1)):s(``,!0),M.inStock?s(``,!0):(e(),p(`span`,A,a(t(F)(`ds.product.outOfStock`)),1))]),c(y,{variant:`primary`,size:`md`,block:M.layout===`vertical`,disabled:!M.inStock,onClick:_[0]||=e=>l.$emit(`add`)},{before:o(()=>[c(g,{name:`plus`,size:16})]),default:o(()=>[u(` `+a(t(F)(`ds.buttons.addToCart`)),1)]),_:1},8,[`block`,`disabled`])],2)],2)],2))}};export{M as t}; \ No newline at end of file diff --git a/dist/assets/BundleCardSection-DVTQKOl_.js b/dist/assets/BundleCardSection-wtbL1gRm.js similarity index 96% rename from dist/assets/BundleCardSection-DVTQKOl_.js rename to dist/assets/BundleCardSection-wtbL1gRm.js index 8eca570..afdec9d 100644 --- a/dist/assets/BundleCardSection-DVTQKOl_.js +++ b/dist/assets/BundleCardSection-wtbL1gRm.js @@ -1,4 +1,4 @@ -import{B as e,C as t,G as n,c as r,ft as i,j as a,l as o,m as s,p as c,s as l,u,y as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as f}from"./i18n-BPHBAYJ6.js";import{t as p}from"./BundleCard-BIBLvh4x.js";import{t as m}from"./SectionShell-XUVs_07L.js";var h={class:`eyebrow mb-5`},g={class:`grid sm:grid-cols-2 lg:grid-cols-3 gap-6`},_={key:0,class:`mt-5 text-sm text-muted`},v={class:`font-mono text-[12px]`},y={class:`grid gap-6`},b={class:`eyebrow mb-5`},x={class:`grid sm:grid-cols-2 gap-6`},S={class:`eyebrow mb-5`},C=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,w={__name:`BundleCardSection`,setup(w){let{t:T}=f(),E=e(``);function D(e){E.value=e,setTimeout(()=>{E.value===e&&(E.value=``)},2e3)}let O={name:`Haushalts-Bundle`,usage:`2–3× pro Quartal empfohlen`,items:[`1× Kaiser-Natron Pulver 250 g`,`1× Allzweck-Spray 500 ml`,`1× Spülmittel 500 ml`],price:24.9,memberPrice:21.17,image:C,imageAlt:`Haushalts-Bundle`},k={...O,items:[...O.items,`1× Holste Wasch-Soda 500 g`,`1× Allzweckreiniger 750 ml`]};return(e,f)=>(t(),r(m,{eyebrow:n(T)(`ds.eyebrow.components`),title:n(T)(`ds.bundleCard.title`),description:n(T)(`ds.bundleCard.description`)},{default:a(()=>[l(`section`,null,[l(`h2`,h,i(n(T)(`ds.heading.default`)),1),l(`div`,g,[s(p,d(O,{onAdd:f[0]||=e=>D(`default`)}),null,16),s(p,d(O,{badge:`Bestseller`,"badge-variant":`accent`,onAdd:f[1]||=e=>D(`bestseller`)}),null,16),s(p,d(O,{tone:`cream`,onAdd:f[2]||=e=>D(`cream`)}),null,16)]),E.value?(t(),u(`p`,_,[c(i(n(T)(`ds.product.added`))+`: `,1),l(`code`,v,i(E.value),1)])):o(``,!0)]),l(`section`,null,[f[5]||=l(`h2`,{class:`eyebrow mb-5`},`Horizontal layout`,-1),f[6]||=l(`p`,{class:`text-sm text-muted mb-5 max-w-2xl`},[c(` Passed as `),l(`code`,{class:`font-mono text-[12px]`},`layout="horizontal"`),c(`. From `),l(`code`,{class:`font-mono text-[12px]`},`md`),c(` up the media takes ~38% of the row and the body fills the rest, with the CTA inlined next to the price block. Below `),l(`code`,{class:`font-mono text-[12px]`},`md`),c(` it collapses back to vertical. `)],-1),l(`div`,y,[s(p,d(O,{layout:`horizontal`,badge:`Bestseller`,"badge-variant":`accent`,onAdd:f[3]||=e=>D(`horizontal`)}),null,16)])]),l(`section`,null,[l(`h2`,b,i(n(T)(`ds.heading.states`)),1),f[7]||=l(`p`,{class:`text-sm text-muted mb-5 max-w-2xl`},` Same bundle across both cards — only the state being demonstrated changes. `,-1),l(`div`,x,[s(p,d(O,{"in-stock":!1}),null,16),s(p,d(k,{onAdd:f[4]||=e=>D(`overflow`)}),null,16)]),f[8]||=l(`p`,{class:`mt-3 text-sm text-muted max-w-2xl`},[c(` More than three items collapse the tail into a `),l(`code`,{class:`font-mono text-[12px]`},`+ N weitere`),c(` line so the card stays scannable. `)],-1)]),l(`section`,null,[l(`h2`,S,i(n(T)(`ds.heading.usage`)),1),f[9]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`{E.value===e&&(E.value=``)},2e3)}let O={name:`Haushalts-Bundle`,usage:`2–3× pro Quartal empfohlen`,items:[`1× Kaiser-Natron Pulver 250 g`,`1× Allzweck-Spray 500 ml`,`1× Spülmittel 500 ml`],price:24.9,memberPrice:21.17,image:C,imageAlt:`Haushalts-Bundle`},k={...O,items:[...O.items,`1× Holste Wasch-Soda 500 g`,`1× Allzweckreiniger 750 ml`]};return(e,f)=>(t(),r(m,{eyebrow:n(T)(`ds.eyebrow.components`),title:n(T)(`ds.bundleCard.title`),description:n(T)(`ds.bundleCard.description`)},{default:a(()=>[l(`section`,null,[l(`h2`,h,i(n(T)(`ds.heading.default`)),1),l(`div`,g,[s(p,d(O,{onAdd:f[0]||=e=>D(`default`)}),null,16),s(p,d(O,{badge:`Bestseller`,"badge-variant":`accent`,onAdd:f[1]||=e=>D(`bestseller`)}),null,16),s(p,d(O,{tone:`cream`,onAdd:f[2]||=e=>D(`cream`)}),null,16)]),E.value?(t(),u(`p`,_,[c(i(n(T)(`ds.product.added`))+`: `,1),l(`code`,v,i(E.value),1)])):o(``,!0)]),l(`section`,null,[f[5]||=l(`h2`,{class:`eyebrow mb-5`},`Horizontal layout`,-1),f[6]||=l(`p`,{class:`text-sm text-muted mb-5 max-w-2xl`},[c(` Passed as `),l(`code`,{class:`font-mono text-[12px]`},`layout="horizontal"`),c(`. From `),l(`code`,{class:`font-mono text-[12px]`},`md`),c(` up the media takes ~38% of the row and the body fills the rest, with the CTA inlined next to the price block. Below `),l(`code`,{class:`font-mono text-[12px]`},`md`),c(` it collapses back to vertical. `)],-1),l(`div`,y,[s(p,d(O,{layout:`horizontal`,badge:`Bestseller`,"badge-variant":`accent`,onAdd:f[3]||=e=>D(`horizontal`)}),null,16)])]),l(`section`,null,[l(`h2`,b,i(n(T)(`ds.heading.states`)),1),f[7]||=l(`p`,{class:`text-sm text-muted mb-5 max-w-2xl`},` Same bundle across both cards — only the state being demonstrated changes. `,-1),l(`div`,x,[s(p,d(O,{"in-stock":!1}),null,16),s(p,d(k,{onAdd:f[4]||=e=>D(`overflow`)}),null,16)]),f[8]||=l(`p`,{class:`mt-3 text-sm text-muted max-w-2xl`},[c(` More than three items collapse the tail into a `),l(`code`,{class:`font-mono text-[12px]`},`+ N weitere`),c(` line so the card stays scannable. `)],-1)]),l(`section`,null,[l(`h2`,S,i(n(T)(`ds.heading.usage`)),1),f[9]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`String(Re.params.slug||``)),W=d(()=>de(ze.value)),G=e(null);i(()=>{se();let e=typeof window<`u`?window.history.state?.back:null;G.value=typeof e==`string`?e:null});let Be=d(()=>{let e=G.value;return!e||e===`/`||e.startsWith(`/#`)?`product.backHome`:`product.backGeneric`});function Ve(){G.value?V.back():V.push(`/`)}let He=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`},{key:`nav.kaiserhacks`,href:`/kaiserhacks`}],Ue=[],K=d(()=>{let e=W.value;return e?`€ ${e.price.toFixed(2).replace(`.`,`,`)}`:``}),q=d(()=>{let e=W.value;return e?.memberPrice?`€ ${e.memberPrice.toFixed(2).replace(`.`,`,`)}`:``}),J=d(()=>{let e=W.value;return e?{name:z(e.nameKey),usage:e.usageKey?z(e.usageKey):``,description:e.descriptionKey?z(e.descriptionKey):``,imageAlt:e.imageAltKey?z(e.imageAltKey):``,badge:e.badgeKey?z(e.badgeKey):``}:null}),Y=d(()=>{let e=W.value;return e?e.itemKeys.map(e=>{let t=z(e);return{label:t,product:v.find(e=>t.toLowerCase().includes(e.title.toLowerCase().replace(/®/g,``).trim()))}}):[]});async function X(){let e=W.value;e?.anchorProductId&&(await y(e.anchorProductId,U.value),H.value=!0)}async function We({productId:e,quantity:t}){await ae(e,t)}async function Ge(e){await ie(e)}function Ke(){H.value=!1,V.push(`/checkout`)}async function qe(e){await y(e.id,1),H.value=!0}let Z=e(null),Q=null;function $(){let e=Z.value,t=e&&(e.$el||e);if(!t||typeof window>`u`)return;let n=Math.round(t.getBoundingClientRect().height);document.documentElement.style.setProperty(`--nav-h`,`${n}px`)}return i(()=>{if($(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}typeof window<`u`&&window.addEventListener(`resize`,$)}),ee(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,i)=>{let d=n(`RouterLink`);return t(),h(p,null,[u(ce,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:He,"secondary-items":Ue,"cart-count":r(B).count,products:r(v),onCart:i[0]||=e=>H.value=!0,onSearch:qe},null,8,[`cart-count`,`products`]),W.value?(t(),h(`main`,ge,[m(`div`,S,[m(`button`,{type:`button`,class:`inline-flex items-center gap-2 text-sm tracking-label uppercase text-cream/75 hover:text-cream transition-colors`,onClick:Ve},[u(g,{name:`arrow-left`,size:16}),f(` `+s(r(z)(Be.value)),1)])]),m(`section`,C,[m(`div`,w,[m(`div`,T,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`div`,E,[m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`absolute inset-0 w-full h-full object-cover`},null,8,D)])]),m(`div`,O,[J.value.usage?(t(),h(`p`,k,s(J.value.usage),1)):l(``,!0),m(`h1`,A,s(J.value.name),1),J.value.description?(t(),h(`p`,j,s(J.value.description),1)):l(``,!0),m(`div`,M,[m(`p`,N,s(r(z)(`bundle.items`)),1),m(`ul`,P,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,F,s(e.label),1))]))),128))])]),m(`div`,I,[m(`span`,L,s(K.value),1),q.value?(t(),h(`span`,_e,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,ve,s(q.value),1)])):l(``,!0)]),m(`div`,ye,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[1]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])]),m(`div`,be,[m(`section`,xe,[m(`div`,Se,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`block w-full h-auto`},null,8,Ce)])]),m(`section`,we,[m(`div`,Te,[J.value.usage?(t(),h(`p`,R,s(J.value.usage),1)):l(``,!0),m(`h1`,Ee,s(J.value.name),1),J.value.description?(t(),h(`p`,De,s(J.value.description),1)):l(``,!0),m(`div`,Oe,[m(`p`,ke,s(r(z)(`bundle.items`)),1),m(`ul`,Ae,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,je,s(e.label),1))]))),128))])]),m(`div`,Me,[m(`span`,Ne,s(K.value),1),q.value?(t(),h(`span`,Pe,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,Fe,s(q.value),1)])):l(``,!0)]),m(`div`,Ie,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[2]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])])])):(t(),h(`main`,fe,[m(`div`,pe,[m(`h1`,me,s(r(z)(`product.notFound.title`)),1),m(`p`,he,s(r(z)(`product.notFound.body`)),1),u(d,{to:`/`,class:`inline-flex`},{default:c(()=>[u(b,{variant:`primary`,size:`lg`},{default:c(()=>[f(s(r(z)(`product.backHome`)),1)]),_:1})]),_:1})])])),i[4]||=m(`div`,{"aria-hidden":`true`,class:`min-[1100px]:hidden bg-brand`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),u(ue),u(le,{modelValue:H.value,"onUpdate:modelValue":i[3]||=e=>H.value=e,items:r(B).items,subtotal:r(B).subtotal,count:r(B).count,onUpdateQuantity:We,onRemove:Ge,onCheckout:Ke},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64)}}};export{Le as default}; \ No newline at end of file +import{B as e,C as t,D as n,G as r,S as i,T as a,c as o,ft as s,j as c,l,m as u,o as d,p as f,r as p,s as m,u as h,x as ee}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as te,o as ne}from"./vue-router-Cyqru1db.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as re}from"./i18n-BvZbJICa.js";import{t as _}from"./Badge-DiccZCC_.js";import{r as v}from"./products-BqW5PUnm.js";import{c as y,d as ie,f as ae,p as oe,u as se}from"./api-CJ2exAVU.js";import{t as ce}from"./Navbar-Dseq5x1u.js";import{t as b}from"./Button-JT3QbcL8.js";import{t as x}from"./QuantityStepper-BB38-Td1.js";import{t as le}from"./CartDrawer-UHso3FZx.js";import{t as ue}from"./Footer-BlfD57J5.js";import{n as de}from"./bundles-CDwVE6_O.js";var fe={key:0,class:`bg-cream min-h-[60svh] flex items-center justify-center px-6`},pe={class:`text-center max-w-md`},me={class:`font-display text-3xl text-ink mb-4`},he={class:`text-muted mb-6`},ge={key:1,class:`bg-brand text-cream`},S={class:`mx-auto w-full max-w-7xl px-6 md:px-10 lg:px-16 pt-6`},C={class:`hidden lg:block mx-auto w-full max-w-7xl px-6 md:px-10 lg:px-16 pt-4 pb-14`},w={class:`grid grid-cols-[1.4fr_1fr] gap-12 xl:gap-16 items-center`},T={class:`relative overflow-hidden rounded-lg bg-cream/10`},E={class:`relative aspect-[16/10]`},D=[`src`,`alt`],O={class:`flex flex-col gap-6 min-w-0 text-cream`},k={key:0,class:`text-xs tracking-label uppercase text-cream/75`},A={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-[2.25rem] xl:text-[2.75rem] 2xl:text-[3.25rem]`},j={key:1,class:`text-base xl:text-lg leading-relaxed text-cream/85`},M={class:`flex flex-col gap-2`},N={class:`text-xs tracking-label uppercase text-cream/75`},P={class:`flex flex-col gap-1.5`},F={key:1},I={class:`flex flex-col gap-1`},L={class:`font-display text-3xl xl:text-4xl text-cream`},_e={key:0,class:`text-sm text-cream/75`},ve={class:`text-accent font-medium`},ye={class:`flex flex-wrap items-center gap-4 mt-2`},be={class:`lg:hidden`},xe={class:`mx-auto w-full max-w-7xl px-6 md:px-10 pt-6 md:pt-8`},Se={class:`relative overflow-hidden rounded-lg bg-cream/10`},Ce=[`src`,`alt`],we={class:`mx-auto w-full max-w-7xl px-6 md:px-10 py-10 md:py-14`},Te={class:`flex flex-col gap-6`},R={key:0,class:`text-xs tracking-label uppercase text-cream/70`},Ee={class:`font-display font-normal leading-[1.06] tracking-tight text-cream text-[2rem] md:text-[2.5rem]`},De={key:1,class:`text-base md:text-lg leading-relaxed text-cream/85`},Oe={class:`flex flex-col gap-2`},ke={class:`text-xs tracking-label uppercase text-cream/70`},Ae={class:`flex flex-col gap-1.5`},je={key:1},Me={class:`flex flex-col gap-1`},Ne={class:`font-display text-3xl md:text-4xl text-cream`},Pe={key:0,class:`text-sm text-cream/70`},Fe={class:`text-accent font-medium`},Ie={class:`flex flex-wrap items-center gap-4 mt-2`},Le={__name:`BundlePage`,setup(Le){let{t:z}=re(),B=oe(),Re=te(),V=ne(),H=e(!1),U=e(1),ze=d(()=>String(Re.params.slug||``)),W=d(()=>de(ze.value)),G=e(null);i(()=>{se();let e=typeof window<`u`?window.history.state?.back:null;G.value=typeof e==`string`?e:null});let Be=d(()=>{let e=G.value;return!e||e===`/`||e.startsWith(`/#`)?`product.backHome`:`product.backGeneric`});function Ve(){G.value?V.back():V.push(`/`)}let He=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`},{key:`nav.kaiserhacks`,href:`/kaiserhacks`}],Ue=[],K=d(()=>{let e=W.value;return e?`€ ${e.price.toFixed(2).replace(`.`,`,`)}`:``}),q=d(()=>{let e=W.value;return e?.memberPrice?`€ ${e.memberPrice.toFixed(2).replace(`.`,`,`)}`:``}),J=d(()=>{let e=W.value;return e?{name:z(e.nameKey),usage:e.usageKey?z(e.usageKey):``,description:e.descriptionKey?z(e.descriptionKey):``,imageAlt:e.imageAltKey?z(e.imageAltKey):``,badge:e.badgeKey?z(e.badgeKey):``}:null}),Y=d(()=>{let e=W.value;return e?e.itemKeys.map(e=>{let t=z(e);return{label:t,product:v.find(e=>t.toLowerCase().includes(e.title.toLowerCase().replace(/®/g,``).trim()))}}):[]});async function X(){let e=W.value;e?.anchorProductId&&(await y(e.anchorProductId,U.value),H.value=!0)}async function We({productId:e,quantity:t}){await ae(e,t)}async function Ge(e){await ie(e)}function Ke(){H.value=!1,V.push(`/checkout`)}async function qe(e){await y(e.id,1),H.value=!0}let Z=e(null),Q=null;function $(){let e=Z.value,t=e&&(e.$el||e);if(!t||typeof window>`u`)return;let n=Math.round(t.getBoundingClientRect().height);document.documentElement.style.setProperty(`--nav-h`,`${n}px`)}return i(()=>{if($(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}typeof window<`u`&&window.addEventListener(`resize`,$)}),ee(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,i)=>{let d=n(`RouterLink`);return t(),h(p,null,[u(ce,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:He,"secondary-items":Ue,"cart-count":r(B).count,products:r(v),onCart:i[0]||=e=>H.value=!0,onSearch:qe},null,8,[`cart-count`,`products`]),W.value?(t(),h(`main`,ge,[m(`div`,S,[m(`button`,{type:`button`,class:`inline-flex items-center gap-2 text-sm tracking-label uppercase text-cream/75 hover:text-cream transition-colors`,onClick:Ve},[u(g,{name:`arrow-left`,size:16}),f(` `+s(r(z)(Be.value)),1)])]),m(`section`,C,[m(`div`,w,[m(`div`,T,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`div`,E,[m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`absolute inset-0 w-full h-full object-cover`},null,8,D)])]),m(`div`,O,[J.value.usage?(t(),h(`p`,k,s(J.value.usage),1)):l(``,!0),m(`h1`,A,s(J.value.name),1),J.value.description?(t(),h(`p`,j,s(J.value.description),1)):l(``,!0),m(`div`,M,[m(`p`,N,s(r(z)(`bundle.items`)),1),m(`ul`,P,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,F,s(e.label),1))]))),128))])]),m(`div`,I,[m(`span`,L,s(K.value),1),q.value?(t(),h(`span`,_e,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,ve,s(q.value),1)])):l(``,!0)]),m(`div`,ye,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[1]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])]),m(`div`,be,[m(`section`,xe,[m(`div`,Se,[J.value.badge?(t(),o(_,{key:0,variant:W.value.badgeVariant||`accent`,class:`absolute top-4 left-4 z-[1] shadow-sm`},{default:c(()=>[f(s(J.value.badge),1)]),_:1},8,[`variant`])):l(``,!0),m(`img`,{src:W.value.image,alt:J.value.imageAlt||J.value.name,loading:`eager`,decoding:`async`,class:`block w-full h-auto`},null,8,Ce)])]),m(`section`,we,[m(`div`,Te,[J.value.usage?(t(),h(`p`,R,s(J.value.usage),1)):l(``,!0),m(`h1`,Ee,s(J.value.name),1),J.value.description?(t(),h(`p`,De,s(J.value.description),1)):l(``,!0),m(`div`,Oe,[m(`p`,ke,s(r(z)(`bundle.items`)),1),m(`ul`,Ae,[(t(!0),h(p,null,a(Y.value,(e,n)=>(t(),h(`li`,{key:n,class:`flex items-start gap-2 text-base text-cream/95 leading-relaxed`},[u(g,{name:`check`,size:18,class:`mt-0.5 shrink-0 text-accent`}),e.product?(t(),o(d,{key:0,to:e.product.href,class:`hover:text-accent transition-colors`},{default:c(()=>[f(s(e.label),1)]),_:2},1032,[`to`])):(t(),h(`span`,je,s(e.label),1))]))),128))])]),m(`div`,Me,[m(`span`,Ne,s(K.value),1),q.value?(t(),h(`span`,Pe,[f(s(r(z)(`bundle.memberPrice`))+` `,1),m(`span`,Fe,s(q.value),1)])):l(``,!0)]),m(`div`,Ie,[u(x,{modelValue:U.value,"onUpdate:modelValue":i[2]||=e=>U.value=e,min:1,max:10},null,8,[`modelValue`]),u(b,{variant:`accent`,size:`lg`,onClick:X},{before:c(()=>[u(g,{name:`plus`,size:16})]),default:c(()=>[f(` `+s(r(z)(`ds.buttons.addToCart`)),1)]),_:1})])])])])])):(t(),h(`main`,fe,[m(`div`,pe,[m(`h1`,me,s(r(z)(`product.notFound.title`)),1),m(`p`,he,s(r(z)(`product.notFound.body`)),1),u(d,{to:`/`,class:`inline-flex`},{default:c(()=>[u(b,{variant:`primary`,size:`lg`},{default:c(()=>[f(s(r(z)(`product.backHome`)),1)]),_:1})]),_:1})])])),i[4]||=m(`div`,{"aria-hidden":`true`,class:`min-[1100px]:hidden bg-brand`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),u(ue),u(le,{modelValue:H.value,"onUpdate:modelValue":i[3]||=e=>H.value=e,items:r(B).items,subtotal:r(B).subtotal,count:r(B).count,onUpdateQuantity:We,onRemove:Ge,onCheckout:Ke},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64)}}};export{Le as default}; \ No newline at end of file diff --git a/dist/assets/Bundles-A_4NtEnR.js b/dist/assets/Bundles-C6mqXo0R.js similarity index 98% rename from dist/assets/Bundles-A_4NtEnR.js rename to dist/assets/Bundles-C6mqXo0R.js index 5685646..cf22105 100644 --- a/dist/assets/Bundles-A_4NtEnR.js +++ b/dist/assets/Bundles-C6mqXo0R.js @@ -1 +1 @@ -import{B as e,C as t,S as n,T as r,c as i,ft as a,j as o,l as s,m as c,p as l,r as u,s as d,u as f,ut as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./Icon-CtR1FGIT.js";import{t as g}from"./IconButton-DXYRXEop.js";import{t as _}from"./i18n-BPHBAYJ6.js";import{t as v}from"./_plugin-vue_export-helper-0vLWKQyu.js";import{t as y}from"./Button-JT3QbcL8.js";import{t as b}from"./BundleCard-BIBLvh4x.js";var x={key:0,class:`flex flex-col gap-4`},S={key:0,class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},C={key:0,class:`italic font-light text-brand`},w={__name:`BundlesHeader`,props:{headline:{type:String,default:``},headlineEm:{type:String,default:``},sub:{type:String,default:``},subMaxWidth:{type:String,default:`max-w-md`}},setup(e){return(n,r)=>e.headline||e.headlineEm||e.sub?(t(),f(`div`,x,[e.headline||e.headlineEm?(t(),f(`h2`,S,[l(a(e.headline)+` `,1),e.headlineEm?(t(),f(`em`,C,a(e.headlineEm),1)):s(``,!0)])):s(``,!0),e.sub?(t(),f(`p`,{key:1,class:p([`text-base leading-relaxed text-muted`,e.subMaxWidth])},a(e.sub),3)):s(``,!0)])):s(``,!0)}},T={"aria-hidden":`true`,class:`mt-0.5 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-brand-wash text-brand`},E={class:`font-sans text-sm font-semibold text-ink leading-snug`},D={__name:`BundlesBenefits`,props:{benefits:{type:Array,required:!0,validator:e=>e.every(e=>typeof e==`string`)},listClass:{type:String,default:``}},setup(e){return(n,i)=>e.benefits.length?(t(),f(`ul`,{key:0,class:p([`flex flex-col gap-4`,e.listClass])},[(t(!0),f(u,null,r(e.benefits.slice(0,3),e=>(t(),f(`li`,{key:e,class:`flex items-start gap-3`},[d(`span`,T,[c(h,{name:`check`,size:14,"stroke-width":2.2})]),d(`span`,E,a(e),1)]))),128))],2)):s(``,!0)}},O={id:`bundles`,class:`bg-surface text-ink`},k={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 lg:py-28`},ee={key:0,class:`flex flex-col gap-10 md:gap-12 lg:gap-14`},te={key:0,class:`rounded-md border border-cream-dark bg-cream px-5 py-4 sm:px-6 sm:py-5`},ne={class:`flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-center sm:justify-between sm:gap-x-8 sm:gap-y-3`},A={"aria-hidden":`true`,class:`inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-brand-wash text-brand`},j={class:`font-sans text-sm font-semibold text-ink leading-snug`},M={class:`min-w-0`},N={class:`md:hidden grid gap-5`},P={class:`hidden md:grid md:gap-6 md:grid-cols-3`},F={key:1,class:`flex justify-center`},I={key:1,class:`grid gap-10 md:gap-12 lg:gap-16 lg:grid-cols-[340px_1fr] lg:items-center`},L={class:`flex flex-col gap-8`},R={class:`min-w-0`},z={class:`md:hidden grid gap-5`},B={class:`hidden md:flex md:flex-col md:gap-6 relative`},V=[`aria-label`],H=[`aria-label`],U={class:`flex items-center justify-between gap-4`},W={class:`flex items-center gap-2`},G=[`aria-label`,`aria-current`,`onClick`],K={class:`flex items-center gap-2`},q=v({__name:`Bundles`,props:{layout:{type:String,default:`sidebar`,validator:e=>[`sidebar`,`stacked`].includes(e)},headline:{type:String,default:``},headlineEm:{type:String,default:``},sub:{type:String,default:``},benefits:{type:Array,default:()=>[],validator:e=>e.every(e=>typeof e==`string`)},joinCta:{type:String,default:``},bundles:{type:Array,required:!0},carouselLabel:{type:String,default:``},carouselPrevLabel:{type:String,default:``},carouselNextLabel:{type:String,default:``},carouselGoToPrefix:{type:String,default:``}},emits:[`add`,`join`],setup(v){let x=v,{t:S}=_(),C=()=>x.carouselLabel||S(`ds.bundles.carousel.label`),T=()=>x.carouselPrevLabel||S(`ds.bundles.carousel.prev`),E=()=>x.carouselNextLabel||S(`ds.bundles.carousel.next`),q=()=>x.carouselGoToPrefix||S(`ds.bundles.carousel.goToSlide`),J=e(null),Y=e(0);function X(){return J.value?J.value.children.length:0}function Z(e,t=`smooth`){let n=J.value;if(!n)return;let r=n.children.length-1,i=Math.max(0,Math.min(e,r));n.scrollTo({left:i*n.clientWidth,behavior:t})}function re(){let e=X()-1;e<0||Z(Y.value===0?e:Y.value-1)}function ie(){let e=X()-1;e<0||Z(Y.value===e?0:Y.value+1)}function ae(){let e=J.value;if(!e)return;let t=Math.round(e.scrollLeft/e.clientWidth);t!==Y.value&&(Y.value=t)}let Q=0;function $(){Q&&cancelAnimationFrame(Q),Q=requestAnimationFrame(()=>{let e=J.value;e&&(e.scrollLeft=Y.value*e.clientWidth,Q=0)})}return n(()=>{window.addEventListener(`resize`,$,{passive:!0})}),m(()=>{window.removeEventListener(`resize`,$),Q&&cancelAnimationFrame(Q)}),(e,n)=>(t(),f(`section`,O,[d(`div`,k,[v.layout===`stacked`?(t(),f(`div`,ee,[c(w,{headline:v.headline,"headline-em":v.headlineEm,sub:v.sub,"sub-max-width":`max-w-2xl`},null,8,[`headline`,`headline-em`,`sub`]),v.benefits.length?(t(),f(`div`,te,[d(`ul`,ne,[(t(!0),f(u,null,r(v.benefits.slice(0,3),e=>(t(),f(`li`,{key:e,class:`flex items-center gap-3`},[d(`span`,A,[c(h,{name:`check`,size:14,"stroke-width":2.2})]),d(`span`,j,a(e),1)]))),128))])])):s(``,!0),d(`div`,M,[d(`div`,N,[(t(!0),f(u,null,r(v.bundles,n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))]),d(`div`,P,[(t(!0),f(u,null,r(v.bundles.slice(0,3),n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))])]),v.joinCta?(t(),f(`div`,F,[c(y,{variant:`primary`,size:`lg`,onClick:n[0]||=t=>e.$emit(`join`)},{default:o(()=>[l(a(v.joinCta),1)]),_:1})])):s(``,!0)])):(t(),f(`div`,I,[d(`aside`,L,[c(w,{headline:v.headline,"headline-em":v.headlineEm,sub:v.sub,"sub-max-width":`max-w-md`},null,8,[`headline`,`headline-em`,`sub`]),c(D,{benefits:v.benefits},null,8,[`benefits`]),v.joinCta?(t(),i(y,{key:0,variant:`primary`,size:`md`,class:`self-start`,onClick:n[1]||=t=>e.$emit(`join`)},{default:o(()=>[l(a(v.joinCta),1)]),_:1})):s(``,!0)]),d(`div`,R,[d(`div`,z,[(t(!0),f(u,null,r(v.bundles,n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))]),d(`div`,B,[d(`div`,{ref_key:`track`,ref:J,class:`flex snap-x snap-mandatory overflow-x-auto scroll-smooth no-scrollbar pt-2 pb-16 -mt-2 -mb-16`,role:`region`,"aria-roledescription":`carousel`,"aria-label":C(),onScroll:ae},[(t(!0),f(u,null,r(v.bundles,(n,r)=>(t(),f(`div`,{key:n.id,class:`snap-start shrink-0 w-full`,role:`group`,"aria-roledescription":`slide`,"aria-label":`${r+1} / ${v.bundles.length}`},[c(b,{layout:`horizontal`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`])],8,H))),128))],40,V),d(`div`,U,[d(`div`,W,[(t(!0),f(u,null,r(v.bundles,(e,n)=>(t(),f(`button`,{key:n,type:`button`,class:p([`h-2 rounded-full transition-all duration-base`,Y.value===n?`w-8 bg-brand`:`w-2 bg-brand/30 hover:bg-brand/50`]),"aria-label":`${q()} ${n+1}`,"aria-current":Y.value===n?`true`:void 0,onClick:e=>Z(n)},null,10,G))),128))]),d(`div`,K,[c(g,{icon:`chevron-left`,variant:`brand-wash`,size:`md`,"aria-label":T(),onClick:re},null,8,[`aria-label`]),c(g,{icon:`chevron-right`,variant:`brand-wash`,size:`md`,"aria-label":E(),onClick:ie},null,8,[`aria-label`])])])])])]))])]))}},[[`__scopeId`,`data-v-86262777`]]);export{q as t}; \ No newline at end of file +import{B as e,C as t,S as n,T as r,c as i,ft as a,j as o,l as s,m as c,p as l,r as u,s as d,u as f,ut as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./Icon-CtR1FGIT.js";import{t as g}from"./IconButton-DXYRXEop.js";import{t as _}from"./i18n-BvZbJICa.js";import{t as v}from"./_plugin-vue_export-helper-0vLWKQyu.js";import{t as y}from"./Button-JT3QbcL8.js";import{t as b}from"./BundleCard-GFdKUaM1.js";var x={key:0,class:`flex flex-col gap-4`},S={key:0,class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},C={key:0,class:`italic font-light text-brand`},w={__name:`BundlesHeader`,props:{headline:{type:String,default:``},headlineEm:{type:String,default:``},sub:{type:String,default:``},subMaxWidth:{type:String,default:`max-w-md`}},setup(e){return(n,r)=>e.headline||e.headlineEm||e.sub?(t(),f(`div`,x,[e.headline||e.headlineEm?(t(),f(`h2`,S,[l(a(e.headline)+` `,1),e.headlineEm?(t(),f(`em`,C,a(e.headlineEm),1)):s(``,!0)])):s(``,!0),e.sub?(t(),f(`p`,{key:1,class:p([`text-base leading-relaxed text-muted`,e.subMaxWidth])},a(e.sub),3)):s(``,!0)])):s(``,!0)}},T={"aria-hidden":`true`,class:`mt-0.5 inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-brand-wash text-brand`},E={class:`font-sans text-sm font-semibold text-ink leading-snug`},D={__name:`BundlesBenefits`,props:{benefits:{type:Array,required:!0,validator:e=>e.every(e=>typeof e==`string`)},listClass:{type:String,default:``}},setup(e){return(n,i)=>e.benefits.length?(t(),f(`ul`,{key:0,class:p([`flex flex-col gap-4`,e.listClass])},[(t(!0),f(u,null,r(e.benefits.slice(0,3),e=>(t(),f(`li`,{key:e,class:`flex items-start gap-3`},[d(`span`,T,[c(h,{name:`check`,size:14,"stroke-width":2.2})]),d(`span`,E,a(e),1)]))),128))],2)):s(``,!0)}},O={id:`bundles`,class:`bg-surface text-ink`},k={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 lg:py-28`},ee={key:0,class:`flex flex-col gap-10 md:gap-12 lg:gap-14`},te={key:0,class:`rounded-md border border-cream-dark bg-cream px-5 py-4 sm:px-6 sm:py-5`},ne={class:`flex flex-col gap-4 sm:flex-row sm:flex-wrap sm:items-center sm:justify-between sm:gap-x-8 sm:gap-y-3`},A={"aria-hidden":`true`,class:`inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-brand-wash text-brand`},j={class:`font-sans text-sm font-semibold text-ink leading-snug`},M={class:`min-w-0`},N={class:`md:hidden grid gap-5`},P={class:`hidden md:grid md:gap-6 md:grid-cols-3`},F={key:1,class:`flex justify-center`},I={key:1,class:`grid gap-10 md:gap-12 lg:gap-16 lg:grid-cols-[340px_1fr] lg:items-center`},L={class:`flex flex-col gap-8`},R={class:`min-w-0`},z={class:`md:hidden grid gap-5`},B={class:`hidden md:flex md:flex-col md:gap-6 relative`},V=[`aria-label`],H=[`aria-label`],U={class:`flex items-center justify-between gap-4`},W={class:`flex items-center gap-2`},G=[`aria-label`,`aria-current`,`onClick`],K={class:`flex items-center gap-2`},q=v({__name:`Bundles`,props:{layout:{type:String,default:`sidebar`,validator:e=>[`sidebar`,`stacked`].includes(e)},headline:{type:String,default:``},headlineEm:{type:String,default:``},sub:{type:String,default:``},benefits:{type:Array,default:()=>[],validator:e=>e.every(e=>typeof e==`string`)},joinCta:{type:String,default:``},bundles:{type:Array,required:!0},carouselLabel:{type:String,default:``},carouselPrevLabel:{type:String,default:``},carouselNextLabel:{type:String,default:``},carouselGoToPrefix:{type:String,default:``}},emits:[`add`,`join`],setup(v){let x=v,{t:S}=_(),C=()=>x.carouselLabel||S(`ds.bundles.carousel.label`),T=()=>x.carouselPrevLabel||S(`ds.bundles.carousel.prev`),E=()=>x.carouselNextLabel||S(`ds.bundles.carousel.next`),q=()=>x.carouselGoToPrefix||S(`ds.bundles.carousel.goToSlide`),J=e(null),Y=e(0);function X(){return J.value?J.value.children.length:0}function Z(e,t=`smooth`){let n=J.value;if(!n)return;let r=n.children.length-1,i=Math.max(0,Math.min(e,r));n.scrollTo({left:i*n.clientWidth,behavior:t})}function re(){let e=X()-1;e<0||Z(Y.value===0?e:Y.value-1)}function ie(){let e=X()-1;e<0||Z(Y.value===e?0:Y.value+1)}function ae(){let e=J.value;if(!e)return;let t=Math.round(e.scrollLeft/e.clientWidth);t!==Y.value&&(Y.value=t)}let Q=0;function $(){Q&&cancelAnimationFrame(Q),Q=requestAnimationFrame(()=>{let e=J.value;e&&(e.scrollLeft=Y.value*e.clientWidth,Q=0)})}return n(()=>{window.addEventListener(`resize`,$,{passive:!0})}),m(()=>{window.removeEventListener(`resize`,$),Q&&cancelAnimationFrame(Q)}),(e,n)=>(t(),f(`section`,O,[d(`div`,k,[v.layout===`stacked`?(t(),f(`div`,ee,[c(w,{headline:v.headline,"headline-em":v.headlineEm,sub:v.sub,"sub-max-width":`max-w-2xl`},null,8,[`headline`,`headline-em`,`sub`]),v.benefits.length?(t(),f(`div`,te,[d(`ul`,ne,[(t(!0),f(u,null,r(v.benefits.slice(0,3),e=>(t(),f(`li`,{key:e,class:`flex items-center gap-3`},[d(`span`,A,[c(h,{name:`check`,size:14,"stroke-width":2.2})]),d(`span`,j,a(e),1)]))),128))])])):s(``,!0),d(`div`,M,[d(`div`,N,[(t(!0),f(u,null,r(v.bundles,n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))]),d(`div`,P,[(t(!0),f(u,null,r(v.bundles.slice(0,3),n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))])]),v.joinCta?(t(),f(`div`,F,[c(y,{variant:`primary`,size:`lg`,onClick:n[0]||=t=>e.$emit(`join`)},{default:o(()=>[l(a(v.joinCta),1)]),_:1})])):s(``,!0)])):(t(),f(`div`,I,[d(`aside`,L,[c(w,{headline:v.headline,"headline-em":v.headlineEm,sub:v.sub,"sub-max-width":`max-w-md`},null,8,[`headline`,`headline-em`,`sub`]),c(D,{benefits:v.benefits},null,8,[`benefits`]),v.joinCta?(t(),i(y,{key:0,variant:`primary`,size:`md`,class:`self-start`,onClick:n[1]||=t=>e.$emit(`join`)},{default:o(()=>[l(a(v.joinCta),1)]),_:1})):s(``,!0)]),d(`div`,R,[d(`div`,z,[(t(!0),f(u,null,r(v.bundles,n=>(t(),i(b,{key:n.id,layout:`vertical`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`]))),128))]),d(`div`,B,[d(`div`,{ref_key:`track`,ref:J,class:`flex snap-x snap-mandatory overflow-x-auto scroll-smooth no-scrollbar pt-2 pb-16 -mt-2 -mb-16`,role:`region`,"aria-roledescription":`carousel`,"aria-label":C(),onScroll:ae},[(t(!0),f(u,null,r(v.bundles,(n,r)=>(t(),f(`div`,{key:n.id,class:`snap-start shrink-0 w-full`,role:`group`,"aria-roledescription":`slide`,"aria-label":`${r+1} / ${v.bundles.length}`},[c(b,{layout:`horizontal`,name:n.name,items:n.items,price:n.price,"member-price":n.memberPrice,usage:n.usage,image:n.image,"image-alt":n.imageAlt,badge:n.badge,"badge-variant":n.badgeVariant||`accent`,href:n.href||``,tone:`paper`,onAdd:t=>e.$emit(`add`,n.id)},null,8,[`name`,`items`,`price`,`member-price`,`usage`,`image`,`image-alt`,`badge`,`badge-variant`,`href`,`onAdd`])],8,H))),128))],40,V),d(`div`,U,[d(`div`,W,[(t(!0),f(u,null,r(v.bundles,(e,n)=>(t(),f(`button`,{key:n,type:`button`,class:p([`h-2 rounded-full transition-all duration-base`,Y.value===n?`w-8 bg-brand`:`w-2 bg-brand/30 hover:bg-brand/50`]),"aria-label":`${q()} ${n+1}`,"aria-current":Y.value===n?`true`:void 0,onClick:e=>Z(n)},null,10,G))),128))]),d(`div`,K,[c(g,{icon:`chevron-left`,variant:`brand-wash`,size:`md`,"aria-label":T(),onClick:re},null,8,[`aria-label`]),c(g,{icon:`chevron-right`,variant:`brand-wash`,size:`md`,"aria-label":E(),onClick:ie},null,8,[`aria-label`])])])])])]))])]))}},[[`__scopeId`,`data-v-86262777`]]);export{q as t}; \ No newline at end of file diff --git a/dist/assets/BundlesPreview-mIgysGfe.js b/dist/assets/BundlesPreview-BF7Z65XU.js similarity index 92% rename from dist/assets/BundlesPreview-mIgysGfe.js rename to dist/assets/BundlesPreview-BF7Z65XU.js index 7b5e3eb..35c14cb 100644 --- a/dist/assets/BundlesPreview-mIgysGfe.js +++ b/dist/assets/BundlesPreview-BF7Z65XU.js @@ -1 +1 @@ -import{C as e,G as t,m as n,o as r,u as i}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a}from"./vue-router-Cyqru1db.js";import{t as o}from"./i18n-BPHBAYJ6.js";import{t as s}from"./Bundles-A_4NtEnR.js";var c={class:`min-h-screen bg-surface`},l={__name:`BundlesPreview`,setup(l){let{t:u}=o(),d=a(),f=r(()=>d.query.layout===`stacked`?`stacked`:`sidebar`),p=[{id:`haushalt`,name:`Haushalts-Bundle`,usage:`2–3× pro Quartal empfohlen`,items:[`1× Kaiser-Natron Pulver 250 g`,`1× Allzweck-Spray 500 ml`,`1× Spülmittel 500 ml`],price:24.9,memberPrice:21.17,image:`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,imageAlt:`Haushalts-Bundle mit Kaiser-Natron`,badge:`Bestseller`,badgeVariant:`accent`},{id:`waesche`,name:`Wäsche & Pflege`,usage:`1–2× pro Quartal`,items:[`1× Holste Wasch-Soda 500 g`,`1× Gazelle Wäschestärke 1 l`,`1× Linda Fleckenweg 200 ml`],price:22.9,memberPrice:19.47,image:`/products/holste-wasch-soda-500-g-beutel.webp`,imageAlt:`Wäsche & Pflege Bundle`},{id:`wohlfuehl`,name:`Wohlfühl-Bundle`,usage:`1× pro Quartal`,items:[`1× Kaiser-Natron Tabletten 100 g`,`1× Kaiser-Natron Bad 500 g`,`1× Kaiser-Natron Fußbad 500 g`],price:29.9,memberPrice:25.42,image:`/products/kaiser-natron-bad-500-g.webp`,imageAlt:`Wohlfühl-Bundle`}],m=r(()=>[u(`bundles.benefit.1.title`),u(`bundles.benefit.2.title`),u(`bundles.benefit.3.title`)]);return(r,a)=>(e(),i(`div`,c,[n(s,{layout:f.value,bundles:p,headline:t(u)(`bundles.headline.a`),"headline-em":t(u)(`bundles.headline.em`),sub:t(u)(`bundles.sub`),benefits:m.value,"join-cta":t(u)(`bundles.joinCta`)},null,8,[`layout`,`headline`,`headline-em`,`sub`,`benefits`,`join-cta`])]))}};export{l as default}; \ No newline at end of file +import{C as e,G as t,m as n,o as r,u as i}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a}from"./vue-router-Cyqru1db.js";import{t as o}from"./i18n-BvZbJICa.js";import{t as s}from"./Bundles-C6mqXo0R.js";var c={class:`min-h-screen bg-surface`},l={__name:`BundlesPreview`,setup(l){let{t:u}=o(),d=a(),f=r(()=>d.query.layout===`stacked`?`stacked`:`sidebar`),p=[{id:`haushalt`,name:`Haushalts-Bundle`,usage:`2–3× pro Quartal empfohlen`,items:[`1× Kaiser-Natron Pulver 250 g`,`1× Allzweck-Spray 500 ml`,`1× Spülmittel 500 ml`],price:24.9,memberPrice:21.17,image:`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,imageAlt:`Haushalts-Bundle mit Kaiser-Natron`,badge:`Bestseller`,badgeVariant:`accent`},{id:`waesche`,name:`Wäsche & Pflege`,usage:`1–2× pro Quartal`,items:[`1× Holste Wasch-Soda 500 g`,`1× Gazelle Wäschestärke 1 l`,`1× Linda Fleckenweg 200 ml`],price:22.9,memberPrice:19.47,image:`/products/holste-wasch-soda-500-g-beutel.webp`,imageAlt:`Wäsche & Pflege Bundle`},{id:`wohlfuehl`,name:`Wohlfühl-Bundle`,usage:`1× pro Quartal`,items:[`1× Kaiser-Natron Tabletten 100 g`,`1× Kaiser-Natron Bad 500 g`,`1× Kaiser-Natron Fußbad 500 g`],price:29.9,memberPrice:25.42,image:`/products/kaiser-natron-bad-500-g.webp`,imageAlt:`Wohlfühl-Bundle`}],m=r(()=>[u(`bundles.benefit.1.title`),u(`bundles.benefit.2.title`),u(`bundles.benefit.3.title`)]);return(r,a)=>(e(),i(`div`,c,[n(s,{layout:f.value,bundles:p,headline:t(u)(`bundles.headline.a`),"headline-em":t(u)(`bundles.headline.em`),sub:t(u)(`bundles.sub`),benefits:m.value,"join-cta":t(u)(`bundles.joinCta`)},null,8,[`layout`,`headline`,`headline-em`,`sub`,`benefits`,`join-cta`])]))}};export{l as default}; \ No newline at end of file diff --git a/dist/assets/BundlesSection-CW4DgnRg.js b/dist/assets/BundlesSection-ByTt2ygh.js similarity index 98% rename from dist/assets/BundlesSection-CW4DgnRg.js rename to dist/assets/BundlesSection-ByTt2ygh.js index 0f51d24..b822a25 100644 --- a/dist/assets/BundlesSection-CW4DgnRg.js +++ b/dist/assets/BundlesSection-ByTt2ygh.js @@ -1,4 +1,4 @@ -import{B as e,C as t,G as n,T as r,c as i,ft as a,j as o,m as s,o as c,p as l,r as u,s as d,u as f,ut as p}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as m}from"./i18n-BPHBAYJ6.js";import{t as h}from"./SectionShell-XUVs_07L.js";import{t as g}from"./DevicePreview-CxF-mErd.js";var _={role:`tablist`,"aria-label":`Layout variant`,class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},v=[`aria-selected`,`onClick`],y={class:`eyebrow mb-5`},b={__name:`BundlesSection`,setup(b){let{t:x}=m(),S=[{id:`sidebar`,label:`Option 1`},{id:`stacked`,label:`Option 2`}],C=e(`sidebar`),w=c(()=>`/design/preview/bundles?layout=${C.value}`);return(e,c)=>(t(),i(h,{eyebrow:n(x)(`ds.eyebrow.components`),title:n(x)(`ds.bundles.title`),description:n(x)(`ds.bundles.description`),wide:``},{default:o(()=>[d(`section`,null,[s(g,{src:w.value,initial:`desktop`,height:1080},{controls:o(()=>[d(`div`,_,[(t(),f(u,null,r(S,e=>d(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":C.value===e.id,class:p([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,C.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>C.value=e.id},a(e.label),11,v)),64))])]),_:1},8,[`src`])]),d(`section`,null,[d(`h2`,y,a(n(x)(`ds.heading.usage`)),1),c[0]||=d(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[d(`pre`,{class:`whitespace-pre-wrap`},``/design/preview/bundles?layout=${C.value}`);return(e,c)=>(t(),i(h,{eyebrow:n(x)(`ds.eyebrow.components`),title:n(x)(`ds.bundles.title`),description:n(x)(`ds.bundles.description`),wide:``},{default:o(()=>[d(`section`,null,[s(g,{src:w.value,initial:`desktop`,height:1080},{controls:o(()=>[d(`div`,_,[(t(),f(u,null,r(S,e=>d(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":C.value===e.id,class:p([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,C.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>C.value=e.id},a(e.label),11,v)),64))])]),_:1},8,[`src`])]),d(`section`,null,[d(`h2`,y,a(n(x)(`ds.heading.usage`)),1),c[0]||=d(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[d(`pre`,{class:`whitespace-pre-wrap`},`(e(),n(d,{eyebrow:t(F)(`ds.eyebrow.components`),title:t(F)(`ds.buttons.title`),description:t(F)(`ds.buttons.description`)},{default:i(()=>[s(`section`,null,[s(`h2`,p,r(t(F)(`ds.heading.variants`)),1),a(f,{tone:`paper`},{default:i(()=>[s(`div`,m,[a(u,{variant:`primary`},{default:i(()=>[o(r(t(F)(`ds.buttons.primary`)),1)]),_:1}),a(u,{variant:`accent`},{default:i(()=>[o(r(t(F)(`ds.buttons.accent`)),1)]),_:1}),a(u,{variant:`secondary`},{default:i(()=>[o(r(t(F)(`ds.buttons.secondary`)),1)]),_:1}),a(u,{variant:`ghost`},{default:i(()=>[o(r(t(F)(`ds.buttons.ghost`)),1)]),_:1}),a(u,{variant:`danger`},{default:i(()=>[o(r(t(F)(`ds.buttons.danger`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,h,r(t(F)(`ds.heading.onDifferentSurfaces`)),1),s(`div`,g,[a(f,{tone:`paper`},{default:i(()=>[s(`p`,_,r(t(F)(`ds.cards.paper`)),1),s(`div`,v,[a(u,{variant:`primary`},{before:i(()=>[a(c,{name:`cart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.addToCart`)),1)]),_:1}),a(u,{variant:`ghost`},{default:i(()=>[o(r(t(F)(`ds.buttons.learnMore`)),1)]),_:1})])]),_:1}),a(f,{tone:`cream`},{default:i(()=>[s(`p`,y,r(t(F)(`ds.cards.cream`)),1),s(`div`,b,[a(u,{variant:`primary`},{before:i(()=>[a(c,{name:`cart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.addToCart`)),1)]),_:1}),a(u,{variant:`ghost`},{default:i(()=>[o(r(t(F)(`ds.buttons.learnMore`)),1)]),_:1})])]),_:1}),a(f,{tone:`brand`},{default:i(()=>[s(`p`,x,r(t(F)(`ds.cards.brand`)),1),s(`div`,S,[a(u,{variant:`accent`},{before:i(()=>[a(c,{name:`cart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.addToCart`)),1)]),_:1}),a(u,{variant:`ghost`,class:`!text-cream hover:!bg-cream-wash`},{default:i(()=>[o(r(t(F)(`ds.buttons.learnMore`)),1)]),_:1})])]),_:1})])]),s(`section`,null,[s(`h2`,C,r(t(F)(`ds.heading.sizes`)),1),a(f,{tone:`paper`},{default:i(()=>[s(`div`,w,[a(u,{size:`sm`},{default:i(()=>[o(r(t(F)(`ds.buttons.small`)),1)]),_:1}),a(u,{size:`md`},{default:i(()=>[o(r(t(F)(`ds.buttons.medium`)),1)]),_:1}),a(u,{size:`lg`},{default:i(()=>[o(r(t(F)(`ds.buttons.large`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,T,r(t(F)(`ds.heading.withIcons`)),1),a(f,{tone:`paper`},{default:i(()=>[s(`div`,E,[a(u,{variant:`primary`},{before:i(()=>[a(c,{name:`cart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.addToCart`)),1)]),_:1}),a(u,{variant:`secondary`},{after:i(()=>[a(c,{name:`arrow-right`,size:18})]),default:i(()=>[o(r(t(F)(`ds.buttons.learnMore`))+` `,1)]),_:1}),a(u,{variant:`ghost`},{before:i(()=>[a(c,{name:`heart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.save`)),1)]),_:1}),a(u,{variant:`accent`,size:`sm`},{before:i(()=>[a(c,{name:`check`,size:16})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.confirm`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,D,r(t(F)(`ds.heading.states`)),1),a(f,{tone:`paper`},{default:i(()=>[s(`div`,O,[a(u,null,{default:i(()=>[o(r(t(F)(`ds.heading.default`)),1)]),_:1}),a(u,{disabled:``},{default:i(()=>[o(r(t(F)(`ds.buttons.disabled`)),1)]),_:1}),a(u,{loading:``},{default:i(()=>[o(r(t(F)(`ds.buttons.loading`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,k,r(t(F)(`ds.heading.block`)),1),a(f,{tone:`paper`},{default:i(()=>[s(`div`,A,[a(u,{block:``,variant:`primary`},{before:i(()=>[a(c,{name:`cart`,size:18})]),default:i(()=>[o(` `+r(t(F)(`ds.buttons.addToCart`)),1)]),_:1}),a(u,{block:``,variant:`secondary`},{default:i(()=>[o(r(t(F)(`ds.buttons.continueShopping`)),1)]),_:1})])]),_:1})]),s(`section`,null,[s(`h2`,j,r(t(F)(`ds.heading.usage`)),1),s(`div`,M,[s(`pre`,N,``,1)])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{P as default}; \ No newline at end of file diff --git a/dist/assets/CardsSection-Q-GMwUK8.js b/dist/assets/CardsSection-Dsf0JZoe.js similarity index 97% rename from dist/assets/CardsSection-Q-GMwUK8.js rename to dist/assets/CardsSection-Dsf0JZoe.js index 5444408..d018e88 100644 --- a/dist/assets/CardsSection-Q-GMwUK8.js +++ b/dist/assets/CardsSection-Dsf0JZoe.js @@ -1 +1 @@ -import{C as e,G as t,c as n,ft as r,j as i,m as a,p as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BPHBAYJ6.js";import{t as l}from"./Badge-DiccZCC_.js";import{t as u}from"./SectionShell-XUVs_07L.js";import{t as d}from"./Card-CPlQ-6EI.js";var f={class:`eyebrow mb-5`},p={class:`grid md:grid-cols-3 gap-6`},m={class:`font-display text-2xl font-normal mb-2`},h={class:`text-[14px] text-muted leading-relaxed`},g={class:`font-display text-2xl font-normal mb-2`},_={class:`text-[14px] text-muted leading-relaxed`},v={class:`font-display text-2xl font-normal mb-2`},y={class:`text-[14px] opacity-80 leading-relaxed`},b={class:`eyebrow mb-5`},x={class:`grid md:grid-cols-2 gap-6`},S={class:`font-display text-2xl font-normal mb-2`},C={class:`text-[14px] text-muted leading-relaxed`},w={class:`font-display text-2xl font-normal mb-2`},T={class:`text-[14px] text-muted leading-relaxed`},E={class:`eyebrow mb-5`},D={class:`p-7`},O={class:`font-display text-2xl font-normal mb-2`},k={class:`text-[14px] text-muted leading-relaxed`},A={__name:`CardsSection`,setup(A){let{t:j}=c();return(c,A)=>(e(),n(u,{eyebrow:t(j)(`ds.eyebrow.components`),title:t(j)(`ds.cards.title`),description:t(j)(`ds.cards.description`)},{default:i(()=>[s(`section`,null,[s(`h2`,f,r(t(j)(`ds.heading.tones`)),1),s(`div`,p,[a(d,{tone:`paper`},{default:i(()=>[a(l,{variant:`subtle`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.paper`)),1)]),_:1}),s(`h3`,m,r(t(j)(`ds.cards.paperTitle`)),1),s(`p`,h,r(t(j)(`ds.cards.paperBody`)),1)]),_:1}),a(d,{tone:`cream`},{default:i(()=>[a(l,{variant:`subtle`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.cream`)),1)]),_:1}),s(`h3`,g,r(t(j)(`ds.cards.creamTitle`)),1),s(`p`,_,r(t(j)(`ds.cards.creamBody`)),1)]),_:1}),a(d,{tone:`brand`},{default:i(()=>[a(l,{variant:`accent`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.brand`)),1)]),_:1}),s(`h3`,v,r(t(j)(`ds.cards.brandTitle`)),1),s(`p`,y,r(t(j)(`ds.cards.brandBody`)),1)]),_:1})])]),s(`section`,null,[s(`h2`,b,r(t(j)(`ds.heading.interactive`)),1),s(`div`,x,[a(d,{tone:`paper`,interactive:``},{default:i(()=>[s(`h3`,S,r(t(j)(`ds.cards.hoverMe`)),1),s(`p`,C,r(t(j)(`ds.cards.hoverBody`)),1)]),_:1}),a(d,{tone:`cream`,interactive:``},{default:i(()=>[s(`h3`,w,r(t(j)(`ds.cards.hoverMeToo`)),1),s(`p`,T,r(t(j)(`ds.cards.hoverBodyAlt`)),1)]),_:1})])]),s(`section`,null,[s(`h2`,E,r(t(j)(`ds.heading.withoutPadding`)),1),a(d,{tone:`paper`,padded:!1},{default:i(()=>[A[2]||=s(`div`,{class:`h-40 bg-cream rounded-t-md`},null,-1),s(`div`,D,[s(`h3`,O,r(t(j)(`ds.cards.mediaTitle`)),1),s(`p`,k,[o(r(t(j)(`ds.cards.mediaBody`))+` `,1),A[0]||=s(`code`,{class:`font-mono text-[12px]`},`:padded="false"`,-1),A[1]||=o(`. `,-1)])])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{A as default}; \ No newline at end of file +import{C as e,G as t,c as n,ft as r,j as i,m as a,p as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BvZbJICa.js";import{t as l}from"./Badge-DiccZCC_.js";import{t as u}from"./SectionShell-XUVs_07L.js";import{t as d}from"./Card-CPlQ-6EI.js";var f={class:`eyebrow mb-5`},p={class:`grid md:grid-cols-3 gap-6`},m={class:`font-display text-2xl font-normal mb-2`},h={class:`text-[14px] text-muted leading-relaxed`},g={class:`font-display text-2xl font-normal mb-2`},_={class:`text-[14px] text-muted leading-relaxed`},v={class:`font-display text-2xl font-normal mb-2`},y={class:`text-[14px] opacity-80 leading-relaxed`},b={class:`eyebrow mb-5`},x={class:`grid md:grid-cols-2 gap-6`},S={class:`font-display text-2xl font-normal mb-2`},C={class:`text-[14px] text-muted leading-relaxed`},w={class:`font-display text-2xl font-normal mb-2`},T={class:`text-[14px] text-muted leading-relaxed`},E={class:`eyebrow mb-5`},D={class:`p-7`},O={class:`font-display text-2xl font-normal mb-2`},k={class:`text-[14px] text-muted leading-relaxed`},A={__name:`CardsSection`,setup(A){let{t:j}=c();return(c,A)=>(e(),n(u,{eyebrow:t(j)(`ds.eyebrow.components`),title:t(j)(`ds.cards.title`),description:t(j)(`ds.cards.description`)},{default:i(()=>[s(`section`,null,[s(`h2`,f,r(t(j)(`ds.heading.tones`)),1),s(`div`,p,[a(d,{tone:`paper`},{default:i(()=>[a(l,{variant:`subtle`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.paper`)),1)]),_:1}),s(`h3`,m,r(t(j)(`ds.cards.paperTitle`)),1),s(`p`,h,r(t(j)(`ds.cards.paperBody`)),1)]),_:1}),a(d,{tone:`cream`},{default:i(()=>[a(l,{variant:`subtle`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.cream`)),1)]),_:1}),s(`h3`,g,r(t(j)(`ds.cards.creamTitle`)),1),s(`p`,_,r(t(j)(`ds.cards.creamBody`)),1)]),_:1}),a(d,{tone:`brand`},{default:i(()=>[a(l,{variant:`accent`,class:`mb-4`},{default:i(()=>[o(r(t(j)(`ds.cards.brand`)),1)]),_:1}),s(`h3`,v,r(t(j)(`ds.cards.brandTitle`)),1),s(`p`,y,r(t(j)(`ds.cards.brandBody`)),1)]),_:1})])]),s(`section`,null,[s(`h2`,b,r(t(j)(`ds.heading.interactive`)),1),s(`div`,x,[a(d,{tone:`paper`,interactive:``},{default:i(()=>[s(`h3`,S,r(t(j)(`ds.cards.hoverMe`)),1),s(`p`,C,r(t(j)(`ds.cards.hoverBody`)),1)]),_:1}),a(d,{tone:`cream`,interactive:``},{default:i(()=>[s(`h3`,w,r(t(j)(`ds.cards.hoverMeToo`)),1),s(`p`,T,r(t(j)(`ds.cards.hoverBodyAlt`)),1)]),_:1})])]),s(`section`,null,[s(`h2`,E,r(t(j)(`ds.heading.withoutPadding`)),1),a(d,{tone:`paper`,padded:!1},{default:i(()=>[A[2]||=s(`div`,{class:`h-40 bg-cream rounded-t-md`},null,-1),s(`div`,D,[s(`h3`,O,r(t(j)(`ds.cards.mediaTitle`)),1),s(`p`,k,[o(r(t(j)(`ds.cards.mediaBody`))+` `,1),A[0]||=s(`code`,{class:`font-mono text-[12px]`},`:padded="false"`,-1),A[1]||=o(`. `,-1)])])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{A as default}; \ No newline at end of file diff --git a/dist/assets/CartDrawer-B5-Oi-Om.js b/dist/assets/CartDrawer-UHso3FZx.js similarity index 96% rename from dist/assets/CartDrawer-B5-Oi-Om.js rename to dist/assets/CartDrawer-UHso3FZx.js index cffceff..a486ac3 100644 --- a/dist/assets/CartDrawer-B5-Oi-Om.js +++ b/dist/assets/CartDrawer-UHso3FZx.js @@ -1 +1 @@ -import{A as e,B as t,C as n,G as r,T as i,b as ee,c as a,ft as o,i as te,j as s,l as c,m as l,o as u,p as d,r as ne,s as f,u as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./runtime-dom.esm-bundler-CXLmyuFK.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./IconButton-DXYRXEop.js";import{t as re}from"./i18n-BPHBAYJ6.js";import{t as ie}from"./Badge-DiccZCC_.js";import{n as v}from"./products-BqW5PUnm.js";import"./api-Dmuwbd_X.js";import{t as y}from"./Button-JT3QbcL8.js";import{t as b}from"./QuantityStepper-BB38-Td1.js";var x=[`aria-label`],S={class:`shrink-0 flex items-center justify-between px-6 py-5 border-b border-line`,style:{"padding-top":`calc(env(safe-area-inset-top) + 1.25rem)`}},C={class:`flex items-center gap-3 min-w-0`},w={class:`font-display text-2xl font-normal text-brand leading-none truncate`},T={class:`flex-1 overflow-y-auto`},E={key:0,class:`relative h-full flex flex-col items-center justify-center gap-4 px-8 py-16 text-center`},D={class:`w-16 h-16 rounded-full bg-brand-wash flex items-center justify-center text-brand`},O={class:`font-display text-xl text-brand`},k={class:`text-sm text-muted max-w-xs`},A={class:`md:hidden absolute bottom-5 right-5`,style:{"padding-bottom":`env(safe-area-inset-bottom)`}},j={key:1,class:`divide-y divide-line`},M=[`href`],N=[`src`,`alt`],P={class:`flex-1 min-w-0 flex flex-col gap-2`},F={class:`flex items-start justify-between gap-3`},ae={class:`min-w-0`},I={class:`text-[15px] font-semibold text-ink leading-tight truncate`},L={key:0,class:`text-[13px] text-muted mt-0.5 truncate`},R={class:`flex items-center justify-between gap-3`},z={class:`font-display text-lg text-brand tabular-nums`},B={key:0,class:`shrink-0 border-t border-line px-6 py-5 flex flex-col gap-4`,style:{"padding-bottom":`calc(env(safe-area-inset-bottom) + 1.25rem)`}},V={class:`flex items-baseline justify-between`},H={class:`eyebrow`},U={class:`font-display text-2xl text-brand tabular-nums`},W={class:`flex items-center gap-3`},G={class:`md:hidden shrink-0`},K={__name:`CartDrawer`,props:{modelValue:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},subtotal:{type:Number,default:0},count:{type:Number,default:0}},emits:[`update:modelValue`,`update-quantity`,`remove`,`checkout`],setup(K,{emit:q}){let J=K,Y=q,{t:X}=re(),Z=t(null);function Q(){Y(`update:modelValue`,!1)}function oe(e){e.key===`Escape`&&(e.preventDefault(),Q())}e(()=>J.modelValue,e=>{typeof document>`u`||(document.documentElement.style.overflow=e?`hidden`:``,e&&ee(()=>Z.value?.focus()))}),m(()=>{typeof document<`u`&&(document.documentElement.style.overflow=``)});let $=u(()=>J.items.length>0);function se(e,t){Y(`update-quantity`,{productId:e.productId,quantity:t})}function ce(e){Y(`remove`,e.productId)}return(e,t)=>(n(),a(te,{to:`body`},[l(h,{"enter-active-class":`transition duration-base ease-out`,"enter-from-class":`opacity-0`,"enter-to-class":`opacity-100`,"leave-active-class":`transition duration-base ease-out`,"leave-from-class":`opacity-100`,"leave-to-class":`opacity-0`},{default:s(()=>[K.modelValue?(n(),p(`div`,{key:0,class:`fixed inset-0 z-[55] bg-ink/40`,"aria-hidden":`true`,onClick:Q})):c(``,!0)]),_:1}),l(h,{"enter-active-class":`transition-transform duration-slow ease-out`,"enter-from-class":`translate-x-full`,"enter-to-class":`translate-x-0`,"leave-active-class":`transition-transform duration-base ease-out`,"leave-from-class":`translate-x-0`,"leave-to-class":`translate-x-full`},{default:s(()=>[K.modelValue?(n(),p(`aside`,{key:0,ref_key:`panelRef`,ref:Z,tabindex:`-1`,role:`dialog`,"aria-modal":`true`,"aria-label":r(X)(`cart.label`),class:`fixed inset-y-0 right-0 z-[60] w-full md:max-w-[440px] bg-cream text-ink flex flex-col shadow-lg md:border-l md:border-line font-sans outline-none`,onKeydown:oe},[f(`header`,S,[f(`div`,C,[l(g,{name:`cart`,size:22,class:`text-brand shrink-0`}),f(`h2`,w,o(r(X)(`cart.label`)),1),K.count>0?(n(),a(ie,{key:0,variant:`subtle`,class:`shrink-0`},{default:s(()=>[d(o(K.count),1)]),_:1})):c(``,!0)]),l(_,{icon:`close`,variant:`ghost`,size:`sm`,"icon-size":20,"aria-label":r(X)(`menu.close`),class:`hidden md:inline-flex`,onClick:Q},null,8,[`aria-label`])]),f(`div`,T,[$.value?(n(),p(`ul`,j,[(n(!0),p(ne,null,i(K.items,e=>(n(),p(`li`,{key:e.productId,class:`flex gap-4 px-6 py-5`},[f(`a`,{href:e.product?.href||`#`,class:`shrink-0 w-20 h-20 rounded-sm overflow-hidden bg-paper flex items-center justify-center`},[e.product?.image?(n(),p(`img`,{key:0,src:e.product.image,alt:e.product.title,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,N)):c(``,!0)],8,M),f(`div`,P,[f(`div`,F,[f(`div`,ae,[f(`p`,I,o(e.product?.title),1),e.product?.size?(n(),p(`p`,L,o(e.product.size),1)):c(``,!0)]),l(_,{icon:`trash`,variant:`ghost`,size:`xs`,"icon-size":18,"aria-label":r(X)(`cart.remove`),class:`shrink-0`,onClick:t=>ce(e)},null,8,[`aria-label`,`onClick`])]),f(`div`,R,[l(b,{"model-value":e.quantity,min:0,"decrease-label":r(X)(`cart.qty.decrease`),"increase-label":r(X)(`cart.qty.increase`),"onUpdate:modelValue":t=>se(e,t)},null,8,[`model-value`,`decrease-label`,`increase-label`,`onUpdate:modelValue`]),f(`span`,z,o(r(v)(e.lineTotal)),1)])])]))),128))])):(n(),p(`div`,E,[f(`div`,D,[l(g,{name:`cart`,size:28})]),f(`p`,O,o(r(X)(`cart.empty.title`)),1),f(`p`,k,o(r(X)(`cart.empty.subtitle`)),1),l(y,{variant:`secondary`,size:`md`,class:`mt-2`,onClick:Q},{default:s(()=>[d(o(r(X)(`ds.buttons.continueShopping`)),1)]),_:1}),f(`div`,A,[l(_,{icon:`close`,variant:`cream-dark`,size:`lg`,"icon-size":24,"icon-stroke-width":2,"aria-label":r(X)(`menu.close`),onClick:Q},null,8,[`aria-label`])])]))]),$.value?(n(),p(`footer`,B,[f(`div`,V,[f(`span`,H,o(r(X)(`cart.subtotal`)),1),f(`span`,U,o(r(v)(K.subtotal)),1)]),f(`div`,W,[l(y,{variant:`primary`,size:`lg`,block:``,class:`flex-1 min-w-0`,onClick:t[0]||=t=>e.$emit(`checkout`)},{after:s(()=>[l(g,{name:`arrow-right`,size:18})]),default:s(()=>[d(` `+o(r(X)(`cart.checkout`)),1)]),_:1}),f(`div`,G,[l(_,{icon:`close`,variant:`float`,size:`lg`,"icon-size":24,"icon-stroke-width":2,"aria-label":r(X)(`menu.close`),onClick:Q},null,8,[`aria-label`])])])])):c(``,!0)],40,x)):c(``,!0)]),_:1})]))}};export{K as t}; \ No newline at end of file +import{A as e,B as t,C as n,G as r,T as i,b as ee,c as a,ft as o,i as te,j as s,l as c,m as l,o as u,p as d,r as ne,s as f,u as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./IconButton-DXYRXEop.js";import{t as re}from"./i18n-BvZbJICa.js";import{t as ie}from"./Badge-DiccZCC_.js";import{n as v}from"./products-BqW5PUnm.js";import"./api-CJ2exAVU.js";import{t as y}from"./Button-JT3QbcL8.js";import{t as b}from"./QuantityStepper-BB38-Td1.js";var x=[`aria-label`],S={class:`shrink-0 flex items-center justify-between px-6 py-5 border-b border-line`,style:{"padding-top":`calc(env(safe-area-inset-top) + 1.25rem)`}},C={class:`flex items-center gap-3 min-w-0`},w={class:`font-display text-2xl font-normal text-brand leading-none truncate`},T={class:`flex-1 overflow-y-auto`},E={key:0,class:`relative h-full flex flex-col items-center justify-center gap-4 px-8 py-16 text-center`},D={class:`w-16 h-16 rounded-full bg-brand-wash flex items-center justify-center text-brand`},O={class:`font-display text-xl text-brand`},k={class:`text-sm text-muted max-w-xs`},A={class:`md:hidden absolute bottom-5 right-5`,style:{"padding-bottom":`env(safe-area-inset-bottom)`}},j={key:1,class:`divide-y divide-line`},M=[`href`],N=[`src`,`alt`],P={class:`flex-1 min-w-0 flex flex-col gap-2`},F={class:`flex items-start justify-between gap-3`},ae={class:`min-w-0`},I={class:`text-[15px] font-semibold text-ink leading-tight truncate`},L={key:0,class:`text-[13px] text-muted mt-0.5 truncate`},R={class:`flex items-center justify-between gap-3`},z={class:`font-display text-lg text-brand tabular-nums`},B={key:0,class:`shrink-0 border-t border-line px-6 py-5 flex flex-col gap-4`,style:{"padding-bottom":`calc(env(safe-area-inset-bottom) + 1.25rem)`}},V={class:`flex items-baseline justify-between`},H={class:`eyebrow`},U={class:`font-display text-2xl text-brand tabular-nums`},W={class:`flex items-center gap-3`},G={class:`md:hidden shrink-0`},K={__name:`CartDrawer`,props:{modelValue:{type:Boolean,default:!1},items:{type:Array,default:()=>[]},subtotal:{type:Number,default:0},count:{type:Number,default:0}},emits:[`update:modelValue`,`update-quantity`,`remove`,`checkout`],setup(K,{emit:q}){let J=K,Y=q,{t:X}=re(),Z=t(null);function Q(){Y(`update:modelValue`,!1)}function oe(e){e.key===`Escape`&&(e.preventDefault(),Q())}e(()=>J.modelValue,e=>{typeof document>`u`||(document.documentElement.style.overflow=e?`hidden`:``,e&&ee(()=>Z.value?.focus()))}),m(()=>{typeof document<`u`&&(document.documentElement.style.overflow=``)});let $=u(()=>J.items.length>0);function se(e,t){Y(`update-quantity`,{productId:e.productId,quantity:t})}function ce(e){Y(`remove`,e.productId)}return(e,t)=>(n(),a(te,{to:`body`},[l(h,{"enter-active-class":`transition duration-base ease-out`,"enter-from-class":`opacity-0`,"enter-to-class":`opacity-100`,"leave-active-class":`transition duration-base ease-out`,"leave-from-class":`opacity-100`,"leave-to-class":`opacity-0`},{default:s(()=>[K.modelValue?(n(),p(`div`,{key:0,class:`fixed inset-0 z-[55] bg-ink/40`,"aria-hidden":`true`,onClick:Q})):c(``,!0)]),_:1}),l(h,{"enter-active-class":`transition-transform duration-slow ease-out`,"enter-from-class":`translate-x-full`,"enter-to-class":`translate-x-0`,"leave-active-class":`transition-transform duration-base ease-out`,"leave-from-class":`translate-x-0`,"leave-to-class":`translate-x-full`},{default:s(()=>[K.modelValue?(n(),p(`aside`,{key:0,ref_key:`panelRef`,ref:Z,tabindex:`-1`,role:`dialog`,"aria-modal":`true`,"aria-label":r(X)(`cart.label`),class:`fixed inset-y-0 right-0 z-[60] w-full md:max-w-[440px] bg-cream text-ink flex flex-col shadow-lg md:border-l md:border-line font-sans outline-none`,onKeydown:oe},[f(`header`,S,[f(`div`,C,[l(g,{name:`cart`,size:22,class:`text-brand shrink-0`}),f(`h2`,w,o(r(X)(`cart.label`)),1),K.count>0?(n(),a(ie,{key:0,variant:`subtle`,class:`shrink-0`},{default:s(()=>[d(o(K.count),1)]),_:1})):c(``,!0)]),l(_,{icon:`close`,variant:`ghost`,size:`sm`,"icon-size":20,"aria-label":r(X)(`menu.close`),class:`hidden md:inline-flex`,onClick:Q},null,8,[`aria-label`])]),f(`div`,T,[$.value?(n(),p(`ul`,j,[(n(!0),p(ne,null,i(K.items,e=>(n(),p(`li`,{key:e.productId,class:`flex gap-4 px-6 py-5`},[f(`a`,{href:e.product?.href||`#`,class:`shrink-0 w-20 h-20 rounded-sm overflow-hidden bg-paper flex items-center justify-center`},[e.product?.image?(n(),p(`img`,{key:0,src:e.product.image,alt:e.product.title,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,N)):c(``,!0)],8,M),f(`div`,P,[f(`div`,F,[f(`div`,ae,[f(`p`,I,o(e.product?.title),1),e.product?.size?(n(),p(`p`,L,o(e.product.size),1)):c(``,!0)]),l(_,{icon:`trash`,variant:`ghost`,size:`xs`,"icon-size":18,"aria-label":r(X)(`cart.remove`),class:`shrink-0`,onClick:t=>ce(e)},null,8,[`aria-label`,`onClick`])]),f(`div`,R,[l(b,{"model-value":e.quantity,min:0,"decrease-label":r(X)(`cart.qty.decrease`),"increase-label":r(X)(`cart.qty.increase`),"onUpdate:modelValue":t=>se(e,t)},null,8,[`model-value`,`decrease-label`,`increase-label`,`onUpdate:modelValue`]),f(`span`,z,o(r(v)(e.lineTotal)),1)])])]))),128))])):(n(),p(`div`,E,[f(`div`,D,[l(g,{name:`cart`,size:28})]),f(`p`,O,o(r(X)(`cart.empty.title`)),1),f(`p`,k,o(r(X)(`cart.empty.subtitle`)),1),l(y,{variant:`secondary`,size:`md`,class:`mt-2`,onClick:Q},{default:s(()=>[d(o(r(X)(`ds.buttons.continueShopping`)),1)]),_:1}),f(`div`,A,[l(_,{icon:`close`,variant:`cream-dark`,size:`lg`,"icon-size":24,"icon-stroke-width":2,"aria-label":r(X)(`menu.close`),onClick:Q},null,8,[`aria-label`])])]))]),$.value?(n(),p(`footer`,B,[f(`div`,V,[f(`span`,H,o(r(X)(`cart.subtotal`)),1),f(`span`,U,o(r(v)(K.subtotal)),1)]),f(`div`,W,[l(y,{variant:`primary`,size:`lg`,block:``,class:`flex-1 min-w-0`,onClick:t[0]||=t=>e.$emit(`checkout`)},{after:s(()=>[l(g,{name:`arrow-right`,size:18})]),default:s(()=>[d(` `+o(r(X)(`cart.checkout`)),1)]),_:1}),f(`div`,G,[l(_,{icon:`close`,variant:`float`,size:`lg`,"icon-size":24,"icon-stroke-width":2,"aria-label":r(X)(`menu.close`),onClick:Q},null,8,[`aria-label`])])])])):c(``,!0)],40,x)):c(``,!0)]),_:1})]))}};export{K as t}; \ No newline at end of file diff --git a/dist/assets/CartDrawerSection-fjVbdIfA.js b/dist/assets/CartDrawerSection-DaTMQWqC.js similarity index 90% rename from dist/assets/CartDrawerSection-fjVbdIfA.js rename to dist/assets/CartDrawerSection-DaTMQWqC.js index 94a8342..111eb29 100644 --- a/dist/assets/CartDrawerSection-fjVbdIfA.js +++ b/dist/assets/CartDrawerSection-DaTMQWqC.js @@ -1,4 +1,4 @@ -import{B as e,C as t,G as n,S as r,c as i,ft as a,j as o,m as s,p as c,s as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./Icon-CtR1FGIT.js";import{t as d}from"./i18n-BPHBAYJ6.js";import{c as f,d as p,f as m,l as h,p as g,u as _}from"./api-Dmuwbd_X.js";import{t as v}from"./Button-JT3QbcL8.js";import{t as y}from"./CartDrawer-B5-Oi-Om.js";import{t as b}from"./SectionShell-XUVs_07L.js";var x={class:`eyebrow mb-5`},S={class:`rounded-md border border-line bg-paper p-6 flex flex-col sm:flex-row sm:items-center gap-4`},C={class:`text-[13px] text-muted`},w={class:`eyebrow mb-5`},T={class:`text-[15px] text-muted leading-relaxed mb-4 max-w-2xl`},E={class:`eyebrow mb-5`},D={__name:`CartDrawerSection`,setup(D){let{t:O}=d(),k=g(),A=e(!1);async function j(){await h(),await f(`kaiser-natron-pulver-250-g-grosspackung`,2),await f(`kaiser-natron-bad-500-g`,1),A.value=!0}async function M({productId:e,quantity:t}){await m(e,t)}async function N(e){await p(e)}return r(()=>{_()}),(e,r)=>(t(),i(b,{eyebrow:n(O)(`ds.eyebrow.components`),title:n(O)(`ds.cartDrawer.title`),description:n(O)(`ds.cartDrawer.description`)},{default:o(()=>[l(`section`,null,[l(`h2`,x,a(n(O)(`ds.heading.default`)),1),l(`div`,S,[s(v,{variant:`primary`,onClick:j},{before:o(()=>[s(u,{name:`cart`,size:18})]),default:o(()=>[c(` `+a(n(O)(`ds.cartDrawer.demoLabel`)),1)]),_:1}),l(`p`,C,a(n(O)(`ds.cartDrawer.demoHint`)),1)])]),l(`section`,null,[l(`h2`,w,a(n(O)(`ds.cartDrawer.integrationTitle`)),1),l(`p`,T,a(n(O)(`ds.cartDrawer.integrationBody`)),1),r[2]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`import { +import{B as e,C as t,G as n,S as r,c as i,ft as a,j as o,m as s,p as c,s as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./Icon-CtR1FGIT.js";import{t as d}from"./i18n-BvZbJICa.js";import{c as f,d as p,f as m,l as h,p as g,u as _}from"./api-CJ2exAVU.js";import{t as v}from"./Button-JT3QbcL8.js";import{t as y}from"./CartDrawer-UHso3FZx.js";import{t as b}from"./SectionShell-XUVs_07L.js";var x={class:`eyebrow mb-5`},S={class:`rounded-md border border-line bg-paper p-6 flex flex-col sm:flex-row sm:items-center gap-4`},C={class:`text-[13px] text-muted`},w={class:`eyebrow mb-5`},T={class:`text-[15px] text-muted leading-relaxed mb-4 max-w-2xl`},E={class:`eyebrow mb-5`},D={__name:`CartDrawerSection`,setup(D){let{t:O}=d(),k=g(),A=e(!1);async function j(){await h(),await f(`kaiser-natron-pulver-250-g-grosspackung`,2),await f(`kaiser-natron-bad-500-g`,1),A.value=!0}async function M({productId:e,quantity:t}){await m(e,t)}async function N(e){await p(e)}return r(()=>{_()}),(e,r)=>(t(),i(b,{eyebrow:n(O)(`ds.eyebrow.components`),title:n(O)(`ds.cartDrawer.title`),description:n(O)(`ds.cartDrawer.description`)},{default:o(()=>[l(`section`,null,[l(`h2`,x,a(n(O)(`ds.heading.default`)),1),l(`div`,S,[s(v,{variant:`primary`,onClick:j},{before:o(()=>[s(u,{name:`cart`,size:18})]),default:o(()=>[c(` `+a(n(O)(`ds.cartDrawer.demoLabel`)),1)]),_:1}),l(`p`,C,a(n(O)(`ds.cartDrawer.demoHint`)),1)])]),l(`section`,null,[l(`h2`,w,a(n(O)(`ds.cartDrawer.integrationTitle`)),1),l(`p`,T,a(n(O)(`ds.cartDrawer.integrationBody`)),1),r[2]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`import { fetchCart, addToCart, updateCartItem, diff --git a/dist/assets/CartStep-BaGSfCsg.js b/dist/assets/CartStep-Dr3sNnNy.js similarity index 97% rename from dist/assets/CartStep-BaGSfCsg.js rename to dist/assets/CartStep-Dr3sNnNy.js index 05bea3a..2ea88fb 100644 --- a/dist/assets/CartStep-BaGSfCsg.js +++ b/dist/assets/CartStep-Dr3sNnNy.js @@ -1 +1 @@ -import{C as e,G as t,T as n,ft as r,j as i,l as a,m as o,o as s,p as c,r as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as ee,t as te}from"./vue-router-Cyqru1db.js";import{t as f}from"./Icon-CtR1FGIT.js";import{t as p}from"./i18n-BPHBAYJ6.js";import{n as m}from"./products-BqW5PUnm.js";import{d as ne,f as re,p as ie}from"./api-Dmuwbd_X.js";import{t as h}from"./Button-JT3QbcL8.js";import{t as ae}from"./QuantityStepper-BB38-Td1.js";var g={key:0,class:`min-h-[55svh] flex items-center justify-center`},_={class:`flex flex-col gap-4 items-center text-center rounded-md border border-line bg-paper p-10 max-w-md w-full`},v={class:`inline-flex items-center justify-center w-14 h-14 rounded-full bg-cream text-brand`},y={class:`font-display text-xl text-brand`},b={class:`text-[14px] text-muted max-w-sm`},x={key:1,class:`flex flex-col gap-6`},S={class:`flex flex-col rounded-md border border-line bg-paper divide-y divide-line`},C={class:`shrink-0 w-20 h-20 rounded-sm bg-cream overflow-hidden flex items-center justify-center`},w=[`src`,`alt`],T={class:`flex-1 min-w-0`},E={class:`font-display text-base text-ink leading-tight`},D={key:0,class:`text-[12px] text-muted`},O={class:`mt-2 text-[13px] text-muted`},k={class:`flex items-center gap-4`},A={class:`text-[14px] font-semibold text-ink tabular-nums w-20 text-right`},j=[`aria-label`,`onClick`],M={class:`rounded-md border border-line bg-paper px-6 py-5 flex flex-col gap-2`},N={class:`flex items-baseline justify-between text-[14px]`},P={class:`text-muted`},F={class:`text-ink tabular-nums`},oe={class:`flex items-baseline justify-between text-[14px]`},I={class:`text-muted`},L={class:`text-ink tabular-nums`},R={class:`mt-1 pt-3 border-t border-line flex items-baseline justify-between`},z={class:`eyebrow`},B={class:`font-display text-2xl text-brand tabular-nums`},V={key:2,class:`fixed inset-x-0 bottom-0 z-30 bg-cream border-t border-line`,role:`contentinfo`},H={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 py-3 flex gap-3 sm:justify-between`,style:{paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`}},U={class:`flex-1 sm:flex-initial`},W={class:`flex-1 sm:flex-initial`},G=4.9,K={__name:`CartStep`,setup(K){let{t:q}=p(),J=ie(),Y=ee(),X=s(()=>J.isEmpty),Z=s(()=>J.subtotal),Q=s(()=>J.items.length?G:0),se=s(()=>+(Z.value+Q.value).toFixed(2));async function ce(e,t){await re(e,t)}async function le(e){await ne(e)}function $(){Y.push(`/checkout/account`)}function ue(){Y.push(`/`)}return(s,ee)=>(e(),d(l,null,[X.value?(e(),d(`div`,g,[u(`div`,_,[u(`span`,v,[o(f,{name:`cart`,size:24,"stroke-width":2})]),u(`p`,y,r(t(q)(`cart.empty.title`)),1),u(`p`,b,r(t(q)(`cart.empty.subtitle`)),1),o(t(te),{to:`/shop`,class:`inline-flex`},{default:i(()=>[o(h,{variant:`primary`,size:`md`},{default:i(()=>[c(r(t(q)(`checkout.cart.cta.shop`)),1)]),_:1})]),_:1})])])):(e(),d(`section`,x,[u(`ul`,S,[(e(!0),d(l,null,n(t(J).items,n=>(e(),d(`li`,{key:n.productId,class:`flex flex-col sm:flex-row sm:items-center gap-4 sm:gap-5 px-5 py-5 sm:px-6`},[u(`div`,C,[n.product?.image?(e(),d(`img`,{key:0,src:n.product.image,alt:n.product?.title||``,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,w)):a(``,!0)]),u(`div`,T,[u(`p`,E,r(n.product?.title),1),n.product?.size?(e(),d(`p`,D,r(n.product.size),1)):a(``,!0),u(`p`,O,r(t(m)(n.unitPrice))+` `+r(t(q)(`checkout.cart.perItem`)),1)]),u(`div`,k,[o(ae,{"model-value":n.quantity,min:1,"onUpdate:modelValue":e=>ce(n.productId,e)},null,8,[`model-value`,`onUpdate:modelValue`]),u(`span`,A,r(t(m)(n.lineTotal)),1),u(`button`,{type:`button`,class:`text-muted hover:text-danger transition-colors duration-base`,"aria-label":t(q)(`cart.remove`),onClick:e=>le(n.productId)},[o(f,{name:`trash`,size:18,"stroke-width":2})],8,j)])]))),128))]),u(`dl`,M,[u(`div`,N,[u(`dt`,P,r(t(q)(`cart.subtotal`)),1),u(`dd`,F,r(t(m)(Z.value)),1)]),u(`div`,oe,[u(`dt`,I,r(t(q)(`checkout.cart.shipping`)),1),u(`dd`,L,r(t(m)(Q.value)),1)]),u(`div`,R,[u(`dt`,z,r(t(q)(`checkout.cart.total`)),1),u(`dd`,B,r(t(m)(se.value)),1)])])])),X.value?a(``,!0):(e(),d(`footer`,V,[u(`div`,H,[u(`div`,U,[o(h,{variant:`primary`,size:`lg`,block:``,type:`button`,onClick:ue},{default:i(()=>[c(r(t(q)(`checkout.exit`)),1)]),_:1})]),u(`div`,W,[o(h,{variant:`accent`,size:`lg`,block:``,onClick:$},{default:i(()=>[c(r(t(q)(`checkout.cart.cta.continue`)),1)]),_:1})])])]))],64))}};export{K as default}; \ No newline at end of file +import{C as e,G as t,T as n,ft as r,j as i,l as a,m as o,o as s,p as c,r as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as ee,t as te}from"./vue-router-Cyqru1db.js";import{t as f}from"./Icon-CtR1FGIT.js";import{t as p}from"./i18n-BvZbJICa.js";import{n as m}from"./products-BqW5PUnm.js";import{d as ne,f as re,p as ie}from"./api-CJ2exAVU.js";import{t as h}from"./Button-JT3QbcL8.js";import{t as ae}from"./QuantityStepper-BB38-Td1.js";var g={key:0,class:`min-h-[55svh] flex items-center justify-center`},_={class:`flex flex-col gap-4 items-center text-center rounded-md border border-line bg-paper p-10 max-w-md w-full`},v={class:`inline-flex items-center justify-center w-14 h-14 rounded-full bg-cream text-brand`},y={class:`font-display text-xl text-brand`},b={class:`text-[14px] text-muted max-w-sm`},x={key:1,class:`flex flex-col gap-6`},S={class:`flex flex-col rounded-md border border-line bg-paper divide-y divide-line`},C={class:`shrink-0 w-20 h-20 rounded-sm bg-cream overflow-hidden flex items-center justify-center`},w=[`src`,`alt`],T={class:`flex-1 min-w-0`},E={class:`font-display text-base text-ink leading-tight`},D={key:0,class:`text-[12px] text-muted`},O={class:`mt-2 text-[13px] text-muted`},k={class:`flex items-center gap-4`},A={class:`text-[14px] font-semibold text-ink tabular-nums w-20 text-right`},j=[`aria-label`,`onClick`],M={class:`rounded-md border border-line bg-paper px-6 py-5 flex flex-col gap-2`},N={class:`flex items-baseline justify-between text-[14px]`},P={class:`text-muted`},F={class:`text-ink tabular-nums`},oe={class:`flex items-baseline justify-between text-[14px]`},I={class:`text-muted`},L={class:`text-ink tabular-nums`},R={class:`mt-1 pt-3 border-t border-line flex items-baseline justify-between`},z={class:`eyebrow`},B={class:`font-display text-2xl text-brand tabular-nums`},V={key:2,class:`fixed inset-x-0 bottom-0 z-30 bg-cream border-t border-line`,role:`contentinfo`},H={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 py-3 flex gap-3 sm:justify-between`,style:{paddingBottom:`max(0.75rem, env(safe-area-inset-bottom))`}},U={class:`flex-1 sm:flex-initial`},W={class:`flex-1 sm:flex-initial`},G=4.9,K={__name:`CartStep`,setup(K){let{t:q}=p(),J=ie(),Y=ee(),X=s(()=>J.isEmpty),Z=s(()=>J.subtotal),Q=s(()=>J.items.length?G:0),se=s(()=>+(Z.value+Q.value).toFixed(2));async function ce(e,t){await re(e,t)}async function le(e){await ne(e)}function $(){Y.push(`/checkout/account`)}function ue(){Y.push(`/`)}return(s,ee)=>(e(),d(l,null,[X.value?(e(),d(`div`,g,[u(`div`,_,[u(`span`,v,[o(f,{name:`cart`,size:24,"stroke-width":2})]),u(`p`,y,r(t(q)(`cart.empty.title`)),1),u(`p`,b,r(t(q)(`cart.empty.subtitle`)),1),o(t(te),{to:`/shop`,class:`inline-flex`},{default:i(()=>[o(h,{variant:`primary`,size:`md`},{default:i(()=>[c(r(t(q)(`checkout.cart.cta.shop`)),1)]),_:1})]),_:1})])])):(e(),d(`section`,x,[u(`ul`,S,[(e(!0),d(l,null,n(t(J).items,n=>(e(),d(`li`,{key:n.productId,class:`flex flex-col sm:flex-row sm:items-center gap-4 sm:gap-5 px-5 py-5 sm:px-6`},[u(`div`,C,[n.product?.image?(e(),d(`img`,{key:0,src:n.product.image,alt:n.product?.title||``,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,w)):a(``,!0)]),u(`div`,T,[u(`p`,E,r(n.product?.title),1),n.product?.size?(e(),d(`p`,D,r(n.product.size),1)):a(``,!0),u(`p`,O,r(t(m)(n.unitPrice))+` `+r(t(q)(`checkout.cart.perItem`)),1)]),u(`div`,k,[o(ae,{"model-value":n.quantity,min:1,"onUpdate:modelValue":e=>ce(n.productId,e)},null,8,[`model-value`,`onUpdate:modelValue`]),u(`span`,A,r(t(m)(n.lineTotal)),1),u(`button`,{type:`button`,class:`text-muted hover:text-danger transition-colors duration-base`,"aria-label":t(q)(`cart.remove`),onClick:e=>le(n.productId)},[o(f,{name:`trash`,size:18,"stroke-width":2})],8,j)])]))),128))]),u(`dl`,M,[u(`div`,N,[u(`dt`,P,r(t(q)(`cart.subtotal`)),1),u(`dd`,F,r(t(m)(Z.value)),1)]),u(`div`,oe,[u(`dt`,I,r(t(q)(`checkout.cart.shipping`)),1),u(`dd`,L,r(t(m)(Q.value)),1)]),u(`div`,R,[u(`dt`,z,r(t(q)(`checkout.cart.total`)),1),u(`dd`,B,r(t(m)(se.value)),1)])])])),X.value?a(``,!0):(e(),d(`footer`,V,[u(`div`,H,[u(`div`,U,[o(h,{variant:`primary`,size:`lg`,block:``,type:`button`,onClick:ue},{default:i(()=>[c(r(t(q)(`checkout.exit`)),1)]),_:1})]),u(`div`,W,[o(h,{variant:`accent`,size:`lg`,block:``,onClick:$},{default:i(()=>[c(r(t(q)(`checkout.cart.cta.continue`)),1)]),_:1})])])]))],64))}};export{K as default}; \ No newline at end of file diff --git a/dist/assets/CategoryPage-CTqN7IAM.js b/dist/assets/CategoryPage-dY8Jtc6b.js similarity index 93% rename from dist/assets/CategoryPage-CTqN7IAM.js rename to dist/assets/CategoryPage-dY8Jtc6b.js index 4561206..cad9204 100644 --- a/dist/assets/CategoryPage-CTqN7IAM.js +++ b/dist/assets/CategoryPage-dY8Jtc6b.js @@ -1 +1 @@ -import{B as e,C as t,D as n,G as r,S as i,T as a,c as ee,ft as o,j as s,l as te,m as c,o as l,p as u,r as d,s as f,u as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as ne}from"./vue-router-Cyqru1db.js";import{t as re}from"./i18n-BPHBAYJ6.js";import{i as ie,r as h}from"./products-BqW5PUnm.js";import{c as g,d as ae,f as oe,p as se,u as ce}from"./api-Dmuwbd_X.js";import{t as le}from"./Navbar-DzWL8tVE.js";import{t as _}from"./Button-JT3QbcL8.js";import{t as v}from"./CartDrawer-B5-Oi-Om.js";import{t as y}from"./Footer-BgNIDT7a.js";import{t as b}from"./ProductCard-BvXBGP9m.js";import{t as x}from"./WaveDivider-D9V5r2f3.js";var S={class:`bg-brand text-cream md:min-h-[calc(70svh-var(--nav-h))] md:flex md:items-center`},C={class:`mx-auto w-full max-w-4xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 text-center flex flex-col gap-5`},w={class:`eyebrow text-accent`},T={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-headline-lg`},E={class:`italic font-light text-accent-soft`},D={class:`text-base md:text-lg leading-relaxed text-cream/80 max-w-2xl mx-auto`},O={class:`-mt-px bg-cream text-ink`},k={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16`},A={class:`flex flex-col gap-4 max-w-3xl`},j={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},M={class:`italic font-light text-brand`},N={class:`text-lg leading-relaxed text-muted max-w-2xl`},P={key:0,class:`mt-12 md:mt-14 grid gap-5 md:gap-7 grid-cols-1 sm:grid-cols-2 md:grid-cols-3`},F={class:`-mt-px bg-surface text-ink`},I={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16`},L={class:`flex flex-col gap-4 max-w-3xl`},R={class:`eyebrow`},z={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},B={class:`italic font-light text-brand`},ue={class:`mt-12 md:mt-14 grid gap-6 md:gap-8 grid-cols-1 sm:grid-cols-3`},V={class:`inline-flex items-center justify-center w-10 h-10 rounded-full bg-brand text-accent font-display text-base`},H={class:`font-display text-xl font-normal text-brand leading-tight`},U={class:`text-[15px] leading-relaxed text-ink`},de={class:`-mt-px bg-brand text-cream`},fe={class:`mx-auto w-full max-w-3xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 text-center flex flex-col items-center gap-5`},pe={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-headline-md`},me={class:`italic font-light text-accent-soft`},he={class:`text-base md:text-lg leading-relaxed text-cream/80 max-w-xl`},W={__name:`CategoryPage`,props:{slug:{type:String,required:!0,validator:e=>[`pflege`,`haushalt`].includes(e)},useCase:{type:String,required:!0,validator:e=>[`clean`,`care`].includes(e)}},setup(W){let G=W,{t:K}=re(),q=se(),ge=ne(),J=e(!1);function _e(){J.value=!1,ge.push(`/checkout`)}let ve=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`},{key:`nav.kaiserhacks`,href:`/kaiserhacks`}],ye=[],Y=l(()=>ie(h)[G.useCase]||[]),X=l(()=>[1,2,3].map(e=>({title:K(`category.${G.slug}.benefit.${e}.title`),text:K(`category.${G.slug}.benefit.${e}.text`)})));async function be(e){await g(e.id,1),J.value=!0}async function xe(e){await g(e.id,1),J.value=!0}async function Se({productId:e,quantity:t}){await oe(e,t)}async function Ce(e){await ae(e)}let Z=e(null),Q=null;function $(){let e=Z.value,t=e&&(e.$el||e);if(!t||typeof window>`u`)return;let n=Math.round(t.getBoundingClientRect().height);document.documentElement.style.setProperty(`--nav-h`,`${n}px`)}return i(()=>{if(ce(),$(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),m(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,i)=>{let l=n(`RouterLink`);return t(),p(d,null,[c(le,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:ve,"secondary-items":ye,"cart-count":r(q).count,products:r(h),onCart:i[0]||=e=>J.value=!0,onSearch:xe},null,8,[`cart-count`,`products`]),f(`section`,S,[f(`div`,C,[f(`p`,w,o(r(K)(`category.${W.slug}.eyebrow`)),1),f(`h1`,T,[u(o(r(K)(`category.${W.slug}.title.a`))+` `,1),f(`em`,E,o(r(K)(`category.${W.slug}.title.em`)),1)]),f(`p`,D,o(r(K)(`category.${W.slug}.sub`)),1)])]),c(x,{from:`brand`,to:`cream`}),f(`section`,O,[f(`div`,k,[f(`div`,A,[f(`h2`,j,[u(o(r(K)(`category.${W.slug}.products.headline`))+` `,1),f(`em`,M,o(r(K)(`category.${W.slug}.products.headline.em`)),1)]),f(`p`,N,o(r(K)(`category.${W.slug}.products.sub`)),1)]),Y.value.length?(t(),p(`div`,P,[(t(!0),p(d,null,a(Y.value,e=>(t(),ee(b,{key:e.id,title:e.title,size:e.size,price:e.price,image:e.image,"image-alt":e.title,href:e.href,tone:`cream`,"in-stock":e.inStock,onAdd:t=>be(e)},null,8,[`title`,`size`,`price`,`image`,`image-alt`,`href`,`in-stock`,`onAdd`]))),128))])):te(``,!0)])]),c(x,{from:`cream`,to:`surface`}),f(`section`,F,[f(`div`,I,[f(`div`,L,[f(`p`,R,o(r(K)(`category.${W.slug}.benefits.eyebrow`)),1),f(`h2`,z,[u(o(r(K)(`category.${W.slug}.benefits.headline`))+` `,1),f(`em`,B,o(r(K)(`category.${W.slug}.benefits.headline.em`)),1)])]),f(`ul`,ue,[(t(!0),p(d,null,a(X.value,(e,n)=>(t(),p(`li`,{key:n,class:`flex flex-col gap-3 rounded-md border border-line bg-paper p-6 md:p-8`},[f(`span`,V,o(n+1),1),f(`h3`,H,o(e.title),1),f(`p`,U,o(e.text),1)]))),128))])])]),c(x,{from:`surface`,to:`brand`}),f(`section`,de,[f(`div`,fe,[f(`h2`,pe,[u(o(r(K)(`category.${W.slug}.cta.headline`))+` `,1),f(`em`,me,o(r(K)(`category.${W.slug}.cta.headline.em`)),1)]),f(`p`,he,o(r(K)(`category.${W.slug}.cta.sub`)),1),c(l,{to:`/shop`,class:`inline-flex`},{default:s(()=>[c(_,{variant:`accent`,size:`lg`},{default:s(()=>[u(o(r(K)(`category.${W.slug}.cta.button`)),1)]),_:1})]),_:1})])]),c(y,{variant:`cream`}),i[2]||=f(`div`,{"aria-hidden":`true`,class:`md:hidden`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),c(v,{modelValue:J.value,"onUpdate:modelValue":i[1]||=e=>J.value=e,items:r(q).items,subtotal:r(q).subtotal,count:r(q).count,onUpdateQuantity:Se,onRemove:Ce,onCheckout:_e},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64)}}};export{W as default}; \ No newline at end of file +import{B as e,C as t,D as n,G as r,S as i,T as a,c as ee,ft as o,j as s,l as te,m as c,o as l,p as u,r as d,s as f,u as p,x as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as ne}from"./vue-router-Cyqru1db.js";import{t as re}from"./i18n-BvZbJICa.js";import{i as ie,r as h}from"./products-BqW5PUnm.js";import{c as g,d as ae,f as oe,p as se,u as ce}from"./api-CJ2exAVU.js";import{t as le}from"./Navbar-Dseq5x1u.js";import{t as _}from"./Button-JT3QbcL8.js";import{t as v}from"./CartDrawer-UHso3FZx.js";import{t as y}from"./Footer-BlfD57J5.js";import{t as b}from"./ProductCard-BJ5lVXIo.js";import{t as x}from"./WaveDivider-D9V5r2f3.js";var S={class:`bg-brand text-cream md:min-h-[calc(70svh-var(--nav-h))] md:flex md:items-center`},C={class:`mx-auto w-full max-w-4xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 text-center flex flex-col gap-5`},w={class:`eyebrow text-accent`},T={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-headline-lg`},E={class:`italic font-light text-accent-soft`},D={class:`text-base md:text-lg leading-relaxed text-cream/80 max-w-2xl mx-auto`},O={class:`-mt-px bg-cream text-ink`},k={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16`},A={class:`flex flex-col gap-4 max-w-3xl`},j={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},M={class:`italic font-light text-brand`},N={class:`text-lg leading-relaxed text-muted max-w-2xl`},P={key:0,class:`mt-12 md:mt-14 grid gap-5 md:gap-7 grid-cols-1 sm:grid-cols-2 md:grid-cols-3`},F={class:`-mt-px bg-surface text-ink`},I={class:`mx-auto w-full max-w-6xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16`},L={class:`flex flex-col gap-4 max-w-3xl`},R={class:`eyebrow`},z={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},B={class:`italic font-light text-brand`},ue={class:`mt-12 md:mt-14 grid gap-6 md:gap-8 grid-cols-1 sm:grid-cols-3`},V={class:`inline-flex items-center justify-center w-10 h-10 rounded-full bg-brand text-accent font-display text-base`},H={class:`font-display text-xl font-normal text-brand leading-tight`},U={class:`text-[15px] leading-relaxed text-ink`},de={class:`-mt-px bg-brand text-cream`},fe={class:`mx-auto w-full max-w-3xl px-6 py-16 sm:px-8 sm:py-20 md:px-12 md:py-24 lg:px-16 text-center flex flex-col items-center gap-5`},pe={class:`font-display font-normal leading-[1.05] tracking-tight text-cream text-headline-md`},me={class:`italic font-light text-accent-soft`},he={class:`text-base md:text-lg leading-relaxed text-cream/80 max-w-xl`},W={__name:`CategoryPage`,props:{slug:{type:String,required:!0,validator:e=>[`pflege`,`haushalt`].includes(e)},useCase:{type:String,required:!0,validator:e=>[`clean`,`care`].includes(e)}},setup(W){let G=W,{t:K}=re(),q=se(),ge=ne(),J=e(!1);function _e(){J.value=!1,ge.push(`/checkout`)}let ve=[{key:`nav.shop`,href:`/shop`},{key:`nav.bundles`,href:`/#bundles`},{key:`nav.revitalization`,href:`/#revitalize`},{key:`nav.about`,href:`/#about`},{key:`nav.kaiserhacks`,href:`/kaiserhacks`}],ye=[],Y=l(()=>ie(h)[G.useCase]||[]),X=l(()=>[1,2,3].map(e=>({title:K(`category.${G.slug}.benefit.${e}.title`),text:K(`category.${G.slug}.benefit.${e}.text`)})));async function be(e){await g(e.id,1),J.value=!0}async function xe(e){await g(e.id,1),J.value=!0}async function Se({productId:e,quantity:t}){await oe(e,t)}async function Ce(e){await ae(e)}let Z=e(null),Q=null;function $(){let e=Z.value,t=e&&(e.$el||e);if(!t||typeof window>`u`)return;let n=Math.round(t.getBoundingClientRect().height);document.documentElement.style.setProperty(`--nav-h`,`${n}px`)}return i(()=>{if(ce(),$(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),m(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,i)=>{let l=n(`RouterLink`);return t(),p(d,null,[c(le,{ref_key:`navRef`,ref:Z,variant:`brand`,layout:`standard`,items:ve,"secondary-items":ye,"cart-count":r(q).count,products:r(h),onCart:i[0]||=e=>J.value=!0,onSearch:xe},null,8,[`cart-count`,`products`]),f(`section`,S,[f(`div`,C,[f(`p`,w,o(r(K)(`category.${W.slug}.eyebrow`)),1),f(`h1`,T,[u(o(r(K)(`category.${W.slug}.title.a`))+` `,1),f(`em`,E,o(r(K)(`category.${W.slug}.title.em`)),1)]),f(`p`,D,o(r(K)(`category.${W.slug}.sub`)),1)])]),c(x,{from:`brand`,to:`cream`}),f(`section`,O,[f(`div`,k,[f(`div`,A,[f(`h2`,j,[u(o(r(K)(`category.${W.slug}.products.headline`))+` `,1),f(`em`,M,o(r(K)(`category.${W.slug}.products.headline.em`)),1)]),f(`p`,N,o(r(K)(`category.${W.slug}.products.sub`)),1)]),Y.value.length?(t(),p(`div`,P,[(t(!0),p(d,null,a(Y.value,e=>(t(),ee(b,{key:e.id,title:e.title,size:e.size,price:e.price,image:e.image,"image-alt":e.title,href:e.href,tone:`cream`,"in-stock":e.inStock,onAdd:t=>be(e)},null,8,[`title`,`size`,`price`,`image`,`image-alt`,`href`,`in-stock`,`onAdd`]))),128))])):te(``,!0)])]),c(x,{from:`cream`,to:`surface`}),f(`section`,F,[f(`div`,I,[f(`div`,L,[f(`p`,R,o(r(K)(`category.${W.slug}.benefits.eyebrow`)),1),f(`h2`,z,[u(o(r(K)(`category.${W.slug}.benefits.headline`))+` `,1),f(`em`,B,o(r(K)(`category.${W.slug}.benefits.headline.em`)),1)])]),f(`ul`,ue,[(t(!0),p(d,null,a(X.value,(e,n)=>(t(),p(`li`,{key:n,class:`flex flex-col gap-3 rounded-md border border-line bg-paper p-6 md:p-8`},[f(`span`,V,o(n+1),1),f(`h3`,H,o(e.title),1),f(`p`,U,o(e.text),1)]))),128))])])]),c(x,{from:`surface`,to:`brand`}),f(`section`,de,[f(`div`,fe,[f(`h2`,pe,[u(o(r(K)(`category.${W.slug}.cta.headline`))+` `,1),f(`em`,me,o(r(K)(`category.${W.slug}.cta.headline.em`)),1)]),f(`p`,he,o(r(K)(`category.${W.slug}.cta.sub`)),1),c(l,{to:`/shop`,class:`inline-flex`},{default:s(()=>[c(_,{variant:`accent`,size:`lg`},{default:s(()=>[u(o(r(K)(`category.${W.slug}.cta.button`)),1)]),_:1})]),_:1})])]),c(y,{variant:`cream`}),i[2]||=f(`div`,{"aria-hidden":`true`,class:`md:hidden`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),c(v,{modelValue:J.value,"onUpdate:modelValue":i[1]||=e=>J.value=e,items:r(q).items,subtotal:r(q).subtotal,count:r(q).count,onUpdateQuantity:Se,onRemove:Ce,onCheckout:_e},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64)}}};export{W as default}; \ No newline at end of file diff --git a/dist/assets/CheckoutPage-MODn--5l.js b/dist/assets/CheckoutPage-gQ8ESL8i.js similarity index 97% rename from dist/assets/CheckoutPage-MODn--5l.js rename to dist/assets/CheckoutPage-gQ8ESL8i.js index ce08864..397153d 100644 --- a/dist/assets/CheckoutPage-MODn--5l.js +++ b/dist/assets/CheckoutPage-gQ8ESL8i.js @@ -1 +1 @@ -import{B as e,C as t,D as n,G as r,S as i,T as a,b as ee,c as o,ft as s,j as c,l,m as u,o as d,p as f,r as p,s as m,u as h,ut as g}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as _,o as v,t as y}from"./vue-router-Cyqru1db.js";import{t as b}from"./Logo-K2VN1F6l.js";import{t as x}from"./i18n-BPHBAYJ6.js";import{l as S,p as C,s as w,u as T}from"./api-Dmuwbd_X.js";import{t as E}from"./Button-JT3QbcL8.js";import{t as D}from"./CheckoutStepper-EkS1Qntj.js";import{t as O}from"./ExpressCheckoutMount-BtelKqpp.js";import{t as k}from"./checkout-DTEUVxo-.js";var A={class:`rounded-md border border-line bg-paper text-ink flex flex-col`,"aria-label":`Order summary`},j={key:0,class:`px-6 pt-6 pb-3 border-b border-line`},M={class:`font-display text-xl font-normal text-brand leading-none`},N={key:1,class:`flex flex-col divide-y divide-line`},P={class:`relative shrink-0 w-14 h-14 rounded-sm bg-cream overflow-hidden flex items-center justify-center`},F=[`src`,`alt`],I={key:1,class:`absolute -top-1 -right-1 min-w-[20px] h-[20px] px-1 rounded-full bg-brand text-accent text-[11px] font-bold flex items-center justify-center`,"aria-hidden":`true`},L={class:`flex-1 min-w-0`},R={class:`font-display text-[15px] leading-tight truncate text-ink`},z={key:0,class:`text-[12px] text-muted truncate`},B={class:`shrink-0 text-[14px] font-semibold text-ink tabular-nums`},V={class:`px-6 py-5 flex flex-col gap-2 border-t border-line`},H={class:`flex items-baseline justify-between text-[14px]`},U={class:`text-ink tabular-nums`},W={class:`flex items-baseline justify-between text-[14px]`},G={class:`text-ink tabular-nums`},K={key:0,class:`flex items-baseline justify-between text-[14px]`},q={class:`text-ink tabular-nums`},J={class:`mt-2 pt-3 border-t border-line flex items-baseline justify-between`},Y={class:`font-display text-2xl text-brand tabular-nums`},X={key:2,class:`px-6 pb-6`},Z={__name:`CheckoutSummary`,props:{items:{type:Array,required:!0,validator:e=>e.every(e=>e&&typeof e.productId==`string`&&Number.isInteger(e.quantity))},subtotal:{type:Number,required:!0},shipping:{type:Number,default:0},tax:{type:Number,default:0},total:{type:Number,required:!0},currency:{type:String,default:`€`},ctaLabel:{type:String,default:``},ctaLoading:{type:Boolean,default:!1},ctaDisabled:{type:Boolean,default:!1},heading:{type:String,default:``}},emits:[`submit`],setup(e){function n(e,t){return typeof e!=`number`||!Number.isFinite(e)?``:`${t} ${e.toFixed(2).replace(`.`,`,`)}`}return(r,i)=>(t(),h(`aside`,A,[e.heading?(t(),h(`header`,j,[m(`h2`,M,s(e.heading),1)])):l(``,!0),e.items.length?(t(),h(`ul`,N,[(t(!0),h(p,null,a(e.items,r=>(t(),h(`li`,{key:r.productId,class:`flex items-center gap-4 px-6 py-4`},[m(`div`,P,[r.product?.image?(t(),h(`img`,{key:0,src:r.product.image,alt:r.product?.title||``,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,F)):l(``,!0),r.quantity>1?(t(),h(`span`,I,s(r.quantity),1)):l(``,!0)]),m(`div`,L,[m(`p`,R,s(r.product?.title),1),r.product?.size?(t(),h(`p`,z,s(r.product.size),1)):l(``,!0)]),m(`span`,B,s(n(r.lineTotal??r.unitPrice*r.quantity,e.currency)),1)]))),128))])):l(``,!0),m(`dl`,V,[m(`div`,H,[i[1]||=m(`dt`,{class:`text-muted`},`Subtotal`,-1),m(`dd`,U,s(n(e.subtotal,e.currency)),1)]),m(`div`,W,[i[2]||=m(`dt`,{class:`text-muted`},`Versand`,-1),m(`dd`,G,s(n(e.shipping,e.currency)),1)]),e.tax>0?(t(),h(`div`,K,[i[3]||=m(`dt`,{class:`text-muted`},`MwSt. (19 %, inkl.)`,-1),m(`dd`,q,s(n(e.tax,e.currency)),1)])):l(``,!0),m(`div`,J,[i[4]||=m(`dt`,{class:`eyebrow`},`Gesamt`,-1),m(`dd`,Y,s(n(e.total,e.currency)),1)])]),e.ctaLabel?(t(),h(`div`,X,[u(E,{variant:`primary`,size:`lg`,block:``,loading:e.ctaLoading,disabled:e.ctaDisabled,onClick:i[0]||=e=>r.$emit(`submit`)},{default:c(()=>[f(s(e.ctaLabel),1)]),_:1},8,[`loading`,`disabled`])])):l(``,!0)]))}},te={class:`min-h-svh flex flex-col bg-cream`},Q={class:`sticky top-0 z-30 bg-cream border-b border-line shrink-0`},ne={class:`mx-auto w-full max-w-7xl px-4 sm:px-8 md:px-12 lg:px-16 py-3 grid grid-cols-[1fr_auto_1fr] items-center gap-3 sm:gap-6`},re={class:`justify-self-center min-w-0`},ie={class:`text-ink flex-1 lg:flex lg:flex-col lg:justify-center`},ae={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 pt-5 pb-28 sm:pt-7 sm:pb-32 md:pt-8 md:pb-32 lg:pt-10 lg:pb-32`},oe={key:0,class:`flex flex-col gap-2 mb-8 md:mb-10`},se={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},ce={class:`italic font-light text-brand`},le={key:1,class:`flex flex-col gap-2 mb-8 md:mb-10`},ue={class:`font-display text-2xl font-normal text-ink leading-none`},de={key:0,class:`text-[14px] text-muted max-w-2xl`},fe={key:2,class:`flex justify-center`},pe={class:`w-full max-w-2xl`},me=[`aria-label`],he={class:`flex flex-col gap-4 rounded-md border border-line bg-paper p-6 md:p-8`},ge={class:`font-display text-xl font-normal text-brand leading-none`},_e={key:0,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},ve={class:`min-w-0`},ye=4.9,$=.19,be={__name:`CheckoutPage`,setup(a){let{t:p}=x(),E=C(),A=k(),j=_(),M=v(),N=e(null),P=e(!1),F=e(``),I=e(null),L=d(()=>typeof window>`u`?`/checkout/processing`:`${window.location.origin}/checkout/processing?order=${N.value?.orderId||``}`);async function R({wallet:e}){if(!E.items.length){F.value=p(`checkout.error.empty`);return}F.value=``,P.value=!0;try{let t=await w({wallet:e});N.value=t,await ee();let n=await I.value?.confirm();if(n?.error){F.value=n.error.message||p(`checkout.error.payment`);return}if(n?.paymentIntent?.status===`succeeded`){let e=t.orderId;await S(),A.reset(),M.push({path:`/checkout/success`,query:{order:e}})}}catch(e){F.value=e?.message||p(`checkout.error.generic`)}finally{P.value=!1}}function z(e){F.value=e?.message||p(`checkout.error.payment`),P.value=!1}let B=d(()=>E.subtotal),V=d(()=>E.items.length?ye:0),H=d(()=>+(B.value+V.value).toFixed(2)),U=d(()=>E.items.length?+((B.value+V.value)*$/(1+$)).toFixed(2):0),W=d(()=>[{key:`cart`,label:p(`checkout.step.cart`),to:`/checkout/cart`,completed:E.items.length>0},{key:`account`,label:p(`checkout.step.account`),to:`/checkout/account`,completed:A.accountComplete},{key:`shipping`,label:p(`checkout.step.shipping`),to:`/checkout/shipping`,completed:A.shippingComplete},{key:`payment`,label:p(`checkout.step.payment`),to:`/checkout/payment`,completed:!1}]),G=d(()=>{let e=j.path.split(`/`)[2]||`cart`;return[`cart`,`account`,`shipping`,`payment`].includes(e)?e:`cart`}),K=d(()=>G.value===`cart`&&!E.isEmpty),q=d(()=>{switch(G.value){case`cart`:return{title:p(`checkout.cart.title`),sub:``};case`account`:return{title:p(`checkout.account.heading`),sub:p(`checkout.account.sub`)};case`shipping`:return{title:p(`checkout.section.shipping`),sub:p(`checkout.shipping.sub`)};case`payment`:return{title:p(`checkout.section.payment`),sub:p(`checkout.payment.sub`)};default:return{title:``,sub:``}}});return i(()=>{T()}),(e,i)=>{let a=n(`router-view`);return t(),h(`div`,te,[m(`header`,Q,[m(`div`,ne,[u(r(y),{to:`/`,class:`shrink-0 justify-self-start`,"aria-label":r(p)(`checkout.home`)},{default:c(()=>[u(b,{class:`w-9 md:w-12 h-auto text-brand`})]),_:1},8,[`aria-label`]),m(`div`,re,[u(D,{steps:W.value,"active-key":G.value,"aria-label":r(p)(`checkout.stepper.label`)},null,8,[`steps`,`active-key`,`aria-label`])]),u(r(y),{to:`/shop`,class:`shrink-0 justify-self-end hidden sm:inline-flex items-center text-[13px] font-semibold text-brand hover:underline whitespace-nowrap`},{default:c(()=>[f(s(r(p)(`checkout.backToShopping`)),1)]),_:1})])]),m(`main`,ie,[m(`div`,ae,[G.value===`cart`?(t(),h(`header`,oe,[m(`h1`,se,[f(s(r(p)(`checkout.headline`))+` `,1),m(`em`,ce,s(r(p)(`checkout.headline.em`)),1)])])):q.value.title?(t(),h(`header`,le,[m(`h2`,ue,s(q.value.title),1),q.value.sub?(t(),h(`p`,de,s(q.value.sub),1)):l(``,!0)])):l(``,!0),G.value===`cart`&&r(E).isEmpty?(t(),h(`div`,fe,[m(`div`,pe,[u(a)])])):(t(),h(`div`,{key:3,class:g([`grid gap-8 md:gap-10 lg:gap-12 lg:items-start`,K.value?`lg:grid-cols-[0.9fr_1.1fr]`:`lg:grid-cols-[1.1fr_0.9fr]`])},[K.value?(t(),h(`aside`,{key:0,class:`flex flex-col gap-4 lg:sticky lg:top-[calc(var(--checkout-bar-h,72px)+1rem)]`,"aria-label":r(p)(`checkout.section.express`)},[m(`div`,he,[m(`h2`,ge,s(r(p)(`checkout.section.express`)),1),u(O,{ref_key:`expressMountRef`,ref:I,intent:N.value,"return-url":L.value,busy:P.value,onPay:R,onError:z},null,8,[`intent`,`return-url`,`busy`])]),F.value?(t(),h(`p`,_e,s(F.value),1)):l(``,!0)],8,me)):l(``,!0),m(`div`,ve,[u(a)]),G.value===`cart`?l(``,!0):(t(),o(Z,{key:1,items:r(E).items,subtotal:B.value,shipping:V.value,tax:U.value,total:H.value,heading:r(p)(`checkout.summary.heading`),class:`lg:sticky lg:top-[calc(var(--checkout-bar-h,72px)+1rem)]`},null,8,[`items`,`subtotal`,`shipping`,`tax`,`total`,`heading`]))],2))])])])}}};export{be as default}; \ No newline at end of file +import{B as e,C as t,D as n,G as r,S as i,T as a,b as ee,c as o,ft as s,j as c,l,m as u,o as d,p as f,r as p,s as m,u as h,ut as g}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as _,o as v,t as y}from"./vue-router-Cyqru1db.js";import{t as b}from"./Logo-K2VN1F6l.js";import{t as x}from"./i18n-BvZbJICa.js";import{l as S,p as C,s as w,u as T}from"./api-CJ2exAVU.js";import{t as E}from"./Button-JT3QbcL8.js";import{t as D}from"./CheckoutStepper-EkS1Qntj.js";import{t as O}from"./ExpressCheckoutMount-BekeV0fR.js";import{t as k}from"./checkout-DTEUVxo-.js";var A={class:`rounded-md border border-line bg-paper text-ink flex flex-col`,"aria-label":`Order summary`},j={key:0,class:`px-6 pt-6 pb-3 border-b border-line`},M={class:`font-display text-xl font-normal text-brand leading-none`},N={key:1,class:`flex flex-col divide-y divide-line`},P={class:`relative shrink-0 w-14 h-14 rounded-sm bg-cream overflow-hidden flex items-center justify-center`},F=[`src`,`alt`],I={key:1,class:`absolute -top-1 -right-1 min-w-[20px] h-[20px] px-1 rounded-full bg-brand text-accent text-[11px] font-bold flex items-center justify-center`,"aria-hidden":`true`},L={class:`flex-1 min-w-0`},R={class:`font-display text-[15px] leading-tight truncate text-ink`},z={key:0,class:`text-[12px] text-muted truncate`},B={class:`shrink-0 text-[14px] font-semibold text-ink tabular-nums`},V={class:`px-6 py-5 flex flex-col gap-2 border-t border-line`},H={class:`flex items-baseline justify-between text-[14px]`},U={class:`text-ink tabular-nums`},W={class:`flex items-baseline justify-between text-[14px]`},G={class:`text-ink tabular-nums`},K={key:0,class:`flex items-baseline justify-between text-[14px]`},q={class:`text-ink tabular-nums`},J={class:`mt-2 pt-3 border-t border-line flex items-baseline justify-between`},Y={class:`font-display text-2xl text-brand tabular-nums`},X={key:2,class:`px-6 pb-6`},Z={__name:`CheckoutSummary`,props:{items:{type:Array,required:!0,validator:e=>e.every(e=>e&&typeof e.productId==`string`&&Number.isInteger(e.quantity))},subtotal:{type:Number,required:!0},shipping:{type:Number,default:0},tax:{type:Number,default:0},total:{type:Number,required:!0},currency:{type:String,default:`€`},ctaLabel:{type:String,default:``},ctaLoading:{type:Boolean,default:!1},ctaDisabled:{type:Boolean,default:!1},heading:{type:String,default:``}},emits:[`submit`],setup(e){function n(e,t){return typeof e!=`number`||!Number.isFinite(e)?``:`${t} ${e.toFixed(2).replace(`.`,`,`)}`}return(r,i)=>(t(),h(`aside`,A,[e.heading?(t(),h(`header`,j,[m(`h2`,M,s(e.heading),1)])):l(``,!0),e.items.length?(t(),h(`ul`,N,[(t(!0),h(p,null,a(e.items,r=>(t(),h(`li`,{key:r.productId,class:`flex items-center gap-4 px-6 py-4`},[m(`div`,P,[r.product?.image?(t(),h(`img`,{key:0,src:r.product.image,alt:r.product?.title||``,loading:`lazy`,decoding:`async`,class:`w-full h-full object-contain p-2`},null,8,F)):l(``,!0),r.quantity>1?(t(),h(`span`,I,s(r.quantity),1)):l(``,!0)]),m(`div`,L,[m(`p`,R,s(r.product?.title),1),r.product?.size?(t(),h(`p`,z,s(r.product.size),1)):l(``,!0)]),m(`span`,B,s(n(r.lineTotal??r.unitPrice*r.quantity,e.currency)),1)]))),128))])):l(``,!0),m(`dl`,V,[m(`div`,H,[i[1]||=m(`dt`,{class:`text-muted`},`Subtotal`,-1),m(`dd`,U,s(n(e.subtotal,e.currency)),1)]),m(`div`,W,[i[2]||=m(`dt`,{class:`text-muted`},`Versand`,-1),m(`dd`,G,s(n(e.shipping,e.currency)),1)]),e.tax>0?(t(),h(`div`,K,[i[3]||=m(`dt`,{class:`text-muted`},`MwSt. (19 %, inkl.)`,-1),m(`dd`,q,s(n(e.tax,e.currency)),1)])):l(``,!0),m(`div`,J,[i[4]||=m(`dt`,{class:`eyebrow`},`Gesamt`,-1),m(`dd`,Y,s(n(e.total,e.currency)),1)])]),e.ctaLabel?(t(),h(`div`,X,[u(E,{variant:`primary`,size:`lg`,block:``,loading:e.ctaLoading,disabled:e.ctaDisabled,onClick:i[0]||=e=>r.$emit(`submit`)},{default:c(()=>[f(s(e.ctaLabel),1)]),_:1},8,[`loading`,`disabled`])])):l(``,!0)]))}},te={class:`min-h-svh flex flex-col bg-cream`},Q={class:`sticky top-0 z-30 bg-cream border-b border-line shrink-0`},ne={class:`mx-auto w-full max-w-7xl px-4 sm:px-8 md:px-12 lg:px-16 py-3 grid grid-cols-[1fr_auto_1fr] items-center gap-3 sm:gap-6`},re={class:`justify-self-center min-w-0`},ie={class:`text-ink flex-1 lg:flex lg:flex-col lg:justify-center`},ae={class:`mx-auto w-full max-w-7xl px-6 sm:px-8 md:px-12 lg:px-16 pt-5 pb-28 sm:pt-7 sm:pb-32 md:pt-8 md:pb-32 lg:pt-10 lg:pb-32`},oe={key:0,class:`flex flex-col gap-2 mb-8 md:mb-10`},se={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},ce={class:`italic font-light text-brand`},le={key:1,class:`flex flex-col gap-2 mb-8 md:mb-10`},ue={class:`font-display text-2xl font-normal text-ink leading-none`},de={key:0,class:`text-[14px] text-muted max-w-2xl`},fe={key:2,class:`flex justify-center`},pe={class:`w-full max-w-2xl`},me=[`aria-label`],he={class:`flex flex-col gap-4 rounded-md border border-line bg-paper p-6 md:p-8`},ge={class:`font-display text-xl font-normal text-brand leading-none`},_e={key:0,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},ve={class:`min-w-0`},ye=4.9,$=.19,be={__name:`CheckoutPage`,setup(a){let{t:p}=x(),E=C(),A=k(),j=_(),M=v(),N=e(null),P=e(!1),F=e(``),I=e(null),L=d(()=>typeof window>`u`?`/checkout/processing`:`${window.location.origin}/checkout/processing?order=${N.value?.orderId||``}`);async function R({wallet:e}){if(!E.items.length){F.value=p(`checkout.error.empty`);return}F.value=``,P.value=!0;try{let t=await w({wallet:e});N.value=t,await ee();let n=await I.value?.confirm();if(n?.error){F.value=n.error.message||p(`checkout.error.payment`);return}if(n?.paymentIntent?.status===`succeeded`){let e=t.orderId;await S(),A.reset(),M.push({path:`/checkout/success`,query:{order:e}})}}catch(e){F.value=e?.message||p(`checkout.error.generic`)}finally{P.value=!1}}function z(e){F.value=e?.message||p(`checkout.error.payment`),P.value=!1}let B=d(()=>E.subtotal),V=d(()=>E.items.length?ye:0),H=d(()=>+(B.value+V.value).toFixed(2)),U=d(()=>E.items.length?+((B.value+V.value)*$/(1+$)).toFixed(2):0),W=d(()=>[{key:`cart`,label:p(`checkout.step.cart`),to:`/checkout/cart`,completed:E.items.length>0},{key:`account`,label:p(`checkout.step.account`),to:`/checkout/account`,completed:A.accountComplete},{key:`shipping`,label:p(`checkout.step.shipping`),to:`/checkout/shipping`,completed:A.shippingComplete},{key:`payment`,label:p(`checkout.step.payment`),to:`/checkout/payment`,completed:!1}]),G=d(()=>{let e=j.path.split(`/`)[2]||`cart`;return[`cart`,`account`,`shipping`,`payment`].includes(e)?e:`cart`}),K=d(()=>G.value===`cart`&&!E.isEmpty),q=d(()=>{switch(G.value){case`cart`:return{title:p(`checkout.cart.title`),sub:``};case`account`:return{title:p(`checkout.account.heading`),sub:p(`checkout.account.sub`)};case`shipping`:return{title:p(`checkout.section.shipping`),sub:p(`checkout.shipping.sub`)};case`payment`:return{title:p(`checkout.section.payment`),sub:p(`checkout.payment.sub`)};default:return{title:``,sub:``}}});return i(()=>{T()}),(e,i)=>{let a=n(`router-view`);return t(),h(`div`,te,[m(`header`,Q,[m(`div`,ne,[u(r(y),{to:`/`,class:`shrink-0 justify-self-start`,"aria-label":r(p)(`checkout.home`)},{default:c(()=>[u(b,{class:`w-9 md:w-12 h-auto text-brand`})]),_:1},8,[`aria-label`]),m(`div`,re,[u(D,{steps:W.value,"active-key":G.value,"aria-label":r(p)(`checkout.stepper.label`)},null,8,[`steps`,`active-key`,`aria-label`])]),u(r(y),{to:`/shop`,class:`shrink-0 justify-self-end hidden sm:inline-flex items-center text-[13px] font-semibold text-brand hover:underline whitespace-nowrap`},{default:c(()=>[f(s(r(p)(`checkout.backToShopping`)),1)]),_:1})])]),m(`main`,ie,[m(`div`,ae,[G.value===`cart`?(t(),h(`header`,oe,[m(`h1`,se,[f(s(r(p)(`checkout.headline`))+` `,1),m(`em`,ce,s(r(p)(`checkout.headline.em`)),1)])])):q.value.title?(t(),h(`header`,le,[m(`h2`,ue,s(q.value.title),1),q.value.sub?(t(),h(`p`,de,s(q.value.sub),1)):l(``,!0)])):l(``,!0),G.value===`cart`&&r(E).isEmpty?(t(),h(`div`,fe,[m(`div`,pe,[u(a)])])):(t(),h(`div`,{key:3,class:g([`grid gap-8 md:gap-10 lg:gap-12 lg:items-start`,K.value?`lg:grid-cols-[0.9fr_1.1fr]`:`lg:grid-cols-[1.1fr_0.9fr]`])},[K.value?(t(),h(`aside`,{key:0,class:`flex flex-col gap-4 lg:sticky lg:top-[calc(var(--checkout-bar-h,72px)+1rem)]`,"aria-label":r(p)(`checkout.section.express`)},[m(`div`,he,[m(`h2`,ge,s(r(p)(`checkout.section.express`)),1),u(O,{ref_key:`expressMountRef`,ref:I,intent:N.value,"return-url":L.value,busy:P.value,onPay:R,onError:z},null,8,[`intent`,`return-url`,`busy`])]),F.value?(t(),h(`p`,_e,s(F.value),1)):l(``,!0)],8,me)):l(``,!0),m(`div`,ve,[u(a)]),G.value===`cart`?l(``,!0):(t(),o(Z,{key:1,items:r(E).items,subtotal:B.value,shipping:V.value,tax:U.value,total:H.value,heading:r(p)(`checkout.summary.heading`),class:`lg:sticky lg:top-[calc(var(--checkout-bar-h,72px)+1rem)]`},null,8,[`items`,`subtotal`,`shipping`,`tax`,`total`,`heading`]))],2))])])])}}};export{be as default}; \ No newline at end of file diff --git a/dist/assets/CheckoutStepperSection-DWn5pLLU.js b/dist/assets/CheckoutStepperSection-B4Lijrkz.js similarity index 97% rename from dist/assets/CheckoutStepperSection-DWn5pLLU.js rename to dist/assets/CheckoutStepperSection-B4Lijrkz.js index d3c2f67..adb1499 100644 --- a/dist/assets/CheckoutStepperSection-DWn5pLLU.js +++ b/dist/assets/CheckoutStepperSection-B4Lijrkz.js @@ -1,4 +1,4 @@ -import{B as e,C as t,G as n,T as r,c as i,ft as a,j as o,m as s,o as c,r as l,s as u,u as d,ut as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as p}from"./i18n-BPHBAYJ6.js";import{t as m}from"./CheckoutStepper-EkS1Qntj.js";import{t as h}from"./SectionShell-XUVs_07L.js";var g={class:`eyebrow mb-5`},_={class:`flex flex-col gap-6`},v={class:`eyebrow text-muted`},y={class:`eyebrow mb-5`},b={class:`rounded-md border border-line bg-paper p-6 flex flex-col gap-4`},x={class:`flex flex-wrap gap-2`},S=[`onClick`],C={class:`eyebrow mb-5`},w={__name:`CheckoutStepperSection`,setup(w){let{t:T}=p(),E=e(`shipping`),D=c(()=>[{key:`cart`,label:T(`checkout.step.cart`),to:`/checkout/cart`,completed:!0},{key:`account`,label:T(`checkout.step.account`),to:`/checkout/account`,completed:!0},{key:`shipping`,label:T(`checkout.step.shipping`),to:`/checkout/shipping`,completed:!1},{key:`payment`,label:T(`checkout.step.payment`),to:`/checkout/payment`,completed:!1}]),O=[`cart`,`account`,`shipping`,`payment`];return(e,c)=>(t(),i(h,{eyebrow:n(T)(`ds.eyebrow.components`),title:n(T)(`ds.checkoutStepper.title`),description:n(T)(`ds.checkoutStepper.description`)},{default:o(()=>[u(`section`,null,[u(`h2`,g,a(n(T)(`ds.heading.states`)),1),u(`div`,_,[(t(),d(l,null,r(O,e=>u(`div`,{key:e,class:`rounded-md border border-line bg-paper p-6 flex flex-col gap-3`},[u(`p`,v,a(n(T)(`checkout.step.${e}`))+` active`,1),s(m,{steps:D.value,"active-key":e},null,8,[`steps`,`active-key`])])),64))])]),u(`section`,null,[u(`h2`,y,a(n(T)(`ds.heading.interactive`)),1),u(`div`,b,[u(`div`,x,[(t(),d(l,null,r(O,e=>u(`button`,{key:e,type:`button`,class:f([`px-3 py-1.5 rounded-pill border text-[12px] font-semibold tracking-label`,E.value===e?`bg-brand text-cream border-brand`:`bg-paper text-brand border-line hover:border-brand`]),onClick:t=>E.value=e},a(n(T)(`checkout.step.${e}`)),11,S)),64))]),s(m,{steps:D.value,"active-key":E.value},null,8,[`steps`,`active-key`])])]),u(`section`,null,[u(`h2`,C,a(n(T)(`ds.heading.usage`)),1),c[0]||=u(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[u(`pre`,{class:`whitespace-pre-wrap`},`[{key:`cart`,label:T(`checkout.step.cart`),to:`/checkout/cart`,completed:!0},{key:`account`,label:T(`checkout.step.account`),to:`/checkout/account`,completed:!0},{key:`shipping`,label:T(`checkout.step.shipping`),to:`/checkout/shipping`,completed:!1},{key:`payment`,label:T(`checkout.step.payment`),to:`/checkout/payment`,completed:!1}]),O=[`cart`,`account`,`shipping`,`payment`];return(e,c)=>(t(),i(h,{eyebrow:n(T)(`ds.eyebrow.components`),title:n(T)(`ds.checkoutStepper.title`),description:n(T)(`ds.checkoutStepper.description`)},{default:o(()=>[u(`section`,null,[u(`h2`,g,a(n(T)(`ds.heading.states`)),1),u(`div`,_,[(t(),d(l,null,r(O,e=>u(`div`,{key:e,class:`rounded-md border border-line bg-paper p-6 flex flex-col gap-3`},[u(`p`,v,a(n(T)(`checkout.step.${e}`))+` active`,1),s(m,{steps:D.value,"active-key":e},null,8,[`steps`,`active-key`])])),64))])]),u(`section`,null,[u(`h2`,y,a(n(T)(`ds.heading.interactive`)),1),u(`div`,b,[u(`div`,x,[(t(),d(l,null,r(O,e=>u(`button`,{key:e,type:`button`,class:f([`px-3 py-1.5 rounded-pill border text-[12px] font-semibold tracking-label`,E.value===e?`bg-brand text-cream border-brand`:`bg-paper text-brand border-line hover:border-brand`]),onClick:t=>E.value=e},a(n(T)(`checkout.step.${e}`)),11,S)),64))]),s(m,{steps:D.value,"active-key":E.value},null,8,[`steps`,`active-key`])])]),u(`section`,null,[u(`h2`,C,a(n(T)(`ds.heading.usage`)),1),c[0]||=u(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[u(`pre`,{class:`whitespace-pre-wrap`},` diff --git a/dist/assets/CheckoutSuccessPage-DlyEFTwr.js b/dist/assets/CheckoutSuccessPage-BSHkZecJ.js similarity index 95% rename from dist/assets/CheckoutSuccessPage-DlyEFTwr.js rename to dist/assets/CheckoutSuccessPage-BSHkZecJ.js index 6debc6f..df425f1 100644 --- a/dist/assets/CheckoutSuccessPage-DlyEFTwr.js +++ b/dist/assets/CheckoutSuccessPage-BSHkZecJ.js @@ -1 +1 @@ -import{B as e,C as t,G as n,S as r,ft as i,j as a,l as o,m as s,o as c,p as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as f,t as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./Icon-CtR1FGIT.js";import{t as h}from"./i18n-BPHBAYJ6.js";import{a as g}from"./api-Dmuwbd_X.js";import{t as _}from"./Button-JT3QbcL8.js";var v={class:`min-h-svh flex flex-col bg-cream`},y={class:`text-ink flex-1 flex flex-col justify-center`},b={class:`mx-auto w-full max-w-3xl px-6 sm:px-8 md:px-12 lg:px-16 py-10 sm:py-14 md:py-16 lg:py-20`},x={class:`rounded-md border border-line bg-paper p-8 md:p-10 flex flex-col gap-6 items-center text-center`},S={class:`relative w-20 h-20`},C={class:`absolute inset-0 rounded-full bg-brand text-accent flex items-center justify-center`},w={class:`eyebrow`},T={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},E={class:`italic font-light text-brand`},D={class:`text-base leading-relaxed text-muted max-w-md`},O={key:0,class:`mt-2 inline-flex items-center gap-2 rounded-pill border border-cream-dark bg-cream px-4 py-2 text-[13px] text-ink`},k={class:`eyebrow text-muted`},A={class:`font-mono text-[12px] text-brand`},j={key:1,class:`text-[13px] text-danger mt-2`,role:`alert`,"aria-live":`polite`},M={class:`mt-4 flex flex-col gap-3 w-full max-w-sm`},N={key:2,class:`text-[12px] text-muted mt-2`},P={__name:`CheckoutSuccessPage`,setup(P){let{t:F}=h(),I=f(),L=e(null),R=e(``),z=e(!0),B=c(()=>String(I.query.order||``));return r(async()=>{if(!B.value){R.value=F(`checkout.success.missing`),z.value=!1;return}try{L.value=await g({orderId:B.value})}catch(e){R.value=e?.message||F(`checkout.error.generic`)}finally{z.value=!1}}),(e,r)=>(t(),d(`div`,v,[u(`main`,y,[u(`div`,b,[u(`article`,x,[u(`div`,S,[r[0]||=u(`span`,{"aria-hidden":`true`,class:`absolute inset-0 rounded-full bg-brand-wash`,style:{animation:`var(--animate-pulse-soft)`}},null,-1),u(`span`,C,[s(m,{name:`check`,size:36,"stroke-width":2.4})])]),u(`p`,w,i(n(F)(`checkout.success.eyebrow`)),1),u(`h1`,T,[l(i(n(F)(`checkout.success.headline`))+` `,1),u(`em`,E,i(n(F)(`checkout.success.headline.em`)),1)]),u(`p`,D,i(n(F)(`checkout.success.sub`)),1),B.value?(t(),d(`div`,O,[u(`span`,k,i(n(F)(`checkout.success.orderId`)),1),u(`span`,A,i(B.value),1)])):o(``,!0),R.value?(t(),d(`p`,j,i(R.value),1)):o(``,!0),u(`div`,M,[s(n(p),{to:`/`,class:`block`},{default:a(()=>[s(_,{variant:`primary`,size:`lg`,class:`w-full`},{default:a(()=>[l(i(n(F)(`checkout.success.cta.home`)),1)]),_:1})]),_:1}),s(n(p),{to:`/shop`,class:`block`},{default:a(()=>[s(_,{variant:`secondary`,size:`lg`,class:`w-full`},{default:a(()=>[l(i(n(F)(`checkout.success.cta.shop`)),1)]),_:1})]),_:1})]),!z.value&&L.value?(t(),d(`p`,N,i(n(F)(`checkout.success.email`)),1)):o(``,!0)])])])]))}};export{P as default}; \ No newline at end of file +import{B as e,C as t,G as n,S as r,ft as i,j as a,l as o,m as s,o as c,p as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as f,t as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./Icon-CtR1FGIT.js";import{t as h}from"./i18n-BvZbJICa.js";import{a as g}from"./api-CJ2exAVU.js";import{t as _}from"./Button-JT3QbcL8.js";var v={class:`min-h-svh flex flex-col bg-cream`},y={class:`text-ink flex-1 flex flex-col justify-center`},b={class:`mx-auto w-full max-w-3xl px-6 sm:px-8 md:px-12 lg:px-16 py-10 sm:py-14 md:py-16 lg:py-20`},x={class:`rounded-md border border-line bg-paper p-8 md:p-10 flex flex-col gap-6 items-center text-center`},S={class:`relative w-20 h-20`},C={class:`absolute inset-0 rounded-full bg-brand text-accent flex items-center justify-center`},w={class:`eyebrow`},T={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},E={class:`italic font-light text-brand`},D={class:`text-base leading-relaxed text-muted max-w-md`},O={key:0,class:`mt-2 inline-flex items-center gap-2 rounded-pill border border-cream-dark bg-cream px-4 py-2 text-[13px] text-ink`},k={class:`eyebrow text-muted`},A={class:`font-mono text-[12px] text-brand`},j={key:1,class:`text-[13px] text-danger mt-2`,role:`alert`,"aria-live":`polite`},M={class:`mt-4 flex flex-col gap-3 w-full max-w-sm`},N={key:2,class:`text-[12px] text-muted mt-2`},P={__name:`CheckoutSuccessPage`,setup(P){let{t:F}=h(),I=f(),L=e(null),R=e(``),z=e(!0),B=c(()=>String(I.query.order||``));return r(async()=>{if(!B.value){R.value=F(`checkout.success.missing`),z.value=!1;return}try{L.value=await g({orderId:B.value})}catch(e){R.value=e?.message||F(`checkout.error.generic`)}finally{z.value=!1}}),(e,r)=>(t(),d(`div`,v,[u(`main`,y,[u(`div`,b,[u(`article`,x,[u(`div`,S,[r[0]||=u(`span`,{"aria-hidden":`true`,class:`absolute inset-0 rounded-full bg-brand-wash`,style:{animation:`var(--animate-pulse-soft)`}},null,-1),u(`span`,C,[s(m,{name:`check`,size:36,"stroke-width":2.4})])]),u(`p`,w,i(n(F)(`checkout.success.eyebrow`)),1),u(`h1`,T,[l(i(n(F)(`checkout.success.headline`))+` `,1),u(`em`,E,i(n(F)(`checkout.success.headline.em`)),1)]),u(`p`,D,i(n(F)(`checkout.success.sub`)),1),B.value?(t(),d(`div`,O,[u(`span`,k,i(n(F)(`checkout.success.orderId`)),1),u(`span`,A,i(B.value),1)])):o(``,!0),R.value?(t(),d(`p`,j,i(R.value),1)):o(``,!0),u(`div`,M,[s(n(p),{to:`/`,class:`block`},{default:a(()=>[s(_,{variant:`primary`,size:`lg`,class:`w-full`},{default:a(()=>[l(i(n(F)(`checkout.success.cta.home`)),1)]),_:1})]),_:1}),s(n(p),{to:`/shop`,class:`block`},{default:a(()=>[s(_,{variant:`secondary`,size:`lg`,class:`w-full`},{default:a(()=>[l(i(n(F)(`checkout.success.cta.shop`)),1)]),_:1})]),_:1})]),!z.value&&L.value?(t(),d(`p`,N,i(n(F)(`checkout.success.email`)),1)):o(``,!0)])])])]))}};export{P as default}; \ No newline at end of file diff --git a/dist/assets/ColorsSection-Nyb0Mzxg.js b/dist/assets/ColorsSection-BH8R9KQv.js similarity index 95% rename from dist/assets/ColorsSection-Nyb0Mzxg.js rename to dist/assets/ColorsSection-BH8R9KQv.js index 6075cd0..51da94c 100644 --- a/dist/assets/ColorsSection-Nyb0Mzxg.js +++ b/dist/assets/ColorsSection-BH8R9KQv.js @@ -1 +1 @@ -import{C as e,G as t,T as n,c as r,dt as i,ft as a,j as o,o as s,r as c,s as l,u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-BPHBAYJ6.js";import{t as f}from"./SectionShell-XUVs_07L.js";var p={class:`eyebrow mb-5`},m={class:`grid grid-cols-2 sm:grid-cols-3 gap-4`},h={class:`px-4 py-3`},g={class:`font-mono text-[12px] text-ink block`},_={__name:`ColorsSection`,setup(_){let{t:v}=d(),y=s(()=>[{title:v(`ds.colors.group.brand`),names:[`brand`,`brand-hover`,`brand-soft`]},{title:v(`ds.colors.group.accent`),names:[`accent`,`accent-soft`,`accent-ink`]},{title:v(`ds.colors.group.surface`),names:[`surface`,`paper`,`cream`]},{title:v(`ds.colors.group.ink`),names:[`ink`,`muted`]},{title:v(`ds.colors.group.line`),names:[`line`,`line-strong`]},{title:v(`ds.colors.group.semantic`),names:[`success`,`warning`,`danger`]}]);return(s,d)=>(e(),r(f,{eyebrow:t(v)(`ds.eyebrow.tokens`),title:t(v)(`ds.colors.title`),description:t(v)(`ds.colors.description`)},{default:o(()=>[(e(!0),u(c,null,n(y.value,t=>(e(),u(`section`,{key:t.title},[l(`h2`,p,a(t.title),1),l(`div`,m,[(e(!0),u(c,null,n(t.names,t=>(e(),u(`div`,{key:t,class:`rounded-md border border-line overflow-hidden bg-paper`},[l(`div`,{class:`h-28 border-b border-line`,style:i({background:`var(--color-${t})`})},null,4),l(`div`,h,[l(`code`,g,`--color-`+a(t),1)])]))),128))])]))),128))]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{_ as default}; \ No newline at end of file +import{C as e,G as t,T as n,c as r,dt as i,ft as a,j as o,o as s,r as c,s as l,u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-BvZbJICa.js";import{t as f}from"./SectionShell-XUVs_07L.js";var p={class:`eyebrow mb-5`},m={class:`grid grid-cols-2 sm:grid-cols-3 gap-4`},h={class:`px-4 py-3`},g={class:`font-mono text-[12px] text-ink block`},_={__name:`ColorsSection`,setup(_){let{t:v}=d(),y=s(()=>[{title:v(`ds.colors.group.brand`),names:[`brand`,`brand-hover`,`brand-soft`]},{title:v(`ds.colors.group.accent`),names:[`accent`,`accent-soft`,`accent-ink`]},{title:v(`ds.colors.group.surface`),names:[`surface`,`paper`,`cream`]},{title:v(`ds.colors.group.ink`),names:[`ink`,`muted`]},{title:v(`ds.colors.group.line`),names:[`line`,`line-strong`]},{title:v(`ds.colors.group.semantic`),names:[`success`,`warning`,`danger`]}]);return(s,d)=>(e(),r(f,{eyebrow:t(v)(`ds.eyebrow.tokens`),title:t(v)(`ds.colors.title`),description:t(v)(`ds.colors.description`)},{default:o(()=>[(e(!0),u(c,null,n(y.value,t=>(e(),u(`section`,{key:t.title},[l(`h2`,p,a(t.title),1),l(`div`,m,[(e(!0),u(c,null,n(t.names,t=>(e(),u(`div`,{key:t,class:`rounded-md border border-line overflow-hidden bg-paper`},[l(`div`,{class:`h-28 border-b border-line`,style:i({background:`var(--color-${t})`})},null,4),l(`div`,h,[l(`code`,g,`--color-`+a(t),1)])]))),128))])]))),128))]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{_ as default}; \ No newline at end of file diff --git a/dist/assets/DesignLayout-BxtiX08J.js b/dist/assets/DesignLayout-YmLR4dlb.js similarity index 96% rename from dist/assets/DesignLayout-BxtiX08J.js rename to dist/assets/DesignLayout-YmLR4dlb.js index bd04158..6559c19 100644 --- a/dist/assets/DesignLayout-BxtiX08J.js +++ b/dist/assets/DesignLayout-YmLR4dlb.js @@ -1 +1 @@ -import{A as e,B as t,C as n,G as r,T as i,c as a,ft as o,j as s,l as c,m as l,o as u,p as d,r as f,s as p,u as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./runtime-dom.esm-bundler-CXLmyuFK.js";import{a as g,n as _,t as v}from"./vue-router-Cyqru1db.js";import{t as y}from"./Logo-K2VN1F6l.js";import{t as b}from"./Icon-CtR1FGIT.js";import{t as x}from"./IconButton-DXYRXEop.js";import{t as ee}from"./i18n-BPHBAYJ6.js";import{t as S}from"./LanguageSwitcher-D_XrjPbm.js";import{t as C}from"./_plugin-vue_export-helper-0vLWKQyu.js";var w={class:`h-screen flex bg-surface text-ink overflow-hidden`},T={class:`hidden lg:flex w-[260px] shrink-0 border-r border-line bg-paper flex-col`},E={class:`px-6 py-6 border-b border-line`},D={class:`eyebrow mt-3`},O={class:`flex-1 overflow-y-auto px-3 py-5 space-y-6`},k={class:`eyebrow px-3 mb-2`},A={class:`flex flex-col gap-0.5`},j={class:`px-6 py-4 border-t border-line`},M={class:`flex-1 overflow-y-auto pb-20 lg:pb-0`},N=[`aria-expanded`],P={class:`flex flex-col min-w-0`},F={class:`eyebrow`},I={class:`truncate text-[15px] font-semibold text-ink`},te={class:`inline-flex items-center justify-center w-10 h-10 rounded-pill bg-brand-wash text-brand shrink-0`},L=[`aria-label`],R={class:`shrink-0 flex items-center justify-between px-5 pt-3 pb-3 border-b border-line`},z={class:`flex flex-col`},B={class:`eyebrow`},V={class:`text-[15px] font-semibold`},H={class:`flex-1 overflow-y-auto px-3 py-4 space-y-6`},U={class:`eyebrow px-3 mb-2`},W={class:`flex flex-col gap-0.5`},G={class:`px-3 pt-3 border-t border-line`},K=C({__name:`DesignLayout`,setup(C){let{t:K}=ee(),q=g(),J=u(()=>[{title:K(`ds.sidebar.brand`),items:[{name:`ds-logo`,label:K(`ds.nav.logo`)}]},{title:K(`ds.sidebar.tokens`),items:[{name:`ds-colors`,label:K(`ds.nav.colors`)},{name:`ds-typography`,label:K(`ds.nav.typography`)},{name:`ds-radii`,label:K(`ds.nav.radii`)},{name:`ds-shadows`,label:K(`ds.nav.shadows`)},{name:`ds-motion`,label:K(`ds.nav.motion`)}]},{title:K(`ds.sidebar.components`),items:[{name:`ds-icons`,label:K(`ds.nav.icons`)},{name:`ds-buttons`,label:K(`ds.nav.buttons`)},{name:`ds-badges`,label:K(`ds.nav.badges`)},{name:`ds-inputs`,label:K(`ds.nav.inputs`)},{name:`ds-cards`,label:K(`ds.nav.cards`)},{name:`ds-products`,label:K(`ds.nav.products`)},{name:`ds-bundle-card`,label:K(`ds.nav.bundleCard`)},{name:`ds-hero`,label:K(`ds.nav.hero`)},{name:`ds-navbar`,label:K(`ds.nav.navbar`)},{name:`ds-search`,label:K(`ds.nav.search`)},{name:`ds-quantity-stepper`,label:K(`ds.nav.qtyStepper`)},{name:`ds-cart-drawer`,label:K(`ds.nav.cartDrawer`)},{name:`ds-checkout-stepper`,label:K(`ds.nav.checkoutStepper`)},{name:`ds-language`,label:K(`ds.nav.language`)}]},{title:K(`ds.sidebar.sections`),items:[{name:`ds-bundles`,label:K(`ds.nav.bundles`)},{name:`ds-kaiserhacks`,label:K(`ds.nav.kaiserhacks`)},{name:`ds-revitalization`,label:K(`ds.nav.revitalization`)},{name:`ds-about`,label:K(`ds.nav.about`)},{name:`ds-footer`,label:K(`ds.nav.footer`)}]}]),Y=u(()=>J.value.flatMap(e=>e.items)),X=u(()=>{let e=Y.value.find(e=>e.name===q.name);return e?e.label:K(`ds.eyebrow.designSystem`)}),Z=t(!1);function Q(){Z.value=!0}function $(){Z.value=!1}return e(()=>q.name,$),(e,t)=>(n(),m(`div`,w,[p(`aside`,T,[p(`div`,E,[l(r(v),{to:`/`,class:`block text-brand`,"aria-label":`Kaiser Natron home`},{default:s(()=>[l(y,{class:`w-16 h-auto`})]),_:1}),p(`p`,D,o(r(K)(`ds.eyebrow.designSystem`)),1)]),p(`nav`,O,[(n(!0),m(f,null,i(J.value,e=>(n(),m(`div`,{key:e.title},[p(`p`,k,o(e.title),1),p(`div`,A,[(n(!0),m(f,null,i(e.items,e=>(n(),a(r(v),{key:e.name,to:{name:e.name},class:`px-3 py-2 rounded-sm text-[14px] font-medium text-muted hover:text-brand hover:bg-brand-wash transition-colors`,"active-class":`!text-brand !bg-brand-soft-wash`},{default:s(()=>[d(o(e.label),1)]),_:2},1032,[`to`]))),128))])]))),128))]),p(`div`,j,[l(r(v),{to:`/`,class:`text-[13px] text-muted hover:text-brand transition-colors`},{default:s(()=>[d(o(r(K)(`ds.sidebar.back`)),1)]),_:1})])]),p(`main`,M,[l(r(_))]),p(`button`,{type:`button`,class:`lg:hidden fixed bottom-0 inset-x-0 z-40 flex items-center justify-between gap-3 px-5 py-3 bg-paper border-t border-line text-left shadow-[0_-4px_16px_rgba(28,58,40,0.06)]`,"aria-expanded":Z.value,"aria-controls":`ds-mobile-sheet`,onClick:Q},[p(`span`,P,[p(`span`,F,o(r(K)(`ds.mobile.currentPage`)),1),p(`span`,I,o(X.value),1)]),p(`span`,te,[l(b,{name:`chevron-up`,size:20,label:r(K)(`ds.mobile.selectPage`)},null,8,[`label`])])],8,N),l(h,{name:`ds-backdrop`},{default:s(()=>[Z.value?(n(),m(`div`,{key:0,class:`lg:hidden fixed inset-0 z-50 bg-ink/40`,onClick:$})):c(``,!0)]),_:1}),l(h,{name:`ds-sheet`},{default:s(()=>[Z.value?(n(),m(`aside`,{key:0,id:`ds-mobile-sheet`,role:`dialog`,"aria-modal":`true`,"aria-label":r(K)(`ds.mobile.selectPage`),class:`lg:hidden fixed bottom-0 inset-x-0 z-50 h-[50svh] bg-paper border-t border-line rounded-t-xl flex flex-col shadow-[0_-12px_32px_rgba(28,58,40,0.18)]`},[p(`div`,R,[p(`span`,z,[p(`span`,B,o(r(K)(`ds.eyebrow.designSystem`)),1),p(`span`,V,o(r(K)(`ds.mobile.selectPage`)),1)]),l(x,{icon:`close`,variant:`ghost`,size:`xs`,"icon-size":22,"aria-label":r(K)(`menu.close`),onClick:$},null,8,[`aria-label`])]),p(`nav`,H,[(n(!0),m(f,null,i(J.value,e=>(n(),m(`div`,{key:e.title},[p(`p`,U,o(e.title),1),p(`div`,W,[(n(!0),m(f,null,i(e.items,e=>(n(),a(r(v),{key:e.name,to:{name:e.name},class:`px-3 py-2.5 rounded-sm text-[15px] font-medium text-muted hover:text-brand hover:bg-brand-wash transition-colors`,"active-class":`!text-brand !bg-brand-soft-wash`},{default:s(()=>[d(o(e.label),1)]),_:2},1032,[`to`]))),128))])]))),128)),p(`div`,G,[l(r(v),{to:`/`,class:`inline-block text-[14px] text-muted hover:text-brand transition-colors`},{default:s(()=>[d(o(r(K)(`ds.sidebar.back`)),1)]),_:1})])])],8,L)):c(``,!0)]),_:1}),l(S,{floating:``})]))}},[[`__scopeId`,`data-v-6e5968d4`]]);export{K as default}; \ No newline at end of file +import{A as e,B as t,C as n,G as r,T as i,c as a,ft as o,j as s,l as c,m as l,o as u,p as d,r as f,s as p,u as m}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as h}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{a as g,n as _,t as v}from"./vue-router-Cyqru1db.js";import{t as y}from"./Logo-K2VN1F6l.js";import{t as b}from"./Icon-CtR1FGIT.js";import{t as x}from"./IconButton-DXYRXEop.js";import{t as ee}from"./i18n-BvZbJICa.js";import{t as S}from"./LanguageSwitcher-Dfvm4BMl.js";import{t as C}from"./_plugin-vue_export-helper-0vLWKQyu.js";var w={class:`h-screen flex bg-surface text-ink overflow-hidden`},T={class:`hidden lg:flex w-[260px] shrink-0 border-r border-line bg-paper flex-col`},E={class:`px-6 py-6 border-b border-line`},D={class:`eyebrow mt-3`},O={class:`flex-1 overflow-y-auto px-3 py-5 space-y-6`},k={class:`eyebrow px-3 mb-2`},A={class:`flex flex-col gap-0.5`},j={class:`px-6 py-4 border-t border-line`},M={class:`flex-1 overflow-y-auto pb-20 lg:pb-0`},N=[`aria-expanded`],P={class:`flex flex-col min-w-0`},F={class:`eyebrow`},I={class:`truncate text-[15px] font-semibold text-ink`},te={class:`inline-flex items-center justify-center w-10 h-10 rounded-pill bg-brand-wash text-brand shrink-0`},L=[`aria-label`],R={class:`shrink-0 flex items-center justify-between px-5 pt-3 pb-3 border-b border-line`},z={class:`flex flex-col`},B={class:`eyebrow`},V={class:`text-[15px] font-semibold`},H={class:`flex-1 overflow-y-auto px-3 py-4 space-y-6`},U={class:`eyebrow px-3 mb-2`},W={class:`flex flex-col gap-0.5`},G={class:`px-3 pt-3 border-t border-line`},K=C({__name:`DesignLayout`,setup(C){let{t:K}=ee(),q=g(),J=u(()=>[{title:K(`ds.sidebar.brand`),items:[{name:`ds-logo`,label:K(`ds.nav.logo`)}]},{title:K(`ds.sidebar.tokens`),items:[{name:`ds-colors`,label:K(`ds.nav.colors`)},{name:`ds-typography`,label:K(`ds.nav.typography`)},{name:`ds-radii`,label:K(`ds.nav.radii`)},{name:`ds-shadows`,label:K(`ds.nav.shadows`)},{name:`ds-motion`,label:K(`ds.nav.motion`)}]},{title:K(`ds.sidebar.components`),items:[{name:`ds-icons`,label:K(`ds.nav.icons`)},{name:`ds-buttons`,label:K(`ds.nav.buttons`)},{name:`ds-badges`,label:K(`ds.nav.badges`)},{name:`ds-inputs`,label:K(`ds.nav.inputs`)},{name:`ds-cards`,label:K(`ds.nav.cards`)},{name:`ds-products`,label:K(`ds.nav.products`)},{name:`ds-bundle-card`,label:K(`ds.nav.bundleCard`)},{name:`ds-hero`,label:K(`ds.nav.hero`)},{name:`ds-navbar`,label:K(`ds.nav.navbar`)},{name:`ds-search`,label:K(`ds.nav.search`)},{name:`ds-quantity-stepper`,label:K(`ds.nav.qtyStepper`)},{name:`ds-cart-drawer`,label:K(`ds.nav.cartDrawer`)},{name:`ds-checkout-stepper`,label:K(`ds.nav.checkoutStepper`)},{name:`ds-language`,label:K(`ds.nav.language`)}]},{title:K(`ds.sidebar.sections`),items:[{name:`ds-bundles`,label:K(`ds.nav.bundles`)},{name:`ds-kaiserhacks`,label:K(`ds.nav.kaiserhacks`)},{name:`ds-revitalization`,label:K(`ds.nav.revitalization`)},{name:`ds-about`,label:K(`ds.nav.about`)},{name:`ds-footer`,label:K(`ds.nav.footer`)}]}]),Y=u(()=>J.value.flatMap(e=>e.items)),X=u(()=>{let e=Y.value.find(e=>e.name===q.name);return e?e.label:K(`ds.eyebrow.designSystem`)}),Z=t(!1);function Q(){Z.value=!0}function $(){Z.value=!1}return e(()=>q.name,$),(e,t)=>(n(),m(`div`,w,[p(`aside`,T,[p(`div`,E,[l(r(v),{to:`/`,class:`block text-brand`,"aria-label":`Kaiser Natron home`},{default:s(()=>[l(y,{class:`w-16 h-auto`})]),_:1}),p(`p`,D,o(r(K)(`ds.eyebrow.designSystem`)),1)]),p(`nav`,O,[(n(!0),m(f,null,i(J.value,e=>(n(),m(`div`,{key:e.title},[p(`p`,k,o(e.title),1),p(`div`,A,[(n(!0),m(f,null,i(e.items,e=>(n(),a(r(v),{key:e.name,to:{name:e.name},class:`px-3 py-2 rounded-sm text-[14px] font-medium text-muted hover:text-brand hover:bg-brand-wash transition-colors`,"active-class":`!text-brand !bg-brand-soft-wash`},{default:s(()=>[d(o(e.label),1)]),_:2},1032,[`to`]))),128))])]))),128))]),p(`div`,j,[l(r(v),{to:`/`,class:`text-[13px] text-muted hover:text-brand transition-colors`},{default:s(()=>[d(o(r(K)(`ds.sidebar.back`)),1)]),_:1})])]),p(`main`,M,[l(r(_))]),p(`button`,{type:`button`,class:`lg:hidden fixed bottom-0 inset-x-0 z-40 flex items-center justify-between gap-3 px-5 py-3 bg-paper border-t border-line text-left shadow-[0_-4px_16px_rgba(28,58,40,0.06)]`,"aria-expanded":Z.value,"aria-controls":`ds-mobile-sheet`,onClick:Q},[p(`span`,P,[p(`span`,F,o(r(K)(`ds.mobile.currentPage`)),1),p(`span`,I,o(X.value),1)]),p(`span`,te,[l(b,{name:`chevron-up`,size:20,label:r(K)(`ds.mobile.selectPage`)},null,8,[`label`])])],8,N),l(h,{name:`ds-backdrop`},{default:s(()=>[Z.value?(n(),m(`div`,{key:0,class:`lg:hidden fixed inset-0 z-50 bg-ink/40`,onClick:$})):c(``,!0)]),_:1}),l(h,{name:`ds-sheet`},{default:s(()=>[Z.value?(n(),m(`aside`,{key:0,id:`ds-mobile-sheet`,role:`dialog`,"aria-modal":`true`,"aria-label":r(K)(`ds.mobile.selectPage`),class:`lg:hidden fixed bottom-0 inset-x-0 z-50 h-[50svh] bg-paper border-t border-line rounded-t-xl flex flex-col shadow-[0_-12px_32px_rgba(28,58,40,0.18)]`},[p(`div`,R,[p(`span`,z,[p(`span`,B,o(r(K)(`ds.eyebrow.designSystem`)),1),p(`span`,V,o(r(K)(`ds.mobile.selectPage`)),1)]),l(x,{icon:`close`,variant:`ghost`,size:`xs`,"icon-size":22,"aria-label":r(K)(`menu.close`),onClick:$},null,8,[`aria-label`])]),p(`nav`,H,[(n(!0),m(f,null,i(J.value,e=>(n(),m(`div`,{key:e.title},[p(`p`,U,o(e.title),1),p(`div`,W,[(n(!0),m(f,null,i(e.items,e=>(n(),a(r(v),{key:e.name,to:{name:e.name},class:`px-3 py-2.5 rounded-sm text-[15px] font-medium text-muted hover:text-brand hover:bg-brand-wash transition-colors`,"active-class":`!text-brand !bg-brand-soft-wash`},{default:s(()=>[d(o(e.label),1)]),_:2},1032,[`to`]))),128))])]))),128)),p(`div`,G,[l(r(v),{to:`/`,class:`inline-block text-[14px] text-muted hover:text-brand transition-colors`},{default:s(()=>[d(o(r(K)(`ds.sidebar.back`)),1)]),_:1})])])],8,L)):c(``,!0)]),_:1}),l(S,{floating:``})]))}},[[`__scopeId`,`data-v-6e5968d4`]]);export{K as default}; \ No newline at end of file diff --git a/dist/assets/ExpressCheckoutMount-BtelKqpp.js b/dist/assets/ExpressCheckoutMount-BekeV0fR.js similarity index 98% rename from dist/assets/ExpressCheckoutMount-BtelKqpp.js rename to dist/assets/ExpressCheckoutMount-BekeV0fR.js index 781938f..e09fdb4 100644 --- a/dist/assets/ExpressCheckoutMount-BtelKqpp.js +++ b/dist/assets/ExpressCheckoutMount-BekeV0fR.js @@ -1 +1 @@ -import{A as e,B as t,C as n,G as r,S as i,f as a,ft as o,l as s,o as c,s as l,u,ut as d,x as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as p}from"./preload-helper-ca-nBW7U.js";import{t as m}from"./i18n-BPHBAYJ6.js";var h={class:`flex flex-col gap-3`},g={key:1,class:`grid gap-3 sm:grid-cols-2`},_=[`disabled`,`aria-label`],v=[`disabled`,`aria-label`],y={key:2,class:`text-[13px] text-danger`},b={__name:`ExpressCheckoutMount`,props:{intent:{type:Object,default:null},returnUrl:{type:String,required:!0},busy:{type:Boolean,default:!1}},emits:[`pay`,`error`],setup(b,{expose:x,emit:S}){let{t:C}=m(),w=b,T=S,E=t(null),D=t(null),O=t(!1),k=t(``),A=c(()=>/^pi_stub_express_/.test(w.intent?.clientSecret||``));function j(e){w.busy||w.intent||T(`pay`,{wallet:e})}async function M(){if(!(!w.intent||typeof window>`u`)){if(A.value){O.value=!0;return}try{let e=[`@stripe`,`stripe-js`].join(`/`),{loadStripe:t}=await p(()=>import(e),[]),n=await t(w.intent.publishableKey);if(!n)throw Error(`Stripe.js failed to initialise.`);E.value=n;let r=n.elements({clientSecret:w.intent.clientSecret,appearance:{theme:`flat`,variables:{colorPrimary:`#006548`,colorBackground:`#ffffff`,colorText:`#0f3825`,fontFamily:`"DM Sans", ui-sans-serif, system-ui, sans-serif`,borderRadius:`10px`,spacingUnit:`4px`}}});D.value=r;let i=r.create(`expressCheckout`,{buttonType:{applePay:`buy`,googlePay:`buy`},buttonTheme:{applePay:`black`,googlePay:`black`},buttonHeight:48});i.mount(`#express-checkout-element`),i.on(`ready`,()=>{O.value=!0}),i.on(`loaderror`,e=>{k.value=e?.error?.message||`Failed to load wallet buttons.`}),i.on(`confirm`,async()=>{let e=await n.confirmPayment({elements:r,clientSecret:w.intent.clientSecret,confirmParams:{return_url:w.returnUrl}});e?.error&&T(`error`,e.error)})}catch(e){k.value=e?.message||String(e)}}}async function N(){return w.intent?A.value?(await new Promise(e=>setTimeout(e,600)),{paymentIntent:{id:(w.intent.clientSecret||``).split(`_secret_`)[0]||`pi_stub`,status:`succeeded`}}):{error:{message:`Express confirm is driven by Stripe.`}}:{error:{message:`No intent.`}}}return x({confirm:N,ready:O}),i(()=>{w.intent&&M()}),e(()=>w.intent?.clientSecret,e=>{e&&M()}),f(()=>{E.value=null,D.value=null}),(e,t)=>(n(),u(`div`,h,[b.intent&&!A.value?(n(),u(`div`,{key:0,id:`express-checkout-element`,class:d([`min-h-[52px]`,{"opacity-60":!O.value}]),"aria-live":`polite`},null,2)):(n(),u(`div`,g,[l(`button`,{type:`button`,class:`inline-flex items-center justify-center gap-2 rounded-sm bg-ink h-12 px-5 text-paper transition-colors duration-base hover:bg-brand disabled:opacity-50 disabled:cursor-not-allowed`,disabled:b.busy,"aria-label":r(C)(`checkout.express.applePay.aria`),onClick:t[0]||=e=>j(`apple`)},[...t[2]||=[l(`svg`,{width:`18`,height:`22`,viewBox:`0 0 18 22`,fill:`currentColor`,"aria-hidden":`true`},[l(`path`,{d:`M14.94 11.36c-.02-2.5 2.04-3.7 2.13-3.76-1.16-1.7-2.97-1.94-3.61-1.96-1.54-.16-3 .9-3.78.9-.78 0-1.98-.88-3.26-.86-1.68.02-3.23.97-4.1 2.47-1.74 3.02-.45 7.5 1.25 9.95.83 1.2 1.82 2.55 3.12 2.5 1.25-.05 1.72-.81 3.23-.81 1.51 0 1.93.81 3.25.78 1.34-.02 2.2-1.22 3.02-2.43.95-1.4 1.34-2.75 1.36-2.82-.03-.01-2.61-1-2.61-3.96zM12.6 4.05c.7-.85 1.16-2.02 1.04-3.18-1 .04-2.21.66-2.93 1.5-.65.74-1.21 1.93-1.06 3.07 1.11.09 2.25-.56 2.95-1.39z`})],-1),l(`span`,{class:`text-[14px] font-medium tracking-tight`},`Pay`,-1)]],8,_),l(`button`,{type:`button`,class:`inline-flex items-center justify-center gap-2 rounded-sm bg-ink h-12 px-5 text-paper transition-colors duration-base hover:bg-brand disabled:opacity-50 disabled:cursor-not-allowed`,disabled:b.busy,"aria-label":r(C)(`checkout.express.googlePay.aria`),onClick:t[1]||=e=>j(`google`)},[...t[3]||=[a(`Pay`,2)]],8,v)])),k.value?(n(),u(`p`,y,o(k.value),1)):s(``,!0)]))}};export{b as t}; \ No newline at end of file +import{A as e,B as t,C as n,G as r,S as i,f as a,ft as o,l as s,o as c,s as l,u,ut as d,x as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as p}from"./preload-helper-ca-nBW7U.js";import{t as m}from"./i18n-BvZbJICa.js";var h={class:`flex flex-col gap-3`},g={key:1,class:`grid gap-3 sm:grid-cols-2`},_=[`disabled`,`aria-label`],v=[`disabled`,`aria-label`],y={key:2,class:`text-[13px] text-danger`},b={__name:`ExpressCheckoutMount`,props:{intent:{type:Object,default:null},returnUrl:{type:String,required:!0},busy:{type:Boolean,default:!1}},emits:[`pay`,`error`],setup(b,{expose:x,emit:S}){let{t:C}=m(),w=b,T=S,E=t(null),D=t(null),O=t(!1),k=t(``),A=c(()=>/^pi_stub_express_/.test(w.intent?.clientSecret||``));function j(e){w.busy||w.intent||T(`pay`,{wallet:e})}async function M(){if(!(!w.intent||typeof window>`u`)){if(A.value){O.value=!0;return}try{let e=[`@stripe`,`stripe-js`].join(`/`),{loadStripe:t}=await p(()=>import(e),[]),n=await t(w.intent.publishableKey);if(!n)throw Error(`Stripe.js failed to initialise.`);E.value=n;let r=n.elements({clientSecret:w.intent.clientSecret,appearance:{theme:`flat`,variables:{colorPrimary:`#006548`,colorBackground:`#ffffff`,colorText:`#0f3825`,fontFamily:`"DM Sans", ui-sans-serif, system-ui, sans-serif`,borderRadius:`10px`,spacingUnit:`4px`}}});D.value=r;let i=r.create(`expressCheckout`,{buttonType:{applePay:`buy`,googlePay:`buy`},buttonTheme:{applePay:`black`,googlePay:`black`},buttonHeight:48});i.mount(`#express-checkout-element`),i.on(`ready`,()=>{O.value=!0}),i.on(`loaderror`,e=>{k.value=e?.error?.message||`Failed to load wallet buttons.`}),i.on(`confirm`,async()=>{let e=await n.confirmPayment({elements:r,clientSecret:w.intent.clientSecret,confirmParams:{return_url:w.returnUrl}});e?.error&&T(`error`,e.error)})}catch(e){k.value=e?.message||String(e)}}}async function N(){return w.intent?A.value?(await new Promise(e=>setTimeout(e,600)),{paymentIntent:{id:(w.intent.clientSecret||``).split(`_secret_`)[0]||`pi_stub`,status:`succeeded`}}):{error:{message:`Express confirm is driven by Stripe.`}}:{error:{message:`No intent.`}}}return x({confirm:N,ready:O}),i(()=>{w.intent&&M()}),e(()=>w.intent?.clientSecret,e=>{e&&M()}),f(()=>{E.value=null,D.value=null}),(e,t)=>(n(),u(`div`,h,[b.intent&&!A.value?(n(),u(`div`,{key:0,id:`express-checkout-element`,class:d([`min-h-[52px]`,{"opacity-60":!O.value}]),"aria-live":`polite`},null,2)):(n(),u(`div`,g,[l(`button`,{type:`button`,class:`inline-flex items-center justify-center gap-2 rounded-sm bg-ink h-12 px-5 text-paper transition-colors duration-base hover:bg-brand disabled:opacity-50 disabled:cursor-not-allowed`,disabled:b.busy,"aria-label":r(C)(`checkout.express.applePay.aria`),onClick:t[0]||=e=>j(`apple`)},[...t[2]||=[l(`svg`,{width:`18`,height:`22`,viewBox:`0 0 18 22`,fill:`currentColor`,"aria-hidden":`true`},[l(`path`,{d:`M14.94 11.36c-.02-2.5 2.04-3.7 2.13-3.76-1.16-1.7-2.97-1.94-3.61-1.96-1.54-.16-3 .9-3.78.9-.78 0-1.98-.88-3.26-.86-1.68.02-3.23.97-4.1 2.47-1.74 3.02-.45 7.5 1.25 9.95.83 1.2 1.82 2.55 3.12 2.5 1.25-.05 1.72-.81 3.23-.81 1.51 0 1.93.81 3.25.78 1.34-.02 2.2-1.22 3.02-2.43.95-1.4 1.34-2.75 1.36-2.82-.03-.01-2.61-1-2.61-3.96zM12.6 4.05c.7-.85 1.16-2.02 1.04-3.18-1 .04-2.21.66-2.93 1.5-.65.74-1.21 1.93-1.06 3.07 1.11.09 2.25-.56 2.95-1.39z`})],-1),l(`span`,{class:`text-[14px] font-medium tracking-tight`},`Pay`,-1)]],8,_),l(`button`,{type:`button`,class:`inline-flex items-center justify-center gap-2 rounded-sm bg-ink h-12 px-5 text-paper transition-colors duration-base hover:bg-brand disabled:opacity-50 disabled:cursor-not-allowed`,disabled:b.busy,"aria-label":r(C)(`checkout.express.googlePay.aria`),onClick:t[1]||=e=>j(`google`)},[...t[3]||=[a(`Pay`,2)]],8,v)])),k.value?(n(),u(`p`,y,o(k.value),1)):s(``,!0)]))}};export{b as t}; \ No newline at end of file diff --git a/dist/assets/Footer-BgNIDT7a.js b/dist/assets/Footer-BlfD57J5.js similarity index 97% rename from dist/assets/Footer-BgNIDT7a.js rename to dist/assets/Footer-BlfD57J5.js index ae764bb..0552d74 100644 --- a/dist/assets/Footer-BgNIDT7a.js +++ b/dist/assets/Footer-BlfD57J5.js @@ -1 +1 @@ -import{C as e,G as t,T as n,ft as r,m as i,o as a,r as o,s,u as c,ut as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./Logo-K2VN1F6l.js";import{t as d}from"./i18n-BPHBAYJ6.js";var f={class:`mx-auto w-full max-w-6xl px-6 py-12 sm:px-8 sm:py-14 md:px-12 md:py-16 lg:px-16`},p={class:`grid gap-10 md:grid-cols-[1.4fr_1fr_1fr] md:gap-12`},m={class:`flex flex-col gap-4 max-w-sm`},h=[`aria-label`],g={class:`flex flex-col gap-2`},_=[`href`],v=[`aria-label`],y={class:`flex flex-col gap-2`},b=[`href`],x={__name:`Footer`,props:{variant:{type:String,default:`cream`,validator:e=>[`cream`,`brand`,`paper`].includes(e)}},setup(x){let S=x,{t:C}=d(),w=a(()=>S.variant===`brand`?{surface:`bg-brand text-cream`,topRule:`border-cream-line`,bottomRule:`border-cream-line/40`,muted:`text-cream/80`,logo:`text-cream`,link:`hover:text-accent`}:S.variant===`paper`?{surface:`bg-paper text-brand`,topRule:`border-line`,bottomRule:`border-line/60`,muted:`text-muted`,logo:`text-brand`,link:`hover:text-brand-hover`}:{surface:`bg-cream text-brand`,topRule:`border-line`,bottomRule:`border-line/60`,muted:`text-muted`,logo:`text-brand`,link:`hover:text-brand-hover`}),T=[{key:`footer.legal.impressum`,href:`/impressum`},{key:`footer.legal.datenschutz`,href:`/datenschutz`}],E=[{key:`footer.explore.shop`,href:`/shop`},{key:`footer.explore.pflege`,href:`/pflege`},{key:`footer.explore.haushalt`,href:`/haushalt`},{key:`footer.explore.bundles`,href:`/#bundles`},{key:`footer.explore.about`,href:`/#about`}],D=new Date().getFullYear();return(a,d)=>(e(),c(`footer`,{class:l([`border-t`,w.value.surface,w.value.topRule])},[s(`div`,f,[s(`div`,p,[s(`div`,m,[i(u,{class:l([`w-20 md:w-24 h-auto`,w.value.logo])},null,8,[`class`]),s(`p`,{class:l([`text-sm leading-relaxed`,w.value.muted])},r(t(C)(`footer.tagline`)),3)]),s(`nav`,{"aria-label":t(C)(`footer.explore.heading`),class:`flex flex-col gap-3`},[s(`p`,{class:l([`eyebrow`,w.value.muted])},r(t(C)(`footer.explore.heading`)),3),s(`ul`,g,[(e(),c(o,null,n(E,e=>s(`li`,{key:e.href},[s(`a`,{href:e.href,class:l([`text-sm underline-offset-4 decoration-1 hover:underline`,w.value.link])},r(t(C)(e.key)),11,_)])),64))])],8,h),s(`nav`,{"aria-label":t(C)(`footer.legal.heading`),class:`flex flex-col gap-3`},[s(`p`,{class:l([`eyebrow`,w.value.muted])},r(t(C)(`footer.legal.heading`)),3),s(`ul`,y,[(e(),c(o,null,n(T,e=>s(`li`,{key:e.href},[s(`a`,{href:e.href,class:l([`text-sm underline-offset-4 decoration-1 hover:underline`,w.value.link])},r(t(C)(e.key)),11,b)])),64))])],8,v)]),s(`div`,{class:l([`mt-12 pt-6 border-t flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3`,w.value.bottomRule])},[s(`p`,{class:l([`text-xs`,w.value.muted])},` © `+r(t(D))+` `+r(t(C)(`footer.copyright`)),3),s(`p`,{class:l([`text-xs`,w.value.muted])},r(t(C)(`footer.madeIn`)),3)],2)])],2))}};export{x as t}; \ No newline at end of file +import{C as e,G as t,T as n,ft as r,m as i,o as a,r as o,s,u as c,ut as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./Logo-K2VN1F6l.js";import{t as d}from"./i18n-BvZbJICa.js";var f={class:`mx-auto w-full max-w-6xl px-6 py-12 sm:px-8 sm:py-14 md:px-12 md:py-16 lg:px-16`},p={class:`grid gap-10 md:grid-cols-[1.4fr_1fr_1fr] md:gap-12`},m={class:`flex flex-col gap-4 max-w-sm`},h=[`aria-label`],g={class:`flex flex-col gap-2`},_=[`href`],v=[`aria-label`],y={class:`flex flex-col gap-2`},b=[`href`],x={__name:`Footer`,props:{variant:{type:String,default:`cream`,validator:e=>[`cream`,`brand`,`paper`].includes(e)}},setup(x){let S=x,{t:C}=d(),w=a(()=>S.variant===`brand`?{surface:`bg-brand text-cream`,topRule:`border-cream-line`,bottomRule:`border-cream-line/40`,muted:`text-cream/80`,logo:`text-cream`,link:`hover:text-accent`}:S.variant===`paper`?{surface:`bg-paper text-brand`,topRule:`border-line`,bottomRule:`border-line/60`,muted:`text-muted`,logo:`text-brand`,link:`hover:text-brand-hover`}:{surface:`bg-cream text-brand`,topRule:`border-line`,bottomRule:`border-line/60`,muted:`text-muted`,logo:`text-brand`,link:`hover:text-brand-hover`}),T=[{key:`footer.legal.impressum`,href:`/impressum`},{key:`footer.legal.datenschutz`,href:`/datenschutz`}],E=[{key:`footer.explore.shop`,href:`/shop`},{key:`footer.explore.pflege`,href:`/pflege`},{key:`footer.explore.haushalt`,href:`/haushalt`},{key:`footer.explore.bundles`,href:`/#bundles`},{key:`footer.explore.about`,href:`/#about`}],D=new Date().getFullYear();return(a,d)=>(e(),c(`footer`,{class:l([`border-t`,w.value.surface,w.value.topRule])},[s(`div`,f,[s(`div`,p,[s(`div`,m,[i(u,{class:l([`w-20 md:w-24 h-auto`,w.value.logo])},null,8,[`class`]),s(`p`,{class:l([`text-sm leading-relaxed`,w.value.muted])},r(t(C)(`footer.tagline`)),3)]),s(`nav`,{"aria-label":t(C)(`footer.explore.heading`),class:`flex flex-col gap-3`},[s(`p`,{class:l([`eyebrow`,w.value.muted])},r(t(C)(`footer.explore.heading`)),3),s(`ul`,g,[(e(),c(o,null,n(E,e=>s(`li`,{key:e.href},[s(`a`,{href:e.href,class:l([`text-sm underline-offset-4 decoration-1 hover:underline`,w.value.link])},r(t(C)(e.key)),11,_)])),64))])],8,h),s(`nav`,{"aria-label":t(C)(`footer.legal.heading`),class:`flex flex-col gap-3`},[s(`p`,{class:l([`eyebrow`,w.value.muted])},r(t(C)(`footer.legal.heading`)),3),s(`ul`,y,[(e(),c(o,null,n(T,e=>s(`li`,{key:e.href},[s(`a`,{href:e.href,class:l([`text-sm underline-offset-4 decoration-1 hover:underline`,w.value.link])},r(t(C)(e.key)),11,b)])),64))])],8,v)]),s(`div`,{class:l([`mt-12 pt-6 border-t flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3`,w.value.bottomRule])},[s(`p`,{class:l([`text-xs`,w.value.muted])},` © `+r(t(D))+` `+r(t(C)(`footer.copyright`)),3),s(`p`,{class:l([`text-xs`,w.value.muted])},r(t(C)(`footer.madeIn`)),3)],2)])],2))}};export{x as t}; \ No newline at end of file diff --git a/dist/assets/FooterSection-CH-bfKMG.js b/dist/assets/FooterSection-D8N0oQVe.js similarity index 95% rename from dist/assets/FooterSection-CH-bfKMG.js rename to dist/assets/FooterSection-D8N0oQVe.js index bca3467..4c5bd4f 100644 --- a/dist/assets/FooterSection-CH-bfKMG.js +++ b/dist/assets/FooterSection-D8N0oQVe.js @@ -1,3 +1,3 @@ -import{C as e,G as t,c as n,ft as r,j as i,m as a,s as o}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as s}from"./i18n-BPHBAYJ6.js";import{t as c}from"./Footer-BgNIDT7a.js";import{t as l}from"./SectionShell-XUVs_07L.js";var u={class:`eyebrow mb-5`},d={class:`rounded-md overflow-hidden border border-line`},f={class:`eyebrow mb-5`},p={class:`rounded-md overflow-hidden border border-line`},m={class:`eyebrow mb-5`},h={class:`rounded-md overflow-hidden border border-line`},g={class:`eyebrow mb-5`},_={__name:`FooterSection`,setup(_){let{t:v}=s();return(s,_)=>(e(),n(l,{eyebrow:t(v)(`ds.eyebrow.components`),title:t(v)(`ds.footer.title`),description:t(v)(`ds.footer.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,u,r(t(v)(`ds.footer.tone.cream`)),1),o(`div`,d,[a(c,{variant:`cream`})])]),o(`section`,null,[o(`h2`,f,r(t(v)(`ds.footer.tone.brand`)),1),o(`div`,p,[a(c,{variant:`brand`})])]),o(`section`,null,[o(`h2`,m,r(t(v)(`ds.footer.tone.paper`)),1),o(`div`,h,[a(c,{variant:`paper`})])]),o(`section`,null,[o(`h2`,g,r(t(v)(`ds.heading.usage`)),1),_[0]||=o(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[o(`pre`,{class:`whitespace-pre-wrap`},`