feat: wire up category-page footer links + remove membership entirely
Category pages (§21): link /kueche, /haushalt, /pflege from the footer (/kueche was orphaned); align footer labels + page eyebrows to the shop's section names (Küche/Reinigung/Pflege · Kitchen/Clean/Care). /waesche deferred pending brand copy; route slugs unchanged. Membership (§22, U2): no programme exists, so remove every trace. Drop memberPrice from bundle data + BundleCard/Bundles/BundlePage/HomePage, the joinCta prop/emit/buttons, and all member copy. Bundles are now single-price (retail only); sub + benefits rewritten as bundle value. priceLabel → Preis/ Price. DS demos updated to match. Docs: STYLE-CHANGES.md §21/§22; new plain-language STYLE-CHANGES-simple.md. dist/ rebuilt for the Portainer/gitea deploy. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
82
STYLE-CHANGES-simple.md
Normal file
82
STYLE-CHANGES-simple.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Kaiser-Natron® — What Changed (Plain-Language Guide)
|
||||
|
||||
> A non-technical summary of the visual and content changes to the site.
|
||||
> The detailed developer version lives in **STYLE-CHANGES.md** — this file
|
||||
> is the same story without the code. Keep both updated together.
|
||||
|
||||
---
|
||||
|
||||
## Look & feel
|
||||
|
||||
- **Colours.** The site now uses the official brand palette: the deep brand
|
||||
green, a crimson red for anything clickable (buttons, "add to cart"), and a
|
||||
soft mint that lights up links when you hover them.
|
||||
- **Backgrounds are white.** Pages sit on clean white instead of the old
|
||||
tinted panels, so products and text stand out.
|
||||
- **Brand typeface.** Headlines and text use the brand's own "Zeitung" font,
|
||||
loaded directly by the site (not borrowed from Google), so it always looks
|
||||
the same and loads fast.
|
||||
- **Section dividers are diagonal.** The wavy lines between coloured bands were
|
||||
replaced with clean diagonal edges.
|
||||
- **Buttons.** All buttons share one consistent style — crimson with white
|
||||
text. The big "call to action" buttons on hero banners stand out clearly.
|
||||
- **Removed the yellow highlight.** Headlines no longer use the old yellow
|
||||
accent; they're cleaner now.
|
||||
|
||||
## Brand details
|
||||
|
||||
- **Trademark & spelling.** Every visible mention now reads **Kaiser-Natron®** —
|
||||
hyphenated, with the ® symbol.
|
||||
- **Hero headline.** The opening line now speaks to versatility — *"Kaiser-Natron®
|
||||
for almost anything at home"* — instead of the old "that should shine" wording.
|
||||
- **Intro artwork.** The brand intro uses the official Hebe + waterfall artwork.
|
||||
- **250 g pack image.** The large pack image was recoloured to the correct brand
|
||||
green so it no longer clashes with its background.
|
||||
- **Logo & search.** Prices in the search dropdown are now white so they're
|
||||
readable on the green bar.
|
||||
|
||||
## Honesty & content
|
||||
|
||||
- **"AI Edited" note on bundle images.** The bundle photos that were
|
||||
AI-assisted now carry a small, honest "AI Edited" caption. (These can be
|
||||
switched off the moment real photographs replace them.)
|
||||
- **Revitalization section simplified.** The off-brand animated icon row and the
|
||||
"get early access" prompt were removed; it now shows just the heading and
|
||||
intro text.
|
||||
- **Membership fully removed.** There's no membership programme, so every trace
|
||||
of one is gone: the "become a member" button, the lower "member price", and
|
||||
the member-perks wording. **Bundles now show a single price** everyone pays,
|
||||
and the section talks about why a bundle is handy (curated sets, everything
|
||||
for one area, one delivery) instead of member savings.
|
||||
|
||||
## The shop, by use
|
||||
|
||||
- **Four colour-coded sections.** The shop is now organised by what you're doing,
|
||||
each with its own brand colour:
|
||||
- **Küche / Kitchen** — lime green (baking, cooking, digestion)
|
||||
- **Reinigung / Clean** — grapefruit red (household cleaning)
|
||||
- **Wäsche / Wash** — plum (laundry & textile care)
|
||||
- **Pflege / Care** — orange (bath, body, sport)
|
||||
- **Banners.** Each section opens with a full-width colour banner showing its
|
||||
star product, with an "add to cart" and a "learn more" button.
|
||||
|
||||
## Category pages
|
||||
|
||||
- **Three dedicated pages are now reachable** from the footer: **Küche**,
|
||||
**Reinigung** (Haushalt), and **Pflege** — each a fuller landing page with its
|
||||
own products, benefits and call-to-action.
|
||||
- **Consistent names.** These pages and their footer links now use the same
|
||||
short names as the shop sections, so everything reads the same way.
|
||||
- **Wäsche / Wash page is on hold** until its brand copy is supplied — laundry
|
||||
is already covered by the shop's Wash section in the meantime.
|
||||
|
||||
---
|
||||
|
||||
## Still waiting on a decision (content owner)
|
||||
|
||||
- **Origin wording** — the real brand is German (Bielefeld); the site currently
|
||||
frames it as Austrian. Needs your correct origin claim.
|
||||
- **Membership pricing/wording** — keep it and reword, or remove entirely?
|
||||
- **Holste & Linda product descriptions** — these aren't on the brand site, so
|
||||
the copy needs to come from you.
|
||||
- **Wäsche / Wash landing page** — provide copy if you want a dedicated page.
|
||||
@@ -5,6 +5,9 @@
|
||||
> of each item (succinctly — not the iterations it took to get there): the
|
||||
> file, what it is now, and the token/class. If a new value supersedes an old
|
||||
> one, **edit the existing entry** instead of appending a duplicate.
|
||||
>
|
||||
> **Also update [STYLE-CHANGES-simple.md](STYLE-CHANGES-simple.md)** — the
|
||||
> plain-language version for non-technical reviewers — in the same change.
|
||||
|
||||
A plain-language summary of every visual change made in this restyle pass,
|
||||
with the **exact file**, **what changed**, and the **CSS / Tailwind classes**
|
||||
@@ -492,14 +495,77 @@ with `/haushalt` + `/pflege`:
|
||||
- `CategoryPage.vue` — `slug` validator allows `kueche`; `useCase` allows `cook`.
|
||||
- `messages.js` — full `category.kueche.*` copy (de + en), mirroring pflege/haushalt.
|
||||
|
||||
> ⚠️ **Open decision on the standalone category pages.** The footer
|
||||
> (`Footer.vue:54-55`) links only to `/pflege` and `/haushalt` — **`/kueche` is not
|
||||
> linked anywhere** (reachable only by direct URL). Also, splitting Wäsche into the
|
||||
> `wash` group means the `/haushalt` page (`useCase: clean`) no longer lists laundry
|
||||
> products, and there's no `/waesche` page. The **shop page itself is complete** (all
|
||||
> four groups); only these secondary category pages need a taxonomy decision — wire
|
||||
> up `/kueche` (+ a `/waesche`?) and a footer link, or retire the standalone pages in
|
||||
> favour of the shop's in-page sections.
|
||||
> ℹ️ **Resolved (see §21).** The three content-complete category pages
|
||||
> (`/kueche`, `/haushalt`, `/pflege`) are now wired into the footer. `/waesche`
|
||||
> (wash) is intentionally **deferred** pending brand copy — the shop's in-page
|
||||
> `wash` section covers laundry in the meantime.
|
||||
|
||||
---
|
||||
|
||||
## 21. Category pages wired up + naming aligned to shop sections
|
||||
|
||||
**Files:** `src/design-system/components/Footer.vue`, `src/i18n/messages.js`
|
||||
|
||||
**Decision.** Of the four use-groups, the three with complete copy (`cook`/`clean`/
|
||||
`care` → `/kueche`, `/haushalt`, `/pflege`) are kept as standalone landing pages
|
||||
*alongside* the shop's in-page sections, and linked from the footer. The `wash`
|
||||
group has no standalone page (`/waesche`) yet — **deferred** until brand copy is
|
||||
supplied; the shop's `wash` section covers laundry meanwhile.
|
||||
|
||||
**Footer links.** `Footer.vue` `exploreLinks` now lists `Shop → Küche → Haushalt →
|
||||
Pflege → Bundles → About` (the `/kueche` link was previously missing — page was
|
||||
reachable only by direct URL). Order follows the shop's use-group order.
|
||||
|
||||
**Naming aligned to the shop.** The footer **link labels** and the category-page
|
||||
**eyebrows** now use the shop's plain section names (`shop.feature.*`) instead of
|
||||
the older descriptive variants, so a section and its landing page read identically:
|
||||
|
||||
| Page (route) | use-case | eyebrow + footer label — DE / EN | was |
|
||||
|---|---|---|---|
|
||||
| `/kueche` | cook | **Küche / Kitchen** | "Küche & Backen" / "Kitchen & baking" |
|
||||
| `/haushalt` | clean | **Reinigung / Clean** | "Haushalt & Reinigung" / "Home & cleaning" |
|
||||
| `/pflege` | care | **Pflege / Care** | "Pflege & Wohlbefinden" / "Personal care & wellbeing" |
|
||||
|
||||
Route slugs are unchanged (`/haushalt` still serves the `clean` group); only the
|
||||
visible labels/eyebrows moved to the new names.
|
||||
|
||||
---
|
||||
|
||||
## 22. Membership removed — bundles are single-price (U2)
|
||||
|
||||
**Files:** `src/api/bundles.js`, `src/design-system/components/BundleCard.vue`,
|
||||
`src/design-system/components/Bundles.vue`, `src/pages/BundlePage.vue`,
|
||||
`src/pages/HomePage.vue`, `src/i18n/messages.js`, plus the design-system demos
|
||||
(`BundleCardSection.vue`, `BundlesSection.vue`, `previews/BundlesPreview.vue`).
|
||||
|
||||
There is **no membership programme**, so every trace of one was removed (the
|
||||
join button went earlier in §U2; this completes it). **Decision: single retail
|
||||
price** — bundles now show only their regular price (e.g. €24,90); the old lower
|
||||
`memberPrice` was dropped entirely (no discount remains).
|
||||
|
||||
- **Data.** `bundles.js` — `memberPrice` deleted from all three bundles.
|
||||
- **`BundleCard.vue`** — removed the `memberPrice` prop, the `memberLabel`
|
||||
computed, and the "Mitglieder: €X" line under the price.
|
||||
- **`Bundles.vue`** — removed all four `:member-price` bindings, the `joinCta`
|
||||
prop, the `join` emit, both "become a member" buttons (stacked + sidebar), and
|
||||
the now-unused `Button` import. Stale "why join" / "member pitch" comments
|
||||
reworded to "why bundle".
|
||||
- **`BundlePage.vue`** — removed the `memberPriceLabel` computed and the member
|
||||
price line in both desktop and mobile hero blocks.
|
||||
- **`HomePage.vue`** — dropped `memberPrice` from the localized-bundle mapping.
|
||||
- **Copy (`messages.js`).** Deleted orphaned keys `bundle.memberPrice`,
|
||||
`bundles.joinCta`, `bundles.card.memberPrefix`. `bundles.card.priceLabel`
|
||||
→ "Preis" / "Price" (was "Verkaufspreis" / "Retail price"). The section
|
||||
subtitle + three benefits were rewritten from membership perks to **bundle
|
||||
value** (no savings claim, since the price is now flat):
|
||||
- sub: "Kuratierte Sets … in einem Paket." / "Curated sets … in a single pack."
|
||||
- benefits: *Aufeinander abgestimmt · Alles für einen Bereich · In einer Lieferung*
|
||||
(EN: *Chosen to work together · Everything for one area · In a single delivery*).
|
||||
- `ds.bundleCard.description` / `ds.bundles.description` updated to drop the
|
||||
member-price / member-CTA mentions.
|
||||
|
||||
The `headline.em` stays "Vorteile / Benefits" — it now reads as the bundles'
|
||||
advantages rather than membership perks.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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-C2O_jcDr.js";import{t as o}from"./About-DFXxc7oN.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};
|
||||
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-BkCuZ9ke.js";import{t as o}from"./About-DFXxc7oN.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};
|
||||
@@ -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-C2O_jcDr.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`},`<About
|
||||
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-BkCuZ9ke.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`},`<About
|
||||
:eyebrow="t('about.eyebrow')"
|
||||
:headline="t('about.headline')"
|
||||
:sub="t('about.sub')"
|
||||
@@ -1 +1 @@
|
||||
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-C2O_jcDr.js";import{i as b,n as x,t as S}from"./api-DeBxQCQq.js";import{t as C}from"./Button-DG-tA4DQ.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};
|
||||
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-BkCuZ9ke.js";import{i as b,n as x,t as S}from"./api-DeBxQCQq.js";import{t as C}from"./Button-DG-tA4DQ.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};
|
||||
@@ -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-C2O_jcDr.js";import{t as l}from"./Badge-CudT491x.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};
|
||||
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-BkCuZ9ke.js";import{t as l}from"./Badge-CudT491x.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};
|
||||
1
dist/assets/BundleCard-Bgh6G83l.js
vendored
1
dist/assets/BundleCard-Bgh6G83l.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/BundleCard-Biq7m7Mj.js
vendored
Normal file
1
dist/assets/BundleCard-Biq7m7Mj.js
vendored
Normal file
File diff suppressed because one or more lines are too long
17
dist/assets/BundleCardSection-BqIKV5M0.js
vendored
17
dist/assets/BundleCardSection-BqIKV5M0.js
vendored
@@ -1,17 +0,0 @@
|
||||
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-C2O_jcDr.js";import{t as p}from"./BundleCard-Bgh6G83l.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`},`<BundleCard
|
||||
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"
|
||||
:member-price="21.17"
|
||||
image="/products/cutouts/…-removebg-preview.png"
|
||||
badge="Bestseller"
|
||||
badge-variant="accent"
|
||||
tone="paper"
|
||||
layout="horizontal"
|
||||
@add="addBundle(bundleId)"
|
||||
/>`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{w as default};
|
||||
16
dist/assets/BundleCardSection-CLKlFQZN.js
vendored
Normal file
16
dist/assets/BundleCardSection-CLKlFQZN.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
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-BkCuZ9ke.js";import{t as p}from"./BundleCard-Biq7m7Mj.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,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`},`<BundleCard
|
||||
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"
|
||||
image="/products/cutouts/…-removebg-preview.png"
|
||||
badge="Bestseller"
|
||||
badge-variant="accent"
|
||||
tone="paper"
|
||||
layout="horizontal"
|
||||
@add="addBundle(bundleId)"
|
||||
/>`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{w as default};
|
||||
1
dist/assets/BundlePage-BtRLHc9H.js
vendored
1
dist/assets/BundlePage-BtRLHc9H.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/BundlePage-CkFFIGQt.js
vendored
Normal file
1
dist/assets/BundlePage-CkFFIGQt.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/assets/Bundles-BAyqklFs.js
vendored
Normal file
1
dist/assets/Bundles-BAyqklFs.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/assets/Bundles-C6zd-SgA.css
vendored
1
dist/assets/Bundles-C6zd-SgA.css
vendored
@@ -1 +0,0 @@
|
||||
.no-scrollbar[data-v-84e5faca]::-webkit-scrollbar{display:none}.no-scrollbar[data-v-84e5faca]{scrollbar-width:none;-ms-overflow-style:none}
|
||||
1
dist/assets/Bundles-abnvpAMd.css
vendored
Normal file
1
dist/assets/Bundles-abnvpAMd.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.no-scrollbar[data-v-e2af4e3b]::-webkit-scrollbar{display:none}.no-scrollbar[data-v-e2af4e3b]{scrollbar-width:none;-ms-overflow-style:none}
|
||||
1
dist/assets/Bundles-hfeZFK7S.js
vendored
1
dist/assets/Bundles-hfeZFK7S.js
vendored
File diff suppressed because one or more lines are too long
1
dist/assets/BundlesPreview-3Yrmy3Qd.js
vendored
Normal file
1
dist/assets/BundlesPreview-3Yrmy3Qd.js
vendored
Normal file
@@ -0,0 +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-BkCuZ9ke.js";import{t as s}from"./Bundles-BAyqklFs.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,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,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,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},null,8,[`layout`,`headline`,`headline-em`,`sub`,`benefits`])]))}};export{l as default};
|
||||
1
dist/assets/BundlesPreview-CpT0qGGF.js
vendored
1
dist/assets/BundlesPreview-CpT0qGGF.js
vendored
@@ -1 +0,0 @@
|
||||
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-C2O_jcDr.js";import{t as s}from"./Bundles-hfeZFK7S.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};
|
||||
@@ -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-C2O_jcDr.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`},`<Bundles
|
||||
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-BkCuZ9ke.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`},`<Bundles
|
||||
:bundles="bundles"
|
||||
:headline="t('bundles.headline.a')"
|
||||
:headline-em="t('bundles.headline.em')"
|
||||
@@ -8,7 +8,5 @@ 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
|
||||
t('bundles.benefit.2.title'),
|
||||
t('bundles.benefit.3.title'),
|
||||
]"
|
||||
:join-cta="t('bundles.joinCta')"
|
||||
@add="addBundle(bundleId)"
|
||||
@join="openSignup()"
|
||||
/>`)],-1)]),c[1]||=d(`section`,null,[d(`h2`,{class:`eyebrow mb-5`},`Props`),d(`div`,{class:`rounded-md border border-line bg-paper overflow-x-auto`},[d(`table`,{class:`w-full text-left text-[13px]`},[d(`thead`,{class:`bg-surface border-b border-line`},[d(`tr`,null,[d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Prop`),d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Type`),d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Purpose`)])]),d(`tbody`,{class:`divide-y divide-line`},[d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`bundles`),d(`td`,{class:`px-5 py-3 text-muted`},`Array`),d(`td`,{class:`px-5 py-3`},`Required. Array of bundle records rendered by BundleCard.`)]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`headline / headlineEm / sub`),d(`td`,{class:`px-5 py-3 text-muted`},`String`),d(`td`,{class:`px-5 py-3`},[l(`Sidebar copy; `),d(`code`,{class:`font-mono text-[12px]`},`headlineEm`),l(` is the italicised highlight.`)])]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`benefits`),d(`td`,{class:`px-5 py-3 text-muted`},`String[]`),d(`td`,{class:`px-5 py-3`},`Sidebar benefit bullets. First three are shown.`)]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`joinCta`),d(`td`,{class:`px-5 py-3 text-muted`},`String`),d(`td`,{class:`px-5 py-3`},[l(`Label for the sidebar's primary button. Emits `),d(`code`,{class:`font-mono text-[12px]`},`join`),l(`.`)])]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`carousel*Label`),d(`td`,{class:`px-5 py-3 text-muted`},`String`),d(`td`,{class:`px-5 py-3`},`Override the default carousel a11y labels (prev / next / goToSlide / region label).`)])])])])],-1)]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{b as default};
|
||||
/>`)],-1)]),c[1]||=d(`section`,null,[d(`h2`,{class:`eyebrow mb-5`},`Props`),d(`div`,{class:`rounded-md border border-line bg-paper overflow-x-auto`},[d(`table`,{class:`w-full text-left text-[13px]`},[d(`thead`,{class:`bg-surface border-b border-line`},[d(`tr`,null,[d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Prop`),d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Type`),d(`th`,{class:`px-5 py-3 font-semibold tracking-label text-muted uppercase text-[11px]`},`Purpose`)])]),d(`tbody`,{class:`divide-y divide-line`},[d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`bundles`),d(`td`,{class:`px-5 py-3 text-muted`},`Array`),d(`td`,{class:`px-5 py-3`},`Required. Array of bundle records rendered by BundleCard.`)]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`headline / headlineEm / sub`),d(`td`,{class:`px-5 py-3 text-muted`},`String`),d(`td`,{class:`px-5 py-3`},[l(`Sidebar copy; `),d(`code`,{class:`font-mono text-[12px]`},`headlineEm`),l(` is the italicised highlight.`)])]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`benefits`),d(`td`,{class:`px-5 py-3 text-muted`},`String[]`),d(`td`,{class:`px-5 py-3`},`Sidebar benefit bullets. First three are shown.`)]),d(`tr`,null,[d(`td`,{class:`px-5 py-3 font-mono text-[12px]`},`carousel*Label`),d(`td`,{class:`px-5 py-3 text-muted`},`String`),d(`td`,{class:`px-5 py-3`},`Override the default carousel a11y labels (prev / next / goToSlide / region label).`)])])])])],-1)]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{b as default};
|
||||
@@ -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"./Icon-CtR1FGIT.js";import{t as l}from"./i18n-C2O_jcDr.js";import{t as u}from"./Button-DG-tA4DQ.js";import{t as d}from"./SectionShell-XUVs_07L.js";import{t as f}from"./Card-CPlQ-6EI.js";var p={class:`eyebrow mb-5`},m={class:`flex flex-wrap gap-3`},h={class:`eyebrow mb-5`},g={class:`grid md:grid-cols-3 gap-4`},_={class:`eyebrow mb-4`},v={class:`flex flex-wrap gap-3`},y={class:`eyebrow mb-4`},b={class:`flex flex-wrap gap-3`},x={class:`eyebrow mb-4 !text-cream opacity-80`},S={class:`flex flex-wrap gap-3`},C={class:`eyebrow mb-5`},w={class:`flex flex-wrap items-center gap-3`},T={class:`eyebrow mb-5`},E={class:`flex flex-wrap items-center gap-3`},D={class:`eyebrow mb-5`},O={class:`flex flex-wrap gap-3 items-center`},k={class:`eyebrow mb-5`},A={class:`max-w-md space-y-3`},j={class:`eyebrow mb-5`},M={class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},N={class:`whitespace-pre-wrap`},P={__name:`ButtonsSection`,setup(P){let{t:F}=l();return(l,P)=>(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,`<Button variant="primary" size="md">
|
||||
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"./Icon-CtR1FGIT.js";import{t as l}from"./i18n-BkCuZ9ke.js";import{t as u}from"./Button-DG-tA4DQ.js";import{t as d}from"./SectionShell-XUVs_07L.js";import{t as f}from"./Card-CPlQ-6EI.js";var p={class:`eyebrow mb-5`},m={class:`flex flex-wrap gap-3`},h={class:`eyebrow mb-5`},g={class:`grid md:grid-cols-3 gap-4`},_={class:`eyebrow mb-4`},v={class:`flex flex-wrap gap-3`},y={class:`eyebrow mb-4`},b={class:`flex flex-wrap gap-3`},x={class:`eyebrow mb-4 !text-cream opacity-80`},S={class:`flex flex-wrap gap-3`},C={class:`eyebrow mb-5`},w={class:`flex flex-wrap items-center gap-3`},T={class:`eyebrow mb-5`},E={class:`flex flex-wrap items-center gap-3`},D={class:`eyebrow mb-5`},O={class:`flex flex-wrap gap-3 items-center`},k={class:`eyebrow mb-5`},A={class:`max-w-md space-y-3`},j={class:`eyebrow mb-5`},M={class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},N={class:`whitespace-pre-wrap`},P={__name:`ButtonsSection`,setup(P){let{t:F}=l();return(l,P)=>(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,`<Button variant="primary" size="md">
|
||||
<template #before><Icon name="cart" :size="18" /></template>
|
||||
`+r(t(F)(`ds.buttons.addToCart`))+`
|
||||
</Button>`,1)])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{P as default};
|
||||
@@ -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-C2O_jcDr.js";import{t as l}from"./Badge-CudT491x.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};
|
||||
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-BkCuZ9ke.js";import{t as l}from"./Badge-CudT491x.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};
|
||||
File diff suppressed because one or more lines are too long
@@ -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-C2O_jcDr.js";import{c as f,d as p,f as m,l as h,p as g,u as _}from"./api-DeBxQCQq.js";import{t as v}from"./Button-DG-tA4DQ.js";import{t as y}from"./CartDrawer-CegjvllQ.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-BkCuZ9ke.js";import{c as f,d as p,f as m,l as h,p as g,u as _}from"./api-DeBxQCQq.js";import{t as v}from"./Button-DG-tA4DQ.js";import{t as y}from"./CartDrawer-BaYH0KvP.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,
|
||||
@@ -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-C2O_jcDr.js";import{n as m}from"./products-CfIXFr2X.js";import{d as ne,f as re,p as ie}from"./api-DeBxQCQq.js";import{t as h}from"./Button-DG-tA4DQ.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};
|
||||
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-BkCuZ9ke.js";import{n as m}from"./products-CfIXFr2X.js";import{d as ne,f as re,p as ie}from"./api-DeBxQCQq.js";import{t as h}from"./Button-DG-tA4DQ.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};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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-C2O_jcDr.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`},`<CheckoutStepper
|
||||
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-BkCuZ9ke.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`},`<CheckoutStepper
|
||||
:steps="steps"
|
||||
:active-key="activeKey"
|
||||
/>
|
||||
@@ -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-C2O_jcDr.js";import{a as g}from"./api-DeBxQCQq.js";import{t as _}from"./Button-DG-tA4DQ.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};
|
||||
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-BkCuZ9ke.js";import{a as g}from"./api-DeBxQCQq.js";import{t as _}from"./Button-DG-tA4DQ.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};
|
||||
@@ -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-C2O_jcDr.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`,`accent-fill`,`accent-fill-hover`,`accent-fill-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};
|
||||
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-BkCuZ9ke.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`,`accent-fill`,`accent-fill-hover`,`accent-fill-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};
|
||||
File diff suppressed because one or more lines are too long
@@ -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-C2O_jcDr.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(`<svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"><path d="M19.6 10.23c0-.68-.06-1.36-.18-2.03H10v3.84h5.4a4.62 4.62 0 0 1-2 3.03v2.5h3.22c1.89-1.74 2.98-4.31 2.98-7.34z" fill="#4285F4"></path><path d="M10 20c2.7 0 4.97-.89 6.62-2.42l-3.22-2.5c-.9.6-2.04.96-3.4.96-2.6 0-4.81-1.76-5.6-4.13H1.07v2.59A10 10 0 0 0 10 20z" fill="#34A853"></path><path d="M4.4 11.91a6 6 0 0 1 0-3.83V5.5H1.07a10 10 0 0 0 0 9l3.33-2.59z" fill="#FBBC04"></path><path d="M10 3.96a5.4 5.4 0 0 1 3.83 1.5l2.85-2.85A9.6 9.6 0 0 0 10 0 10 10 0 0 0 1.07 5.5L4.4 8.08C5.19 5.71 7.4 3.96 10 3.96z" fill="#EA4335"></path></svg><span class="text-[14px] font-medium tracking-tight">Pay</span>`,2)]],8,v)])),k.value?(n(),u(`p`,y,o(k.value),1)):s(``,!0)]))}};export{b as t};
|
||||
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-BkCuZ9ke.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(`<svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true"><path d="M19.6 10.23c0-.68-.06-1.36-.18-2.03H10v3.84h5.4a4.62 4.62 0 0 1-2 3.03v2.5h3.22c1.89-1.74 2.98-4.31 2.98-7.34z" fill="#4285F4"></path><path d="M10 20c2.7 0 4.97-.89 6.62-2.42l-3.22-2.5c-.9.6-2.04.96-3.4.96-2.6 0-4.81-1.76-5.6-4.13H1.07v2.59A10 10 0 0 0 10 20z" fill="#34A853"></path><path d="M4.4 11.91a6 6 0 0 1 0-3.83V5.5H1.07a10 10 0 0 0 0 9l3.33-2.59z" fill="#FBBC04"></path><path d="M10 3.96a5.4 5.4 0 0 1 3.83 1.5l2.85-2.85A9.6 9.6 0 0 0 10 0 10 10 0 0 0 1.07 5.5L4.4 8.08C5.19 5.71 7.4 3.96 10 3.96z" fill="#EA4335"></path></svg><span class="text-[14px] font-medium tracking-tight">Pay</span>`,2)]],8,v)])),k.value?(n(),u(`p`,y,o(k.value),1)):s(``,!0)]))}};export{b as t};
|
||||
1
dist/assets/Footer-Co01VUwo.js
vendored
1
dist/assets/Footer-Co01VUwo.js
vendored
@@ -1 +0,0 @@
|
||||
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-FD-JLoLl.js";import{t as d}from"./i18n-C2O_jcDr.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-highlight`}: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};
|
||||
1
dist/assets/Footer-D-2MkC07.js
vendored
Normal file
1
dist/assets/Footer-D-2MkC07.js
vendored
Normal file
@@ -0,0 +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-FD-JLoLl.js";import{t as d}from"./i18n-BkCuZ9ke.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-highlight`}: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.kueche`,href:`/kueche`},{key:`footer.explore.haushalt`,href:`/haushalt`},{key:`footer.explore.pflege`,href:`/pflege`},{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};
|
||||
@@ -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-C2O_jcDr.js";import{t as c}from"./Footer-Co01VUwo.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`},`<Footer variant="cream" />
|
||||
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-BkCuZ9ke.js";import{t as c}from"./Footer-D-2MkC07.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`},`<Footer variant="cream" />
|
||||
<Footer variant="brand" />
|
||||
<Footer variant="paper" />`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{_ as default};
|
||||
@@ -1 +1 @@
|
||||
import{C as e,G as t,ft as n,j as r,m as i,o as a,p as o,r as s,s as c,u as l,ut as u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as d}from"./vue-router-Cyqru1db.js";import{t as f}from"./i18n-C2O_jcDr.js";import{t as p}from"./Navbar--vwcBwtS.js";import{t as m}from"./Hero-CwIf29AA.js";var h={class:`italic font-light text-brand-soft`},g={class:`italic font-light text-brand-soft`},_=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,v=`/products/kaiser-natron-bad-500-g.webp`,y={__name:`HeroPreview`,setup(y){let b=d(),{t:x}=f(),S=a(()=>[`split`,`centered`].includes(b.query.variant)?b.query.variant:`split`),C=a(()=>[`cream`,`paper`,`brand`].includes(b.query.tone)?b.query.tone:`cream`),w=a(()=>b.query.reverse===`1`),T=a(()=>C.value===`brand`?`brand`:C.value),E=a(()=>w.value?v:_),D=a(()=>w.value?`Kaiser-Natron Bad 500 g`:`Kaiser-Natron Pulver 250 g Großpackung`);return(a,d)=>(e(),l(`div`,{class:u([`min-h-screen`,C.value===`brand`?`bg-brand`:`bg-surface`])},[i(p,{variant:T.value,"cart-count":0},null,8,[`variant`]),i(m,{variant:S.value,tone:C.value,reverse:w.value,eyebrow:w.value?t(x)(`home.banner.eyebrow`):t(x)(`ds.hero.eyebrow`),subheadline:w.value?t(x)(`home.banner.sub`):t(x)(`ds.hero.sub`),image:E.value,"image-alt":D.value,badge:w.value?``:t(x)(`ds.badges.featured`),"cta-label":t(x)(`ds.buttons.addToCart`),"secondary-label":t(x)(`ds.buttons.learnMore`)},{headline:r(()=>[w.value?(e(),l(s,{key:0},[o(n(t(x)(`home.banner.headline.a`))+` `,1),c(`em`,h,n(t(x)(`home.banner.headline.em`)),1),o(` `+n(t(x)(`home.banner.headline.b`)),1)],64)):(e(),l(s,{key:1},[o(n(t(x)(`ds.hero.headline.a`))+` `,1),c(`em`,g,n(t(x)(`ds.hero.headline.em`)),1),o(` `+n(t(x)(`ds.hero.headline.b`)),1)],64))]),_:1},8,[`variant`,`tone`,`reverse`,`eyebrow`,`subheadline`,`image`,`image-alt`,`badge`,`cta-label`,`secondary-label`])],2))}};export{y as default};
|
||||
import{C as e,G as t,ft as n,j as r,m as i,o as a,p as o,r as s,s as c,u as l,ut as u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as d}from"./vue-router-Cyqru1db.js";import{t as f}from"./i18n-BkCuZ9ke.js";import{t as p}from"./Navbar-DiOwyXlV.js";import{t as m}from"./Hero-CwIf29AA.js";var h={class:`italic font-light text-brand-soft`},g={class:`italic font-light text-brand-soft`},_=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,v=`/products/kaiser-natron-bad-500-g.webp`,y={__name:`HeroPreview`,setup(y){let b=d(),{t:x}=f(),S=a(()=>[`split`,`centered`].includes(b.query.variant)?b.query.variant:`split`),C=a(()=>[`cream`,`paper`,`brand`].includes(b.query.tone)?b.query.tone:`cream`),w=a(()=>b.query.reverse===`1`),T=a(()=>C.value===`brand`?`brand`:C.value),E=a(()=>w.value?v:_),D=a(()=>w.value?`Kaiser-Natron Bad 500 g`:`Kaiser-Natron Pulver 250 g Großpackung`);return(a,d)=>(e(),l(`div`,{class:u([`min-h-screen`,C.value===`brand`?`bg-brand`:`bg-surface`])},[i(p,{variant:T.value,"cart-count":0},null,8,[`variant`]),i(m,{variant:S.value,tone:C.value,reverse:w.value,eyebrow:w.value?t(x)(`home.banner.eyebrow`):t(x)(`ds.hero.eyebrow`),subheadline:w.value?t(x)(`home.banner.sub`):t(x)(`ds.hero.sub`),image:E.value,"image-alt":D.value,badge:w.value?``:t(x)(`ds.badges.featured`),"cta-label":t(x)(`ds.buttons.addToCart`),"secondary-label":t(x)(`ds.buttons.learnMore`)},{headline:r(()=>[w.value?(e(),l(s,{key:0},[o(n(t(x)(`home.banner.headline.a`))+` `,1),c(`em`,h,n(t(x)(`home.banner.headline.em`)),1),o(` `+n(t(x)(`home.banner.headline.b`)),1)],64)):(e(),l(s,{key:1},[o(n(t(x)(`ds.hero.headline.a`))+` `,1),c(`em`,g,n(t(x)(`ds.hero.headline.em`)),1),o(` `+n(t(x)(`ds.hero.headline.b`)),1)],64))]),_:1},8,[`variant`,`tone`,`reverse`,`eyebrow`,`subheadline`,`image`,`image-alt`,`badge`,`cta-label`,`secondary-label`])],2))}};export{y as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{B as e,C as t,G as n,T as r,c as i,dt as a,ft as o,j 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"./i18n-C2O_jcDr.js";import{t as g}from"./SectionShell-XUVs_07L.js";import{t as _}from"./DevicePreview-CxF-mErd.js";var v=[`aria-label`],y=[`aria-selected`,`onClick`],b=[`aria-label`],x=[`aria-selected`,`onClick`],S={class:`eyebrow mb-5`},C={__name:`HeroSection`,setup(C){let{t:w}=h(),T=l(()=>[{id:`split`,label:w(`ds.hero.variant.split`)},{id:`centered`,label:w(`ds.hero.variant.centered`)}]),E=l(()=>[{id:`cream`,label:w(`ds.navbar.tone.cream`),swatch:`var(--color-cream)`},{id:`paper`,label:w(`ds.navbar.tone.paper`),swatch:`#ffffff`},{id:`brand`,label:w(`ds.navbar.tone.brand`),swatch:`var(--color-brand)`}]),D=e(`split`),O=e(`cream`),k=l(()=>`/design/preview/hero?variant=${D.value}&tone=${O.value}`);return(e,l)=>(t(),i(g,{eyebrow:n(w)(`ds.eyebrow.components`),title:n(w)(`ds.hero.title`),description:n(w)(`ds.hero.description`),wide:``},{default:s(()=>[f(`section`,null,[c(_,{src:k.value,initial:`desktop`,height:760},{controls:s(()=>[f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.hero.variant.label`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(T.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":D.value===e.id,class:m([`px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,D.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>D.value=e.id},o(e.label),11,y))),128))],8,v),f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.tone`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(E.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":O.value===e.id,class:m([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,O.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>O.value=e.id},[f(`span`,{class:`w-2.5 h-2.5 rounded-full border border-line-strong`,style:a({backgroundColor:e.swatch})},null,4),u(` `+o(e.label),1)],10,x))),128))],8,b)]),_:1},8,[`src`])]),f(`section`,null,[f(`h2`,S,o(n(w)(`ds.heading.usage`)),1),l[0]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Hero
|
||||
import{B as e,C as t,G as n,T as r,c as i,dt as a,ft as o,j 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"./i18n-BkCuZ9ke.js";import{t as g}from"./SectionShell-XUVs_07L.js";import{t as _}from"./DevicePreview-CxF-mErd.js";var v=[`aria-label`],y=[`aria-selected`,`onClick`],b=[`aria-label`],x=[`aria-selected`,`onClick`],S={class:`eyebrow mb-5`},C={__name:`HeroSection`,setup(C){let{t:w}=h(),T=l(()=>[{id:`split`,label:w(`ds.hero.variant.split`)},{id:`centered`,label:w(`ds.hero.variant.centered`)}]),E=l(()=>[{id:`cream`,label:w(`ds.navbar.tone.cream`),swatch:`var(--color-cream)`},{id:`paper`,label:w(`ds.navbar.tone.paper`),swatch:`#ffffff`},{id:`brand`,label:w(`ds.navbar.tone.brand`),swatch:`var(--color-brand)`}]),D=e(`split`),O=e(`cream`),k=l(()=>`/design/preview/hero?variant=${D.value}&tone=${O.value}`);return(e,l)=>(t(),i(g,{eyebrow:n(w)(`ds.eyebrow.components`),title:n(w)(`ds.hero.title`),description:n(w)(`ds.hero.description`),wide:``},{default:s(()=>[f(`section`,null,[c(_,{src:k.value,initial:`desktop`,height:760},{controls:s(()=>[f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.hero.variant.label`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(T.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":D.value===e.id,class:m([`px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,D.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>D.value=e.id},o(e.label),11,y))),128))],8,v),f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.tone`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(E.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":O.value===e.id,class:m([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,O.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>O.value=e.id},[f(`span`,{class:`w-2.5 h-2.5 rounded-full border border-line-strong`,style:a({backgroundColor:e.swatch})},null,4),u(` `+o(e.label),1)],10,x))),128))],8,b)]),_:1},8,[`src`])]),f(`section`,null,[f(`h2`,S,o(n(w)(`ds.heading.usage`)),1),l[0]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Hero
|
||||
variant="split"
|
||||
tone="cream"
|
||||
eyebrow="Neu"
|
||||
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
import{B as e,C as t,G as n,M as r,T as i,c as a,ft as o,j as s,l as c,m as l,o as u,r as d,s as f,u as p}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as m}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{n as h,t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./i18n-C2O_jcDr.js";import{t as v}from"./SectionShell-XUVs_07L.js";var y={class:`mb-5 flex items-center gap-3 flex-wrap`},b={class:`relative inline-flex items-center`},x={class:`absolute left-3 text-muted pointer-events-none`},S=[`placeholder`],C={class:`text-[12px] text-muted`},w={key:0,class:`text-[14px] text-muted`},T={class:`eyebrow mb-4`},E={class:`grid grid-cols-[repeat(auto-fill,minmax(120px,1fr))] gap-3`},D=[`onClick`],O={class:`w-10 h-10 rounded-sm bg-cream text-brand flex items-center justify-center`},k={class:`font-mono text-[11px] text-muted group-hover:text-brand transition-colors`},A={class:`eyebrow mb-5`},j={class:`grid md:grid-cols-3 gap-4`},M={class:`rounded-md border border-line bg-paper text-brand p-8 flex items-center justify-center gap-6`},N={class:`rounded-md border border-line bg-cream text-brand p-8 flex items-center justify-center gap-6`},P={class:`rounded-md bg-brand text-accent p-8 flex items-center justify-center gap-6`},F={class:`eyebrow mb-5`},I={class:`rounded-md border border-line bg-paper p-8 flex items-end gap-8 text-brand`},L={class:`flex flex-col items-center gap-3`},R={class:`flex flex-col items-center gap-3`},z={class:`font-mono text-[11px] text-muted`},B={class:`flex flex-col items-center gap-3`},V={class:`flex flex-col items-center gap-3`},H={class:`flex flex-col items-center gap-3`},U={class:`eyebrow mb-5`},W={__name:`IconsSection`,setup(W){let{t:G}=_(),K=u(()=>[{title:G(`ds.icons.group.commerce`),names:[`cart`,`bag`,`heart`,`user`,`search`]},{title:G(`ds.icons.group.navigation`),names:[`menu`,`close`,`chevron-left`,`chevron-right`,`chevron-down`,`chevron-up`,`arrow-left`,`arrow-right`]},{title:G(`ds.icons.group.actions`),names:[`plus`,`minus`,`check`]},{title:G(`ds.icons.group.contact`),names:[`mail`,`phone`,`map-pin`,`external-link`]},{title:G(`ds.icons.group.feedback`),names:[`info`,`star`]},{title:G(`ds.icons.group.devices`),names:[`mobile`,`tablet`,`desktop`]}]),q=e(``),J=u(()=>{let e=q.value.trim().toLowerCase();return e?K.value.map(t=>({...t,names:t.names.filter(t=>t.includes(e)||(h[t]?.label||``).toLowerCase().includes(e))})).filter(e=>e.names.length>0):K.value}),Y=e(``);async function X(e){let t=`<Icon name="${e}" />`;try{await navigator.clipboard.writeText(t),Y.value=e,setTimeout(()=>{Y.value===e&&(Y.value=``)},1200)}catch{}}return(e,u)=>(t(),a(v,{eyebrow:n(G)(`ds.eyebrow.components`),title:n(G)(`ds.icons.title`),description:n(G)(`ds.icons.description`)},{default:s(()=>[f(`section`,null,[f(`div`,y,[f(`label`,b,[f(`span`,x,[l(g,{name:`search`,size:16})]),r(f(`input`,{"onUpdate:modelValue":u[0]||=e=>q.value=e,type:`search`,placeholder:n(G)(`ds.icons.search`),class:`pl-9 pr-4 py-2 rounded-pill border border-line bg-paper text-[14px] text-ink placeholder:text-muted focus:outline-none focus:border-brand w-[260px]`},null,8,S),[[m,q.value]])]),f(`span`,C,o(n(G)(`ds.icons.copyHint`)),1)]),J.value.length===0?(t(),p(`div`,w,o(n(G)(`ds.icons.noMatch`))+` "`+o(q.value)+`". `,1)):c(``,!0),(t(!0),p(d,null,i(J.value,e=>(t(),p(`div`,{key:e.title,class:`mb-10 last:mb-0`},[f(`h2`,T,o(e.title),1),f(`div`,E,[(t(!0),p(d,null,i(e.names,e=>(t(),p(`button`,{key:e,type:`button`,class:`group flex flex-col items-center justify-center gap-2 p-4 rounded-md border border-line bg-paper text-ink hover:border-brand-soft hover:-translate-y-0.5 hover:shadow-sm transition-all duration-base ease-out`,onClick:t=>X(e)},[f(`span`,O,[l(g,{name:e,size:22},null,8,[`name`])]),f(`span`,k,o(Y.value===e?n(G)(`ds.icons.copied`):e),1)],8,D))),128))])]))),128))]),f(`section`,null,[f(`h2`,A,o(n(G)(`ds.heading.onDifferentSurfaces`)),1),f(`div`,j,[f(`div`,M,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})]),f(`div`,N,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})]),f(`div`,P,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})])])]),f(`section`,null,[f(`h2`,F,o(n(G)(`ds.heading.sizes`)),1),f(`div`,I,[f(`div`,L,[l(g,{name:`cart`,size:16}),u[1]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`16`,-1)]),f(`div`,R,[l(g,{name:`cart`,size:20}),f(`code`,z,o(n(G)(`ds.icons.sizeDefault`)),1)]),f(`div`,B,[l(g,{name:`cart`,size:24}),u[2]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`24`,-1)]),f(`div`,V,[l(g,{name:`cart`,size:32}),u[3]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`32`,-1)]),f(`div`,H,[l(g,{name:`cart`,size:48}),u[4]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`48`,-1)])])]),f(`section`,null,[f(`h2`,U,o(n(G)(`ds.heading.usage`)),1),u[5]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Icon name="cart" :size="20" />
|
||||
import{B as e,C as t,G as n,M as r,T as i,c as a,ft as o,j as s,l as c,m as l,o as u,r as d,s as f,u as p}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as m}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{n as h,t as g}from"./Icon-CtR1FGIT.js";import{t as _}from"./i18n-BkCuZ9ke.js";import{t as v}from"./SectionShell-XUVs_07L.js";var y={class:`mb-5 flex items-center gap-3 flex-wrap`},b={class:`relative inline-flex items-center`},x={class:`absolute left-3 text-muted pointer-events-none`},S=[`placeholder`],C={class:`text-[12px] text-muted`},w={key:0,class:`text-[14px] text-muted`},T={class:`eyebrow mb-4`},E={class:`grid grid-cols-[repeat(auto-fill,minmax(120px,1fr))] gap-3`},D=[`onClick`],O={class:`w-10 h-10 rounded-sm bg-cream text-brand flex items-center justify-center`},k={class:`font-mono text-[11px] text-muted group-hover:text-brand transition-colors`},A={class:`eyebrow mb-5`},j={class:`grid md:grid-cols-3 gap-4`},M={class:`rounded-md border border-line bg-paper text-brand p-8 flex items-center justify-center gap-6`},N={class:`rounded-md border border-line bg-cream text-brand p-8 flex items-center justify-center gap-6`},P={class:`rounded-md bg-brand text-accent p-8 flex items-center justify-center gap-6`},F={class:`eyebrow mb-5`},I={class:`rounded-md border border-line bg-paper p-8 flex items-end gap-8 text-brand`},L={class:`flex flex-col items-center gap-3`},R={class:`flex flex-col items-center gap-3`},z={class:`font-mono text-[11px] text-muted`},B={class:`flex flex-col items-center gap-3`},V={class:`flex flex-col items-center gap-3`},H={class:`flex flex-col items-center gap-3`},U={class:`eyebrow mb-5`},W={__name:`IconsSection`,setup(W){let{t:G}=_(),K=u(()=>[{title:G(`ds.icons.group.commerce`),names:[`cart`,`bag`,`heart`,`user`,`search`]},{title:G(`ds.icons.group.navigation`),names:[`menu`,`close`,`chevron-left`,`chevron-right`,`chevron-down`,`chevron-up`,`arrow-left`,`arrow-right`]},{title:G(`ds.icons.group.actions`),names:[`plus`,`minus`,`check`]},{title:G(`ds.icons.group.contact`),names:[`mail`,`phone`,`map-pin`,`external-link`]},{title:G(`ds.icons.group.feedback`),names:[`info`,`star`]},{title:G(`ds.icons.group.devices`),names:[`mobile`,`tablet`,`desktop`]}]),q=e(``),J=u(()=>{let e=q.value.trim().toLowerCase();return e?K.value.map(t=>({...t,names:t.names.filter(t=>t.includes(e)||(h[t]?.label||``).toLowerCase().includes(e))})).filter(e=>e.names.length>0):K.value}),Y=e(``);async function X(e){let t=`<Icon name="${e}" />`;try{await navigator.clipboard.writeText(t),Y.value=e,setTimeout(()=>{Y.value===e&&(Y.value=``)},1200)}catch{}}return(e,u)=>(t(),a(v,{eyebrow:n(G)(`ds.eyebrow.components`),title:n(G)(`ds.icons.title`),description:n(G)(`ds.icons.description`)},{default:s(()=>[f(`section`,null,[f(`div`,y,[f(`label`,b,[f(`span`,x,[l(g,{name:`search`,size:16})]),r(f(`input`,{"onUpdate:modelValue":u[0]||=e=>q.value=e,type:`search`,placeholder:n(G)(`ds.icons.search`),class:`pl-9 pr-4 py-2 rounded-pill border border-line bg-paper text-[14px] text-ink placeholder:text-muted focus:outline-none focus:border-brand w-[260px]`},null,8,S),[[m,q.value]])]),f(`span`,C,o(n(G)(`ds.icons.copyHint`)),1)]),J.value.length===0?(t(),p(`div`,w,o(n(G)(`ds.icons.noMatch`))+` "`+o(q.value)+`". `,1)):c(``,!0),(t(!0),p(d,null,i(J.value,e=>(t(),p(`div`,{key:e.title,class:`mb-10 last:mb-0`},[f(`h2`,T,o(e.title),1),f(`div`,E,[(t(!0),p(d,null,i(e.names,e=>(t(),p(`button`,{key:e,type:`button`,class:`group flex flex-col items-center justify-center gap-2 p-4 rounded-md border border-line bg-paper text-ink hover:border-brand-soft hover:-translate-y-0.5 hover:shadow-sm transition-all duration-base ease-out`,onClick:t=>X(e)},[f(`span`,O,[l(g,{name:e,size:22},null,8,[`name`])]),f(`span`,k,o(Y.value===e?n(G)(`ds.icons.copied`):e),1)],8,D))),128))])]))),128))]),f(`section`,null,[f(`h2`,A,o(n(G)(`ds.heading.onDifferentSurfaces`)),1),f(`div`,j,[f(`div`,M,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})]),f(`div`,N,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})]),f(`div`,P,[l(g,{name:`cart`,size:28}),l(g,{name:`heart`,size:28}),l(g,{name:`user`,size:28})])])]),f(`section`,null,[f(`h2`,F,o(n(G)(`ds.heading.sizes`)),1),f(`div`,I,[f(`div`,L,[l(g,{name:`cart`,size:16}),u[1]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`16`,-1)]),f(`div`,R,[l(g,{name:`cart`,size:20}),f(`code`,z,o(n(G)(`ds.icons.sizeDefault`)),1)]),f(`div`,B,[l(g,{name:`cart`,size:24}),u[2]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`24`,-1)]),f(`div`,V,[l(g,{name:`cart`,size:32}),u[3]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`32`,-1)]),f(`div`,H,[l(g,{name:`cart`,size:48}),u[4]||=f(`code`,{class:`font-mono text-[11px] text-muted`},`48`,-1)])])]),f(`section`,null,[f(`h2`,U,o(n(G)(`ds.heading.usage`)),1),u[5]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Icon name="cart" :size="20" />
|
||||
<Icon name="arrow-right" :size="16" label="Next slide" />`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{W as default};
|
||||
@@ -1 +1 @@
|
||||
import{B as e,C as t,G as n,c as r,ft as i,j as a,m as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-C2O_jcDr.js";import{t as l}from"./Input-RN3gn2df.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-2 gap-6 max-w-3xl`},m={class:`eyebrow mb-5`},h={class:`grid md:grid-cols-2 gap-6 max-w-3xl`},g={__name:`InputsSection`,setup(g){let{t:_}=c(),v=e(``),y=e(``),b=e(``);return(e,c)=>(t(),r(u,{eyebrow:n(_)(`ds.eyebrow.components`),title:n(_)(`ds.inputs.title`),description:n(_)(`ds.inputs.description`)},{default:a(()=>[s(`section`,null,[s(`h2`,f,i(n(_)(`ds.heading.default`)),1),o(d,{tone:`paper`},{default:a(()=>[s(`div`,p,[o(l,{modelValue:v.value,"onUpdate:modelValue":c[0]||=e=>v.value=e,label:n(_)(`ds.inputs.email`),type:`email`,placeholder:`you@example.com`,hint:n(_)(`ds.inputs.emailHint`)},null,8,[`modelValue`,`label`,`hint`]),o(l,{modelValue:y.value,"onUpdate:modelValue":c[1]||=e=>y.value=e,label:n(_)(`ds.inputs.password`),type:`password`,placeholder:`••••••••`},null,8,[`modelValue`,`label`])])]),_:1})]),s(`section`,null,[s(`h2`,m,i(n(_)(`ds.heading.states`)),1),o(d,{tone:`paper`},{default:a(()=>[s(`div`,h,[o(l,{modelValue:b.value,"onUpdate:modelValue":c[2]||=e=>b.value=e,label:n(_)(`ds.inputs.required`),required:``,error:n(_)(`ds.inputs.requiredError`)},null,8,[`modelValue`,`label`,`error`]),o(l,{label:n(_)(`ds.inputs.disabled`),placeholder:n(_)(`ds.inputs.disabledPlaceholder`),disabled:``},null,8,[`label`,`placeholder`])])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default};
|
||||
import{B as e,C as t,G as n,c as r,ft as i,j as a,m as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BkCuZ9ke.js";import{t as l}from"./Input-RN3gn2df.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-2 gap-6 max-w-3xl`},m={class:`eyebrow mb-5`},h={class:`grid md:grid-cols-2 gap-6 max-w-3xl`},g={__name:`InputsSection`,setup(g){let{t:_}=c(),v=e(``),y=e(``),b=e(``);return(e,c)=>(t(),r(u,{eyebrow:n(_)(`ds.eyebrow.components`),title:n(_)(`ds.inputs.title`),description:n(_)(`ds.inputs.description`)},{default:a(()=>[s(`section`,null,[s(`h2`,f,i(n(_)(`ds.heading.default`)),1),o(d,{tone:`paper`},{default:a(()=>[s(`div`,p,[o(l,{modelValue:v.value,"onUpdate:modelValue":c[0]||=e=>v.value=e,label:n(_)(`ds.inputs.email`),type:`email`,placeholder:`you@example.com`,hint:n(_)(`ds.inputs.emailHint`)},null,8,[`modelValue`,`label`,`hint`]),o(l,{modelValue:y.value,"onUpdate:modelValue":c[1]||=e=>y.value=e,label:n(_)(`ds.inputs.password`),type:`password`,placeholder:`••••••••`},null,8,[`modelValue`,`label`])])]),_:1})]),s(`section`,null,[s(`h2`,m,i(n(_)(`ds.heading.states`)),1),o(d,{tone:`paper`},{default:a(()=>[s(`div`,h,[o(l,{modelValue:b.value,"onUpdate:modelValue":c[2]||=e=>b.value=e,label:n(_)(`ds.inputs.required`),required:``,error:n(_)(`ds.inputs.requiredError`)},null,8,[`modelValue`,`label`,`error`]),o(l,{label:n(_)(`ds.inputs.disabled`),placeholder:n(_)(`ds.inputs.disabledPlaceholder`),disabled:``},null,8,[`label`,`placeholder`])])]),_:1})])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default};
|
||||
@@ -1 +1 @@
|
||||
import{B as e,C as t,G as n,S as r,c as i,ft as a,i as o,j as s,l as c,m as l,o as u,r as d,s as f,u as p,ut as m,x as h}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{c as g,t as ee}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{o as _}from"./vue-router-Cyqru1db.js";import{t as v}from"./IconButton-UABNp_yn.js";import{t as y}from"./i18n-C2O_jcDr.js";import{r as b}from"./products-CfIXFr2X.js";import{c as x,d as S,f as C,p as w,u as T}from"./api-DeBxQCQq.js";import{n as E,t as D}from"./kaiserhacks-B4r9oXf7.js";import{t as O}from"./Navbar--vwcBwtS.js";import{t as k}from"./CartDrawer-CegjvllQ.js";import{t as A}from"./Footer-Co01VUwo.js";import{t as j}from"./Kaiserhacks-vVxHMG66.js";var M=[`aria-label`],N={class:`relative my-auto flex max-h-[calc(100svh-2rem)] w-full max-w-[min(430px,calc(100vw-2rem))] flex-col overflow-hidden rounded-md bg-paper shadow-lg sm:max-h-[calc(100svh-3rem)] sm:max-w-[min(430px,calc(100vw-3rem))]`},P={class:`absolute right-3 top-3 z-10`},F=[`poster`],I=[`src`],te=[`src`,`alt`],L={class:`min-h-0 overflow-y-auto p-5`},R={class:`eyebrow mb-2`},z={class:`font-display text-2xl font-normal leading-tight text-ink`},B={class:`mt-2 text-sm leading-relaxed text-muted`},V={__name:`KaiserhacksPage`,setup(V){let{t:H}=y(),U=w(),W=_(),G=e(!1),K=e(null),q=e(null),J=[{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`}],Y=[],X=u(()=>E(D,H)),Z=u(()=>({categories:H(`kaiserhacks.labels.categories`),categoryNav:H(`kaiserhacks.labels.categoryNav`),openVideo:H(`kaiserhacks.labels.openVideo`),openImage:H(`kaiserhacks.labels.openImage`),community:H(`kaiserhacks.labels.community`),handoffNote:H(`kaiserhacks.labels.handoffNote`)})),Q=null;function $(){let e=q.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`)}function ne(){G.value=!1,W.push(`/checkout`)}async function re(e){await x(e.id,1),G.value=!0}function ie(e){!e?.video?.src&&!e?.video?.poster||(K.value=e)}async function ae({productId:e,quantity:t}){await C(e,t)}async function oe(e){await S(e)}return r(()=>{if(T(),$(),typeof ResizeObserver<`u`&&q.value){let e=q.value.$el||q.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),h(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,r)=>(t(),p(d,null,[l(O,{ref_key:`navRef`,ref:q,variant:`brand`,layout:`standard`,items:J,"secondary-items":Y,"cart-count":n(U).count,products:n(b),onCart:r[0]||=e=>G.value=!0,onSearch:re},null,8,[`cart-count`,`products`]),l(j,{eyebrow:X.value.eyebrow,headline:X.value.headline,sub:X.value.sub,categories:X.value.categories,"instagram-href":X.value.instagramHref,labels:Z.value,onSelect:ie},null,8,[`eyebrow`,`headline`,`sub`,`categories`,`instagram-href`,`labels`]),l(A),(t(),i(o,{to:`body`},[l(ee,{"enter-active-class":`transition duration-slow 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.value?(t(),p(`div`,{key:0,class:`fixed inset-0 z-50 flex items-center justify-center overflow-y-auto bg-ink/70 p-4 sm:p-6`,role:`dialog`,"aria-modal":`true`,"aria-label":K.value.title,onClick:r[2]||=g(e=>K.value=null,[`self`])},[f(`div`,N,[f(`div`,P,[l(v,{icon:`close`,variant:`float`,size:`sm`,"aria-label":n(H)(`menu.close`),onClick:r[1]||=e=>K.value=null},null,8,[`aria-label`])]),f(`div`,{class:m([`relative min-h-0 w-full shrink overflow-hidden bg-ink`,K.value.video?.src?`aspect-[9/16] h-[min(62svh,640px)] max-h-[calc(100svh-14rem)]`:`aspect-[11/9] max-h-[min(54svh,450px)]`])},[K.value.video?.src?(t(),p(`video`,{key:K.value.id,class:`absolute inset-0 h-full w-full bg-ink object-contain`,poster:K.value.video?.poster,controls:``,autoplay:``,playsinline:``},[f(`source`,{src:K.value.video.src,type:`video/mp4`},null,8,I)],8,F)):(t(),p(`img`,{key:1,src:K.value.video?.poster,alt:K.value.video?.alt||K.value.title,class:`absolute inset-0 h-full w-full bg-paper object-contain`},null,8,te))],2),f(`div`,L,[f(`p`,R,a(n(H)(`nav.kaiserhacks`)),1),f(`h2`,z,a(K.value.title),1),f(`p`,B,a(K.value.detailDescription||K.value.description),1)])])],8,M)):c(``,!0)]),_:1})])),r[4]||=f(`div`,{"aria-hidden":`true`,class:`min-[1100px]:hidden bg-cream`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),l(k,{modelValue:G.value,"onUpdate:modelValue":r[3]||=e=>G.value=e,items:n(U).items,subtotal:n(U).subtotal,count:n(U).count,onUpdateQuantity:ae,onRemove:oe,onCheckout:ne},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{V as default};
|
||||
import{B as e,C as t,G as n,S as r,c as i,ft as a,i as o,j as s,l as c,m as l,o as u,r as d,s as f,u as p,ut as m,x as h}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{c as g,t as ee}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{o as _}from"./vue-router-Cyqru1db.js";import{t as v}from"./IconButton-UABNp_yn.js";import{t as y}from"./i18n-BkCuZ9ke.js";import{r as b}from"./products-CfIXFr2X.js";import{c as x,d as S,f as C,p as w,u as T}from"./api-DeBxQCQq.js";import{n as E,t as D}from"./kaiserhacks-B4r9oXf7.js";import{t as O}from"./Navbar-DiOwyXlV.js";import{t as k}from"./CartDrawer-BaYH0KvP.js";import{t as A}from"./Footer-D-2MkC07.js";import{t as j}from"./Kaiserhacks-vVxHMG66.js";var M=[`aria-label`],N={class:`relative my-auto flex max-h-[calc(100svh-2rem)] w-full max-w-[min(430px,calc(100vw-2rem))] flex-col overflow-hidden rounded-md bg-paper shadow-lg sm:max-h-[calc(100svh-3rem)] sm:max-w-[min(430px,calc(100vw-3rem))]`},P={class:`absolute right-3 top-3 z-10`},F=[`poster`],I=[`src`],te=[`src`,`alt`],L={class:`min-h-0 overflow-y-auto p-5`},R={class:`eyebrow mb-2`},z={class:`font-display text-2xl font-normal leading-tight text-ink`},B={class:`mt-2 text-sm leading-relaxed text-muted`},V={__name:`KaiserhacksPage`,setup(V){let{t:H}=y(),U=w(),W=_(),G=e(!1),K=e(null),q=e(null),J=[{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`}],Y=[],X=u(()=>E(D,H)),Z=u(()=>({categories:H(`kaiserhacks.labels.categories`),categoryNav:H(`kaiserhacks.labels.categoryNav`),openVideo:H(`kaiserhacks.labels.openVideo`),openImage:H(`kaiserhacks.labels.openImage`),community:H(`kaiserhacks.labels.community`),handoffNote:H(`kaiserhacks.labels.handoffNote`)})),Q=null;function $(){let e=q.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`)}function ne(){G.value=!1,W.push(`/checkout`)}async function re(e){await x(e.id,1),G.value=!0}function ie(e){!e?.video?.src&&!e?.video?.poster||(K.value=e)}async function ae({productId:e,quantity:t}){await C(e,t)}async function oe(e){await S(e)}return r(()=>{if(T(),$(),typeof ResizeObserver<`u`&&q.value){let e=q.value.$el||q.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),h(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,r)=>(t(),p(d,null,[l(O,{ref_key:`navRef`,ref:q,variant:`brand`,layout:`standard`,items:J,"secondary-items":Y,"cart-count":n(U).count,products:n(b),onCart:r[0]||=e=>G.value=!0,onSearch:re},null,8,[`cart-count`,`products`]),l(j,{eyebrow:X.value.eyebrow,headline:X.value.headline,sub:X.value.sub,categories:X.value.categories,"instagram-href":X.value.instagramHref,labels:Z.value,onSelect:ie},null,8,[`eyebrow`,`headline`,`sub`,`categories`,`instagram-href`,`labels`]),l(A),(t(),i(o,{to:`body`},[l(ee,{"enter-active-class":`transition duration-slow 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.value?(t(),p(`div`,{key:0,class:`fixed inset-0 z-50 flex items-center justify-center overflow-y-auto bg-ink/70 p-4 sm:p-6`,role:`dialog`,"aria-modal":`true`,"aria-label":K.value.title,onClick:r[2]||=g(e=>K.value=null,[`self`])},[f(`div`,N,[f(`div`,P,[l(v,{icon:`close`,variant:`float`,size:`sm`,"aria-label":n(H)(`menu.close`),onClick:r[1]||=e=>K.value=null},null,8,[`aria-label`])]),f(`div`,{class:m([`relative min-h-0 w-full shrink overflow-hidden bg-ink`,K.value.video?.src?`aspect-[9/16] h-[min(62svh,640px)] max-h-[calc(100svh-14rem)]`:`aspect-[11/9] max-h-[min(54svh,450px)]`])},[K.value.video?.src?(t(),p(`video`,{key:K.value.id,class:`absolute inset-0 h-full w-full bg-ink object-contain`,poster:K.value.video?.poster,controls:``,autoplay:``,playsinline:``},[f(`source`,{src:K.value.video.src,type:`video/mp4`},null,8,I)],8,F)):(t(),p(`img`,{key:1,src:K.value.video?.poster,alt:K.value.video?.alt||K.value.title,class:`absolute inset-0 h-full w-full bg-paper object-contain`},null,8,te))],2),f(`div`,L,[f(`p`,R,a(n(H)(`nav.kaiserhacks`)),1),f(`h2`,z,a(K.value.title),1),f(`p`,B,a(K.value.detailDescription||K.value.description),1)])])],8,M)):c(``,!0)]),_:1})])),r[4]||=f(`div`,{"aria-hidden":`true`,class:`min-[1100px]:hidden bg-cream`,style:{height:`calc(100px + env(safe-area-inset-bottom))`}},null,-1),l(k,{modelValue:G.value,"onUpdate:modelValue":r[3]||=e=>G.value=e,items:n(U).items,subtotal:n(U).subtotal,count:n(U).count,onUpdateQuantity:ae,onRemove:oe,onCheckout:ne},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{V as default};
|
||||
@@ -1 +1 @@
|
||||
import{C as e,m as t,o as n,u as r}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as i}from"./i18n-C2O_jcDr.js";import{n as a,t as o}from"./kaiserhacks-B4r9oXf7.js";import{t as s}from"./Kaiserhacks-vVxHMG66.js";var c={class:`min-h-screen bg-surface`},l={__name:`KaiserhacksPreview`,setup(l){let{t:u}=i(),d=n(()=>a(o,u)),f=n(()=>({categories:u(`kaiserhacks.labels.categories`),categoryNav:u(`kaiserhacks.labels.categoryNav`),openVideo:u(`kaiserhacks.labels.openVideo`),openImage:u(`kaiserhacks.labels.openImage`),community:u(`kaiserhacks.labels.community`),handoffNote:u(`kaiserhacks.labels.handoffNote`)}));return(n,i)=>(e(),r(`div`,c,[t(s,{eyebrow:d.value.eyebrow,headline:d.value.headline,sub:d.value.sub,categories:d.value.categories,"instagram-href":d.value.instagramHref,labels:f.value},null,8,[`eyebrow`,`headline`,`sub`,`categories`,`instagram-href`,`labels`])]))}};export{l as default};
|
||||
import{C as e,m as t,o as n,u as r}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as i}from"./i18n-BkCuZ9ke.js";import{n as a,t as o}from"./kaiserhacks-B4r9oXf7.js";import{t as s}from"./Kaiserhacks-vVxHMG66.js";var c={class:`min-h-screen bg-surface`},l={__name:`KaiserhacksPreview`,setup(l){let{t:u}=i(),d=n(()=>a(o,u)),f=n(()=>({categories:u(`kaiserhacks.labels.categories`),categoryNav:u(`kaiserhacks.labels.categoryNav`),openVideo:u(`kaiserhacks.labels.openVideo`),openImage:u(`kaiserhacks.labels.openImage`),community:u(`kaiserhacks.labels.community`),handoffNote:u(`kaiserhacks.labels.handoffNote`)}));return(n,i)=>(e(),r(`div`,c,[t(s,{eyebrow:d.value.eyebrow,headline:d.value.headline,sub:d.value.sub,categories:d.value.categories,"instagram-href":d.value.instagramHref,labels:f.value},null,8,[`eyebrow`,`headline`,`sub`,`categories`,`instagram-href`,`labels`])]))}};export{l as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
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-C2O_jcDr.js";import{t as c}from"./SectionShell-XUVs_07L.js";import{t as l}from"./DevicePreview-CxF-mErd.js";var u={class:`eyebrow mb-5`},d={class:`eyebrow mb-5`},f={class:`max-w-2xl text-sm leading-relaxed text-muted`},p=`/design/preview/kaiserhacks`,m={__name:`KaiserhacksSection`,setup(m){let{t:h}=s();return(s,m)=>(e(),n(c,{eyebrow:t(h)(`ds.eyebrow.components`),title:t(h)(`ds.kaiserhacks.title`),description:t(h)(`ds.kaiserhacks.description`),wide:``},{default:i(()=>[o(`section`,null,[a(l,{src:p,initial:`desktop`,height:900})]),o(`section`,null,[o(`h2`,u,r(t(h)(`ds.heading.usage`)),1),m[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`},`<Kaiserhacks
|
||||
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-BkCuZ9ke.js";import{t as c}from"./SectionShell-XUVs_07L.js";import{t as l}from"./DevicePreview-CxF-mErd.js";var u={class:`eyebrow mb-5`},d={class:`eyebrow mb-5`},f={class:`max-w-2xl text-sm leading-relaxed text-muted`},p=`/design/preview/kaiserhacks`,m={__name:`KaiserhacksSection`,setup(m){let{t:h}=s();return(s,m)=>(e(),n(c,{eyebrow:t(h)(`ds.eyebrow.components`),title:t(h)(`ds.kaiserhacks.title`),description:t(h)(`ds.kaiserhacks.description`),wide:``},{default:i(()=>[o(`section`,null,[a(l,{src:p,initial:`desktop`,height:900})]),o(`section`,null,[o(`h2`,u,r(t(h)(`ds.heading.usage`)),1),m[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`},`<Kaiserhacks
|
||||
:eyebrow="page.eyebrow"
|
||||
:headline="page.headline"
|
||||
:sub="page.sub"
|
||||
@@ -1 +1 @@
|
||||
import{C as e,G as t,T as n,ft as r,o as i,r as a,u as o,ut as s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-C2O_jcDr.js";var l=[`aria-label`,`aria-pressed`,`onClick`],u={__name:`LanguageSwitcher`,props:{floating:{type:Boolean,default:!1},tone:{type:String,default:`paper`,validator:e=>[`paper`,`cream`,`brand`].includes(e)}},setup(u){let d=u,{locale:f,setLocale:p,availableLocales:m}=c(),h={paper:{container:`border border-line bg-paper`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-muted hover:text-brand`},cream:{container:`border border-line-strong bg-paper`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-muted hover:text-brand`},brand:{container:`border border-cream-line bg-cream-wash`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-cream hover:text-accent`}},g=i(()=>h[d.tone]);return(i,c)=>(e(),o(`div`,{role:`group`,"aria-label":`Language`,class:s([`inline-flex items-center h-10 px-2 gap-0.5 rounded-pill font-sans`,g.value.container,u.floating?`fixed top-6 right-6 z-[60] shadow-sm`:``])},[(e(!0),o(a,null,n(t(m),n=>(e(),o(`button`,{key:n.code,type:`button`,"aria-label":n.name,"aria-pressed":t(f)===n.code,class:s([`px-2.5 py-1 text-[11px] font-bold tracking-eyebrow rounded-pill transition-colors duration-base`,t(f)===n.code?g.value.active:g.value.inactive]),onClick:e=>t(p)(n.code)},r(n.label),11,l))),128))],2))}};export{u as t};
|
||||
import{C as e,G as t,T as n,ft as r,o as i,r as a,u as o,ut as s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BkCuZ9ke.js";var l=[`aria-label`,`aria-pressed`,`onClick`],u={__name:`LanguageSwitcher`,props:{floating:{type:Boolean,default:!1},tone:{type:String,default:`paper`,validator:e=>[`paper`,`cream`,`brand`].includes(e)}},setup(u){let d=u,{locale:f,setLocale:p,availableLocales:m}=c(),h={paper:{container:`border border-line bg-paper`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-muted hover:text-brand`},cream:{container:`border border-line-strong bg-paper`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-muted hover:text-brand`},brand:{container:`border border-cream-line bg-cream-wash`,active:`bg-accent-fill text-accent-fill-ink`,inactive:`text-cream hover:text-accent`}},g=i(()=>h[d.tone]);return(i,c)=>(e(),o(`div`,{role:`group`,"aria-label":`Language`,class:s([`inline-flex items-center h-10 px-2 gap-0.5 rounded-pill font-sans`,g.value.container,u.floating?`fixed top-6 right-6 z-[60] shadow-sm`:``])},[(e(!0),o(a,null,n(t(m),n=>(e(),o(`button`,{key:n.code,type:`button`,"aria-label":n.name,"aria-pressed":t(f)===n.code,class:s([`px-2.5 py-1 text-[11px] font-bold tracking-eyebrow rounded-pill transition-colors duration-base`,t(f)===n.code?g.value.active:g.value.inactive]),onClick:e=>t(p)(n.code)},r(n.label),11,l))),128))],2))}};export{u as t};
|
||||
@@ -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-C2O_jcDr.js";import{t as c}from"./LanguageSwitcher-Bts86QFA.js";import{t as l}from"./SectionShell-XUVs_07L.js";import{t as u}from"./Card-CPlQ-6EI.js";var d={class:`eyebrow mb-5`},f={class:`grid md:grid-cols-3 gap-4`},p={class:`eyebrow mb-4`},m={class:`text-[13px] text-muted mt-4 leading-relaxed`},h={class:`eyebrow mb-4`},g={class:`text-[13px] text-muted mt-4 leading-relaxed`},_={class:`eyebrow mb-4`},v={class:`text-[13px] opacity-80 mt-4 leading-relaxed`},y={class:`eyebrow mb-5`},b={class:`text-[13px] text-muted max-w-2xl leading-relaxed`},x={class:`eyebrow mb-5`},S={__name:`LanguageSwitcherSection`,setup(S){let{t:C}=s();return(s,S)=>(e(),n(l,{eyebrow:t(C)(`ds.eyebrow.components`),title:t(C)(`ds.language.title`),description:t(C)(`ds.language.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,d,r(t(C)(`ds.heading.onDifferentSurfaces`)),1),o(`div`,f,[a(u,{tone:`paper`},{default:i(()=>[o(`p`,p,r(t(C)(`ds.cards.paper`)),1),a(c,{tone:`paper`}),o(`p`,m,r(t(C)(`ds.language.paperNote`)),1)]),_:1}),a(u,{tone:`cream`},{default:i(()=>[o(`p`,h,r(t(C)(`ds.cards.cream`)),1),a(c,{tone:`cream`}),o(`p`,g,r(t(C)(`ds.language.creamNote`)),1)]),_:1}),a(u,{tone:`brand`},{default:i(()=>[o(`p`,_,r(t(C)(`ds.cards.brand`)),1),a(c,{tone:`brand`}),o(`p`,v,r(t(C)(`ds.language.brandNote`)),1)]),_:1})])]),o(`section`,null,[o(`h2`,y,r(t(C)(`ds.language.floating`)),1),a(u,{tone:`paper`},{default:i(()=>[o(`p`,b,r(t(C)(`ds.language.floatingNote`)),1)]),_:1})]),o(`section`,null,[o(`h2`,x,r(t(C)(`ds.heading.usage`)),1),S[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`},`<LanguageSwitcher />
|
||||
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-BkCuZ9ke.js";import{t as c}from"./LanguageSwitcher-B0tmtJbD.js";import{t as l}from"./SectionShell-XUVs_07L.js";import{t as u}from"./Card-CPlQ-6EI.js";var d={class:`eyebrow mb-5`},f={class:`grid md:grid-cols-3 gap-4`},p={class:`eyebrow mb-4`},m={class:`text-[13px] text-muted mt-4 leading-relaxed`},h={class:`eyebrow mb-4`},g={class:`text-[13px] text-muted mt-4 leading-relaxed`},_={class:`eyebrow mb-4`},v={class:`text-[13px] opacity-80 mt-4 leading-relaxed`},y={class:`eyebrow mb-5`},b={class:`text-[13px] text-muted max-w-2xl leading-relaxed`},x={class:`eyebrow mb-5`},S={__name:`LanguageSwitcherSection`,setup(S){let{t:C}=s();return(s,S)=>(e(),n(l,{eyebrow:t(C)(`ds.eyebrow.components`),title:t(C)(`ds.language.title`),description:t(C)(`ds.language.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,d,r(t(C)(`ds.heading.onDifferentSurfaces`)),1),o(`div`,f,[a(u,{tone:`paper`},{default:i(()=>[o(`p`,p,r(t(C)(`ds.cards.paper`)),1),a(c,{tone:`paper`}),o(`p`,m,r(t(C)(`ds.language.paperNote`)),1)]),_:1}),a(u,{tone:`cream`},{default:i(()=>[o(`p`,h,r(t(C)(`ds.cards.cream`)),1),a(c,{tone:`cream`}),o(`p`,g,r(t(C)(`ds.language.creamNote`)),1)]),_:1}),a(u,{tone:`brand`},{default:i(()=>[o(`p`,_,r(t(C)(`ds.cards.brand`)),1),a(c,{tone:`brand`}),o(`p`,v,r(t(C)(`ds.language.brandNote`)),1)]),_:1})])]),o(`section`,null,[o(`h2`,y,r(t(C)(`ds.language.floating`)),1),a(u,{tone:`paper`},{default:i(()=>[o(`p`,b,r(t(C)(`ds.language.floatingNote`)),1)]),_:1})]),o(`section`,null,[o(`h2`,x,r(t(C)(`ds.heading.usage`)),1),S[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`},`<LanguageSwitcher />
|
||||
<LanguageSwitcher tone="brand" />
|
||||
<LanguageSwitcher floating />`)],-1)])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{S as default};
|
||||
@@ -1 +1 @@
|
||||
import{B as e,C as t,G as n,S as r,T as i,ft as a,l as o,m as s,o as c,r as l,s as u,u as d,x as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./i18n-C2O_jcDr.js";import{r as h}from"./products-CfIXFr2X.js";import{c as g,d as _,f as v,p as y,u as b}from"./api-DeBxQCQq.js";import{t as x}from"./Navbar--vwcBwtS.js";import{t as S}from"./CartDrawer-CegjvllQ.js";import{t as C}from"./Footer-Co01VUwo.js";var w={class:`bg-cream text-ink min-h-svh`},T={class:`mx-auto w-full max-w-3xl px-6 py-14 sm:px-8 sm:py-16 md:px-12 md:py-20 lg:px-16 lg:py-24`},E={class:`flex flex-col gap-3 mb-10 md:mb-14`},D={class:`eyebrow`},O={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},k={key:0,class:`text-[12px] text-muted`},A={class:`flex flex-col gap-10`},j=[`id`],M={class:`font-display text-xl md:text-2xl font-normal text-brand leading-tight`},N={class:`text-[15px] leading-relaxed text-ink whitespace-pre-line`},P={__name:`LegalPage`,props:{kind:{type:String,required:!0,validator:e=>[`impressum`,`datenschutz`].includes(e)}},setup(P){let F=P,{t:I}=m(),L=y(),R=p(),z=e(!1);function B(){z.value=!1,R.push(`/checkout`)}let V=[{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`}],H=[],U={impressum:[`operator`,`contact`,`register`,`vat`,`authority`,`liability`,`copyright`],datenschutz:[`controller`,`scope`,`legalBasis`,`data`,`cookies`,`analytics`,`payments`,`rights`,`retention`,`contact`]},W=c(()=>U[F.kind].map(e=>({id:e,heading:I(`legal.${F.kind}.section.${e}.heading`),body:I(`legal.${F.kind}.section.${e}.body`)}))),G=c(()=>I(`legal.${F.kind}.updated`));async function K(e){await g(e.id,1),z.value=!0}async function q({productId:e,quantity:t}){await v(e,t)}async function J(e){await _(e)}let Y=e(null),X=null;function Z(){let e=Y.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 r(()=>{if(b(),Z(),typeof ResizeObserver<`u`&&Y.value){let e=Y.value.$el||Y.value;X=new ResizeObserver(Z),X.observe(e)}window.addEventListener(`resize`,Z)}),f(()=>{X&&X.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,Z)}),(e,r)=>(t(),d(l,null,[s(x,{ref_key:`navRef`,ref:Y,variant:`cream`,layout:`standard`,items:V,"secondary-items":H,"cart-count":n(L).count,products:n(h),onCart:r[0]||=e=>z.value=!0,onSearch:K},null,8,[`cart-count`,`products`]),u(`main`,w,[u(`div`,T,[u(`header`,E,[u(`p`,D,a(n(I)(`legal.${P.kind}.eyebrow`)),1),u(`h1`,O,a(n(I)(`legal.${P.kind}.title`)),1),G.value?(t(),d(`p`,k,a(G.value),1)):o(``,!0)]),u(`article`,A,[(t(!0),d(l,null,i(W.value,e=>(t(),d(`section`,{id:e.id,key:e.id,class:`flex flex-col gap-3`},[u(`h2`,M,a(e.heading),1),u(`p`,N,a(e.body),1)],8,j))),128))])])]),s(C),r[2]||=u(`div`,{"aria-hidden":`true`,class:`md:hidden`,style:{height:`calc(64px + env(safe-area-inset-bottom))`}},null,-1),s(S,{modelValue:z.value,"onUpdate:modelValue":r[1]||=e=>z.value=e,items:n(L).items,subtotal:n(L).subtotal,count:n(L).count,onUpdateQuantity:q,onRemove:J,onCheckout:B},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{P as default};
|
||||
import{B as e,C as t,G as n,S as r,T as i,ft as a,l as o,m as s,o as c,r as l,s as u,u as d,x as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{o as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./i18n-BkCuZ9ke.js";import{r as h}from"./products-CfIXFr2X.js";import{c as g,d as _,f as v,p as y,u as b}from"./api-DeBxQCQq.js";import{t as x}from"./Navbar-DiOwyXlV.js";import{t as S}from"./CartDrawer-BaYH0KvP.js";import{t as C}from"./Footer-D-2MkC07.js";var w={class:`bg-cream text-ink min-h-svh`},T={class:`mx-auto w-full max-w-3xl px-6 py-14 sm:px-8 sm:py-16 md:px-12 md:py-20 lg:px-16 lg:py-24`},E={class:`flex flex-col gap-3 mb-10 md:mb-14`},D={class:`eyebrow`},O={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},k={key:0,class:`text-[12px] text-muted`},A={class:`flex flex-col gap-10`},j=[`id`],M={class:`font-display text-xl md:text-2xl font-normal text-brand leading-tight`},N={class:`text-[15px] leading-relaxed text-ink whitespace-pre-line`},P={__name:`LegalPage`,props:{kind:{type:String,required:!0,validator:e=>[`impressum`,`datenschutz`].includes(e)}},setup(P){let F=P,{t:I}=m(),L=y(),R=p(),z=e(!1);function B(){z.value=!1,R.push(`/checkout`)}let V=[{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`}],H=[],U={impressum:[`operator`,`contact`,`register`,`vat`,`authority`,`liability`,`copyright`],datenschutz:[`controller`,`scope`,`legalBasis`,`data`,`cookies`,`analytics`,`payments`,`rights`,`retention`,`contact`]},W=c(()=>U[F.kind].map(e=>({id:e,heading:I(`legal.${F.kind}.section.${e}.heading`),body:I(`legal.${F.kind}.section.${e}.body`)}))),G=c(()=>I(`legal.${F.kind}.updated`));async function K(e){await g(e.id,1),z.value=!0}async function q({productId:e,quantity:t}){await v(e,t)}async function J(e){await _(e)}let Y=e(null),X=null;function Z(){let e=Y.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 r(()=>{if(b(),Z(),typeof ResizeObserver<`u`&&Y.value){let e=Y.value.$el||Y.value;X=new ResizeObserver(Z),X.observe(e)}window.addEventListener(`resize`,Z)}),f(()=>{X&&X.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,Z)}),(e,r)=>(t(),d(l,null,[s(x,{ref_key:`navRef`,ref:Y,variant:`cream`,layout:`standard`,items:V,"secondary-items":H,"cart-count":n(L).count,products:n(h),onCart:r[0]||=e=>z.value=!0,onSearch:K},null,8,[`cart-count`,`products`]),u(`main`,w,[u(`div`,T,[u(`header`,E,[u(`p`,D,a(n(I)(`legal.${P.kind}.eyebrow`)),1),u(`h1`,O,a(n(I)(`legal.${P.kind}.title`)),1),G.value?(t(),d(`p`,k,a(G.value),1)):o(``,!0)]),u(`article`,A,[(t(!0),d(l,null,i(W.value,e=>(t(),d(`section`,{id:e.id,key:e.id,class:`flex flex-col gap-3`},[u(`h2`,M,a(e.heading),1),u(`p`,N,a(e.body),1)],8,j))),128))])])]),s(C),r[2]||=u(`div`,{"aria-hidden":`true`,class:`md:hidden`,style:{height:`calc(64px + env(safe-area-inset-bottom))`}},null,-1),s(S,{modelValue:z.value,"onUpdate:modelValue":r[1]||=e=>z.value=e,items:n(L).items,subtotal:n(L).subtotal,count:n(L).count,onUpdateQuantity:q,onRemove:J,onCheckout:B},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{P as default};
|
||||
@@ -1 +1 @@
|
||||
import{B as e,C as t,G as n,S as r,c as i,ft as a,j as o,l as s,m as c,o as ee,p as l,r as u,s as d,u as f,x as te}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{c as ne}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{a as re,o as ie,t as ae}from"./vue-router-Cyqru1db.js";import{t as oe}from"./i18n-C2O_jcDr.js";import{r as se}from"./products-CfIXFr2X.js";import{c as ce,d as p,f as m,i as h,p as g,r as _}from"./api-DeBxQCQq.js";import{t as v}from"./Navbar--vwcBwtS.js";import{t as y}from"./Button-DG-tA4DQ.js";import{t as b}from"./CartDrawer-CegjvllQ.js";import{t as x}from"./Footer-Co01VUwo.js";import{t as S}from"./Input-RN3gn2df.js";var C={class:`bg-cream text-ink min-h-svh`},w={class:`mx-auto w-full max-w-md px-6 py-14 sm:px-8 sm:py-20 md:py-24`},T={class:`flex flex-col gap-3 mb-8 text-center`},E={class:`eyebrow`},D={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},O={class:`text-[14px] text-muted`},k={key:1,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},A={key:1,class:`rounded-md border border-line bg-paper p-6 md:p-8 flex flex-col gap-3 text-center`},j={class:`font-display text-xl text-brand`},M={class:`text-[14px] text-muted`},N={class:`mt-8 text-center text-[14px] text-muted`},P={__name:`LoginPage`,setup(P){let{t:F}=oe(),I=g(),le=re(),L=ie(),R=e(!1);function z(){R.value=!1,L.push(`/checkout`)}async function B(e){await ce(e.id,1),R.value=!0}async function V({productId:e,quantity:t}){await m(e,t)}async function H(e){await p(e)}let U=[{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`}],W=[],G=e(``),K=e(``),q=e(!1),J=e(``),Y=e(!1),X=e(!1),ue=ee(()=>G.value?Y.value?!1:K.value.length<8:!0);async function de(){J.value=``,q.value=!0;try{if(Y.value){await _({email:G.value}),X.value=!0;return}await h({email:G.value,password:K.value});let e=String(le.query.next||`/`);L.push(e)}catch(e){J.value=e?.message||F(`checkout.error.generic`)}finally{q.value=!1}}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 r(()=>{if($(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),te(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,r)=>(t(),f(u,null,[c(v,{ref_key:`navRef`,ref:Z,variant:`cream`,layout:`standard`,items:U,"secondary-items":W,"cart-count":n(I).count,products:n(se),onCart:r[0]||=e=>R.value=!0,onSearch:B},null,8,[`cart-count`,`products`]),d(`main`,C,[d(`div`,w,[d(`header`,T,[d(`p`,E,a(n(F)(`auth.login.eyebrow`)),1),d(`h1`,D,a(Y.value?n(F)(`auth.reset.title`):n(F)(`auth.login.title`)),1),d(`p`,O,a(Y.value?n(F)(`auth.reset.sub`):n(F)(`auth.login.sub`)),1)]),X.value?(t(),f(`div`,A,[d(`h2`,j,a(n(F)(`auth.reset.sent.title`)),1),d(`p`,M,a(n(F)(`auth.reset.sent.body`)),1),d(`button`,{type:`button`,class:`text-[13px] text-brand hover:underline self-center mt-2`,onClick:r[4]||=e=>{Y.value=!1,X.value=!1}},a(n(F)(`auth.reset.back`)),1)])):(t(),f(`form`,{key:0,class:`flex flex-col gap-5 rounded-md border border-line bg-paper p-6 md:p-8`,novalidate:``,onSubmit:ne(de,[`prevent`])},[c(S,{modelValue:G.value,"onUpdate:modelValue":r[1]||=e=>G.value=e,label:n(F)(`checkout.field.email`),type:`email`,required:``,placeholder:n(F)(`checkout.placeholder.email`)},null,8,[`modelValue`,`label`,`placeholder`]),Y.value?s(``,!0):(t(),i(S,{key:0,modelValue:K.value,"onUpdate:modelValue":r[2]||=e=>K.value=e,label:n(F)(`checkout.field.password`),type:`password`,required:``},null,8,[`modelValue`,`label`])),J.value?(t(),f(`p`,k,a(J.value),1)):s(``,!0),c(y,{type:`submit`,variant:`primary`,size:`lg`,block:``,loading:q.value,disabled:ue.value},{default:o(()=>[l(a(Y.value?n(F)(`auth.reset.cta`):n(F)(`auth.login.cta`)),1)]),_:1},8,[`loading`,`disabled`]),d(`button`,{type:`button`,class:`text-[13px] text-brand hover:underline self-start`,onClick:r[3]||=e=>Y.value=!Y.value},a(Y.value?n(F)(`auth.reset.back`):n(F)(`auth.login.forgot`)),1)],32)),d(`p`,N,[l(a(n(F)(`auth.login.newCustomer`))+` `,1),c(n(ae),{to:`/register`,class:`text-brand hover:underline`},{default:o(()=>[l(a(n(F)(`auth.login.cta.register`)),1)]),_:1})])])]),c(x),c(b,{modelValue:R.value,"onUpdate:modelValue":r[5]||=e=>R.value=e,items:n(I).items,subtotal:n(I).subtotal,count:n(I).count,onUpdateQuantity:V,onRemove:H,onCheckout:z},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{P as default};
|
||||
import{B as e,C as t,G as n,S as r,c as i,ft as a,j as o,l as s,m as c,o as ee,p as l,r as u,s as d,u as f,x as te}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{c as ne}from"./runtime-dom.esm-bundler-Bg1uJ-W7.js";import{a as re,o as ie,t as ae}from"./vue-router-Cyqru1db.js";import{t as oe}from"./i18n-BkCuZ9ke.js";import{r as se}from"./products-CfIXFr2X.js";import{c as ce,d as p,f as m,i as h,p as g,r as _}from"./api-DeBxQCQq.js";import{t as v}from"./Navbar-DiOwyXlV.js";import{t as y}from"./Button-DG-tA4DQ.js";import{t as b}from"./CartDrawer-BaYH0KvP.js";import{t as x}from"./Footer-D-2MkC07.js";import{t as S}from"./Input-RN3gn2df.js";var C={class:`bg-cream text-ink min-h-svh`},w={class:`mx-auto w-full max-w-md px-6 py-14 sm:px-8 sm:py-20 md:py-24`},T={class:`flex flex-col gap-3 mb-8 text-center`},E={class:`eyebrow`},D={class:`font-display font-normal leading-[1.05] tracking-tight text-ink text-headline-md`},O={class:`text-[14px] text-muted`},k={key:1,class:`text-sm text-danger`,role:`alert`,"aria-live":`polite`},A={key:1,class:`rounded-md border border-line bg-paper p-6 md:p-8 flex flex-col gap-3 text-center`},j={class:`font-display text-xl text-brand`},M={class:`text-[14px] text-muted`},N={class:`mt-8 text-center text-[14px] text-muted`},P={__name:`LoginPage`,setup(P){let{t:F}=oe(),I=g(),le=re(),L=ie(),R=e(!1);function z(){R.value=!1,L.push(`/checkout`)}async function B(e){await ce(e.id,1),R.value=!0}async function V({productId:e,quantity:t}){await m(e,t)}async function H(e){await p(e)}let U=[{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`}],W=[],G=e(``),K=e(``),q=e(!1),J=e(``),Y=e(!1),X=e(!1),ue=ee(()=>G.value?Y.value?!1:K.value.length<8:!0);async function de(){J.value=``,q.value=!0;try{if(Y.value){await _({email:G.value}),X.value=!0;return}await h({email:G.value,password:K.value});let e=String(le.query.next||`/`);L.push(e)}catch(e){J.value=e?.message||F(`checkout.error.generic`)}finally{q.value=!1}}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 r(()=>{if($(),typeof ResizeObserver<`u`&&Z.value){let e=Z.value.$el||Z.value;Q=new ResizeObserver($),Q.observe(e)}window.addEventListener(`resize`,$)}),te(()=>{Q&&Q.disconnect(),typeof window<`u`&&window.removeEventListener(`resize`,$)}),(e,r)=>(t(),f(u,null,[c(v,{ref_key:`navRef`,ref:Z,variant:`cream`,layout:`standard`,items:U,"secondary-items":W,"cart-count":n(I).count,products:n(se),onCart:r[0]||=e=>R.value=!0,onSearch:B},null,8,[`cart-count`,`products`]),d(`main`,C,[d(`div`,w,[d(`header`,T,[d(`p`,E,a(n(F)(`auth.login.eyebrow`)),1),d(`h1`,D,a(Y.value?n(F)(`auth.reset.title`):n(F)(`auth.login.title`)),1),d(`p`,O,a(Y.value?n(F)(`auth.reset.sub`):n(F)(`auth.login.sub`)),1)]),X.value?(t(),f(`div`,A,[d(`h2`,j,a(n(F)(`auth.reset.sent.title`)),1),d(`p`,M,a(n(F)(`auth.reset.sent.body`)),1),d(`button`,{type:`button`,class:`text-[13px] text-brand hover:underline self-center mt-2`,onClick:r[4]||=e=>{Y.value=!1,X.value=!1}},a(n(F)(`auth.reset.back`)),1)])):(t(),f(`form`,{key:0,class:`flex flex-col gap-5 rounded-md border border-line bg-paper p-6 md:p-8`,novalidate:``,onSubmit:ne(de,[`prevent`])},[c(S,{modelValue:G.value,"onUpdate:modelValue":r[1]||=e=>G.value=e,label:n(F)(`checkout.field.email`),type:`email`,required:``,placeholder:n(F)(`checkout.placeholder.email`)},null,8,[`modelValue`,`label`,`placeholder`]),Y.value?s(``,!0):(t(),i(S,{key:0,modelValue:K.value,"onUpdate:modelValue":r[2]||=e=>K.value=e,label:n(F)(`checkout.field.password`),type:`password`,required:``},null,8,[`modelValue`,`label`])),J.value?(t(),f(`p`,k,a(J.value),1)):s(``,!0),c(y,{type:`submit`,variant:`primary`,size:`lg`,block:``,loading:q.value,disabled:ue.value},{default:o(()=>[l(a(Y.value?n(F)(`auth.reset.cta`):n(F)(`auth.login.cta`)),1)]),_:1},8,[`loading`,`disabled`]),d(`button`,{type:`button`,class:`text-[13px] text-brand hover:underline self-start`,onClick:r[3]||=e=>Y.value=!Y.value},a(Y.value?n(F)(`auth.reset.back`):n(F)(`auth.login.forgot`)),1)],32)),d(`p`,N,[l(a(n(F)(`auth.login.newCustomer`))+` `,1),c(n(ae),{to:`/register`,class:`text-brand hover:underline`},{default:o(()=>[l(a(n(F)(`auth.login.cta.register`)),1)]),_:1})])])]),c(x),c(b,{modelValue:R.value,"onUpdate:modelValue":r[5]||=e=>R.value=e,items:n(I).items,subtotal:n(I).subtotal,count:n(I).count,onUpdateQuantity:V,onRemove:H,onCheckout:z},null,8,[`modelValue`,`items`,`subtotal`,`count`])],64))}};export{P as default};
|
||||
@@ -1 +1 @@
|
||||
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"./Logo-FD-JLoLl.js";import{t as c}from"./i18n-C2O_jcDr.js";import{t as l}from"./SectionShell-XUVs_07L.js";var u={class:`eyebrow mb-5`},d={class:`grid md:grid-cols-3 gap-4`},f={class:`rounded-md border border-line bg-paper p-10 flex flex-col items-center gap-4`},p={class:`font-mono text-[11px] text-muted`},m={class:`rounded-md border border-line bg-cream p-10 flex flex-col items-center gap-4`},h={class:`font-mono text-[11px] text-muted`},g={class:`rounded-md bg-brand p-10 flex flex-col items-center gap-4`},_={class:`font-mono text-[11px] text-cream opacity-70`},v={class:`eyebrow mb-5`},y={class:`rounded-md border border-line bg-paper p-10 flex items-end gap-10 flex-wrap`},b={class:`flex flex-col items-center gap-3`},x={class:`flex flex-col items-center gap-3`},S={class:`flex flex-col items-center gap-3`},C={class:`eyebrow mb-5`},w={class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},T={class:`mb-2 text-muted`},E={__name:`LogoSection`,setup(E){let{t:D}=c();return(c,E)=>(e(),n(l,{eyebrow:t(D)(`ds.eyebrow.brand`),title:t(D)(`ds.logo.title`),description:t(D)(`ds.logo.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,u,r(t(D)(`ds.heading.onDifferentSurfaces`)),1),o(`div`,d,[o(`div`,f,[a(s,{class:`w-40 h-auto text-brand`}),o(`code`,p,r(t(D)(`ds.cards.paper`)),1)]),o(`div`,m,[a(s,{class:`w-40 h-auto text-brand`}),o(`code`,h,r(t(D)(`ds.cards.cream`)),1)]),o(`div`,g,[a(s,{class:`w-40 h-auto text-paper`}),o(`code`,_,r(t(D)(`ds.cards.brand`)),1)])])]),o(`section`,null,[o(`h2`,v,r(t(D)(`ds.heading.sizes`)),1),o(`div`,y,[o(`div`,b,[a(s,{class:`w-16 h-auto text-brand`}),E[0]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-16`,-1)]),o(`div`,x,[a(s,{class:`w-32 h-auto text-brand`}),E[1]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-32`,-1)]),o(`div`,S,[a(s,{class:`w-60 h-auto text-brand`}),E[2]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-60`,-1)])])]),o(`section`,null,[o(`h2`,C,r(t(D)(`ds.heading.usage`)),1),o(`div`,w,[o(`p`,T,r(t(D)(`ds.logo.usageIntro`)),1),E[3]||=o(`pre`,{class:`whitespace-pre-wrap`},`<Logo class="w-60 h-auto text-brand" />`,-1)])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{E as default};
|
||||
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"./Logo-FD-JLoLl.js";import{t as c}from"./i18n-BkCuZ9ke.js";import{t as l}from"./SectionShell-XUVs_07L.js";var u={class:`eyebrow mb-5`},d={class:`grid md:grid-cols-3 gap-4`},f={class:`rounded-md border border-line bg-paper p-10 flex flex-col items-center gap-4`},p={class:`font-mono text-[11px] text-muted`},m={class:`rounded-md border border-line bg-cream p-10 flex flex-col items-center gap-4`},h={class:`font-mono text-[11px] text-muted`},g={class:`rounded-md bg-brand p-10 flex flex-col items-center gap-4`},_={class:`font-mono text-[11px] text-cream opacity-70`},v={class:`eyebrow mb-5`},y={class:`rounded-md border border-line bg-paper p-10 flex items-end gap-10 flex-wrap`},b={class:`flex flex-col items-center gap-3`},x={class:`flex flex-col items-center gap-3`},S={class:`flex flex-col items-center gap-3`},C={class:`eyebrow mb-5`},w={class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},T={class:`mb-2 text-muted`},E={__name:`LogoSection`,setup(E){let{t:D}=c();return(c,E)=>(e(),n(l,{eyebrow:t(D)(`ds.eyebrow.brand`),title:t(D)(`ds.logo.title`),description:t(D)(`ds.logo.description`)},{default:i(()=>[o(`section`,null,[o(`h2`,u,r(t(D)(`ds.heading.onDifferentSurfaces`)),1),o(`div`,d,[o(`div`,f,[a(s,{class:`w-40 h-auto text-brand`}),o(`code`,p,r(t(D)(`ds.cards.paper`)),1)]),o(`div`,m,[a(s,{class:`w-40 h-auto text-brand`}),o(`code`,h,r(t(D)(`ds.cards.cream`)),1)]),o(`div`,g,[a(s,{class:`w-40 h-auto text-paper`}),o(`code`,_,r(t(D)(`ds.cards.brand`)),1)])])]),o(`section`,null,[o(`h2`,v,r(t(D)(`ds.heading.sizes`)),1),o(`div`,y,[o(`div`,b,[a(s,{class:`w-16 h-auto text-brand`}),E[0]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-16`,-1)]),o(`div`,x,[a(s,{class:`w-32 h-auto text-brand`}),E[1]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-32`,-1)]),o(`div`,S,[a(s,{class:`w-60 h-auto text-brand`}),E[2]||=o(`code`,{class:`font-mono text-[11px] text-muted`},`w-60`,-1)])])]),o(`section`,null,[o(`h2`,C,r(t(D)(`ds.heading.usage`)),1),o(`div`,w,[o(`p`,T,r(t(D)(`ds.logo.usageIntro`)),1),E[3]||=o(`pre`,{class:`whitespace-pre-wrap`},`<Logo class="w-60 h-auto text-brand" />`,-1)])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{E as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{C as e,T as t,dt as n,m as r,o as i,r as a,s as o,u as s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as c}from"./vue-router-Cyqru1db.js";import{t as l}from"./Navbar--vwcBwtS.js";var u={class:`min-h-screen bg-surface`},d={class:`max-w-5xl mx-auto px-6 py-16 space-y-6`},f={__name:`NavbarPreview`,setup(f){let p=c(),m=i(()=>{let e=p.query.variant;return[`paper`,`cream`,`brand`].includes(e)?e:`paper`}),h=i(()=>p.query.layout===`floating`?`floating`:`standard`);return(i,c)=>(e(),s(`div`,u,[r(l,{variant:m.value,layout:h.value,"cart-count":2},null,8,[`variant`,`layout`]),o(`div`,d,[(e(),s(a,null,t([40,28,40,32,40,28,36,40],e=>o(`div`,{key:e,class:`rounded-md border border-line bg-paper`,style:n({height:e*4+`px`})},null,4)),64))])]))}};export{f as default};
|
||||
import{C as e,T as t,dt as n,m as r,o as i,r as a,s as o,u as s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{a as c}from"./vue-router-Cyqru1db.js";import{t as l}from"./Navbar-DiOwyXlV.js";var u={class:`min-h-screen bg-surface`},d={class:`max-w-5xl mx-auto px-6 py-16 space-y-6`},f={__name:`NavbarPreview`,setup(f){let p=c(),m=i(()=>{let e=p.query.variant;return[`paper`,`cream`,`brand`].includes(e)?e:`paper`}),h=i(()=>p.query.layout===`floating`?`floating`:`standard`);return(i,c)=>(e(),s(`div`,u,[r(l,{variant:m.value,layout:h.value,"cart-count":2},null,8,[`variant`,`layout`]),o(`div`,d,[(e(),s(a,null,t([40,28,40,32,40,28,36,40],e=>o(`div`,{key:e,class:`rounded-md border border-line bg-paper`,style:n({height:e*4+`px`})},null,4)),64))])]))}};export{f as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{B as e,C as t,G as n,T as r,c as i,dt as a,ft as o,j 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"./i18n-C2O_jcDr.js";import{t as g}from"./SectionShell-XUVs_07L.js";import{t as _}from"./DevicePreview-CxF-mErd.js";var v=[`aria-label`],y=[`aria-selected`,`onClick`],b=[`aria-label`],x=[`aria-selected`,`onClick`],S={class:`eyebrow mb-5`},C={__name:`NavbarSection`,setup(C){let{t:w}=h(),T=l(()=>[{id:`paper`,label:w(`ds.navbar.tone.paper`),swatch:`#ffffff`},{id:`cream`,label:w(`ds.navbar.tone.cream`),swatch:`var(--color-cream)`},{id:`brand`,label:w(`ds.navbar.tone.brand`),swatch:`var(--color-brand)`}]),E=l(()=>[{id:`standard`,label:w(`ds.navbar.layout.standard`)},{id:`floating`,label:w(`ds.navbar.layout.floating`)}]),D=e(`paper`),O=e(`standard`),k=l(()=>`/design/preview/navbar?variant=${D.value}&layout=${O.value}`);return(e,l)=>(t(),i(g,{eyebrow:n(w)(`ds.eyebrow.components`),title:n(w)(`ds.navbar.title`),description:n(w)(`ds.navbar.description`),wide:``},{default:s(()=>[f(`section`,null,[c(_,{src:k.value,initial:`mobile`,height:720},{controls:s(()=>[f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.layout`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(E.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":O.value===e.id,class:m([`px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,O.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>O.value=e.id},o(e.label),11,y))),128))],8,v),f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.tone`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(T.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":D.value===e.id,class:m([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,D.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>D.value=e.id},[f(`span`,{class:`w-2.5 h-2.5 rounded-full border border-line-strong`,style:a({backgroundColor:e.swatch})},null,4),u(` `+o(e.label),1)],10,x))),128))],8,b)]),_:1},8,[`src`])]),f(`section`,null,[f(`h2`,S,o(n(w)(`ds.heading.usage`)),1),l[0]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Navbar
|
||||
import{B as e,C as t,G as n,T as r,c as i,dt as a,ft as o,j 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"./i18n-BkCuZ9ke.js";import{t as g}from"./SectionShell-XUVs_07L.js";import{t as _}from"./DevicePreview-CxF-mErd.js";var v=[`aria-label`],y=[`aria-selected`,`onClick`],b=[`aria-label`],x=[`aria-selected`,`onClick`],S={class:`eyebrow mb-5`},C={__name:`NavbarSection`,setup(C){let{t:w}=h(),T=l(()=>[{id:`paper`,label:w(`ds.navbar.tone.paper`),swatch:`#ffffff`},{id:`cream`,label:w(`ds.navbar.tone.cream`),swatch:`var(--color-cream)`},{id:`brand`,label:w(`ds.navbar.tone.brand`),swatch:`var(--color-brand)`}]),E=l(()=>[{id:`standard`,label:w(`ds.navbar.layout.standard`)},{id:`floating`,label:w(`ds.navbar.layout.floating`)}]),D=e(`paper`),O=e(`standard`),k=l(()=>`/design/preview/navbar?variant=${D.value}&layout=${O.value}`);return(e,l)=>(t(),i(g,{eyebrow:n(w)(`ds.eyebrow.components`),title:n(w)(`ds.navbar.title`),description:n(w)(`ds.navbar.description`),wide:``},{default:s(()=>[f(`section`,null,[c(_,{src:k.value,initial:`mobile`,height:720},{controls:s(()=>[f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.layout`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(E.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":O.value===e.id,class:m([`px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,O.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>O.value=e.id},o(e.label),11,y))),128))],8,v),f(`div`,{role:`tablist`,"aria-label":n(w)(`ds.navbar.tone`),class:`inline-flex items-center p-1 gap-0.5 rounded-pill border border-line bg-paper`},[(t(!0),p(d,null,r(T.value,e=>(t(),p(`button`,{key:e.id,type:`button`,role:`tab`,"aria-selected":D.value===e.id,class:m([`inline-flex items-center gap-2 px-3 py-1.5 text-[12px] font-semibold tracking-label rounded-pill transition-colors duration-base`,D.value===e.id?`bg-brand text-accent`:`text-muted hover:text-brand`]),onClick:t=>D.value=e.id},[f(`span`,{class:`w-2.5 h-2.5 rounded-full border border-line-strong`,style:a({backgroundColor:e.swatch})},null,4),u(` `+o(e.label),1)],10,x))),128))],8,b)]),_:1},8,[`src`])]),f(`section`,null,[f(`h2`,S,o(n(w)(`ds.heading.usage`)),1),l[0]||=f(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[f(`pre`,{class:`whitespace-pre-wrap`},`<Navbar
|
||||
variant="paper"
|
||||
layout="floating"
|
||||
:items="[{ key: 'nav.shop', href: '/shop' }]"
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{C as e,G as t,O as n,c 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,ut as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./Icon-CtR1FGIT.js";import{t as h}from"./i18n-C2O_jcDr.js";import{t as g}from"./Badge-CudT491x.js";import{t as _}from"./Button-DG-tA4DQ.js";var v=[`src`,`alt`],y=[`src`,`alt`],b={class:`flex flex-col gap-3 p-6`},x={class:`flex flex-col gap-1`},S={class:`text-sm text-muted tracking-label min-h-[1lh]`},C={class:`mt-auto flex items-center justify-between gap-3 pt-2`},w={class:`font-display text-2xl font-normal text-brand`},T={key:0,class:`text-xs font-semibold tracking-label uppercase text-danger`},E={__name:`ProductCard`,props:{title:{type:String,required:!0},size:{type:String,default:``},price:{type:[String,Number],required:!0},currency:{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`,`brand`].includes(e)},inStock:{type:Boolean,default:!0},href:{type:String,default:``},ctaVariant:{type:String,default:`accent`}},emits:[`add`],setup(E){function D(e){return typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)}let O=E,{t:k}=h(),A={paper:{surface:`bg-paper`,media:`bg-paper`,border:`border-line`},cream:{surface:`bg-cream`,media:`bg-paper`,border:`border-line`},brand:{surface:`bg-paper`,media:`bg-brand`,border:`border-line`}},j=c(()=>A[O.tone]),M=c(()=>typeof O.price==`number`?`${O.currency} ${O.price.toFixed(2).replace(`.`,`,`)}`:`${O.currency} ${O.price}`);return(c,h)=>(e(),d(`article`,{class:f([`group flex flex-col overflow-hidden rounded-md border transition-all duration-base ease-out`,j.value.surface,j.value.border,`hover:-translate-y-1 hover:shadow-md hover:border-brand-soft`])},[E.href&&D(E.href)?(e(),r(t(p),{key:0,to:E.href,class:f([`relative flex items-center justify-center h-40 md:h-48 overflow-hidden`,j.value.media])},{default:a(()=>[E.badge?(e(),r(g,{key:0,variant:E.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:a(()=>[l(i(E.badge),1)]),_:1},8,[`variant`])):o(``,!0),u(`img`,{src:E.image,alt:E.imageAlt||E.title,loading:`lazy`,decoding:`async`,class:`max-w-[55%] max-h-[80%] object-contain transition-transform duration-slow ease-out group-hover:scale-105`},null,8,v)]),_:1},8,[`to`,`class`])):(e(),r(n(E.href?`a`:`div`),{key:1,href:E.href||null,class:f([`relative flex items-center justify-center h-40 md:h-48 overflow-hidden`,j.value.media])},{default:a(()=>[E.badge?(e(),r(g,{key:0,variant:E.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:a(()=>[l(i(E.badge),1)]),_:1},8,[`variant`])):o(``,!0),u(`img`,{src:E.image,alt:E.imageAlt||E.title,loading:`lazy`,decoding:`async`,class:`max-w-[55%] max-h-[80%] object-contain transition-transform duration-slow ease-out group-hover:scale-105`},null,8,y)]),_:1},8,[`href`,`class`])),u(`div`,b,[u(`div`,x,[E.href&&D(E.href)?(e(),r(t(p),{key:0,to:E.href,class:f([`font-display text-xl font-normal leading-tight text-ink min-h-[2lh]`,`hover:text-brand transition-colors duration-base`])},{default:a(()=>[l(i(E.title),1)]),_:1},8,[`to`])):(e(),r(n(E.href?`a`:`h3`),{key:1,href:E.href||null,class:f([`font-display text-xl font-normal leading-tight text-ink min-h-[2lh]`,E.href?`hover:text-brand transition-colors duration-base`:``])},{default:a(()=>[l(i(E.title),1)]),_:1},8,[`href`,`class`])),u(`p`,S,i(E.size||`\xA0`),1)]),u(`div`,C,[u(`span`,w,i(M.value),1),E.inStock?o(``,!0):(e(),d(`span`,T,i(t(k)(`ds.product.outOfStock`)),1))]),s(_,{variant:E.ctaVariant,size:`md`,block:``,disabled:!E.inStock,onClick:h[0]||=e=>c.$emit(`add`)},{before:a(()=>[s(m,{name:`plus`,size:16})]),default:a(()=>[l(` `+i(t(k)(`ds.buttons.addToCart`)),1)]),_:1},8,[`variant`,`disabled`])])],2))}};export{E as t};
|
||||
import{C as e,G as t,O as n,c 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,ut as f}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as p}from"./vue-router-Cyqru1db.js";import{t as m}from"./Icon-CtR1FGIT.js";import{t as h}from"./i18n-BkCuZ9ke.js";import{t as g}from"./Badge-CudT491x.js";import{t as _}from"./Button-DG-tA4DQ.js";var v=[`src`,`alt`],y=[`src`,`alt`],b={class:`flex flex-col gap-3 p-6`},x={class:`flex flex-col gap-1`},S={class:`text-sm text-muted tracking-label min-h-[1lh]`},C={class:`mt-auto flex items-center justify-between gap-3 pt-2`},w={class:`font-display text-2xl font-normal text-brand`},T={key:0,class:`text-xs font-semibold tracking-label uppercase text-danger`},E={__name:`ProductCard`,props:{title:{type:String,required:!0},size:{type:String,default:``},price:{type:[String,Number],required:!0},currency:{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`,`brand`].includes(e)},inStock:{type:Boolean,default:!0},href:{type:String,default:``},ctaVariant:{type:String,default:`accent`}},emits:[`add`],setup(E){function D(e){return typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)}let O=E,{t:k}=h(),A={paper:{surface:`bg-paper`,media:`bg-paper`,border:`border-line`},cream:{surface:`bg-cream`,media:`bg-paper`,border:`border-line`},brand:{surface:`bg-paper`,media:`bg-brand`,border:`border-line`}},j=c(()=>A[O.tone]),M=c(()=>typeof O.price==`number`?`${O.currency} ${O.price.toFixed(2).replace(`.`,`,`)}`:`${O.currency} ${O.price}`);return(c,h)=>(e(),d(`article`,{class:f([`group flex flex-col overflow-hidden rounded-md border transition-all duration-base ease-out`,j.value.surface,j.value.border,`hover:-translate-y-1 hover:shadow-md hover:border-brand-soft`])},[E.href&&D(E.href)?(e(),r(t(p),{key:0,to:E.href,class:f([`relative flex items-center justify-center h-40 md:h-48 overflow-hidden`,j.value.media])},{default:a(()=>[E.badge?(e(),r(g,{key:0,variant:E.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:a(()=>[l(i(E.badge),1)]),_:1},8,[`variant`])):o(``,!0),u(`img`,{src:E.image,alt:E.imageAlt||E.title,loading:`lazy`,decoding:`async`,class:`max-w-[55%] max-h-[80%] object-contain transition-transform duration-slow ease-out group-hover:scale-105`},null,8,v)]),_:1},8,[`to`,`class`])):(e(),r(n(E.href?`a`:`div`),{key:1,href:E.href||null,class:f([`relative flex items-center justify-center h-40 md:h-48 overflow-hidden`,j.value.media])},{default:a(()=>[E.badge?(e(),r(g,{key:0,variant:E.badgeVariant,class:`absolute top-4 left-4 z-[1]`},{default:a(()=>[l(i(E.badge),1)]),_:1},8,[`variant`])):o(``,!0),u(`img`,{src:E.image,alt:E.imageAlt||E.title,loading:`lazy`,decoding:`async`,class:`max-w-[55%] max-h-[80%] object-contain transition-transform duration-slow ease-out group-hover:scale-105`},null,8,y)]),_:1},8,[`href`,`class`])),u(`div`,b,[u(`div`,x,[E.href&&D(E.href)?(e(),r(t(p),{key:0,to:E.href,class:f([`font-display text-xl font-normal leading-tight text-ink min-h-[2lh]`,`hover:text-brand transition-colors duration-base`])},{default:a(()=>[l(i(E.title),1)]),_:1},8,[`to`])):(e(),r(n(E.href?`a`:`h3`),{key:1,href:E.href||null,class:f([`font-display text-xl font-normal leading-tight text-ink min-h-[2lh]`,E.href?`hover:text-brand transition-colors duration-base`:``])},{default:a(()=>[l(i(E.title),1)]),_:1},8,[`href`,`class`])),u(`p`,S,i(E.size||`\xA0`),1)]),u(`div`,C,[u(`span`,w,i(M.value),1),E.inStock?o(``,!0):(e(),d(`span`,T,i(t(k)(`ds.product.outOfStock`)),1))]),s(_,{variant:E.ctaVariant,size:`md`,block:``,disabled:!E.inStock,onClick:h[0]||=e=>c.$emit(`add`)},{before:a(()=>[s(m,{name:`plus`,size:16})]),default:a(()=>[l(` `+i(t(k)(`ds.buttons.addToCart`)),1)]),_:1},8,[`variant`,`disabled`])])],2))}};export{E as t};
|
||||
File diff suppressed because one or more lines are too long
@@ -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}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-C2O_jcDr.js";import{t as f}from"./ProductCard-C-W-Yc1y.js";import{t as p}from"./SectionShell-XUVs_07L.js";var m={class:`eyebrow mb-5`},h={class:`grid sm:grid-cols-2 lg:grid-cols-3 gap-6`},g={key:0,class:`mt-5 text-sm text-muted`},_={class:`font-mono text-[12px]`},v={class:`eyebrow mb-5`},y={class:`grid sm:grid-cols-2 lg:grid-cols-3 gap-6`},b={class:`eyebrow mb-5`},x=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,S={__name:`ProductsSection`,setup(S){let{t:C}=d(),w=e(``);function T(e){w.value=e,setTimeout(()=>{w.value===e&&(w.value=``)},2e3)}return(e,d)=>(t(),r(p,{eyebrow:n(C)(`ds.eyebrow.components`),title:n(C)(`ds.product.title`),description:n(C)(`ds.product.description`)},{default:a(()=>[l(`section`,null,[l(`h2`,m,i(n(C)(`ds.heading.default`)),1),l(`div`,h,[s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,"image-alt":`Kaiser-Natron Pulver 250 g Großpackung`,href:`#`,onAdd:d[0]||=e=>T(`pulver-250`)}),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,badge:n(C)(`ds.badges.featured`),"badge-variant":`accent`,href:`#`,onAdd:d[1]||=e=>T(`pulver-250-featured`)},null,8,[`badge`]),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,tone:`cream`,href:`#`,onAdd:d[2]||=e=>T(`pulver-250-cream`)})]),w.value?(t(),u(`p`,g,[c(i(n(C)(`ds.product.added`))+`: `,1),l(`code`,_,i(w.value),1)])):o(``,!0)]),l(`section`,null,[l(`h2`,v,i(n(C)(`ds.heading.states`)),1),l(`div`,y,[s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,"in-stock":!1}),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,badge:n(C)(`ds.badges.newRelease`),"badge-variant":`brand`,href:`#`},null,8,[`badge`])])]),l(`section`,null,[l(`h2`,b,i(n(C)(`ds.heading.usage`)),1),d[3]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`<ProductCard
|
||||
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}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-BkCuZ9ke.js";import{t as f}from"./ProductCard-BjGgbp3S.js";import{t as p}from"./SectionShell-XUVs_07L.js";var m={class:`eyebrow mb-5`},h={class:`grid sm:grid-cols-2 lg:grid-cols-3 gap-6`},g={key:0,class:`mt-5 text-sm text-muted`},_={class:`font-mono text-[12px]`},v={class:`eyebrow mb-5`},y={class:`grid sm:grid-cols-2 lg:grid-cols-3 gap-6`},b={class:`eyebrow mb-5`},x=`/products/kaiser-natron-pulver-250-g-grosspackung.webp`,S={__name:`ProductsSection`,setup(S){let{t:C}=d(),w=e(``);function T(e){w.value=e,setTimeout(()=>{w.value===e&&(w.value=``)},2e3)}return(e,d)=>(t(),r(p,{eyebrow:n(C)(`ds.eyebrow.components`),title:n(C)(`ds.product.title`),description:n(C)(`ds.product.description`)},{default:a(()=>[l(`section`,null,[l(`h2`,m,i(n(C)(`ds.heading.default`)),1),l(`div`,h,[s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,"image-alt":`Kaiser-Natron Pulver 250 g Großpackung`,href:`#`,onAdd:d[0]||=e=>T(`pulver-250`)}),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,badge:n(C)(`ds.badges.featured`),"badge-variant":`accent`,href:`#`,onAdd:d[1]||=e=>T(`pulver-250-featured`)},null,8,[`badge`]),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,tone:`cream`,href:`#`,onAdd:d[2]||=e=>T(`pulver-250-cream`)})]),w.value?(t(),u(`p`,g,[c(i(n(C)(`ds.product.added`))+`: `,1),l(`code`,_,i(w.value),1)])):o(``,!0)]),l(`section`,null,[l(`h2`,v,i(n(C)(`ds.heading.states`)),1),l(`div`,y,[s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,"in-stock":!1}),s(f,{title:`Kaiser-Natron® Pulver`,size:`250 g Großpackung`,price:4.49,image:x,badge:n(C)(`ds.badges.newRelease`),"badge-variant":`brand`,href:`#`},null,8,[`badge`])])]),l(`section`,null,[l(`h2`,b,i(n(C)(`ds.heading.usage`)),1),d[3]||=l(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[l(`pre`,{class:`whitespace-pre-wrap`},`<ProductCard
|
||||
title="Kaiser-Natron® Pulver"
|
||||
size="250 g Großpackung"
|
||||
:price="4.49"
|
||||
@@ -1,4 +1,4 @@
|
||||
import{B as e,C as t,G as n,c as r,ft as i,j as a,m as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-C2O_jcDr.js";import{t as l}from"./QuantityStepper-BB38-Td1.js";import{t as u}from"./SectionShell-XUVs_07L.js";var d={class:`eyebrow mb-5`},f={class:`flex flex-wrap items-center gap-6`},p={class:`eyebrow mb-5`},m={class:`flex flex-wrap items-center gap-6`},h={class:`flex flex-col gap-2`},g={class:`eyebrow`},_={class:`flex flex-col gap-2`},v={class:`eyebrow`},y={class:`flex flex-col gap-2`},b={class:`eyebrow`},x={class:`eyebrow mb-5`},S={__name:`QuantityStepperSection`,setup(S){let{t:C}=c(),w=e(1),T=e(3),E=e(5),D=e(2);return(e,c)=>(t(),r(u,{eyebrow:n(C)(`ds.eyebrow.components`),title:n(C)(`ds.qtyStepper.title`),description:n(C)(`ds.qtyStepper.description`)},{default:a(()=>[s(`section`,null,[s(`h2`,d,i(n(C)(`ds.heading.sizes`)),1),s(`div`,f,[o(l,{modelValue:w.value,"onUpdate:modelValue":c[0]||=e=>w.value=e,size:`sm`,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`]),o(l,{modelValue:T.value,"onUpdate:modelValue":c[1]||=e=>T.value=e,size:`md`,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])])]),s(`section`,null,[s(`h2`,p,i(n(C)(`ds.heading.states`)),1),s(`div`,m,[s(`div`,h,[s(`span`,g,i(n(C)(`ds.qtyStepper.minBoundary`)),1),o(l,{"model-value":0,min:0,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`decrease-label`,`increase-label`])]),s(`div`,_,[s(`span`,v,i(n(C)(`ds.qtyStepper.maxBoundary`)),1),o(l,{modelValue:E.value,"onUpdate:modelValue":c[2]||=e=>E.value=e,max:5,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])]),s(`div`,y,[s(`span`,b,i(n(C)(`ds.buttons.disabled`)),1),o(l,{modelValue:D.value,"onUpdate:modelValue":c[3]||=e=>D.value=e,disabled:``,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])])])]),s(`section`,null,[s(`h2`,x,i(n(C)(`ds.heading.usage`)),1),c[4]||=s(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[s(`pre`,{class:`whitespace-pre-wrap`},`<QuantityStepper
|
||||
import{B as e,C as t,G as n,c as r,ft as i,j as a,m as o,s}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as c}from"./i18n-BkCuZ9ke.js";import{t as l}from"./QuantityStepper-BB38-Td1.js";import{t as u}from"./SectionShell-XUVs_07L.js";var d={class:`eyebrow mb-5`},f={class:`flex flex-wrap items-center gap-6`},p={class:`eyebrow mb-5`},m={class:`flex flex-wrap items-center gap-6`},h={class:`flex flex-col gap-2`},g={class:`eyebrow`},_={class:`flex flex-col gap-2`},v={class:`eyebrow`},y={class:`flex flex-col gap-2`},b={class:`eyebrow`},x={class:`eyebrow mb-5`},S={__name:`QuantityStepperSection`,setup(S){let{t:C}=c(),w=e(1),T=e(3),E=e(5),D=e(2);return(e,c)=>(t(),r(u,{eyebrow:n(C)(`ds.eyebrow.components`),title:n(C)(`ds.qtyStepper.title`),description:n(C)(`ds.qtyStepper.description`)},{default:a(()=>[s(`section`,null,[s(`h2`,d,i(n(C)(`ds.heading.sizes`)),1),s(`div`,f,[o(l,{modelValue:w.value,"onUpdate:modelValue":c[0]||=e=>w.value=e,size:`sm`,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`]),o(l,{modelValue:T.value,"onUpdate:modelValue":c[1]||=e=>T.value=e,size:`md`,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])])]),s(`section`,null,[s(`h2`,p,i(n(C)(`ds.heading.states`)),1),s(`div`,m,[s(`div`,h,[s(`span`,g,i(n(C)(`ds.qtyStepper.minBoundary`)),1),o(l,{"model-value":0,min:0,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`decrease-label`,`increase-label`])]),s(`div`,_,[s(`span`,v,i(n(C)(`ds.qtyStepper.maxBoundary`)),1),o(l,{modelValue:E.value,"onUpdate:modelValue":c[2]||=e=>E.value=e,max:5,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])]),s(`div`,y,[s(`span`,b,i(n(C)(`ds.buttons.disabled`)),1),o(l,{modelValue:D.value,"onUpdate:modelValue":c[3]||=e=>D.value=e,disabled:``,"decrease-label":n(C)(`cart.qty.decrease`),"increase-label":n(C)(`cart.qty.increase`)},null,8,[`modelValue`,`decrease-label`,`increase-label`])])])]),s(`section`,null,[s(`h2`,x,i(n(C)(`ds.heading.usage`)),1),c[4]||=s(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[s(`pre`,{class:`whitespace-pre-wrap`},`<QuantityStepper
|
||||
v-model="quantity"
|
||||
:min="0"
|
||||
:max="10"
|
||||
@@ -1 +1 @@
|
||||
import{C as e,G as t,T as n,c as r,dt as i,ft as a,j as o,r as s,s as c,u as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./i18n-C2O_jcDr.js";import{t as d}from"./SectionShell-XUVs_07L.js";var f={class:`grid grid-cols-2 sm:grid-cols-3 gap-6`},p={class:`font-mono text-[12px] text-ink block`},m={class:`text-[12px] text-muted mt-1`},h={__name:`RadiiSection`,setup(h){let{t:g}=u(),_=[{name:`xs`,value:`6px`},{name:`sm`,value:`10px`},{name:`md`,value:`16px`},{name:`lg`,value:`20px`},{name:`xl`,value:`28px`},{name:`pill`,value:`100px`}];return(u,h)=>(e(),r(d,{eyebrow:t(g)(`ds.eyebrow.tokens`),title:t(g)(`ds.radii.title`),description:t(g)(`ds.radii.description`)},{default:o(()=>[c(`div`,f,[(e(),l(s,null,n(_,e=>c(`div`,{key:e.name,class:`flex flex-col items-center`},[c(`div`,{class:`h-32 w-full bg-paper border border-line mb-4 shadow-sm`,style:i({borderRadius:`var(--radius-${e.name})`})},null,4),c(`code`,p,`--radius-`+a(e.name),1),c(`span`,m,a(e.value),1)])),64))])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{h as default};
|
||||
import{C as e,G as t,T as n,c as r,dt as i,ft as a,j as o,r as s,s as c,u as l}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as u}from"./i18n-BkCuZ9ke.js";import{t as d}from"./SectionShell-XUVs_07L.js";var f={class:`grid grid-cols-2 sm:grid-cols-3 gap-6`},p={class:`font-mono text-[12px] text-ink block`},m={class:`text-[12px] text-muted mt-1`},h={__name:`RadiiSection`,setup(h){let{t:g}=u(),_=[{name:`xs`,value:`6px`},{name:`sm`,value:`10px`},{name:`md`,value:`16px`},{name:`lg`,value:`20px`},{name:`xl`,value:`28px`},{name:`pill`,value:`100px`}];return(u,h)=>(e(),r(d,{eyebrow:t(g)(`ds.eyebrow.tokens`),title:t(g)(`ds.radii.title`),description:t(g)(`ds.radii.description`)},{default:o(()=>[c(`div`,f,[(e(),l(s,null,n(_,e=>c(`div`,{key:e.name,class:`flex flex-col items-center`},[c(`div`,{class:`h-32 w-full bg-paper border border-line mb-4 shadow-sm`,style:i({borderRadius:`var(--radius-${e.name})`})},null,4),c(`code`,p,`--radius-`+a(e.name),1),c(`span`,m,a(e.value),1)])),64))])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{h as default};
|
||||
File diff suppressed because one or more lines are too long
@@ -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-C2O_jcDr.js";import{t as o}from"./Revitalization-B4uAvZpk.js";var s={class:`min-h-screen bg-brand`},c={__name:`RevitalizationPreview`,setup(c){let{t:l}=a(),u=r(()=>[{title:l(`revit.feature.1.title`),icon:`⚗️`},{title:l(`revit.feature.2.title`),icon:`💊`},{title:l(`revit.feature.3.title`),icon:`🌿`}]);return(r,a)=>(e(),i(`div`,s,[n(o,{eyebrow:t(l)(`revit.eyebrow`),headline:t(l)(`revit.headline.a`),"headline-em":t(l)(`revit.headline.em`),sub:t(l)(`revit.sub`),features:u.value,"notify-cta":t(l)(`revit.notifyCta`)},null,8,[`eyebrow`,`headline`,`headline-em`,`sub`,`features`,`notify-cta`])]))}};export{c as default};
|
||||
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-BkCuZ9ke.js";import{t as o}from"./Revitalization-B4uAvZpk.js";var s={class:`min-h-screen bg-brand`},c={__name:`RevitalizationPreview`,setup(c){let{t:l}=a(),u=r(()=>[{title:l(`revit.feature.1.title`),icon:`⚗️`},{title:l(`revit.feature.2.title`),icon:`💊`},{title:l(`revit.feature.3.title`),icon:`🌿`}]);return(r,a)=>(e(),i(`div`,s,[n(o,{eyebrow:t(l)(`revit.eyebrow`),headline:t(l)(`revit.headline.a`),"headline-em":t(l)(`revit.headline.em`),sub:t(l)(`revit.sub`),features:u.value,"notify-cta":t(l)(`revit.notifyCta`)},null,8,[`eyebrow`,`headline`,`headline-em`,`sub`,`features`,`notify-cta`])]))}};export{c as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
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-C2O_jcDr.js";import{t as c}from"./SectionShell-XUVs_07L.js";import{t as l}from"./DevicePreview-CxF-mErd.js";var u={class:`eyebrow mb-5`},d=`/design/preview/revitalization`,f={__name:`RevitalizationSection`,setup(f){let{t:p}=s();return(s,f)=>(e(),n(c,{eyebrow:t(p)(`ds.eyebrow.components`),title:t(p)(`ds.revitalization.title`),description:t(p)(`ds.revitalization.description`),wide:``},{default:i(()=>[o(`section`,null,[a(l,{src:d,initial:`desktop`,height:720})]),o(`section`,null,[o(`h2`,u,r(t(p)(`ds.heading.usage`)),1),f[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`},`<Revitalization
|
||||
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-BkCuZ9ke.js";import{t as c}from"./SectionShell-XUVs_07L.js";import{t as l}from"./DevicePreview-CxF-mErd.js";var u={class:`eyebrow mb-5`},d=`/design/preview/revitalization`,f={__name:`RevitalizationSection`,setup(f){let{t:p}=s();return(s,f)=>(e(),n(c,{eyebrow:t(p)(`ds.eyebrow.components`),title:t(p)(`ds.revitalization.title`),description:t(p)(`ds.revitalization.description`),wide:``},{default:i(()=>[o(`section`,null,[a(l,{src:d,initial:`desktop`,height:720})]),o(`section`,null,[o(`h2`,u,r(t(p)(`ds.heading.usage`)),1),f[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`},`<Revitalization
|
||||
:eyebrow="t('revit.eyebrow')"
|
||||
:headline="t('revit.headline.a')"
|
||||
:headline-em="t('revit.headline.em')"
|
||||
File diff suppressed because one or more lines are too long
@@ -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,p as c,r as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as f}from"./Icon-CtR1FGIT.js";import{t as p}from"./i18n-C2O_jcDr.js";import{t as m}from"./Search-C4BYc3mK.js";import{a as h,r as g}from"./products-CfIXFr2X.js";import{t as _}from"./Button-DG-tA4DQ.js";import{t as v}from"./SectionShell-XUVs_07L.js";var y={class:`eyebrow mb-5`},b={class:`rounded-md border border-line bg-paper p-6 flex flex-col sm:flex-row sm:items-center gap-4`},x={class:`text-[13px] text-muted`},S={class:`eyebrow mb-5`},C={class:`rounded-md border border-line bg-paper divide-y divide-line overflow-hidden`},w=[`src`,`alt`],T={class:`min-w-0 flex-1`},E={class:`text-[14px] font-semibold text-ink truncate`},D={class:`text-[12px] text-muted truncate`},O={class:`shrink-0 text-[13px] font-semibold text-brand`},k={class:`eyebrow mb-5`},A=`natron pulver`,j={__name:`SearchSection`,setup(j){let{t:M}=p(),N=e(!1),P=h(A,g,4);return(e,p)=>(t(),i(v,{eyebrow:n(M)(`ds.eyebrow.components`),title:n(M)(`ds.search.title`),description:n(M)(`ds.search.description`)},{default:o(()=>[u(`section`,null,[u(`h2`,y,a(n(M)(`ds.heading.default`)),1),u(`div`,b,[s(_,{variant:`primary`,onClick:p[0]||=e=>N.value=!0},{before:o(()=>[s(f,{name:`search`,size:18})]),default:o(()=>[c(` `+a(n(M)(`ds.search.demo.label`)),1)]),_:1}),u(`p`,x,a(n(M)(`ds.search.demo.hint`)),1)])]),u(`section`,null,[u(`h2`,S,a(n(M)(`ds.heading.variants`))+` — "`+a(A)+`"`,1),u(`ul`,C,[(t(!0),d(l,null,r(n(P),e=>(t(),d(`li`,{key:e.id,class:`flex items-center gap-4 px-4 py-3`},[u(`img`,{src:e.image,alt:e.title,loading:`lazy`,decoding:`async`,class:`shrink-0 w-12 h-12 rounded-sm object-cover bg-cream`},null,8,w),u(`div`,T,[u(`p`,E,a(e.title),1),u(`p`,D,a(e.size)+` · `+a(e.category),1)]),u(`span`,O,`€ `+a(e.price.toFixed(2).replace(`.`,`,`)),1)]))),128))])]),u(`section`,null,[u(`h2`,k,a(n(M)(`ds.heading.usage`)),1),p[2]||=u(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[u(`pre`,{class:`whitespace-pre-wrap`},`import { products } from '@/api/products.js'
|
||||
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,p as c,r as l,s as u,u as d}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as f}from"./Icon-CtR1FGIT.js";import{t as p}from"./i18n-BkCuZ9ke.js";import{t as m}from"./Search-92tcX-Ay.js";import{a as h,r as g}from"./products-CfIXFr2X.js";import{t as _}from"./Button-DG-tA4DQ.js";import{t as v}from"./SectionShell-XUVs_07L.js";var y={class:`eyebrow mb-5`},b={class:`rounded-md border border-line bg-paper p-6 flex flex-col sm:flex-row sm:items-center gap-4`},x={class:`text-[13px] text-muted`},S={class:`eyebrow mb-5`},C={class:`rounded-md border border-line bg-paper divide-y divide-line overflow-hidden`},w=[`src`,`alt`],T={class:`min-w-0 flex-1`},E={class:`text-[14px] font-semibold text-ink truncate`},D={class:`text-[12px] text-muted truncate`},O={class:`shrink-0 text-[13px] font-semibold text-brand`},k={class:`eyebrow mb-5`},A=`natron pulver`,j={__name:`SearchSection`,setup(j){let{t:M}=p(),N=e(!1),P=h(A,g,4);return(e,p)=>(t(),i(v,{eyebrow:n(M)(`ds.eyebrow.components`),title:n(M)(`ds.search.title`),description:n(M)(`ds.search.description`)},{default:o(()=>[u(`section`,null,[u(`h2`,y,a(n(M)(`ds.heading.default`)),1),u(`div`,b,[s(_,{variant:`primary`,onClick:p[0]||=e=>N.value=!0},{before:o(()=>[s(f,{name:`search`,size:18})]),default:o(()=>[c(` `+a(n(M)(`ds.search.demo.label`)),1)]),_:1}),u(`p`,x,a(n(M)(`ds.search.demo.hint`)),1)])]),u(`section`,null,[u(`h2`,S,a(n(M)(`ds.heading.variants`))+` — "`+a(A)+`"`,1),u(`ul`,C,[(t(!0),d(l,null,r(n(P),e=>(t(),d(`li`,{key:e.id,class:`flex items-center gap-4 px-4 py-3`},[u(`img`,{src:e.image,alt:e.title,loading:`lazy`,decoding:`async`,class:`shrink-0 w-12 h-12 rounded-sm object-cover bg-cream`},null,8,w),u(`div`,T,[u(`p`,E,a(e.title),1),u(`p`,D,a(e.size)+` · `+a(e.category),1)]),u(`span`,O,`€ `+a(e.price.toFixed(2).replace(`.`,`,`)),1)]))),128))])]),u(`section`,null,[u(`h2`,k,a(n(M)(`ds.heading.usage`)),1),p[2]||=u(`div`,{class:`rounded-md border border-line bg-paper p-6 font-mono text-[12px] text-ink`},[u(`pre`,{class:`whitespace-pre-wrap`},`import { products } from '@/api/products.js'
|
||||
import Search from '@/design-system/components/Search.vue'
|
||||
|
||||
const open = ref(false)
|
||||
@@ -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-C2O_jcDr.js";import{t as f}from"./SectionShell-XUVs_07L.js";var p={class:`grid sm:grid-cols-3 gap-8`},m={class:`font-mono text-[12px] text-ink block`},h={class:`text-[13px] text-muted mt-1`},g={__name:`ShadowsSection`,setup(g){let{t:_}=d(),v=s(()=>[{name:`sm`,css:`var(--shadow-sm)`,note:_(`ds.shadows.sm.note`)},{name:`md`,css:`var(--shadow-md)`,note:_(`ds.shadows.md.note`)},{name:`lg`,css:`var(--shadow-lg)`,note:_(`ds.shadows.lg.note`)}]);return(s,d)=>(e(),r(f,{eyebrow:t(_)(`ds.eyebrow.tokens`),title:t(_)(`ds.shadows.title`),description:t(_)(`ds.shadows.description`)},{default:o(()=>[l(`div`,p,[(e(!0),u(c,null,n(v.value,t=>(e(),u(`div`,{key:t.name,class:`space-y-4`},[l(`div`,{class:`h-36 rounded-md bg-paper`,style:i({boxShadow:t.css})},null,4),l(`div`,null,[l(`code`,m,`--shadow-`+a(t.name),1),l(`p`,h,a(t.note),1)])]))),128))])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default};
|
||||
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-BkCuZ9ke.js";import{t as f}from"./SectionShell-XUVs_07L.js";var p={class:`grid sm:grid-cols-3 gap-8`},m={class:`font-mono text-[12px] text-ink block`},h={class:`text-[13px] text-muted mt-1`},g={__name:`ShadowsSection`,setup(g){let{t:_}=d(),v=s(()=>[{name:`sm`,css:`var(--shadow-sm)`,note:_(`ds.shadows.sm.note`)},{name:`md`,css:`var(--shadow-md)`,note:_(`ds.shadows.md.note`)},{name:`lg`,css:`var(--shadow-lg)`,note:_(`ds.shadows.lg.note`)}]);return(s,d)=>(e(),r(f,{eyebrow:t(_)(`ds.eyebrow.tokens`),title:t(_)(`ds.shadows.title`),description:t(_)(`ds.shadows.description`)},{default:o(()=>[l(`div`,p,[(e(!0),u(c,null,n(v.value,t=>(e(),u(`div`,{key:t.name,class:`space-y-4`},[l(`div`,{class:`h-36 rounded-md bg-paper`,style:i({boxShadow:t.css})},null,4),l(`div`,null,[l(`code`,m,`--shadow-`+a(t.name),1),l(`p`,h,a(t.note),1)])]))),128))])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{g as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{C as e,G as t,T as n,c as r,ft as i,j as a,m as o,r as s,s as c,u as l,ut as u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-C2O_jcDr.js";import{t as f}from"./SectionShell-XUVs_07L.js";import{t as p}from"./Card-CPlQ-6EI.js";var m={class:`grid md:grid-cols-2 gap-6`},h={class:`eyebrow mb-3`},g={class:`text-[14px] text-muted leading-relaxed`},_={class:`eyebrow mb-3`},v={class:`text-[14px] text-muted leading-relaxed`},y={class:`eyebrow mb-6`},b={class:`divide-y divide-line rounded-md border border-line bg-paper px-6`},x={class:`font-mono text-[11px] text-muted w-24 shrink-0`},S={__name:`TypographySection`,setup(S){let{t:C}=d(),w=[`xs`,`sm`,`base`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`];return(d,S)=>(e(),r(f,{eyebrow:t(C)(`ds.eyebrow.tokens`),title:t(C)(`ds.typography.title`),description:t(C)(`ds.typography.description`)},{default:a(()=>[c(`section`,m,[o(p,{tone:`paper`},{default:a(()=>[c(`p`,h,i(t(C)(`ds.heading.display`)),1),S[0]||=c(`p`,{class:`font-display text-5xl font-normal leading-[1.05] mb-3`},`Fraunces`,-1),c(`p`,g,i(t(C)(`ds.typography.serifDesc`)),1),S[1]||=c(`code`,{class:`font-mono text-[11px] text-muted block mt-5`},`var(--font-serif)`,-1)]),_:1}),o(p,{tone:`paper`},{default:a(()=>[c(`p`,_,i(t(C)(`ds.heading.body`)),1),S[2]||=c(`p`,{class:`font-sans text-5xl font-medium leading-[1.05] mb-3`},`DM Sans`,-1),c(`p`,v,i(t(C)(`ds.typography.sansDesc`)),1),S[3]||=c(`code`,{class:`font-mono text-[11px] text-muted block mt-5`},`var(--font-sans)`,-1)]),_:1})]),c(`section`,null,[c(`h2`,y,i(t(C)(`ds.heading.scale`)),1),c(`div`,b,[(e(),l(s,null,n(w,e=>c(`div`,{key:e,class:`flex items-baseline gap-8 py-4`},[c(`code`,x,`text-`+i(e),1),c(`span`,{class:u(`text-${e}`)},i(t(C)(`ds.typography.sample`)),3)])),64))])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{S as default};
|
||||
import{C as e,G as t,T as n,c as r,ft as i,j as a,m as o,r as s,s as c,u as l,ut as u}from"./runtime-core.esm-bundler-DTXUv7Wx.js";import{t as d}from"./i18n-BkCuZ9ke.js";import{t as f}from"./SectionShell-XUVs_07L.js";import{t as p}from"./Card-CPlQ-6EI.js";var m={class:`grid md:grid-cols-2 gap-6`},h={class:`eyebrow mb-3`},g={class:`text-[14px] text-muted leading-relaxed`},_={class:`eyebrow mb-3`},v={class:`text-[14px] text-muted leading-relaxed`},y={class:`eyebrow mb-6`},b={class:`divide-y divide-line rounded-md border border-line bg-paper px-6`},x={class:`font-mono text-[11px] text-muted w-24 shrink-0`},S={__name:`TypographySection`,setup(S){let{t:C}=d(),w=[`xs`,`sm`,`base`,`lg`,`xl`,`2xl`,`3xl`,`4xl`,`5xl`];return(d,S)=>(e(),r(f,{eyebrow:t(C)(`ds.eyebrow.tokens`),title:t(C)(`ds.typography.title`),description:t(C)(`ds.typography.description`)},{default:a(()=>[c(`section`,m,[o(p,{tone:`paper`},{default:a(()=>[c(`p`,h,i(t(C)(`ds.heading.display`)),1),S[0]||=c(`p`,{class:`font-display text-5xl font-normal leading-[1.05] mb-3`},`Fraunces`,-1),c(`p`,g,i(t(C)(`ds.typography.serifDesc`)),1),S[1]||=c(`code`,{class:`font-mono text-[11px] text-muted block mt-5`},`var(--font-serif)`,-1)]),_:1}),o(p,{tone:`paper`},{default:a(()=>[c(`p`,_,i(t(C)(`ds.heading.body`)),1),S[2]||=c(`p`,{class:`font-sans text-5xl font-medium leading-[1.05] mb-3`},`DM Sans`,-1),c(`p`,v,i(t(C)(`ds.typography.sansDesc`)),1),S[3]||=c(`code`,{class:`font-mono text-[11px] text-muted block mt-5`},`var(--font-sans)`,-1)]),_:1})]),c(`section`,null,[c(`h2`,y,i(t(C)(`ds.heading.scale`)),1),c(`div`,b,[(e(),l(s,null,n(w,e=>c(`div`,{key:e,class:`flex items-baseline gap-8 py-4`},[c(`code`,x,`text-`+i(e),1),c(`span`,{class:u(`text-${e}`)},i(t(C)(`ds.typography.sample`)),3)])),64))])])]),_:1},8,[`eyebrow`,`title`,`description`]))}};export{S as default};
|
||||
1
dist/assets/bundles-Bf8Zy1Kk.js
vendored
Normal file
1
dist/assets/bundles-Bf8Zy1Kk.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
var e=[{id:`haushalt`,nameKey:`bundle.haushalt.name`,usageKey:`bundle.haushalt.usage`,descriptionKey:`bundle.haushalt.description`,imageAltKey:`bundle.haushalt.imageAlt`,itemKeys:[`bundle.haushalt.items.0`,`bundle.haushalt.items.1`,`bundle.haushalt.items.2`],badgeKey:`bundle.haushalt.badge`,badgeVariant:`accent`,price:24.9,image:`/bundles/background/haushalt-bundle-2.webp`,aiEdited:!0,anchorProductId:`kaiser-natron-pulver-250-g-grosspackung`,href:`/bundles/haushalt`},{id:`waesche`,nameKey:`bundle.waesche.name`,usageKey:`bundle.waesche.usage`,descriptionKey:`bundle.waesche.description`,imageAltKey:`bundle.waesche.imageAlt`,itemKeys:[`bundle.waesche.items.0`,`bundle.waesche.items.1`,`bundle.waesche.items.2`],badgeKey:``,badgeVariant:`accent`,price:22.9,image:`/bundles/background/waesche-pflege-bundle.webp`,aiEdited:!0,anchorProductId:`holste-wasch-soda-500-g-beutel`,href:`/bundles/waesche`},{id:`wohlfuehl`,nameKey:`bundle.wohlfuehl.name`,usageKey:`bundle.wohlfuehl.usage`,descriptionKey:`bundle.wohlfuehl.description`,imageAltKey:`bundle.wohlfuehl.imageAlt`,itemKeys:[`bundle.wohlfuehl.items.0`,`bundle.wohlfuehl.items.1`,`bundle.wohlfuehl.items.2`],badgeKey:``,badgeVariant:`accent`,price:29.9,image:`/bundles/background/wohlfuehl-bundle.webp`,aiEdited:!0,anchorProductId:`kaiser-natron-bad-500-g`,href:`/bundles/wohlfuehl`}];function t(t){return e.find(e=>e.id===t)||null}export{t as n,e as t};
|
||||
1
dist/assets/bundles-CbVF2Hvx.js
vendored
1
dist/assets/bundles-CbVF2Hvx.js
vendored
@@ -1 +0,0 @@
|
||||
var e=[{id:`haushalt`,nameKey:`bundle.haushalt.name`,usageKey:`bundle.haushalt.usage`,descriptionKey:`bundle.haushalt.description`,imageAltKey:`bundle.haushalt.imageAlt`,itemKeys:[`bundle.haushalt.items.0`,`bundle.haushalt.items.1`,`bundle.haushalt.items.2`],badgeKey:`bundle.haushalt.badge`,badgeVariant:`accent`,price:24.9,memberPrice:21.17,image:`/bundles/background/haushalt-bundle-2.webp`,aiEdited:!0,anchorProductId:`kaiser-natron-pulver-250-g-grosspackung`,href:`/bundles/haushalt`},{id:`waesche`,nameKey:`bundle.waesche.name`,usageKey:`bundle.waesche.usage`,descriptionKey:`bundle.waesche.description`,imageAltKey:`bundle.waesche.imageAlt`,itemKeys:[`bundle.waesche.items.0`,`bundle.waesche.items.1`,`bundle.waesche.items.2`],badgeKey:``,badgeVariant:`accent`,price:22.9,memberPrice:19.47,image:`/bundles/background/waesche-pflege-bundle.webp`,aiEdited:!0,anchorProductId:`holste-wasch-soda-500-g-beutel`,href:`/bundles/waesche`},{id:`wohlfuehl`,nameKey:`bundle.wohlfuehl.name`,usageKey:`bundle.wohlfuehl.usage`,descriptionKey:`bundle.wohlfuehl.description`,imageAltKey:`bundle.wohlfuehl.imageAlt`,itemKeys:[`bundle.wohlfuehl.items.0`,`bundle.wohlfuehl.items.1`,`bundle.wohlfuehl.items.2`],badgeKey:``,badgeVariant:`accent`,price:29.9,memberPrice:25.42,image:`/bundles/background/wohlfuehl-bundle.webp`,aiEdited:!0,anchorProductId:`kaiser-natron-bad-500-g`,href:`/bundles/wohlfuehl`}];function t(t){return e.find(e=>e.id===t)||null}export{t as n,e as t};
|
||||
21
dist/assets/i18n-BkCuZ9ke.js
vendored
Normal file
21
dist/assets/i18n-BkCuZ9ke.js
vendored
Normal file
File diff suppressed because one or more lines are too long
21
dist/assets/i18n-C2O_jcDr.js
vendored
21
dist/assets/i18n-C2O_jcDr.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dist/index.html
vendored
2
dist/index.html
vendored
@@ -7,7 +7,7 @@
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
<title>Kaiser Natron</title>
|
||||
<!-- Zeitung is self-hosted (see @font-face in src/assets/styles.css); no external font CDN. -->
|
||||
<script type="module" crossorigin src="/assets/index-CAzFHHfv.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-oUv4zpZU.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/preload-helper-ca-nBW7U.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-DTXUv7Wx.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/runtime-dom.esm-bundler-Bg1uJ-W7.js">
|
||||
|
||||
@@ -29,7 +29,6 @@ export const bundles = [
|
||||
badgeKey: 'bundle.haushalt.badge',
|
||||
badgeVariant: 'accent',
|
||||
price: 24.9,
|
||||
memberPrice: 21.17,
|
||||
image: '/bundles/background/haushalt-bundle-2.webp',
|
||||
// AI-composed artwork — disclosed with an "AI Edited" overlay until
|
||||
// real product photography replaces it (brand-owner L5/L6).
|
||||
@@ -51,7 +50,6 @@ export const bundles = [
|
||||
badgeKey: '',
|
||||
badgeVariant: 'accent',
|
||||
price: 22.9,
|
||||
memberPrice: 19.47,
|
||||
image: '/bundles/background/waesche-pflege-bundle.webp',
|
||||
aiEdited: true,
|
||||
anchorProductId: 'holste-wasch-soda-500-g-beutel',
|
||||
@@ -71,7 +69,6 @@ export const bundles = [
|
||||
badgeKey: '',
|
||||
badgeVariant: 'accent',
|
||||
price: 29.9,
|
||||
memberPrice: 25.42,
|
||||
image: '/bundles/background/wohlfuehl-bundle.webp',
|
||||
aiEdited: true,
|
||||
anchorProductId: 'kaiser-natron-bad-500-g',
|
||||
|
||||
@@ -21,7 +21,6 @@ const props = defineProps({
|
||||
// collapse into a "+ N weitere" line so the card stays scannable.
|
||||
items: { type: Array, required: true },
|
||||
price: { type: Number, required: true },
|
||||
memberPrice: { type: Number, default: null },
|
||||
usage: { type: String, default: '' },
|
||||
image: { type: String, required: true },
|
||||
imageAlt: { type: String, default: '' },
|
||||
@@ -80,9 +79,6 @@ function formatMoney(amount) {
|
||||
}
|
||||
|
||||
const priceLabel = computed(() => formatMoney(props.price))
|
||||
const memberLabel = computed(() =>
|
||||
props.memberPrice != null ? formatMoney(props.memberPrice) : '',
|
||||
)
|
||||
|
||||
const MAX_ITEMS = 3
|
||||
const visibleItems = computed(() => props.items.slice(0, MAX_ITEMS))
|
||||
@@ -229,9 +225,6 @@ const extraCount = computed(() => Math.max(0, props.items.length - MAX_ITEMS))
|
||||
<span class="font-display text-2xl font-normal text-brand leading-none">
|
||||
{{ priceLabel }}
|
||||
</span>
|
||||
<span v-if="memberLabel" class="text-xs text-muted mt-1">
|
||||
{{ t('bundles.card.memberPrefix') }} {{ memberLabel }}
|
||||
</span>
|
||||
<span
|
||||
v-if="!inStock"
|
||||
class="text-xs font-semibold tracking-label uppercase text-danger mt-1"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<script setup>
|
||||
import { ref, onMounted, onBeforeUnmount } from 'vue'
|
||||
import Button from './Button.vue'
|
||||
import Icon from './Icon.vue'
|
||||
import IconButton from './IconButton.vue'
|
||||
import BundleCard from './BundleCard.vue'
|
||||
@@ -45,9 +44,7 @@ const props = defineProps({
|
||||
validator: (arr) => arr.every((v) => typeof v === 'string'),
|
||||
},
|
||||
|
||||
joinCta: { type: String, default: '' },
|
||||
|
||||
// { id, name, items[], price, memberPrice?, usage?, image, imageAlt?,
|
||||
// { id, name, items[], price, usage?, image, imageAlt?,
|
||||
// badge?, badgeVariant? } per bundle.
|
||||
bundles: { type: Array, required: true },
|
||||
|
||||
@@ -58,7 +55,7 @@ const props = defineProps({
|
||||
carouselGoToPrefix: { type: String, default: '' },
|
||||
})
|
||||
|
||||
defineEmits(['add', 'join'])
|
||||
defineEmits(['add'])
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
@@ -145,9 +142,8 @@ onBeforeUnmount(() => {
|
||||
Row 1: headline + sub (single column, full width).
|
||||
Row 2: benefits as a horizontal chip row inside a paper
|
||||
container — sits between the pitch and the products
|
||||
as a "why join" summary strip.
|
||||
Row 3: mobile stack / md+ 3-up grid of bundle cards.
|
||||
Row 4: "become a member" CTA centred below the products. -->
|
||||
as a "why bundle" summary strip.
|
||||
Row 3: mobile stack / md+ 3-up grid of bundle cards. -->
|
||||
<div v-if="layout === 'stacked'" class="flex flex-col gap-10 md:gap-12 lg:gap-14">
|
||||
<!-- Row 1: headline + sub. Full width so the pitch reads as a
|
||||
section opener rather than a split banner. -->
|
||||
@@ -202,7 +198,6 @@ onBeforeUnmount(() => {
|
||||
:name="bundle.name"
|
||||
:items="bundle.items"
|
||||
:price="bundle.price"
|
||||
:member-price="bundle.memberPrice"
|
||||
:usage="bundle.usage"
|
||||
:image="bundle.image"
|
||||
:image-alt="bundle.imageAlt"
|
||||
@@ -222,7 +217,6 @@ onBeforeUnmount(() => {
|
||||
:name="bundle.name"
|
||||
:items="bundle.items"
|
||||
:price="bundle.price"
|
||||
:member-price="bundle.memberPrice"
|
||||
:usage="bundle.usage"
|
||||
:image="bundle.image"
|
||||
:image-alt="bundle.imageAlt"
|
||||
@@ -235,17 +229,6 @@ onBeforeUnmount(() => {
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bottom CTA — centred below the products so the eye lands
|
||||
on it last, after the member pitch has been made above
|
||||
and the products have been scanned. -->
|
||||
<div v-if="joinCta" class="flex justify-center">
|
||||
<Button
|
||||
variant="primary"
|
||||
size="lg"
|
||||
@click="$emit('join')"
|
||||
>{{ joinCta }}</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- SIDEBAR layout (option 1, original).
|
||||
@@ -262,13 +245,6 @@ onBeforeUnmount(() => {
|
||||
sub-max-width="max-w-md"
|
||||
/>
|
||||
<BundlesBenefits :benefits="benefits" />
|
||||
<Button
|
||||
v-if="joinCta"
|
||||
variant="primary"
|
||||
size="md"
|
||||
class="self-start"
|
||||
@click="$emit('join')"
|
||||
>{{ joinCta }}</Button>
|
||||
</aside>
|
||||
|
||||
<!-- `min-w-0` is load-bearing: a grid `1fr` column defaults to
|
||||
@@ -286,7 +262,6 @@ onBeforeUnmount(() => {
|
||||
:name="bundle.name"
|
||||
:items="bundle.items"
|
||||
:price="bundle.price"
|
||||
:member-price="bundle.memberPrice"
|
||||
:usage="bundle.usage"
|
||||
:image="bundle.image"
|
||||
:image-alt="bundle.imageAlt"
|
||||
@@ -327,7 +302,6 @@ onBeforeUnmount(() => {
|
||||
:name="bundle.name"
|
||||
:items="bundle.items"
|
||||
:price="bundle.price"
|
||||
:member-price="bundle.memberPrice"
|
||||
:usage="bundle.usage"
|
||||
:image="bundle.image"
|
||||
:image-alt="bundle.imageAlt"
|
||||
|
||||
@@ -51,8 +51,9 @@ const legalLinks = [
|
||||
|
||||
const exploreLinks = [
|
||||
{ key: 'footer.explore.shop', href: '/shop' },
|
||||
{ key: 'footer.explore.pflege', href: '/pflege' },
|
||||
{ key: 'footer.explore.kueche', href: '/kueche' },
|
||||
{ key: 'footer.explore.haushalt', href: '/haushalt' },
|
||||
{ key: 'footer.explore.pflege', href: '/pflege' },
|
||||
{ key: 'footer.explore.bundles', href: '/#bundles' },
|
||||
{ key: 'footer.explore.about', href: '/#about' },
|
||||
]
|
||||
|
||||
@@ -457,7 +457,6 @@ const de = {
|
||||
// is keyed individually so the structural data in src/api/bundles.js
|
||||
// can stay locale-free.
|
||||
'bundle.items': 'Im Bundle enthalten',
|
||||
'bundle.memberPrice': 'Mitgliederpreis',
|
||||
'product.notFound.title': 'Nicht gefunden',
|
||||
'product.notFound.body': 'Dieser Eintrag ist nicht mehr verfügbar oder wurde verschoben.',
|
||||
|
||||
@@ -544,13 +543,11 @@ const de = {
|
||||
// Bundles section — copy for the sidebar, card chrome, and carousel.
|
||||
'bundles.headline.a': 'Bundles &',
|
||||
'bundles.headline.em': 'Vorteile',
|
||||
'bundles.sub': 'Als Mitglied sparst du durch Staffelrabatte, exklusive Bundle-Deals und Frühzugang auf neue Produkte.',
|
||||
'bundles.benefit.1.title': 'Staffelrabatt bis −25 %',
|
||||
'bundles.benefit.2.title': 'Exklusive Bundle-Deals',
|
||||
'bundles.benefit.3.title': 'Frühzugang & Neuheiten',
|
||||
'bundles.joinCta': 'Mitglied werden',
|
||||
'bundles.card.priceLabel': 'Verkaufspreis',
|
||||
'bundles.card.memberPrefix': 'Mitglieder:',
|
||||
'bundles.sub': 'Kuratierte Sets aus aufeinander abgestimmten Produkten — alles, was du für einen Bereich brauchst, in einem Paket.',
|
||||
'bundles.benefit.1.title': 'Aufeinander abgestimmt',
|
||||
'bundles.benefit.2.title': 'Alles für einen Bereich',
|
||||
'bundles.benefit.3.title': 'In einer Lieferung',
|
||||
'bundles.card.priceLabel': 'Preis',
|
||||
'bundles.card.moreItems': 'weitere',
|
||||
// Carousel chrome — lives under ds.* because it belongs to the Bundles
|
||||
// component itself, not to any particular page's content.
|
||||
@@ -561,9 +558,9 @@ const de = {
|
||||
|
||||
// Design-system documentation pages (BundleCard, Bundles, Revitalization, About)
|
||||
'ds.bundleCard.title': 'Bundle-Karte',
|
||||
'ds.bundleCard.description': 'Zusammengesetzte Karte für kuratierte Produktpakete. Medien mit optionalem Badge, Nutzungs-Label, Titel, bis zu drei Artikeln, Preisblock (inkl. Mitgliederpreis) und Primär-CTA. Zwei Layouts — vertikal für Raster, horizontal für Karussell-Slides von md aufwärts.',
|
||||
'ds.bundleCard.description': 'Zusammengesetzte Karte für kuratierte Produktpakete. Medien mit optionalem Badge, Nutzungs-Label, Titel, bis zu drei Artikeln, Preisblock und Primär-CTA. Zwei Layouts — vertikal für Raster, horizontal für Karussell-Slides von md aufwärts.',
|
||||
'ds.bundles.title': 'Bundles-Sektion',
|
||||
'ds.bundles.description': 'Kompound-Sektion mit fixer Sidebar (Headline + drei Vorteile + Mitglieder-CTA) und einem Scroll-Snap-Karussell mit horizontalen Bundle-Karten von md aufwärts. Tastatur und Touch-Swipe funktionieren out of the box; die Pfeile loopen am Ende zurück zum Anfang.',
|
||||
'ds.bundles.description': 'Kompound-Sektion mit fixer Sidebar (Headline + drei Vorteile) und einem Scroll-Snap-Karussell mit horizontalen Bundle-Karten von md aufwärts. Tastatur und Touch-Swipe funktionieren out of the box; die Pfeile loopen am Ende zurück zum Anfang.',
|
||||
'ds.revitalization.title': 'Revitalization Center',
|
||||
'ds.revitalization.description': 'Zentrierte Feature-Teaser-Sektion auf Markengrün. Eyebrow-Badge, Display-Headline mit italic-Highlight, Unterzeile, bis zu drei Pillar-Punkte mit Akzent-Dots und ein einzelner CTA. Gedacht für „Demnächst"-Ankündigungen.',
|
||||
'ds.about.title': 'About / Geschichte',
|
||||
@@ -637,8 +634,9 @@ const de = {
|
||||
'footer.tagline': 'Das Original aus Österreich. Reines Natron für Küche, Haushalt und Pflege – seit Generationen.',
|
||||
'footer.explore.heading': 'Entdecken',
|
||||
'footer.explore.shop': 'Shop',
|
||||
'footer.explore.kueche': 'Küche',
|
||||
'footer.explore.haushalt': 'Reinigung',
|
||||
'footer.explore.pflege': 'Pflege',
|
||||
'footer.explore.haushalt': 'Haushalt',
|
||||
'footer.explore.bundles': 'Bundles',
|
||||
'footer.explore.about': 'Über uns',
|
||||
'footer.legal.heading': 'Rechtliches',
|
||||
@@ -693,7 +691,7 @@ const de = {
|
||||
'legal.datenschutz.section.contact.body': 'Für alle Anliegen rund um den Datenschutz erreichen Sie uns unter datenschutz@kaiser-natron.at oder postalisch an die im Impressum angegebene Adresse.',
|
||||
|
||||
// Category landings — Pflege (care) and Haushalt (clean).
|
||||
'category.pflege.eyebrow': 'Pflege & Wohlbefinden',
|
||||
'category.pflege.eyebrow': 'Pflege',
|
||||
'category.pflege.title.a': 'Baden, pflegen,',
|
||||
'category.pflege.title.em': 'durchatmen.',
|
||||
'category.pflege.sub': 'Bade- und Pflegeprodukte rund um Kaiser-Natron® — abgestimmt auf Alltag, Sport und entspannte Stunden.',
|
||||
@@ -714,7 +712,7 @@ const de = {
|
||||
'category.pflege.cta.sub': 'Reinigung, Wäsche, Küche – das ganze Sortiment auf einen Blick.',
|
||||
'category.pflege.cta.button': 'Zum Shop',
|
||||
|
||||
'category.haushalt.eyebrow': 'Haushalt & Reinigung',
|
||||
'category.haushalt.eyebrow': 'Reinigung',
|
||||
'category.haushalt.title.a': 'Schrubben, waschen,',
|
||||
'category.haushalt.title.em': 'alles sauber.',
|
||||
'category.haushalt.sub': 'Natron-basierte Reiniger und Waschhelfer, die auch bei hartnäckigem Schmutz überzeugen — ohne unnötige Chemie.',
|
||||
@@ -735,7 +733,7 @@ const de = {
|
||||
'category.haushalt.cta.sub': 'Bade- und Küchenartikel, Bundles und mehr — alles auf einer Seite.',
|
||||
'category.haushalt.cta.button': 'Zum Shop',
|
||||
|
||||
'category.kueche.eyebrow': 'Küche & Backen',
|
||||
'category.kueche.eyebrow': 'Küche',
|
||||
'category.kueche.title.a': 'Backen, kochen,',
|
||||
'category.kueche.title.em': 'fein dosiert.',
|
||||
'category.kueche.sub': 'Reines Kaiser-Natron® in Lebensmittelqualität – zum Backen, Kochen und für die kleinen Küchentricks des Alltags.',
|
||||
@@ -1283,7 +1281,6 @@ const en = {
|
||||
|
||||
// Bundle detail page (/bundles/<slug>) + home grid copy.
|
||||
'bundle.items': 'In this bundle',
|
||||
'bundle.memberPrice': 'Member price',
|
||||
'product.notFound.title': 'Not found',
|
||||
'product.notFound.body': 'This item is no longer available or has been moved.',
|
||||
|
||||
@@ -1370,13 +1367,11 @@ const en = {
|
||||
// Bundles section
|
||||
'bundles.headline.a': 'Bundles &',
|
||||
'bundles.headline.em': 'Benefits',
|
||||
'bundles.sub': 'Members save with tiered discounts, exclusive bundle deals, and early access to new products.',
|
||||
'bundles.benefit.1.title': 'Tiered discount up to −25%',
|
||||
'bundles.benefit.2.title': 'Exclusive bundle deals',
|
||||
'bundles.benefit.3.title': 'Early access & new releases',
|
||||
'bundles.joinCta': 'Become a member',
|
||||
'bundles.card.priceLabel': 'Retail price',
|
||||
'bundles.card.memberPrefix': 'Members:',
|
||||
'bundles.sub': 'Curated sets of products chosen to work together — everything you need for one area, in a single pack.',
|
||||
'bundles.benefit.1.title': 'Chosen to work together',
|
||||
'bundles.benefit.2.title': 'Everything for one area',
|
||||
'bundles.benefit.3.title': 'In a single delivery',
|
||||
'bundles.card.priceLabel': 'Price',
|
||||
'bundles.card.moreItems': 'more',
|
||||
// Carousel chrome — ds.* because it belongs to the Bundles component.
|
||||
'ds.bundles.carousel.label': 'Bundle carousel',
|
||||
@@ -1386,9 +1381,9 @@ const en = {
|
||||
|
||||
// Design-system documentation pages
|
||||
'ds.bundleCard.title': 'Bundle card',
|
||||
'ds.bundleCard.description': 'Composed card for curated product bundles. Media with optional badge, usage label, title, up to three line items, a price block (retail + member price) and a primary CTA. Two layouts — vertical for grid use and horizontal for carousel slides from md up.',
|
||||
'ds.bundleCard.description': 'Composed card for curated product bundles. Media with optional badge, usage label, title, up to three line items, a price block and a primary CTA. Two layouts — vertical for grid use and horizontal for carousel slides from md up.',
|
||||
'ds.bundles.title': 'Bundles section',
|
||||
'ds.bundles.description': 'Compound section combining a sticky sidebar (headline + three benefits + member CTA) with a scroll-snap carousel of horizontal bundle cards from md up. Keyboard and touch swipe work natively; the arrow controls loop past the ends.',
|
||||
'ds.bundles.description': 'Compound section combining a sticky sidebar (headline + three benefits) with a scroll-snap carousel of horizontal bundle cards from md up. Keyboard and touch swipe work natively; the arrow controls loop past the ends.',
|
||||
'ds.revitalization.title': 'Revitalization Center',
|
||||
'ds.revitalization.description': 'Centered feature-teaser section on brand green. Eyebrow badge, display headline with an italic highlight, subheadline, up to three pillar bullets with accent dots and a single CTA. Designed for "coming soon" announcements.',
|
||||
'ds.about.title': 'About / history',
|
||||
@@ -1468,8 +1463,9 @@ const en = {
|
||||
'footer.tagline': 'The original from Austria. Pure sodium bicarbonate for the kitchen, the home, and personal care — for generations.',
|
||||
'footer.explore.heading': 'Explore',
|
||||
'footer.explore.shop': 'Shop',
|
||||
'footer.explore.pflege': 'Personal care',
|
||||
'footer.explore.haushalt': 'Home',
|
||||
'footer.explore.kueche': 'Kitchen',
|
||||
'footer.explore.haushalt': 'Clean',
|
||||
'footer.explore.pflege': 'Care',
|
||||
'footer.explore.bundles': 'Bundles',
|
||||
'footer.explore.about': 'About',
|
||||
'footer.legal.heading': 'Legal',
|
||||
@@ -1524,7 +1520,7 @@ const en = {
|
||||
'legal.datenschutz.section.contact.body': 'For all privacy-related matters please contact datenschutz@kaiser-natron.at or write to the postal address listed in the imprint.',
|
||||
|
||||
// Category landings (EN).
|
||||
'category.pflege.eyebrow': 'Personal care & wellbeing',
|
||||
'category.pflege.eyebrow': 'Care',
|
||||
'category.pflege.title.a': 'Bathe, soothe,',
|
||||
'category.pflege.title.em': 'breathe.',
|
||||
'category.pflege.sub': 'Bath and care products built around Kaiser-Natron® — tuned to everyday life, sport, and slow evenings at home.',
|
||||
@@ -1545,7 +1541,7 @@ const en = {
|
||||
'category.pflege.cta.sub': 'Cleaning, laundry, kitchen — the whole range at a glance.',
|
||||
'category.pflege.cta.button': 'Visit the shop',
|
||||
|
||||
'category.haushalt.eyebrow': 'Home & cleaning',
|
||||
'category.haushalt.eyebrow': 'Clean',
|
||||
'category.haushalt.title.a': 'Scrub, wash,',
|
||||
'category.haushalt.title.em': 'everything clean.',
|
||||
'category.haushalt.sub': 'Natron-based cleaners and laundry helpers that handle stubborn dirt — without unnecessary chemistry.',
|
||||
@@ -1566,7 +1562,7 @@ const en = {
|
||||
'category.haushalt.cta.sub': 'Bath and kitchen products, bundles and more — all on one page.',
|
||||
'category.haushalt.cta.button': 'Visit the shop',
|
||||
|
||||
'category.kueche.eyebrow': 'Kitchen & baking',
|
||||
'category.kueche.eyebrow': 'Kitchen',
|
||||
'category.kueche.title.a': 'Bake, cook,',
|
||||
'category.kueche.title.em': 'finely dosed.',
|
||||
'category.kueche.sub': 'Pure food-grade Kaiser-Natron® — for baking, cooking, and the small everyday kitchen tricks.',
|
||||
|
||||
@@ -84,12 +84,6 @@ const priceLabel = computed(() => {
|
||||
return `€ ${b.price.toFixed(2).replace('.', ',')}`
|
||||
})
|
||||
|
||||
const memberPriceLabel = computed(() => {
|
||||
const b = bundle.value
|
||||
if (!b?.memberPrice) return ''
|
||||
return `€ ${b.memberPrice.toFixed(2).replace('.', ',')}`
|
||||
})
|
||||
|
||||
// Localized bundle copy. The bundle record in src/api/bundles.js
|
||||
// only carries i18n KEYS for locale-dependent fields; we resolve
|
||||
// them here through `t()` so the labels update reactively when the
|
||||
@@ -277,10 +271,6 @@ onBeforeUnmount(() => {
|
||||
|
||||
<div class="flex flex-col gap-1">
|
||||
<span class="font-display text-3xl xl:text-4xl text-cream">{{ priceLabel }}</span>
|
||||
<span v-if="memberPriceLabel" class="text-sm text-cream/75">
|
||||
{{ t('bundle.memberPrice') }}
|
||||
<span class="text-accent font-medium">{{ memberPriceLabel }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap items-center gap-4 mt-2">
|
||||
@@ -353,10 +343,6 @@ onBeforeUnmount(() => {
|
||||
|
||||
<div class="flex flex-col gap-1">
|
||||
<span class="font-display text-3xl md:text-4xl text-cream">{{ priceLabel }}</span>
|
||||
<span v-if="memberPriceLabel" class="text-sm text-cream/70">
|
||||
{{ t('bundle.memberPrice') }}
|
||||
<span class="text-accent font-medium">{{ memberPriceLabel }}</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap items-center gap-4 mt-2">
|
||||
|
||||
@@ -158,7 +158,6 @@ const localizedBundles = computed(() =>
|
||||
badge: b.badgeKey ? t(b.badgeKey) : '',
|
||||
badgeVariant: b.badgeVariant,
|
||||
price: b.price,
|
||||
memberPrice: b.memberPrice,
|
||||
href: b.href,
|
||||
aiEdited: b.aiEdited || false,
|
||||
})),
|
||||
|
||||
@@ -28,7 +28,6 @@ const sample = {
|
||||
'1× Spülmittel 500 ml',
|
||||
],
|
||||
price: 24.9,
|
||||
memberPrice: 21.17,
|
||||
image: sampleImage,
|
||||
imageAlt: 'Haushalts-Bundle',
|
||||
}
|
||||
@@ -116,7 +115,6 @@ const sampleWithOverflow = {
|
||||
'1× Spülmittel 500 ml',
|
||||
]"
|
||||
:price="24.9"
|
||||
:member-price="21.17"
|
||||
image="/products/cutouts/…-removebg-preview.png"
|
||||
badge="Bestseller"
|
||||
badge-variant="accent"
|
||||
|
||||
@@ -71,9 +71,7 @@ const src = computed(() => `/design/preview/bundles?layout=${variant.value}`)
|
||||
t('bundles.benefit.2.title'),
|
||||
t('bundles.benefit.3.title'),
|
||||
]"
|
||||
:join-cta="t('bundles.joinCta')"
|
||||
@add="addBundle(bundleId)"
|
||||
@join="openSignup()"
|
||||
/></pre>
|
||||
</div>
|
||||
</section>
|
||||
@@ -105,11 +103,6 @@ const src = computed(() => `/design/preview/bundles?layout=${variant.value}`)
|
||||
<td class="px-5 py-3 text-muted">String[]</td>
|
||||
<td class="px-5 py-3">Sidebar benefit bullets. First three are shown.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="px-5 py-3 font-mono text-[12px]">joinCta</td>
|
||||
<td class="px-5 py-3 text-muted">String</td>
|
||||
<td class="px-5 py-3">Label for the sidebar's primary button. Emits <code class="font-mono text-[12px]">join</code>.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="px-5 py-3 font-mono text-[12px]">carousel*Label</td>
|
||||
<td class="px-5 py-3 text-muted">String</td>
|
||||
|
||||
@@ -30,7 +30,6 @@ const bundles = [
|
||||
'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',
|
||||
@@ -46,7 +45,6 @@ const bundles = [
|
||||
'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',
|
||||
},
|
||||
@@ -60,7 +58,6 @@ const bundles = [
|
||||
'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',
|
||||
},
|
||||
@@ -82,7 +79,6 @@ const benefits = computed(() => [
|
||||
:headline-em="t('bundles.headline.em')"
|
||||
:sub="t('bundles.sub')"
|
||||
:benefits="benefits"
|
||||
:join-cta="t('bundles.joinCta')"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user