@loczer/storefront-sdk 0.201.0 → 0.203.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,29 +21,28 @@ import { AboutSection as pe } from "../components/AboutSection/index.js";
21
21
  import { Card as me } from "../ui/card.js";
22
22
  import { ProductWarningNotice as he } from "../components/ProductWarningNotice/index.js";
23
23
  import { ProductPriceBadge as ge } from "../components/ProductPriceBadge/index.js";
24
- import f from "../chunks/assets/playground-hero-preview-kf4c9tSc.js";
25
- import { resolveProductImageContainerStyle as _e } from "../lib/productImageStyles.js";
26
- import { BikeProductCard as ve } from "../components/BikeProductCard/index.js";
27
- import { StorefrontCancellationPolicyNotice as ye } from "../components/StorefrontCancellationPolicyNotice/index.js";
28
- import { StorefrontInsuranceNotice as be } from "../components/StorefrontInsuranceNotice/index.js";
29
- import { createStorefrontTimeSlotsFetcher as xe } from "../lib/fetchStorefrontTimeSlots.js";
30
- import { FulfillmentSection as Se } from "../components/FulfillmentSection/index.js";
31
- import { useEffect as p, useMemo as m, useRef as Ce, useState as h } from "react";
32
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
33
- import { useMediaQuery as we } from "@rpcbase/client";
34
- import { Link as y, useLocation as Te, useNavigate as Ee, useParams as De, useSearchParams as Oe } from "@rpcbase/router";
24
+ import _e from "../chunks/assets/playground-hero-preview-kf4c9tSc.js";
25
+ import { resolveProductImageContainerStyle as ve } from "../lib/productImageStyles.js";
26
+ import { BikeProductCard as ye } from "../components/BikeProductCard/index.js";
27
+ import { StorefrontCancellationPolicyNotice as be } from "../components/StorefrontCancellationPolicyNotice/index.js";
28
+ import { StorefrontInsuranceNotice as xe } from "../components/StorefrontInsuranceNotice/index.js";
29
+ import { createStorefrontTimeSlotsFetcher as Se } from "../lib/fetchStorefrontTimeSlots.js";
30
+ import { FulfillmentSection as Ce } from "../components/FulfillmentSection/index.js";
31
+ import { useEffect as f, useMemo as p, useRef as we, useState as m } from "react";
32
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
33
+ import { Link as v, useLocation as Te, useNavigate as Ee, useParams as De, useSearchParams as Oe } from "@rpcbase/router";
35
34
  import { useTranslation as ke } from "react-i18next";
36
- import { cn as b } from "@rpcbase/ui";
37
- import { ArrowRight as x, Bike as Ae, Clock as je, MapPin as Me, ShieldCheck as Ne, Truck as Pe } from "lucide-react";
35
+ import { cn as y } from "@rpcbase/ui";
36
+ import { ArrowRight as b, Bike as Ae, Clock as je, MapPin as Me, ShieldCheck as Ne, Truck as Pe } from "lucide-react";
38
37
  //#region src/pages/HomePage.tsx
39
- var S = (e) => String(e).padStart(2, "0"), Fe = "text-2xs font-semibold uppercase tracking-wide text-slate-600", Ie = "h-10", C = 6, w = 5, Le = [
38
+ var x = (e) => String(e).padStart(2, "0"), Fe = "text-2xs font-semibold uppercase tracking-wide text-slate-600", Ie = "h-10", S = 6, C = 5, Le = [
40
39
  15,
41
40
  25,
42
41
  42,
43
42
  66,
44
43
  33,
45
44
  54
46
- ], T = [
45
+ ], w = [
47
46
  "4 / 5",
48
47
  "1 / 1",
49
48
  "3 / 4",
@@ -54,42 +53,42 @@ var S = (e) => String(e).padStart(2, "0"), Fe = "text-2xs font-semibold uppercas
54
53
  "6 / 7"
55
54
  ], Re = ({ buttonRef: e, className: t, label: n, onSubmit: r }) => {
56
55
  let { hasConfirmedTimeSlots: i, startTime: a, endTime: o } = d();
57
- return /* @__PURE__ */ v(u, {
56
+ return /* @__PURE__ */ _(u, {
58
57
  ref: e,
59
- className: b("gap-2", t),
58
+ className: y("gap-2", t),
60
59
  disabled: !i || !a || !o,
61
60
  onClick: r,
62
- children: [/* @__PURE__ */ _("span", { children: n }), /* @__PURE__ */ _(x, {
61
+ children: [/* @__PURE__ */ g("span", { children: n }), /* @__PURE__ */ g(b, {
63
62
  className: "h-4 w-4",
64
63
  "aria-hidden": "true"
65
64
  })]
66
65
  });
67
- }, E = (e) => `${e.getFullYear()}-${S(e.getMonth() + 1)}-${S(e.getDate())}`, D = (e) => {
66
+ }, T = (e) => `${e.getFullYear()}-${x(e.getMonth() + 1)}-${x(e.getDate())}`, E = (e) => {
68
67
  if (!e) return;
69
68
  let t = e.match(/^(\d{4})-(\d{2})-(\d{2})$/);
70
69
  if (!t) return;
71
70
  let n = Number(t[1]), r = Number(t[2]), i = Number(t[3]), a = new Date(n, r - 1, i);
72
71
  if (!(Number.isNaN(a.getTime()) || a.getFullYear() !== n || a.getMonth() !== r - 1 || a.getDate() !== i)) return a;
73
72
  }, ze = (e) => {
74
- let t = e.length > 0 ? e : [f];
75
- return Array.from({ length: C }, (e, n) => Array.from({ length: w }, (e, r) => {
76
- let i = n * w + r;
73
+ let t = e.length > 0 ? e : [_e];
74
+ return Array.from({ length: S }, (e, n) => Array.from({ length: C }, (e, r) => {
75
+ let i = n * C + r;
77
76
  return {
78
- aspectRatio: T[(i + n) % T.length] ?? T[0],
77
+ aspectRatio: w[(i + n) % w.length] ?? w[0],
79
78
  src: t[i % t.length] ?? "data:image/svg+xml,%3csvg%20width='1600'%20height='1066'%20viewBox='0%200%201600%201066'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='0'%20y1='0'%20x2='1600'%20y2='1066'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230F172A'/%3e%3cstop%20offset='1'%20stop-color='%23164E63'/%3e%3c/linearGradient%3e%3clinearGradient%20id='road'%20x1='0'%20y1='740'%20x2='1600'%20y2='1066'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23334155'/%3e%3cstop%20offset='1'%20stop-color='%230F172A'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='1600'%20height='1066'%20fill='url(%23bg)'/%3e%3cpath%20d='M0%20675C233%20555%20420%20530%20590%20551C752%20571%20930%20635%201088%20632C1252%20629%201423%20559%201600%20498V1066H0V675Z'%20fill='%231E293B'%20opacity='0.7'/%3e%3cpath%20d='M0%20792C213%20710%20393%20686%20573%20697C760%20708%20945%20760%201123%20761C1286%20762%201437%20722%201600%20666V1066H0V792Z'%20fill='url(%23road)'/%3e%3ccircle%20cx='440'%20cy='620'%20r='92'%20stroke='%23F8FAFC'%20stroke-width='18'%20opacity='0.8'/%3e%3ccircle%20cx='740'%20cy='620'%20r='92'%20stroke='%23F8FAFC'%20stroke-width='18'%20opacity='0.8'/%3e%3cpath%20d='M440%20620L560%20520L650%20620H740M560%20520L610%20445M595%20470H665'%20stroke='%23F8FAFC'%20stroke-width='18'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20cx='980'%20cy='700'%20r='80'%20stroke='%23E2E8F0'%20stroke-width='14'%20opacity='0.7'/%3e%3ccircle%20cx='1240'%20cy='700'%20r='80'%20stroke='%23E2E8F0'%20stroke-width='14'%20opacity='0.7'/%3e%3cpath%20d='M980%20700L1078%20616L1156%20700H1240M1078%20616L1122%20556M1112%20574H1172'%20stroke='%23E2E8F0'%20stroke-width='14'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.7'/%3e%3c/svg%3e"
80
79
  };
81
80
  }));
82
81
  };
83
- function O() {
84
- let { t: d, i18n: f } = ke(), { storeSlug: S } = De(), C = Te(), { storefrontConfiguration: w } = le(), T = w.shop.address?.trim() ?? "", O = w.workspace?.workspaceLanguage, { bikes: k, accessories: Be } = ue(), [A, Ve] = Oe(), He = Ee(), j = m(() => a(A, S), [A, S]), Ue = m(() => n(w), [w]), M = m(() => i(w), [w]), N = m(() => D(M.start_date), [M.start_date]), We = m(() => D(M.end_date) ?? N, [M.end_date, N]), P = w.settings.fulfillmentModes.includes("delivery"), Ge = w.settings.deliveryDisabledReason.trim(), F = m(() => r(j, M), [M, j]), [I, Ke] = h(() => F.fulfillment === "delivery" && P ? "delivery" : "pickup"), [L, qe] = h(() => D(j.get("start_date")) ?? N), [R, Je] = h(() => j.get("start_time") ?? M.start_time), [z, Ye] = h(() => {
85
- let e = D(j.get("start_date")) ?? N;
86
- return D(j.get("end_date")) ?? e ?? We;
87
- }), [B, Xe] = h(() => j.get("end_time") ?? M.end_time), [Ze, Qe] = h(void 0), [$e, et] = h(!1), [V, H] = h(() => F.start_address), [U, W] = h(() => F.end_address), G = Ce(null), tt = [
88
- L ? E(L) : "",
82
+ function D() {
83
+ let { t: d, i18n: x } = ke(), { storeSlug: S } = De(), C = Te(), { storefrontConfiguration: w } = le(), D = w.shop.address?.trim() ?? "", O = w.workspace?.workspaceLanguage, { bikes: k, accessories: Be } = ue(), [A, Ve] = Oe(), He = Ee(), j = p(() => a(A, S), [A, S]), Ue = p(() => n(w), [w]), M = p(() => i(w), [w]), N = p(() => E(M.start_date), [M.start_date]), We = p(() => E(M.end_date) ?? N, [M.end_date, N]), P = w.settings.fulfillmentModes.includes("delivery"), Ge = w.settings.deliveryDisabledReason.trim(), F = p(() => r(j, M), [M, j]), [I, Ke] = m(() => F.fulfillment === "delivery" && P ? "delivery" : "pickup"), [L, qe] = m(() => E(j.get("start_date")) ?? N), [R, Je] = m(() => j.get("start_time") ?? M.start_time), [z, Ye] = m(() => {
84
+ let e = E(j.get("start_date")) ?? N;
85
+ return E(j.get("end_date")) ?? e ?? We;
86
+ }), [B, Xe] = m(() => j.get("end_time") ?? M.end_time), [Ze, Qe] = m(void 0), [$e, et] = m(!1), [V, H] = m(() => F.start_address), [U, W] = m(() => F.end_address), G = we(null), tt = [
87
+ L ? T(L) : "",
89
88
  R,
90
- z ? E(z) : "",
89
+ z ? T(z) : "",
91
90
  B
92
- ].join(":"), K = Ze === tt, nt = m(() => k.slice(0, 4), [k]), { heroMode: rt } = te(), it = rt ?? w.content?.heroMode ?? "current_booking_hero", q = it === "vertical_marquee_hero", J = it === "booking_bar_overlay_hero" || q, at = we("(min-width: 1024px)"), ot = xe(S), st = m(() => ({
91
+ ].join(":"), K = Ze === tt, nt = p(() => k.slice(0, 4), [k]), { heroMode: rt } = te(), it = rt ?? w.content?.heroMode ?? "current_booking_hero", q = it === "vertical_marquee_hero", J = it === "booking_bar_overlay_hero" || q, at = Se(S), ot = p(() => ({
93
92
  startDate: d("booking_start_date"),
94
93
  pickStartDate: d("booking_start_date"),
95
94
  startTime: d("booking_start_time"),
@@ -101,13 +100,13 @@ function O() {
101
100
  timeSlotsUnavailable: d("booking_time_slots_unavailable"),
102
101
  timeSlotsLoadError: d("booking_time_slots_load_error"),
103
102
  retryTimeSlots: d("booking_time_slots_retry")
104
- }), [f.language, d]), Y = m(() => {
103
+ }), [x.language, d]), Y = p(() => {
105
104
  let e = L ?? N ?? /* @__PURE__ */ new Date(), n = z ?? e;
106
105
  return t(new URLSearchParams(), {
107
106
  fulfillment: I === "delivery" && P ? "delivery" : "pickup",
108
- start_date: E(e),
107
+ start_date: T(e),
109
108
  start_time: K ? R : "",
110
- end_date: E(n),
109
+ end_date: T(n),
111
110
  end_time: K ? B : "",
112
111
  start_address: V,
113
112
  end_address: U
@@ -123,10 +122,10 @@ function O() {
123
122
  V,
124
123
  L,
125
124
  R
126
- ]), ct = Y.toString(), lt = ct ? `?${ct}` : "";
127
- p(() => {
125
+ ]), st = Y.toString(), ct = st ? `?${st}` : "";
126
+ f(() => {
128
127
  o(S, Y);
129
- }, [Y, S]), p(() => {
128
+ }, [Y, S]), f(() => {
130
129
  let t = new URLSearchParams(A);
131
130
  for (let n of e) t.delete(n);
132
131
  for (let [e, n] of Y.entries()) t.set(e, n);
@@ -135,10 +134,10 @@ function O() {
135
134
  Y,
136
135
  A,
137
136
  Ve
138
- ]), p(() => {
137
+ ]), f(() => {
139
138
  !$e || !K || (et(!1), G.current?.focus({ preventScroll: !0 }));
140
139
  }, [K, $e]);
141
- let ut = K && !!(R && B), dt = {
140
+ let lt = K && !!(R && B), ut = {
142
141
  startDate: L,
143
142
  onStartDateChange: qe,
144
143
  startTime: R,
@@ -149,124 +148,124 @@ function O() {
149
148
  onEndTimeChange: Xe,
150
149
  onEndTimeCommit: () => et(!0),
151
150
  bookingPeriodConfig: Ue,
152
- fetchTimeSlots: ot,
151
+ fetchTimeSlots: at,
153
152
  onTimeSlotsConfirmationChange: (e) => {
154
153
  Qe(e ? tt : void 0);
155
154
  },
156
- labels: st,
157
- localeCode: f.language
155
+ labels: ot,
156
+ localeCode: x.language
158
157
  }, X = () => {
159
- if (!ut) return;
158
+ if (!lt) return;
160
159
  let e = new URLSearchParams(A);
161
160
  for (let [t, n] of Y.entries()) e.set(t, n);
162
161
  He(`/${S ?? ""}/booking?${e.toString()}#booking-products`);
163
- }, ft = (e) => `/${S ?? ""}/products/${e}`, Z = { backTo: `${C.pathname}${C.search}${C.hash}` }, pt = /* @__PURE__ */ v("div", { children: [
164
- /* @__PURE__ */ v("div", {
162
+ }, dt = (e) => `/${S ?? ""}/products/${e}`, Z = { backTo: `${C.pathname}${C.search}${C.hash}` }, ft = /* @__PURE__ */ _("div", { children: [
163
+ /* @__PURE__ */ _("div", {
165
164
  className: "flex items-center gap-2",
166
- children: [/* @__PURE__ */ v(l, {
165
+ children: [/* @__PURE__ */ _(l, {
167
166
  variant: "secondary",
168
- children: [/* @__PURE__ */ _(je, {
167
+ children: [/* @__PURE__ */ g(je, {
169
168
  className: "h-3 w-3",
170
169
  "aria-hidden": "true"
171
- }), /* @__PURE__ */ _("span", { children: d("status_open") })]
172
- }), /* @__PURE__ */ v(l, {
170
+ }), /* @__PURE__ */ g("span", { children: d("status_open") })]
171
+ }), /* @__PURE__ */ _(l, {
173
172
  variant: "outline",
174
- className: b(!T && "border-destructive/40 text-destructive"),
175
- children: [/* @__PURE__ */ _(Me, {
173
+ className: y(!D && "border-destructive/40 text-destructive"),
174
+ children: [/* @__PURE__ */ g(Me, {
176
175
  className: "h-3 w-3",
177
176
  "aria-hidden": "true"
178
- }), /* @__PURE__ */ _("span", { children: T || "[Missing shop address]" })]
177
+ }), /* @__PURE__ */ g("span", { children: D || "[Missing shop address]" })]
179
178
  })]
180
179
  }),
181
- /* @__PURE__ */ _("h1", {
180
+ /* @__PURE__ */ g("h1", {
182
181
  className: "mt-4 text-3xl font-semibold tracking-tight sm:text-4xl",
183
- children: /* @__PURE__ */ _("span", { children: d("hero_title") })
182
+ children: /* @__PURE__ */ g("span", { children: d("hero_title") })
184
183
  }),
185
- /* @__PURE__ */ _("p", {
184
+ /* @__PURE__ */ g("p", {
186
185
  className: "mt-3 text-sm text-slate-700 sm:text-base",
187
- children: /* @__PURE__ */ _("span", { children: d("hero_description") })
186
+ children: /* @__PURE__ */ g("span", { children: d("hero_description") })
188
187
  }),
189
- /* @__PURE__ */ _("div", {
190
- className: b("mt-6", !J && "rounded-xl border bg-white/70 p-3"),
191
- children: /* @__PURE__ */ v("ul", {
192
- className: b("space-y-3", J && "space-y-2"),
188
+ /* @__PURE__ */ g("div", {
189
+ className: y("mt-6", !J && "rounded-xl border bg-white/70 p-3"),
190
+ children: /* @__PURE__ */ _("ul", {
191
+ className: y("space-y-3", J && "space-y-2"),
193
192
  "data-testid": "storefront-home-trust-features",
194
193
  children: [
195
- /* @__PURE__ */ v("li", {
194
+ /* @__PURE__ */ _("li", {
196
195
  className: "flex items-start gap-3",
197
196
  "data-testid": "storefront-secure-payment-notice",
198
- children: [/* @__PURE__ */ _(Ne, {
197
+ children: [/* @__PURE__ */ g(Ne, {
199
198
  className: "mt-0.5 h-5 w-5 text-success",
200
199
  "aria-hidden": "true"
201
- }), /* @__PURE__ */ v("div", {
200
+ }), /* @__PURE__ */ _("div", {
202
201
  className: "flex flex-col gap-0.5",
203
- children: [/* @__PURE__ */ _("p", {
202
+ children: [/* @__PURE__ */ g("p", {
204
203
  className: "text-sm font-medium text-slate-950",
205
- children: /* @__PURE__ */ _("span", { children: d("feature_secure_payment_title") })
206
- }), /* @__PURE__ */ _("p", {
204
+ children: /* @__PURE__ */ g("span", { children: d("feature_secure_payment_title") })
205
+ }), /* @__PURE__ */ g("p", {
207
206
  className: "text-xs text-slate-600",
208
- children: /* @__PURE__ */ _("span", { children: d("feature_secure_payment_description") })
207
+ children: /* @__PURE__ */ g("span", { children: d("feature_secure_payment_description") })
209
208
  })]
210
209
  })]
211
210
  }),
212
- /* @__PURE__ */ _(ye, {
211
+ /* @__PURE__ */ g(be, {
213
212
  policy: w.bookingEngine.cancellationPolicy,
214
- className: b(!J && "border-t border-slate-200/70 pt-3")
213
+ className: y(!J && "border-t border-slate-200/70 pt-3")
215
214
  }),
216
- P ? /* @__PURE__ */ v("li", {
217
- className: b("flex items-start gap-3", !J && "border-t border-slate-200/70 pt-3"),
215
+ P ? /* @__PURE__ */ _("li", {
216
+ className: y("flex items-start gap-3", !J && "border-t border-slate-200/70 pt-3"),
218
217
  "data-testid": "storefront-delivery-notice",
219
- children: [/* @__PURE__ */ _(Pe, {
218
+ children: [/* @__PURE__ */ g(Pe, {
220
219
  className: "mt-0.5 h-5 w-5 text-slate-900",
221
220
  "aria-hidden": "true"
222
- }), /* @__PURE__ */ v("div", {
221
+ }), /* @__PURE__ */ _("div", {
223
222
  className: "flex flex-col gap-0.5",
224
- children: [/* @__PURE__ */ _("p", {
223
+ children: [/* @__PURE__ */ g("p", {
225
224
  className: "text-sm font-medium text-slate-950",
226
- children: /* @__PURE__ */ _("span", { children: d("feature_delivery_title") })
227
- }), /* @__PURE__ */ _("p", {
225
+ children: /* @__PURE__ */ g("span", { children: d("feature_delivery_title") })
226
+ }), /* @__PURE__ */ g("p", {
228
227
  className: "text-xs text-slate-600",
229
- children: /* @__PURE__ */ _("span", { children: d("feature_delivery_description") })
228
+ children: /* @__PURE__ */ g("span", { children: d("feature_delivery_description") })
230
229
  })]
231
230
  })]
232
231
  }) : null,
233
- /* @__PURE__ */ _(be, {
232
+ /* @__PURE__ */ g(xe, {
234
233
  bikes: k,
235
234
  currency: w.bookingEngine.currency,
236
- className: b(!J && "border-t border-slate-200/70 pt-3")
235
+ className: y(!J && "border-t border-slate-200/70 pt-3")
237
236
  })
238
237
  ]
239
238
  })
240
239
  })
241
- ] }), Q = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ _(ne, {
242
- ...dt,
240
+ ] }), pt = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ g(ne, {
241
+ ...ut,
243
242
  labelClassName: Fe,
244
243
  inputClassName: Ie,
245
- children: /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ v("div", {
244
+ children: /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ _("div", {
246
245
  className: e,
247
246
  children: [
248
- /* @__PURE__ */ _("div", {
247
+ /* @__PURE__ */ g("div", {
249
248
  className: "min-w-0",
250
- children: /* @__PURE__ */ _(re, {})
249
+ children: /* @__PURE__ */ g(re, {})
251
250
  }),
252
- /* @__PURE__ */ _(ie, {}),
253
- /* @__PURE__ */ _("div", {
251
+ /* @__PURE__ */ g(ie, {}),
252
+ /* @__PURE__ */ g("div", {
254
253
  className: "min-w-0",
255
- children: /* @__PURE__ */ _(ae, {})
254
+ children: /* @__PURE__ */ g(ae, {})
256
255
  }),
257
- /* @__PURE__ */ _(oe, {}),
258
- t ? /* @__PURE__ */ _(Re, {
256
+ /* @__PURE__ */ g(oe, {}),
257
+ t ? /* @__PURE__ */ g(Re, {
259
258
  buttonRef: G,
260
259
  className: n,
261
260
  label: d("booking_submit"),
262
261
  onSubmit: X
263
262
  }) : null
264
263
  ]
265
- }), /* @__PURE__ */ _(se, {
264
+ }), /* @__PURE__ */ g(se, {
266
265
  className: "mt-2",
267
266
  testId: "booking-home-time-slots-status"
268
267
  })] })
269
- }), mt = (e) => P ? /* @__PURE__ */ _(ce, {
268
+ }), Q = (e) => P ? /* @__PURE__ */ g(ce, {
270
269
  open: I === "delivery",
271
270
  className: "sm:min-h-[6.75rem]",
272
271
  inputClassName: `${Ie} bg-white`,
@@ -276,24 +275,24 @@ function O() {
276
275
  returnAddress: U,
277
276
  onReturnAddressChange: W,
278
277
  testIdPrefix: e
279
- }) : null, ht = mt("storefront-home-fulfillment-delivery-address"), gt = mt("storefront-home-compact-fulfillment-delivery-address"), _t = /* @__PURE__ */ v(me, {
278
+ }) : null, mt = Q("storefront-home-fulfillment-delivery-address"), ht = Q("storefront-home-compact-fulfillment-delivery-address"), gt = /* @__PURE__ */ _(me, {
280
279
  className: "border-slate-200 bg-white/80 shadow-none",
281
- children: [/* @__PURE__ */ v("div", {
280
+ children: [/* @__PURE__ */ _("div", {
282
281
  className: "border-b border-slate-200 px-4 py-4",
283
- children: [/* @__PURE__ */ _("p", {
282
+ children: [/* @__PURE__ */ g("p", {
284
283
  className: "text-sm font-semibold text-slate-950",
285
- children: /* @__PURE__ */ _("span", { children: d("booking_title") })
286
- }), /* @__PURE__ */ _("p", {
284
+ children: /* @__PURE__ */ g("span", { children: d("booking_title") })
285
+ }), /* @__PURE__ */ g("p", {
287
286
  className: "mt-1 text-xs text-slate-600",
288
- children: /* @__PURE__ */ _("span", { children: d("booking_subtitle") })
287
+ children: /* @__PURE__ */ g("span", { children: d("booking_subtitle") })
289
288
  })]
290
- }), /* @__PURE__ */ v("div", {
289
+ }), /* @__PURE__ */ _("div", {
291
290
  className: "grid gap-4 px-4 py-4",
292
291
  children: [
293
- /* @__PURE__ */ _(Se, {
292
+ /* @__PURE__ */ g(Ce, {
294
293
  value: I,
295
294
  onValueChange: Ke,
296
- pickupAddress: T,
295
+ pickupAddress: D,
297
296
  deliveryEnabled: P,
298
297
  deliveryDisabledReason: Ge,
299
298
  startAddress: V,
@@ -303,33 +302,33 @@ function O() {
303
302
  showDeliveryAddressSelector: !1,
304
303
  testIdPrefix: "storefront-home-fulfillment"
305
304
  }),
306
- Q({ className: "grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px] xl:items-start" }),
307
- ht,
308
- /* @__PURE__ */ _("p", {
305
+ pt({ className: "grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px] xl:items-start" }),
306
+ mt,
307
+ /* @__PURE__ */ g("p", {
309
308
  className: "text-xs text-slate-600",
310
- children: /* @__PURE__ */ _("span", { children: d("booking_minimum_duration", { hours: 4 }) })
309
+ children: /* @__PURE__ */ g("span", { children: d("booking_minimum_duration", { hours: 4 }) })
311
310
  }),
312
- /* @__PURE__ */ v(u, {
311
+ /* @__PURE__ */ _(u, {
313
312
  ref: G,
314
313
  className: "h-11 w-fit justify-self-start rounded-xl text-sm font-semibold gap-2",
315
- disabled: !ut,
314
+ disabled: !lt,
316
315
  onClick: X,
317
- children: [/* @__PURE__ */ _("span", { children: d("booking_submit") }), /* @__PURE__ */ _(x, {
316
+ children: [/* @__PURE__ */ g("span", { children: d("booking_submit") }), /* @__PURE__ */ g(b, {
318
317
  className: "h-4 w-4",
319
318
  "aria-hidden": "true"
320
319
  })]
321
320
  })
322
321
  ]
323
322
  })]
324
- }), vt = /* @__PURE__ */ _(me, {
323
+ }), _t = /* @__PURE__ */ g(me, {
325
324
  className: "border-slate-200 bg-white/95 shadow-xl",
326
- children: /* @__PURE__ */ v("div", {
325
+ children: /* @__PURE__ */ _("div", {
327
326
  className: "grid gap-3 p-4",
328
327
  children: [
329
- /* @__PURE__ */ _("div", { children: /* @__PURE__ */ _(Se, {
328
+ /* @__PURE__ */ g("div", { children: /* @__PURE__ */ g(Ce, {
330
329
  value: I,
331
330
  onValueChange: Ke,
332
- pickupAddress: T,
331
+ pickupAddress: D,
333
332
  deliveryEnabled: P,
334
333
  deliveryDisabledReason: Ge,
335
334
  startAddress: V,
@@ -339,16 +338,16 @@ function O() {
339
338
  showDeliveryAddressSelector: !1,
340
339
  testIdPrefix: "storefront-home-compact-fulfillment"
341
340
  }) }),
342
- Q({
341
+ pt({
343
342
  className: "grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px_auto] xl:items-end",
344
343
  showSubmitButton: !0,
345
344
  submitButtonClassName: "h-10 rounded-xl text-sm font-semibold xl:self-end"
346
345
  }),
347
- gt
346
+ ht
348
347
  ]
349
348
  })
350
- }), $ = (w.content?.galleryImageIds ?? []).map((e) => c(e, S ?? w.storeSlug)).filter((e) => e.length > 0), yt = [...k, ...Be].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), bt = ze($.length > 0 ? $ : yt), xt = $[0] ?? "data:image/svg+xml,%3csvg%20width='1600'%20height='1066'%20viewBox='0%200%201600%201066'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='0'%20y1='0'%20x2='1600'%20y2='1066'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%230F172A'/%3e%3cstop%20offset='1'%20stop-color='%23164E63'/%3e%3c/linearGradient%3e%3clinearGradient%20id='road'%20x1='0'%20y1='740'%20x2='1600'%20y2='1066'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23334155'/%3e%3cstop%20offset='1'%20stop-color='%230F172A'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='1600'%20height='1066'%20fill='url(%23bg)'/%3e%3cpath%20d='M0%20675C233%20555%20420%20530%20590%20551C752%20571%20930%20635%201088%20632C1252%20629%201423%20559%201600%20498V1066H0V675Z'%20fill='%231E293B'%20opacity='0.7'/%3e%3cpath%20d='M0%20792C213%20710%20393%20686%20573%20697C760%20708%20945%20760%201123%20761C1286%20762%201437%20722%201600%20666V1066H0V792Z'%20fill='url(%23road)'/%3e%3ccircle%20cx='440'%20cy='620'%20r='92'%20stroke='%23F8FAFC'%20stroke-width='18'%20opacity='0.8'/%3e%3ccircle%20cx='740'%20cy='620'%20r='92'%20stroke='%23F8FAFC'%20stroke-width='18'%20opacity='0.8'/%3e%3cpath%20d='M440%20620L560%20520L650%20620H740M560%20520L610%20445M595%20470H665'%20stroke='%23F8FAFC'%20stroke-width='18'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20cx='980'%20cy='700'%20r='80'%20stroke='%23E2E8F0'%20stroke-width='14'%20opacity='0.7'/%3e%3ccircle%20cx='1240'%20cy='700'%20r='80'%20stroke='%23E2E8F0'%20stroke-width='14'%20opacity='0.7'/%3e%3cpath%20d='M980%20700L1078%20616L1156%20700H1240M1078%20616L1122%20556M1112%20574H1172'%20stroke='%23E2E8F0'%20stroke-width='14'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.7'/%3e%3c/svg%3e", St = q ? /* @__PURE__ */ _("style", { children: "\n @keyframes storefront-hero-marquee-up {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n }\n @keyframes storefront-hero-marquee-down {\n 0% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n 100% { transform: translateY(0); }\n }\n .storefront-hero-marquee-track {\n animation: storefront-hero-marquee-up var(--storefront-hero-marquee-duration, 32s) linear infinite;\n will-change: transform;\n }\n .storefront-hero-marquee-track-reverse {\n animation-name: storefront-hero-marquee-down;\n }\n @media (prefers-reduced-motion: reduce) {\n .storefront-hero-marquee-track,\n .storefront-hero-marquee-track-reverse {\n animation: none !important;\n transform: none !important;\n }\n }\n " }) : null, Ct = (e) => /* @__PURE__ */ _("div", {
351
- className: b("relative h-full min-h-[340px] overflow-hidden", e),
349
+ }), $ = (w.content?.galleryImageIds ?? []).map((e) => e.trim()).filter((e) => e.length > 0), vt = $.map((e) => c(e, S ?? w.storeSlug, 320)).filter((e) => e.length > 0), yt = [...k, ...Be].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), bt = ze(vt.length > 0 ? vt : yt), xt = $[0] ? c($[0], S ?? w.storeSlug, 1600) : _e, St = q ? /* @__PURE__ */ g("style", { children: "\n @keyframes storefront-hero-marquee-up {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n }\n @keyframes storefront-hero-marquee-down {\n 0% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n 100% { transform: translateY(0); }\n }\n .storefront-hero-marquee-track {\n animation: storefront-hero-marquee-up var(--storefront-hero-marquee-duration, 32s) linear infinite;\n will-change: transform;\n }\n .storefront-hero-marquee-track-reverse {\n animation-name: storefront-hero-marquee-down;\n }\n @media (prefers-reduced-motion: reduce) {\n .storefront-hero-marquee-track,\n .storefront-hero-marquee-track-reverse {\n animation: none !important;\n transform: none !important;\n }\n }\n " }) : null, Ct = (e) => /* @__PURE__ */ g("div", {
350
+ className: y("relative h-full min-h-[340px] overflow-hidden", e),
352
351
  style: {
353
352
  WebkitMaskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
354
353
  maskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
@@ -358,194 +357,196 @@ function O() {
358
357
  maskSize: "100% 100%"
359
358
  },
360
359
  "aria-hidden": "true",
361
- children: /* @__PURE__ */ _("div", {
360
+ children: /* @__PURE__ */ g("div", {
362
361
  className: "absolute inset-0 grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6",
363
362
  children: bt.map((e, t) => {
364
363
  let n = Le[t % Le.length] ?? 32, r = [...e, ...e];
365
- return /* @__PURE__ */ _("div", {
366
- className: b("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
367
- children: /* @__PURE__ */ _("div", {
368
- className: b("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
364
+ return /* @__PURE__ */ g("div", {
365
+ className: y("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
366
+ children: /* @__PURE__ */ g("div", {
367
+ className: y("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
369
368
  style: {
370
369
  "--storefront-hero-marquee-duration": `${n}s`,
371
370
  "--storefront-hero-marquee-gap": "0.75rem"
372
371
  },
373
- children: r.map((n, r) => /* @__PURE__ */ v("div", {
372
+ children: r.map((n, r) => /* @__PURE__ */ _("div", {
374
373
  className: "group relative overflow-hidden rounded-[1.35rem] border border-white/40 bg-transparent",
375
374
  style: { aspectRatio: n.aspectRatio },
376
375
  children: [
377
- /* @__PURE__ */ _("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
378
- /* @__PURE__ */ _("img", {
376
+ /* @__PURE__ */ g("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
377
+ /* @__PURE__ */ g("img", {
379
378
  src: n.src,
380
379
  alt: "",
381
380
  className: "absolute inset-0 h-full w-full object-cover opacity-90 saturate-[1.05] transition-transform duration-700 group-hover:scale-[1.04]",
382
381
  loading: r < e.length ? "eager" : "lazy"
383
382
  }),
384
- /* @__PURE__ */ _("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
383
+ /* @__PURE__ */ g("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
385
384
  ]
386
385
  }, `hero-marquee-tile-${t}-${r}`))
387
386
  })
388
387
  }, `hero-marquee-column-${t}`);
389
388
  })
390
389
  })
391
- }), wt = q ? /* @__PURE__ */ _("div", {
390
+ }), wt = q ? /* @__PURE__ */ g("div", {
392
391
  className: "pointer-events-none absolute inset-0 hidden lg:block",
393
392
  "aria-hidden": "true",
394
- children: /* @__PURE__ */ v("div", {
393
+ children: /* @__PURE__ */ _("div", {
395
394
  className: "mx-auto grid h-full max-w-7xl grid-cols-12 gap-8 px-4 sm:px-6",
396
- children: [/* @__PURE__ */ _("div", { className: "lg:col-span-5" }), /* @__PURE__ */ _("div", {
395
+ children: [/* @__PURE__ */ g("div", { className: "lg:col-span-5" }), /* @__PURE__ */ g("div", {
397
396
  className: "lg:col-span-7",
398
397
  children: Ct()
399
398
  })]
400
399
  })
401
- }) : null, Tt = q ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
400
+ }) : null, Tt = q ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("div", {
402
401
  className: "lg:hidden",
403
402
  children: Ct()
404
- }), /* @__PURE__ */ _("div", {
403
+ }), /* @__PURE__ */ g("div", {
405
404
  className: "hidden min-h-[510px] lg:block",
406
405
  "aria-hidden": "true"
407
- })] }) : /* @__PURE__ */ v("div", {
406
+ })] }) : /* @__PURE__ */ _("div", {
408
407
  className: "relative min-h-[340px] overflow-hidden rounded-3xl border border-slate-200 bg-slate-900 shadow-sm lg:min-h-[510px]",
409
- children: [/* @__PURE__ */ _("img", {
408
+ children: [/* @__PURE__ */ g("img", {
410
409
  src: xt,
411
410
  alt: "",
412
411
  className: "absolute inset-0 h-full w-full object-cover",
413
412
  "aria-hidden": "true"
414
- }), /* @__PURE__ */ _("div", {
413
+ }), /* @__PURE__ */ g("div", {
415
414
  className: "absolute inset-0 bg-linear-to-t from-slate-900/45 via-slate-900/15 to-transparent",
416
415
  "aria-hidden": "true"
417
416
  })]
418
417
  });
419
- return /* @__PURE__ */ v(g, { children: [
420
- /* @__PURE__ */ v("section", {
418
+ return /* @__PURE__ */ _(h, { children: [
419
+ /* @__PURE__ */ _("section", {
421
420
  className: "relative overflow-hidden border-b border-slate-200",
422
421
  children: [
423
- /* @__PURE__ */ _("div", {
422
+ /* @__PURE__ */ g("div", {
424
423
  className: "absolute inset-0 bg-linear-to-b from-slate-50 to-white",
425
424
  "aria-hidden": "true"
426
425
  }),
427
- /* @__PURE__ */ _("div", {
426
+ /* @__PURE__ */ g("div", {
428
427
  className: "absolute inset-0 opacity-[0.07]",
429
428
  style: { backgroundImage: "radial-gradient(circle at 20% 20%, rgba(15, 23, 42, 0.9) 0px, transparent 55%), radial-gradient(circle at 80% 35%, rgba(14, 116, 144, 0.9) 0px, transparent 55%), radial-gradient(circle at 55% 85%, rgba(99, 102, 241, 0.9) 0px, transparent 55%)" },
430
429
  "aria-hidden": "true"
431
430
  }),
432
431
  St,
433
432
  wt,
434
- J ? /* @__PURE__ */ v("div", {
435
- className: "relative mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14",
436
- children: [/* @__PURE__ */ v("div", {
437
- className: "lg:col-span-5",
438
- children: [pt, at ? /* @__PURE__ */ _("div", {
439
- className: "mt-7",
440
- children: /* @__PURE__ */ _("div", {
441
- className: "relative z-20 w-[calc(100%+24rem)] max-w-none",
442
- children: vt
433
+ J ? /* @__PURE__ */ _("div", {
434
+ className: "relative mx-auto grid max-w-7xl gap-x-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14",
435
+ children: [
436
+ /* @__PURE__ */ g("div", {
437
+ className: "lg:col-span-5 lg:col-start-1 lg:row-start-1",
438
+ children: ft
439
+ }),
440
+ /* @__PURE__ */ g("div", {
441
+ className: y("mt-8 lg:col-span-7 lg:col-start-6 lg:row-span-2 lg:row-start-1 lg:mt-0", !q && "lg:pt-4"),
442
+ children: Tt
443
+ }),
444
+ /* @__PURE__ */ g("div", {
445
+ className: "relative z-20 mt-4 lg:col-span-5 lg:col-start-1 lg:row-start-2 lg:mt-7",
446
+ "data-testid": "storefront-home-booking-bar",
447
+ children: /* @__PURE__ */ g("div", {
448
+ className: "lg:w-[calc(100%+24rem)] lg:max-w-none",
449
+ children: _t
443
450
  })
444
- }) : null]
445
- }), /* @__PURE__ */ v("div", {
446
- className: b("lg:col-span-7", !q && "lg:pt-4"),
447
- children: [Tt, at ? null : /* @__PURE__ */ _("div", {
448
- className: "mt-4",
449
- children: vt
450
- })]
451
- })]
452
- }) : /* @__PURE__ */ v("div", {
451
+ })
452
+ ]
453
+ }) : /* @__PURE__ */ _("div", {
453
454
  className: "relative mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:items-center lg:py-14",
454
- children: [/* @__PURE__ */ _("div", {
455
+ children: [/* @__PURE__ */ g("div", {
455
456
  className: "lg:col-span-5",
456
- children: pt
457
- }), /* @__PURE__ */ _("div", {
457
+ children: ft
458
+ }), /* @__PURE__ */ g("div", {
458
459
  className: "lg:col-span-7",
459
- children: _t
460
+ children: gt
460
461
  })]
461
462
  })
462
463
  ]
463
464
  }),
464
- /* @__PURE__ */ v("section", {
465
+ /* @__PURE__ */ _("section", {
465
466
  id: "featured",
466
467
  className: "mx-auto max-w-7xl scroll-mt-16 px-4 py-10 sm:scroll-mt-20 sm:px-6",
467
- children: [/* @__PURE__ */ v("div", {
468
+ children: [/* @__PURE__ */ _("div", {
468
469
  className: "flex items-center justify-between gap-3",
469
- children: [/* @__PURE__ */ v("div", {
470
+ children: [/* @__PURE__ */ _("div", {
470
471
  className: "space-y-1",
471
- children: [/* @__PURE__ */ _("h2", {
472
+ children: [/* @__PURE__ */ g("h2", {
472
473
  className: "text-xl font-semibold tracking-tight",
473
- children: /* @__PURE__ */ _("span", { children: d("featured_title") })
474
- }), /* @__PURE__ */ _("p", {
474
+ children: /* @__PURE__ */ g("span", { children: d("featured_title") })
475
+ }), /* @__PURE__ */ g("p", {
475
476
  className: "text-sm text-slate-600",
476
- children: /* @__PURE__ */ _("span", { children: d("featured_description") })
477
+ children: /* @__PURE__ */ g("span", { children: d("featured_description") })
477
478
  })]
478
- }), /* @__PURE__ */ v(y, {
479
+ }), /* @__PURE__ */ _(v, {
479
480
  className: "hidden items-center gap-2 text-sm font-medium text-slate-700 hover:text-slate-950 sm:inline-flex",
480
- to: `/${S ?? ""}/booking${lt}`,
481
- children: [/* @__PURE__ */ _("span", { children: d("featured_view_all") }), /* @__PURE__ */ _(x, {
481
+ to: `/${S ?? ""}/booking${ct}`,
482
+ children: [/* @__PURE__ */ g("span", { children: d("featured_view_all") }), /* @__PURE__ */ g(b, {
482
483
  className: "h-4 w-4",
483
484
  "aria-hidden": "true"
484
485
  })]
485
486
  })]
486
- }), /* @__PURE__ */ _("div", {
487
+ }), /* @__PURE__ */ g("div", {
487
488
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
488
489
  children: nt.map((e) => {
489
- let t = e.id, n = e.slug, r = s(e.name, f.language, O), i = s(e.description, f.language, O), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", o = _e(e.primaryImageStyle), c = ee(e.availabilityStatus), u = ft(n);
490
- return /* @__PURE__ */ v("div", {
490
+ let t = e.id, n = e.slug, r = s(e.name, x.language, O), i = s(e.description, x.language, O), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", o = ve(e.primaryImageStyle), c = ee(e.availabilityStatus), u = dt(n);
491
+ return /* @__PURE__ */ _("div", {
491
492
  className: "group flex h-full flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 text-left shadow-sm transition hover:border-slate-400",
492
493
  children: [
493
- /* @__PURE__ */ _(y, {
494
+ /* @__PURE__ */ g(v, {
494
495
  to: u,
495
496
  state: Z,
496
497
  className: "block",
497
- children: /* @__PURE__ */ _("span", {
498
- className: b("relative block aspect-[1618/1000] overflow-hidden rounded-xl", o.className),
498
+ children: /* @__PURE__ */ g("span", {
499
+ className: y("relative block aspect-[1618/1000] overflow-hidden rounded-xl", o.className),
499
500
  style: o.style,
500
- children: a ? /* @__PURE__ */ _("img", {
501
+ children: a ? /* @__PURE__ */ g("img", {
501
502
  src: a,
502
503
  alt: r,
503
504
  className: "absolute inset-0 h-full w-full object-contain p-1",
504
505
  loading: "lazy"
505
- }) : /* @__PURE__ */ _("span", {
506
+ }) : /* @__PURE__ */ g("span", {
506
507
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
507
- children: /* @__PURE__ */ _(Ae, {
508
+ children: /* @__PURE__ */ g(Ae, {
508
509
  className: "h-8 w-8",
509
510
  "aria-hidden": "true"
510
511
  })
511
512
  })
512
513
  })
513
514
  }),
514
- /* @__PURE__ */ v("span", {
515
+ /* @__PURE__ */ _("span", {
515
516
  className: "flex flex-1 flex-col gap-1",
516
517
  children: [
517
- /* @__PURE__ */ _(y, {
518
+ /* @__PURE__ */ g(v, {
518
519
  to: u,
519
520
  state: Z,
520
521
  className: "text-sm font-semibold text-slate-950 hover:text-slate-700",
521
- children: /* @__PURE__ */ _("span", { children: r })
522
+ children: /* @__PURE__ */ g("span", { children: r })
522
523
  }),
523
- /* @__PURE__ */ _(ge, {
524
+ /* @__PURE__ */ g(ge, {
524
525
  prices: e.prices,
525
526
  className: "self-start"
526
527
  }),
527
- /* @__PURE__ */ _("span", {
528
+ /* @__PURE__ */ g("span", {
528
529
  className: "line-clamp-2 text-xs text-slate-600",
529
530
  children: i
530
531
  })
531
532
  ]
532
533
  }),
533
- /* @__PURE__ */ v("span", {
534
+ /* @__PURE__ */ _("span", {
534
535
  className: "flex flex-wrap items-center gap-x-2 gap-y-1",
535
536
  children: [
536
- /* @__PURE__ */ _(l, {
537
+ /* @__PURE__ */ g(l, {
537
538
  variant: c.variant,
538
- children: /* @__PURE__ */ _("span", { children: d(c.labelKey) })
539
+ children: /* @__PURE__ */ g("span", { children: d(c.labelKey) })
539
540
  }),
540
- /* @__PURE__ */ _("span", {
541
+ /* @__PURE__ */ g("span", {
541
542
  className: "text-slate-400",
542
543
  children: "·"
543
544
  }),
544
- /* @__PURE__ */ _(y, {
545
+ /* @__PURE__ */ g(v, {
545
546
  to: u,
546
547
  state: Z,
547
548
  className: "text-xs font-medium text-slate-700 hover:text-slate-950",
548
- children: /* @__PURE__ */ _("span", { children: d("product_details_link") })
549
+ children: /* @__PURE__ */ g("span", { children: d("product_details_link") })
549
550
  })
550
551
  ]
551
552
  })
@@ -554,28 +555,28 @@ function O() {
554
555
  })
555
556
  })]
556
557
  }),
557
- /* @__PURE__ */ _("section", {
558
+ /* @__PURE__ */ g("section", {
558
559
  id: "products",
559
560
  className: "border-t bg-slate-50/60 scroll-mt-16 sm:scroll-mt-20",
560
- children: /* @__PURE__ */ v("div", {
561
+ children: /* @__PURE__ */ _("div", {
561
562
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
562
- children: [/* @__PURE__ */ _("div", {
563
+ children: [/* @__PURE__ */ g("div", {
563
564
  className: "flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",
564
- children: /* @__PURE__ */ v("div", {
565
+ children: /* @__PURE__ */ _("div", {
565
566
  className: "space-y-1",
566
- children: [/* @__PURE__ */ _("h2", {
567
+ children: [/* @__PURE__ */ g("h2", {
567
568
  className: "text-xl font-semibold tracking-tight",
568
- children: /* @__PURE__ */ _("span", { children: d("products_title") })
569
- }), /* @__PURE__ */ _("p", {
569
+ children: /* @__PURE__ */ g("span", { children: d("products_title") })
570
+ }), /* @__PURE__ */ g("p", {
570
571
  className: "text-sm text-slate-600",
571
- children: /* @__PURE__ */ _("span", { children: d("products_description") })
572
+ children: /* @__PURE__ */ g("span", { children: d("products_description") })
572
573
  })]
573
574
  })
574
- }), /* @__PURE__ */ _("div", {
575
+ }), /* @__PURE__ */ g("div", {
575
576
  className: "mt-6 grid gap-4 md:grid-cols-2",
576
- children: k.map((e) => /* @__PURE__ */ _(ve, {
577
+ children: k.map((e) => /* @__PURE__ */ g(ye, {
577
578
  bike: e,
578
- detailsPath: ft(e.slug),
579
+ detailsPath: dt(e.slug),
579
580
  productDetailsLinkState: Z,
580
581
  fallbackLanguage: O,
581
582
  onAction: X
@@ -583,63 +584,63 @@ function O() {
583
584
  })]
584
585
  })
585
586
  }),
586
- /* @__PURE__ */ v("section", {
587
+ /* @__PURE__ */ _("section", {
587
588
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
588
- children: [/* @__PURE__ */ _("div", {
589
+ children: [/* @__PURE__ */ g("div", {
589
590
  className: "flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between",
590
- children: /* @__PURE__ */ v("div", {
591
+ children: /* @__PURE__ */ _("div", {
591
592
  className: "space-y-1",
592
- children: [/* @__PURE__ */ _("h2", {
593
+ children: [/* @__PURE__ */ g("h2", {
593
594
  className: "text-xl font-semibold tracking-tight",
594
- children: /* @__PURE__ */ _("span", { children: d("accessories_title") })
595
- }), /* @__PURE__ */ _("p", {
595
+ children: /* @__PURE__ */ g("span", { children: d("accessories_title") })
596
+ }), /* @__PURE__ */ g("p", {
596
597
  className: "text-sm text-slate-600",
597
- children: /* @__PURE__ */ _("span", { children: d("accessories_description") })
598
+ children: /* @__PURE__ */ g("span", { children: d("accessories_description") })
598
599
  })]
599
600
  })
600
- }), /* @__PURE__ */ _("div", {
601
+ }), /* @__PURE__ */ g("div", {
601
602
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
602
603
  children: Be.slice(0, 4).map((e) => {
603
- let t = s(e.name, f.language, O), n = s(e.description, f.language, O), r = s(e.warning, f.language, O), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = _e(e.primaryImageStyle);
604
- return /* @__PURE__ */ v("div", {
604
+ let t = s(e.name, x.language, O), n = s(e.description, x.language, O), r = s(e.warning, x.language, O), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = ve(e.primaryImageStyle);
605
+ return /* @__PURE__ */ _("div", {
605
606
  className: "flex h-full flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 shadow-sm",
606
607
  children: [
607
- /* @__PURE__ */ _("div", {
608
- className: b("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
608
+ /* @__PURE__ */ g("div", {
609
+ className: y("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
609
610
  style: a.style,
610
- children: i ? /* @__PURE__ */ _("img", {
611
+ children: i ? /* @__PURE__ */ g("img", {
611
612
  src: i,
612
613
  alt: t,
613
614
  className: "absolute inset-0 h-full w-full object-contain p-1",
614
615
  loading: "lazy"
615
- }) : /* @__PURE__ */ _("div", {
616
+ }) : /* @__PURE__ */ g("div", {
616
617
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
617
- children: /* @__PURE__ */ _(Ae, {
618
+ children: /* @__PURE__ */ g(Ae, {
618
619
  className: "h-8 w-8",
619
620
  "aria-hidden": "true"
620
621
  })
621
622
  })
622
623
  }),
623
- /* @__PURE__ */ v("div", {
624
+ /* @__PURE__ */ _("div", {
624
625
  className: "flex flex-1 flex-col gap-1",
625
626
  children: [
626
- /* @__PURE__ */ _("p", {
627
+ /* @__PURE__ */ g("p", {
627
628
  className: "text-sm font-semibold text-slate-950",
628
- children: /* @__PURE__ */ _("span", { children: t })
629
+ children: /* @__PURE__ */ g("span", { children: t })
629
630
  }),
630
- /* @__PURE__ */ _("p", {
631
+ /* @__PURE__ */ g("p", {
631
632
  className: "line-clamp-2 text-xs text-slate-600",
632
- children: /* @__PURE__ */ _("span", { children: n })
633
+ children: /* @__PURE__ */ g("span", { children: n })
633
634
  }),
634
- /* @__PURE__ */ _(he, {
635
+ /* @__PURE__ */ g(he, {
635
636
  warning: r,
636
637
  className: "mt-1"
637
638
  })
638
639
  ]
639
640
  }),
640
- /* @__PURE__ */ _("div", {
641
+ /* @__PURE__ */ g("div", {
641
642
  className: "flex items-center justify-between gap-2",
642
- children: /* @__PURE__ */ _(ge, {
643
+ children: /* @__PURE__ */ g(ge, {
643
644
  prices: e.prices,
644
645
  openOnHover: !1
645
646
  })
@@ -649,10 +650,10 @@ function O() {
649
650
  })
650
651
  })]
651
652
  }),
652
- /* @__PURE__ */ _(pe, {}),
653
- /* @__PURE__ */ _(fe, {}),
654
- /* @__PURE__ */ _(de, { storeSlug: S ?? "" })
653
+ /* @__PURE__ */ g(pe, {}),
654
+ /* @__PURE__ */ g(fe, {}),
655
+ /* @__PURE__ */ g(de, { storeSlug: S ?? "" })
655
656
  ] });
656
657
  }
657
658
  //#endregion
658
- export { O as default };
659
+ export { D as default };