@loczer/storefront-sdk 0.187.0 → 0.188.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.
Files changed (32) hide show
  1. package/dist/chunks/booking-engine/dist/models/{Product.shared-CTuk4fiR.js → Product.shared-IYOeC3N7.js} +12 -10
  2. package/dist/chunks/booking-engine/dist/schemas/{base-asset-B_Dm8_Vk.js → base-asset-zsUj5_3O.js} +1 -1
  3. package/dist/chunks/booking-engine/dist/schemas/{base-booking-DW8AEPKo.js → base-booking-TzCge_mR.js} +2 -2
  4. package/dist/chunks/booking-engine/dist/schemas/{base-product-1H8l2aUv.js → base-product-DvFFzAcg.js} +1 -1
  5. package/dist/chunks/booking-engine/dist/schemas/{booking-engine-configuration-D02MRF9U.js → booking-engine-configuration-LnrhShqm.js} +4 -1
  6. package/dist/chunks/booking-engine/dist/schemas/{cart-inputs-j1yWfJxO.js → cart-inputs-B0HpcFe5.js} +1 -1
  7. package/dist/chunks/booking-engine/dist/schemas/{public-booking-engine-configuration-BnJ_H-p1.js → public-booking-engine-configuration-CEM9mexX.js} +1 -1
  8. package/dist/chunks/booking-engine/dist/schemas-BNUzqsci.js +13 -0
  9. package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -1
  10. package/dist/components/StorefrontCancellationPolicyNotice/index.js +51 -48
  11. package/dist/components/StorefrontInsuranceNotice/index.d.ts +9 -0
  12. package/dist/components/StorefrontInsuranceNotice/index.d.ts.map +1 -0
  13. package/dist/components/StorefrontInsuranceNotice/index.js +191 -0
  14. package/dist/i18n/en.d.ts +19 -0
  15. package/dist/i18n/en.d.ts.map +1 -1
  16. package/dist/i18n/en.js +21 -2
  17. package/dist/i18n/fr.d.ts +19 -0
  18. package/dist/i18n/fr.d.ts.map +1 -1
  19. package/dist/i18n/fr.js +21 -2
  20. package/dist/index.d.ts +62 -0
  21. package/dist/index.js +68 -68
  22. package/dist/lib/booking.js +2 -2
  23. package/dist/lib/checkoutSubmit.js +3 -3
  24. package/dist/lib/storefrontProducts.d.ts +16 -0
  25. package/dist/lib/storefrontProducts.d.ts.map +1 -1
  26. package/dist/lib/storefrontProducts.js +27 -22
  27. package/dist/pages/HomePage.d.ts.map +1 -1
  28. package/dist/pages/HomePage.js +284 -288
  29. package/dist/storefront.css +1 -1
  30. package/dist/storefrontSchemas.js +2 -2
  31. package/package.json +1 -1
  32. package/dist/chunks/booking-engine/dist/schemas-DftrSnTE.js +0 -13
@@ -21,27 +21,28 @@ import { Card as fe } from "../ui/card.js";
21
21
  import { ProductWarningNotice as pe } from "../components/ProductWarningNotice/index.js";
22
22
  import { ProductPriceBadge as me } from "../components/ProductPriceBadge/index.js";
23
23
  import d from "../chunks/assets/playground-hero-preview-kf4c9tSc.js";
24
- import { resolveProductImageContainerStyle as he } from "../lib/productImageStyles.js";
25
- import { BikeProductCard as ge } from "../components/BikeProductCard/index.js";
26
- import { StorefrontCancellationPolicyNotice as _e, resolveStorefrontCancellationPolicyTeaserTier as ve } from "../components/StorefrontCancellationPolicyNotice/index.js";
27
- import { createStorefrontTimeSlotsFetcher as ye } from "../lib/fetchStorefrontTimeSlots.js";
28
- import { FulfillmentSection as be } from "../components/FulfillmentSection/index.js";
29
- import { useEffect as xe, useMemo as f, useRef as Se, useState as p } from "react";
30
- import { Fragment as Ce, jsx as m, jsxs as h } from "react/jsx-runtime";
31
- import { cn as g } from "@rpcbase/ui";
32
- import { useMediaQuery as we } from "@rpcbase/client";
33
- import { Link as _, useLocation as Te, useNavigate as Ee, useParams as De, useSearchParams as Oe } from "@rpcbase/router";
34
- import { useTranslation as ke } from "react-i18next";
35
- import { ArrowRight as v, Bike as Ae, Clock as je, MapPin as Me, ShieldCheck as Ne, Truck as Pe, Umbrella as Fe } from "lucide-react";
24
+ import { resolveProductImageContainerStyle as f } from "../lib/productImageStyles.js";
25
+ import { BikeProductCard as he } from "../components/BikeProductCard/index.js";
26
+ import { StorefrontCancellationPolicyNotice as ge } from "../components/StorefrontCancellationPolicyNotice/index.js";
27
+ import { StorefrontInsuranceNotice as _e } from "../components/StorefrontInsuranceNotice/index.js";
28
+ import { createStorefrontTimeSlotsFetcher as ve } from "../lib/fetchStorefrontTimeSlots.js";
29
+ import { FulfillmentSection as ye } from "../components/FulfillmentSection/index.js";
30
+ import { useEffect as be, useMemo as p, useRef as xe, useState as m } from "react";
31
+ import { Fragment as Se, jsx as h, jsxs as g } from "react/jsx-runtime";
32
+ import { cn as _ } from "@rpcbase/ui";
33
+ import { useMediaQuery as Ce } from "@rpcbase/client";
34
+ import { Link as v, useLocation as we, useNavigate as Te, useParams as Ee, useSearchParams as De } from "@rpcbase/router";
35
+ import { useTranslation as Oe } from "react-i18next";
36
+ import { ArrowRight as y, Bike as b, Clock as ke, MapPin as Ae, ShieldCheck as je, Truck as Me } from "lucide-react";
36
37
  //#region src/pages/HomePage.tsx
37
- var y = (e) => String(e).padStart(2, "0"), b = "text-2xs font-semibold uppercase tracking-wide text-slate-600", x = "h-10", S = 6, C = 5, w = [
38
+ var x = (e) => String(e).padStart(2, "0"), Ne = "text-2xs font-semibold uppercase tracking-wide text-slate-600", Pe = "h-10", S = 6, C = 5, Fe = [
38
39
  15,
39
40
  25,
40
41
  42,
41
42
  66,
42
43
  33,
43
44
  54
44
- ], T = [
45
+ ], w = [
45
46
  "4 / 5",
46
47
  "1 / 1",
47
48
  "3 / 4",
@@ -50,27 +51,27 @@ var y = (e) => String(e).padStart(2, "0"), b = "text-2xs font-semibold uppercase
50
51
  "4 / 3",
51
52
  "9 / 16",
52
53
  "6 / 7"
53
- ], Ie = (e) => `${e.getFullYear()}-${y(e.getMonth() + 1)}-${y(e.getDate())}`, E = (e) => {
54
+ ], T = (e) => `${e.getFullYear()}-${x(e.getMonth() + 1)}-${x(e.getDate())}`, E = (e) => {
54
55
  if (!e) return;
55
56
  let t = e.match(/^(\d{4})-(\d{2})-(\d{2})$/);
56
57
  if (!t) return;
57
58
  let n = Number(t[1]), r = Number(t[2]), i = Number(t[3]), a = new Date(n, r - 1, i);
58
59
  if (!(Number.isNaN(a.getTime()) || a.getFullYear() !== n || a.getMonth() !== r - 1 || a.getDate() !== i)) return a;
59
- }, Le = (e) => {
60
+ }, Ie = (e) => {
60
61
  let t = e.length > 0 ? e : [d];
61
62
  return Array.from({ length: S }, (e, n) => Array.from({ length: C }, (e, r) => {
62
63
  let i = n * C + r;
63
64
  return {
64
- aspectRatio: T[(i + n) % T.length] ?? T[0],
65
+ aspectRatio: w[(i + n) % w.length] ?? w[0],
65
66
  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"
66
67
  };
67
68
  }));
68
69
  };
69
70
  function D() {
70
- let { t: d, i18n: y } = ke(), { storeSlug: S } = De(), C = Te(), { storefrontConfiguration: T } = se(), D = T.shop.address?.trim() ?? "", O = T.workspace?.workspaceLanguage, { bikes: k, accessories: Re } = ce(), [A] = Oe(), ze = Ee(), j = f(() => i(A, S), [A, S]), Be = f(() => t(T), [T]), M = f(() => r(T), [T]), N = f(() => E(M.start_date), [M.start_date]), Ve = f(() => E(M.end_date) ?? N, [M.end_date, N]), P = T.settings.fulfillmentModes.includes("delivery"), He = T.settings.deliveryDisabledReason.trim(), Ue = !!ve(T.bookingEngine.cancellationPolicy), F = f(() => n(j, M), [M, j]), [I, We] = p(() => F.fulfillment === "delivery" && P ? "delivery" : "pickup"), [L, Ge] = p(() => E(j.get("start_date")) ?? N), [R, Ke] = p(() => j.get("start_time") ?? M.start_time), [z, qe] = p(() => {
71
- let e = E(j.get("start_date")) ?? N;
72
- return E(j.get("end_date")) ?? e ?? Ve;
73
- }), [B, Je] = p(() => j.get("end_time") ?? M.end_time), [V, H] = p(() => F.start_address), [U, W] = p(() => F.end_address), G = Se(null), Ye = f(() => k.slice(0, 4), [k]), { heroMode: Xe } = u(), Ze = Xe ?? T.content?.heroMode ?? "current_booking_hero", K = Ze === "vertical_marquee_hero", q = Ze === "booking_bar_overlay_hero" || K, Qe = we("(min-width: 1024px)"), $e = ye(S), et = f(() => ({
71
+ let { t: d, i18n: x } = Oe(), { storeSlug: S } = Ee(), C = we(), { storefrontConfiguration: w } = se(), D = w.shop.address?.trim() ?? "", O = w.workspace?.workspaceLanguage, { bikes: k, accessories: A } = ce(), [j] = De(), Le = Te(), M = p(() => i(j, S), [j, S]), Re = p(() => t(w), [w]), N = p(() => r(w), [w]), P = p(() => E(N.start_date), [N.start_date]), ze = p(() => E(N.end_date) ?? P, [N.end_date, P]), F = w.settings.fulfillmentModes.includes("delivery"), Be = w.settings.deliveryDisabledReason.trim(), I = p(() => n(M, N), [N, M]), [L, Ve] = m(() => I.fulfillment === "delivery" && F ? "delivery" : "pickup"), [R, He] = m(() => E(M.get("start_date")) ?? P), [z, Ue] = m(() => M.get("start_time") ?? N.start_time), [B, We] = m(() => {
72
+ let e = E(M.get("start_date")) ?? P;
73
+ return E(M.get("end_date")) ?? e ?? ze;
74
+ }), [V, Ge] = m(() => M.get("end_time") ?? N.end_time), [H, U] = m(() => I.start_address), [W, G] = m(() => I.end_address), K = xe(null), Ke = p(() => k.slice(0, 4), [k]), { heroMode: qe } = u(), Je = qe ?? w.content?.heroMode ?? "current_booking_hero", q = Je === "vertical_marquee_hero", J = Je === "booking_bar_overlay_hero" || q, Ye = Ce("(min-width: 1024px)"), Xe = ve(S), Ze = p(() => ({
74
75
  startDate: d("booking_start_date"),
75
76
  pickStartDate: d("booking_start_date"),
76
77
  startTime: d("booking_start_time"),
@@ -78,246 +79,241 @@ function D() {
78
79
  pickEndDate: d("booking_end_date"),
79
80
  endTime: d("booking_end_time"),
80
81
  selectedDaysTooltip: ({ count: e }) => d("booking_selected_days_tooltip", { count: e })
81
- }), [y.language, d]), J = f(() => {
82
- let t = L ?? N ?? /* @__PURE__ */ new Date(), n = z ?? t;
82
+ }), [x.language, d]), Y = p(() => {
83
+ let t = R ?? P ?? /* @__PURE__ */ new Date(), n = B ?? t;
83
84
  return e(new URLSearchParams(), {
84
- fulfillment: I === "delivery" && P ? "delivery" : "pickup",
85
- start_date: Ie(t),
86
- start_time: R || M.start_time,
87
- end_date: Ie(n),
88
- end_time: B || M.end_time,
89
- start_address: V,
90
- end_address: U
85
+ fulfillment: L === "delivery" && F ? "delivery" : "pickup",
86
+ start_date: T(t),
87
+ start_time: z || N.start_time,
88
+ end_date: T(n),
89
+ end_time: V || N.end_time,
90
+ start_address: H,
91
+ end_address: W
91
92
  });
92
93
  }, [
93
- M.end_time,
94
- M.start_time,
95
- N,
94
+ N.end_time,
95
+ N.start_time,
96
96
  P,
97
- U,
98
- z,
97
+ F,
98
+ W,
99
99
  B,
100
- I,
101
100
  V,
102
101
  L,
103
- R
104
- ]), tt = J.toString(), nt = tt ? `?${tt}` : "";
105
- xe(() => {
106
- a(S, J);
107
- }, [J, S]);
108
- let rt = {
109
- startDate: L,
110
- onStartDateChange: Ge,
111
- startTime: R,
112
- onStartTimeChange: Ke,
113
- endDate: z,
114
- onEndDateChange: qe,
115
- endTime: B,
116
- onEndTimeChange: Je,
102
+ H,
103
+ R,
104
+ z
105
+ ]), Qe = Y.toString(), $e = Qe ? `?${Qe}` : "";
106
+ be(() => {
107
+ a(S, Y);
108
+ }, [Y, S]);
109
+ let et = {
110
+ startDate: R,
111
+ onStartDateChange: He,
112
+ startTime: z,
113
+ onStartTimeChange: Ue,
114
+ endDate: B,
115
+ onEndDateChange: We,
116
+ endTime: V,
117
+ onEndTimeChange: Ge,
117
118
  onEndTimeCommit: () => {
118
- G.current?.focus({ preventScroll: !0 });
119
+ K.current?.focus({ preventScroll: !0 });
119
120
  },
120
- bookingPeriodConfig: Be,
121
- fetchTimeSlots: $e,
122
- labels: et,
123
- localeCode: y.language
124
- }, Y = () => {
125
- let e = new URLSearchParams(A);
126
- for (let [t, n] of J.entries()) e.set(t, n);
127
- ze(`/${S ?? ""}/booking?${e.toString()}#booking-products`);
128
- }, it = (e) => `/${S ?? ""}/products/${e}`, X = { backTo: `${C.pathname}${C.search}${C.hash}` }, at = /* @__PURE__ */ h("div", { children: [
129
- /* @__PURE__ */ h("div", {
121
+ bookingPeriodConfig: Re,
122
+ fetchTimeSlots: Xe,
123
+ labels: Ze,
124
+ localeCode: x.language
125
+ }, X = () => {
126
+ let e = new URLSearchParams(j);
127
+ for (let [t, n] of Y.entries()) e.set(t, n);
128
+ Le(`/${S ?? ""}/booking?${e.toString()}#booking-products`);
129
+ }, tt = (e) => `/${S ?? ""}/products/${e}`, Z = { backTo: `${C.pathname}${C.search}${C.hash}` }, nt = /* @__PURE__ */ g("div", { children: [
130
+ /* @__PURE__ */ g("div", {
130
131
  className: "flex items-center gap-2",
131
- children: [/* @__PURE__ */ h(c, {
132
+ children: [/* @__PURE__ */ g(c, {
132
133
  variant: "secondary",
133
- children: [/* @__PURE__ */ m(je, {
134
+ children: [/* @__PURE__ */ h(ke, {
134
135
  className: "h-3 w-3",
135
136
  "aria-hidden": "true"
136
- }), /* @__PURE__ */ m("span", { children: d("status_open") })]
137
- }), /* @__PURE__ */ h(c, {
137
+ }), /* @__PURE__ */ h("span", { children: d("status_open") })]
138
+ }), /* @__PURE__ */ g(c, {
138
139
  variant: "outline",
139
- className: g(!D && "border-destructive/40 text-destructive"),
140
- children: [/* @__PURE__ */ m(Me, {
140
+ className: _(!D && "border-destructive/40 text-destructive"),
141
+ children: [/* @__PURE__ */ h(Ae, {
141
142
  className: "h-3 w-3",
142
143
  "aria-hidden": "true"
143
- }), /* @__PURE__ */ m("span", { children: D || "[Missing shop address]" })]
144
+ }), /* @__PURE__ */ h("span", { children: D || "[Missing shop address]" })]
144
145
  })]
145
146
  }),
146
- /* @__PURE__ */ m("h1", {
147
+ /* @__PURE__ */ h("h1", {
147
148
  className: "mt-4 text-3xl font-semibold tracking-tight sm:text-4xl",
148
- children: /* @__PURE__ */ m("span", { children: d("hero_title") })
149
+ children: /* @__PURE__ */ h("span", { children: d("hero_title") })
149
150
  }),
150
- /* @__PURE__ */ m("p", {
151
+ /* @__PURE__ */ h("p", {
151
152
  className: "mt-3 text-sm text-slate-700 sm:text-base",
152
- children: /* @__PURE__ */ m("span", { children: d("hero_description") })
153
+ children: /* @__PURE__ */ h("span", { children: d("hero_description") })
153
154
  }),
154
- /* @__PURE__ */ m("div", {
155
- className: g("mt-6", !q && "rounded-xl border bg-white/70 p-3"),
156
- children: /* @__PURE__ */ h("ul", {
157
- className: g("space-y-3", q && "space-y-2"),
155
+ /* @__PURE__ */ h("div", {
156
+ className: _("mt-6", !J && "rounded-xl border bg-white/70 p-3"),
157
+ children: /* @__PURE__ */ g("ul", {
158
+ className: _("space-y-3", J && "space-y-2"),
159
+ "data-testid": "storefront-home-trust-features",
158
160
  children: [
159
- /* @__PURE__ */ m(_e, { policy: T.bookingEngine.cancellationPolicy }),
160
- /* @__PURE__ */ h("li", {
161
- className: g("flex items-start gap-3", !q && Ue && "border-t border-slate-200/70 pt-3"),
162
- children: [/* @__PURE__ */ m(Ne, {
161
+ /* @__PURE__ */ g("li", {
162
+ className: "flex items-start gap-3",
163
+ "data-testid": "storefront-secure-payment-notice",
164
+ children: [/* @__PURE__ */ h(je, {
163
165
  className: "mt-0.5 h-5 w-5 text-success",
164
166
  "aria-hidden": "true"
165
- }), /* @__PURE__ */ h("div", {
167
+ }), /* @__PURE__ */ g("div", {
166
168
  className: "flex flex-col gap-0.5",
167
- children: [/* @__PURE__ */ m("p", {
169
+ children: [/* @__PURE__ */ h("p", {
168
170
  className: "text-sm font-medium text-slate-950",
169
- children: /* @__PURE__ */ m("span", { children: d("feature_secure_payment_title") })
170
- }), /* @__PURE__ */ m("p", {
171
+ children: /* @__PURE__ */ h("span", { children: d("feature_secure_payment_title") })
172
+ }), /* @__PURE__ */ h("p", {
171
173
  className: "text-xs text-slate-600",
172
- children: /* @__PURE__ */ m("span", { children: d("feature_secure_payment_description") })
174
+ children: /* @__PURE__ */ h("span", { children: d("feature_secure_payment_description") })
173
175
  })]
174
176
  })]
175
177
  }),
176
- /* @__PURE__ */ h("li", {
177
- className: g("flex items-start gap-3", !q && "border-t border-slate-200/70 pt-3"),
178
- children: [/* @__PURE__ */ m(Fe, {
179
- className: "mt-0.5 h-5 w-5 text-success",
180
- "aria-hidden": "true"
181
- }), /* @__PURE__ */ h("div", {
182
- className: "flex flex-col gap-0.5",
183
- children: [/* @__PURE__ */ m("p", {
184
- className: "text-sm font-medium text-slate-950",
185
- children: /* @__PURE__ */ m("span", { children: d("feature_guarantee_insurance_title") })
186
- }), /* @__PURE__ */ m("p", {
187
- className: "text-xs text-slate-600",
188
- children: /* @__PURE__ */ m("span", { children: d("feature_guarantee_insurance_description") })
189
- })]
190
- })]
178
+ /* @__PURE__ */ h(ge, {
179
+ policy: w.bookingEngine.cancellationPolicy,
180
+ className: _(!J && "border-t border-slate-200/70 pt-3")
191
181
  }),
192
- P ? /* @__PURE__ */ h("li", {
193
- className: g("flex items-start gap-3", !q && "border-t border-slate-200/70 pt-3"),
194
- children: [/* @__PURE__ */ m(Pe, {
182
+ F ? /* @__PURE__ */ g("li", {
183
+ className: _("flex items-start gap-3", !J && "border-t border-slate-200/70 pt-3"),
184
+ "data-testid": "storefront-delivery-notice",
185
+ children: [/* @__PURE__ */ h(Me, {
195
186
  className: "mt-0.5 h-5 w-5 text-slate-900",
196
187
  "aria-hidden": "true"
197
- }), /* @__PURE__ */ h("div", {
188
+ }), /* @__PURE__ */ g("div", {
198
189
  className: "flex flex-col gap-0.5",
199
- children: [/* @__PURE__ */ m("p", {
190
+ children: [/* @__PURE__ */ h("p", {
200
191
  className: "text-sm font-medium text-slate-950",
201
- children: /* @__PURE__ */ m("span", { children: d("feature_delivery_title") })
202
- }), /* @__PURE__ */ m("p", {
192
+ children: /* @__PURE__ */ h("span", { children: d("feature_delivery_title") })
193
+ }), /* @__PURE__ */ h("p", {
203
194
  className: "text-xs text-slate-600",
204
- children: /* @__PURE__ */ m("span", { children: d("feature_delivery_description") })
195
+ children: /* @__PURE__ */ h("span", { children: d("feature_delivery_description") })
205
196
  })]
206
197
  })]
207
- }) : null
198
+ }) : null,
199
+ /* @__PURE__ */ h(_e, {
200
+ bikes: k,
201
+ currency: w.bookingEngine.currency,
202
+ className: _(!J && "border-t border-slate-200/70 pt-3")
203
+ })
208
204
  ]
209
205
  })
210
206
  })
211
- ] }), ot = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ m(te, {
212
- ...rt,
213
- labelClassName: b,
214
- inputClassName: x,
215
- children: /* @__PURE__ */ h("div", {
207
+ ] }), Q = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ h(te, {
208
+ ...et,
209
+ labelClassName: Ne,
210
+ inputClassName: Pe,
211
+ children: /* @__PURE__ */ g("div", {
216
212
  className: e,
217
213
  children: [
218
- /* @__PURE__ */ m("div", {
214
+ /* @__PURE__ */ h("div", {
219
215
  className: "min-w-0",
220
- children: /* @__PURE__ */ m(ne, {})
216
+ children: /* @__PURE__ */ h(ne, {})
221
217
  }),
222
- /* @__PURE__ */ m(re, {}),
223
- /* @__PURE__ */ m("div", {
218
+ /* @__PURE__ */ h(re, {}),
219
+ /* @__PURE__ */ h("div", {
224
220
  className: "min-w-0",
225
- children: /* @__PURE__ */ m(ie, {})
221
+ children: /* @__PURE__ */ h(ie, {})
226
222
  }),
227
- /* @__PURE__ */ m(ae, {}),
228
- t ? /* @__PURE__ */ h(l, {
229
- ref: G,
230
- className: g("gap-2", n),
231
- onClick: Y,
232
- children: [/* @__PURE__ */ m("span", { children: d("booking_submit") }), /* @__PURE__ */ m(v, {
223
+ /* @__PURE__ */ h(ae, {}),
224
+ t ? /* @__PURE__ */ g(l, {
225
+ ref: K,
226
+ className: _("gap-2", n),
227
+ onClick: X,
228
+ children: [/* @__PURE__ */ h("span", { children: d("booking_submit") }), /* @__PURE__ */ h(y, {
233
229
  className: "h-4 w-4",
234
230
  "aria-hidden": "true"
235
231
  })]
236
232
  }) : null
237
233
  ]
238
234
  })
239
- }), Z = (e) => P ? /* @__PURE__ */ m(oe, {
240
- open: I === "delivery",
235
+ }), rt = (e) => F ? /* @__PURE__ */ h(oe, {
236
+ open: L === "delivery",
241
237
  className: "sm:min-h-[6.75rem]",
242
- inputClassName: `${x} bg-white`,
243
- labelClassName: b,
244
- startAddress: V,
245
- onStartAddressChange: H,
246
- returnAddress: U,
247
- onReturnAddressChange: W,
238
+ inputClassName: `${Pe} bg-white`,
239
+ labelClassName: Ne,
240
+ startAddress: H,
241
+ onStartAddressChange: U,
242
+ returnAddress: W,
243
+ onReturnAddressChange: G,
248
244
  testIdPrefix: e
249
- }) : null, st = Z("storefront-home-fulfillment-delivery-address"), ct = Z("storefront-home-compact-fulfillment-delivery-address"), lt = /* @__PURE__ */ h(fe, {
245
+ }) : null, it = rt("storefront-home-fulfillment-delivery-address"), at = rt("storefront-home-compact-fulfillment-delivery-address"), ot = /* @__PURE__ */ g(fe, {
250
246
  className: "border-slate-200 bg-white/80 shadow-none",
251
- children: [/* @__PURE__ */ h("div", {
247
+ children: [/* @__PURE__ */ g("div", {
252
248
  className: "border-b border-slate-200 px-4 py-4",
253
- children: [/* @__PURE__ */ m("p", {
249
+ children: [/* @__PURE__ */ h("p", {
254
250
  className: "text-sm font-semibold text-slate-950",
255
- children: /* @__PURE__ */ m("span", { children: d("booking_title") })
256
- }), /* @__PURE__ */ m("p", {
251
+ children: /* @__PURE__ */ h("span", { children: d("booking_title") })
252
+ }), /* @__PURE__ */ h("p", {
257
253
  className: "mt-1 text-xs text-slate-600",
258
- children: /* @__PURE__ */ m("span", { children: d("booking_subtitle") })
254
+ children: /* @__PURE__ */ h("span", { children: d("booking_subtitle") })
259
255
  })]
260
- }), /* @__PURE__ */ h("div", {
256
+ }), /* @__PURE__ */ g("div", {
261
257
  className: "grid gap-4 px-4 py-4",
262
258
  children: [
263
- /* @__PURE__ */ m(be, {
264
- value: I,
265
- onValueChange: We,
259
+ /* @__PURE__ */ h(ye, {
260
+ value: L,
261
+ onValueChange: Ve,
266
262
  pickupAddress: D,
267
- deliveryEnabled: P,
268
- deliveryDisabledReason: He,
269
- startAddress: V,
270
- onStartAddressChange: H,
271
- endAddress: U,
272
- onEndAddressChange: W,
263
+ deliveryEnabled: F,
264
+ deliveryDisabledReason: Be,
265
+ startAddress: H,
266
+ onStartAddressChange: U,
267
+ endAddress: W,
268
+ onEndAddressChange: G,
273
269
  showDeliveryAddressSelector: !1,
274
270
  testIdPrefix: "storefront-home-fulfillment"
275
271
  }),
276
- ot({ 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" }),
277
- st,
278
- /* @__PURE__ */ m("p", {
272
+ 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" }),
273
+ it,
274
+ /* @__PURE__ */ h("p", {
279
275
  className: "text-xs text-slate-600",
280
- children: /* @__PURE__ */ m("span", { children: d("booking_minimum_duration", { hours: 4 }) })
276
+ children: /* @__PURE__ */ h("span", { children: d("booking_minimum_duration", { hours: 4 }) })
281
277
  }),
282
- /* @__PURE__ */ h(l, {
283
- ref: G,
278
+ /* @__PURE__ */ g(l, {
279
+ ref: K,
284
280
  className: "h-11 w-fit justify-self-start rounded-xl text-sm font-semibold gap-2",
285
- onClick: Y,
286
- children: [/* @__PURE__ */ m("span", { children: d("booking_submit") }), /* @__PURE__ */ m(v, {
281
+ onClick: X,
282
+ children: [/* @__PURE__ */ h("span", { children: d("booking_submit") }), /* @__PURE__ */ h(y, {
287
283
  className: "h-4 w-4",
288
284
  "aria-hidden": "true"
289
285
  })]
290
286
  })
291
287
  ]
292
288
  })]
293
- }), ut = /* @__PURE__ */ m(fe, {
289
+ }), st = /* @__PURE__ */ h(fe, {
294
290
  className: "border-slate-200 bg-white/95 shadow-xl",
295
- children: /* @__PURE__ */ h("div", {
291
+ children: /* @__PURE__ */ g("div", {
296
292
  className: "grid gap-3 p-4",
297
293
  children: [
298
- /* @__PURE__ */ m("div", { children: /* @__PURE__ */ m(be, {
299
- value: I,
300
- onValueChange: We,
294
+ /* @__PURE__ */ h("div", { children: /* @__PURE__ */ h(ye, {
295
+ value: L,
296
+ onValueChange: Ve,
301
297
  pickupAddress: D,
302
- deliveryEnabled: P,
303
- deliveryDisabledReason: He,
304
- startAddress: V,
305
- onStartAddressChange: H,
306
- endAddress: U,
307
- onEndAddressChange: W,
298
+ deliveryEnabled: F,
299
+ deliveryDisabledReason: Be,
300
+ startAddress: H,
301
+ onStartAddressChange: U,
302
+ endAddress: W,
303
+ onEndAddressChange: G,
308
304
  showDeliveryAddressSelector: !1,
309
305
  testIdPrefix: "storefront-home-compact-fulfillment"
310
306
  }) }),
311
- ot({
307
+ Q({
312
308
  className: "grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px_auto] xl:items-end",
313
309
  showSubmitButton: !0,
314
310
  submitButtonClassName: "h-10 rounded-xl text-sm font-semibold xl:self-end"
315
311
  }),
316
- ct
312
+ at
317
313
  ]
318
314
  })
319
- }), Q = (T.content?.galleryImageIds ?? []).map((e) => s(e, S ?? T.storeSlug)).filter((e) => e.length > 0), dt = [...k, ...Re].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), ft = Le(Q.length > 0 ? Q : dt), pt = Q[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", mt = K ? /* @__PURE__ */ m("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, $ = (e) => /* @__PURE__ */ m("div", {
320
- className: g("relative h-full min-h-[340px] overflow-hidden", e),
315
+ }), $ = (w.content?.galleryImageIds ?? []).map((e) => s(e, S ?? w.storeSlug)).filter((e) => e.length > 0), ct = [...k, ...A].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), lt = Ie($.length > 0 ? $ : ct), ut = $[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", dt = q ? /* @__PURE__ */ h("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, ft = (e) => /* @__PURE__ */ h("div", {
316
+ className: _("relative h-full min-h-[340px] overflow-hidden", e),
321
317
  style: {
322
318
  WebkitMaskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
323
319
  maskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
@@ -327,194 +323,194 @@ function D() {
327
323
  maskSize: "100% 100%"
328
324
  },
329
325
  "aria-hidden": "true",
330
- children: /* @__PURE__ */ m("div", {
326
+ children: /* @__PURE__ */ h("div", {
331
327
  className: "absolute inset-0 grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6",
332
- children: ft.map((e, t) => {
333
- let n = w[t % w.length] ?? 32, r = [...e, ...e];
334
- return /* @__PURE__ */ m("div", {
335
- className: g("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
336
- children: /* @__PURE__ */ m("div", {
337
- className: g("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
328
+ children: lt.map((e, t) => {
329
+ let n = Fe[t % Fe.length] ?? 32, r = [...e, ...e];
330
+ return /* @__PURE__ */ h("div", {
331
+ className: _("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
332
+ children: /* @__PURE__ */ h("div", {
333
+ className: _("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
338
334
  style: {
339
335
  "--storefront-hero-marquee-duration": `${n}s`,
340
336
  "--storefront-hero-marquee-gap": "0.75rem"
341
337
  },
342
- children: r.map((n, r) => /* @__PURE__ */ h("div", {
338
+ children: r.map((n, r) => /* @__PURE__ */ g("div", {
343
339
  className: "group relative overflow-hidden rounded-[1.35rem] border border-white/40 bg-transparent",
344
340
  style: { aspectRatio: n.aspectRatio },
345
341
  children: [
346
- /* @__PURE__ */ m("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
347
- /* @__PURE__ */ m("img", {
342
+ /* @__PURE__ */ h("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
343
+ /* @__PURE__ */ h("img", {
348
344
  src: n.src,
349
345
  alt: "",
350
346
  className: "absolute inset-0 h-full w-full object-cover opacity-90 saturate-[1.05] transition-transform duration-700 group-hover:scale-[1.04]",
351
347
  loading: r < e.length ? "eager" : "lazy"
352
348
  }),
353
- /* @__PURE__ */ m("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
349
+ /* @__PURE__ */ h("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
354
350
  ]
355
351
  }, `hero-marquee-tile-${t}-${r}`))
356
352
  })
357
353
  }, `hero-marquee-column-${t}`);
358
354
  })
359
355
  })
360
- }), ht = K ? /* @__PURE__ */ m("div", {
356
+ }), pt = q ? /* @__PURE__ */ h("div", {
361
357
  className: "pointer-events-none absolute inset-0 hidden lg:block",
362
358
  "aria-hidden": "true",
363
- children: /* @__PURE__ */ h("div", {
359
+ children: /* @__PURE__ */ g("div", {
364
360
  className: "mx-auto grid h-full max-w-7xl grid-cols-12 gap-8 px-4 sm:px-6",
365
- children: [/* @__PURE__ */ m("div", { className: "lg:col-span-5" }), /* @__PURE__ */ m("div", {
361
+ children: [/* @__PURE__ */ h("div", { className: "lg:col-span-5" }), /* @__PURE__ */ h("div", {
366
362
  className: "lg:col-span-7",
367
- children: $()
363
+ children: ft()
368
364
  })]
369
365
  })
370
- }) : null, gt = K ? /* @__PURE__ */ h(Ce, { children: [/* @__PURE__ */ m("div", {
366
+ }) : null, mt = q ? /* @__PURE__ */ g(Se, { children: [/* @__PURE__ */ h("div", {
371
367
  className: "lg:hidden",
372
- children: $()
373
- }), /* @__PURE__ */ m("div", {
368
+ children: ft()
369
+ }), /* @__PURE__ */ h("div", {
374
370
  className: "hidden min-h-[510px] lg:block",
375
371
  "aria-hidden": "true"
376
- })] }) : /* @__PURE__ */ h("div", {
372
+ })] }) : /* @__PURE__ */ g("div", {
377
373
  className: "relative min-h-[340px] overflow-hidden rounded-3xl border border-slate-200 bg-slate-900 shadow-sm lg:min-h-[510px]",
378
- children: [/* @__PURE__ */ m("img", {
379
- src: pt,
374
+ children: [/* @__PURE__ */ h("img", {
375
+ src: ut,
380
376
  alt: "",
381
377
  className: "absolute inset-0 h-full w-full object-cover",
382
378
  "aria-hidden": "true"
383
- }), /* @__PURE__ */ m("div", {
379
+ }), /* @__PURE__ */ h("div", {
384
380
  className: "absolute inset-0 bg-linear-to-t from-slate-900/45 via-slate-900/15 to-transparent",
385
381
  "aria-hidden": "true"
386
382
  })]
387
383
  });
388
- return /* @__PURE__ */ h(Ce, { children: [
389
- /* @__PURE__ */ h("section", {
384
+ return /* @__PURE__ */ g(Se, { children: [
385
+ /* @__PURE__ */ g("section", {
390
386
  className: "relative overflow-hidden border-b border-slate-200",
391
387
  children: [
392
- /* @__PURE__ */ m("div", {
388
+ /* @__PURE__ */ h("div", {
393
389
  className: "absolute inset-0 bg-linear-to-b from-slate-50 to-white",
394
390
  "aria-hidden": "true"
395
391
  }),
396
- /* @__PURE__ */ m("div", {
392
+ /* @__PURE__ */ h("div", {
397
393
  className: "absolute inset-0 opacity-[0.07]",
398
394
  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%)" },
399
395
  "aria-hidden": "true"
400
396
  }),
401
- mt,
402
- ht,
403
- q ? /* @__PURE__ */ h("div", {
397
+ dt,
398
+ pt,
399
+ J ? /* @__PURE__ */ g("div", {
404
400
  className: "relative mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14",
405
- children: [/* @__PURE__ */ h("div", {
401
+ children: [/* @__PURE__ */ g("div", {
406
402
  className: "lg:col-span-5",
407
- children: [at, Qe ? /* @__PURE__ */ m("div", {
403
+ children: [nt, Ye ? /* @__PURE__ */ h("div", {
408
404
  className: "mt-7",
409
- children: /* @__PURE__ */ m("div", {
405
+ children: /* @__PURE__ */ h("div", {
410
406
  className: "relative z-20 w-[calc(100%+24rem)] max-w-none",
411
- children: ut
407
+ children: st
412
408
  })
413
409
  }) : null]
414
- }), /* @__PURE__ */ h("div", {
415
- className: g("lg:col-span-7", !K && "lg:pt-4"),
416
- children: [gt, Qe ? null : /* @__PURE__ */ m("div", {
410
+ }), /* @__PURE__ */ g("div", {
411
+ className: _("lg:col-span-7", !q && "lg:pt-4"),
412
+ children: [mt, Ye ? null : /* @__PURE__ */ h("div", {
417
413
  className: "mt-4",
418
- children: ut
414
+ children: st
419
415
  })]
420
416
  })]
421
- }) : /* @__PURE__ */ h("div", {
417
+ }) : /* @__PURE__ */ g("div", {
422
418
  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",
423
- children: [/* @__PURE__ */ m("div", {
419
+ children: [/* @__PURE__ */ h("div", {
424
420
  className: "lg:col-span-5",
425
- children: at
426
- }), /* @__PURE__ */ m("div", {
421
+ children: nt
422
+ }), /* @__PURE__ */ h("div", {
427
423
  className: "lg:col-span-7",
428
- children: lt
424
+ children: ot
429
425
  })]
430
426
  })
431
427
  ]
432
428
  }),
433
- /* @__PURE__ */ h("section", {
429
+ /* @__PURE__ */ g("section", {
434
430
  id: "featured",
435
431
  className: "mx-auto max-w-7xl scroll-mt-16 px-4 py-10 sm:scroll-mt-20 sm:px-6",
436
- children: [/* @__PURE__ */ h("div", {
432
+ children: [/* @__PURE__ */ g("div", {
437
433
  className: "flex items-center justify-between gap-3",
438
- children: [/* @__PURE__ */ h("div", {
434
+ children: [/* @__PURE__ */ g("div", {
439
435
  className: "space-y-1",
440
- children: [/* @__PURE__ */ m("h2", {
436
+ children: [/* @__PURE__ */ h("h2", {
441
437
  className: "text-xl font-semibold tracking-tight",
442
- children: /* @__PURE__ */ m("span", { children: d("featured_title") })
443
- }), /* @__PURE__ */ m("p", {
438
+ children: /* @__PURE__ */ h("span", { children: d("featured_title") })
439
+ }), /* @__PURE__ */ h("p", {
444
440
  className: "text-sm text-slate-600",
445
- children: /* @__PURE__ */ m("span", { children: d("featured_description") })
441
+ children: /* @__PURE__ */ h("span", { children: d("featured_description") })
446
442
  })]
447
- }), /* @__PURE__ */ h(_, {
443
+ }), /* @__PURE__ */ g(v, {
448
444
  className: "hidden items-center gap-2 text-sm font-medium text-slate-700 hover:text-slate-950 sm:inline-flex",
449
- to: `/${S ?? ""}/booking${nt}`,
450
- children: [/* @__PURE__ */ m("span", { children: d("featured_view_all") }), /* @__PURE__ */ m(v, {
445
+ to: `/${S ?? ""}/booking${$e}`,
446
+ children: [/* @__PURE__ */ h("span", { children: d("featured_view_all") }), /* @__PURE__ */ h(y, {
451
447
  className: "h-4 w-4",
452
448
  "aria-hidden": "true"
453
449
  })]
454
450
  })]
455
- }), /* @__PURE__ */ m("div", {
451
+ }), /* @__PURE__ */ h("div", {
456
452
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
457
- children: Ye.map((e) => {
458
- let t = e.id, n = e.slug, r = o(e.name, y.language, O), i = o(e.description, y.language, O), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", s = he(e.primaryImageStyle), l = ee(e.availabilityStatus), u = it(n);
459
- return /* @__PURE__ */ h("div", {
453
+ children: Ke.map((e) => {
454
+ let t = e.id, n = e.slug, r = o(e.name, x.language, O), i = o(e.description, x.language, O), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", s = f(e.primaryImageStyle), l = ee(e.availabilityStatus), u = tt(n);
455
+ return /* @__PURE__ */ g("div", {
460
456
  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",
461
457
  children: [
462
- /* @__PURE__ */ m(_, {
458
+ /* @__PURE__ */ h(v, {
463
459
  to: u,
464
- state: X,
460
+ state: Z,
465
461
  className: "block",
466
- children: /* @__PURE__ */ m("span", {
467
- className: g("relative block aspect-[1618/1000] overflow-hidden rounded-xl", s.className),
462
+ children: /* @__PURE__ */ h("span", {
463
+ className: _("relative block aspect-[1618/1000] overflow-hidden rounded-xl", s.className),
468
464
  style: s.style,
469
- children: a ? /* @__PURE__ */ m("img", {
465
+ children: a ? /* @__PURE__ */ h("img", {
470
466
  src: a,
471
467
  alt: r,
472
468
  className: "absolute inset-0 h-full w-full object-contain p-1",
473
469
  loading: "lazy"
474
- }) : /* @__PURE__ */ m("span", {
470
+ }) : /* @__PURE__ */ h("span", {
475
471
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
476
- children: /* @__PURE__ */ m(Ae, {
472
+ children: /* @__PURE__ */ h(b, {
477
473
  className: "h-8 w-8",
478
474
  "aria-hidden": "true"
479
475
  })
480
476
  })
481
477
  })
482
478
  }),
483
- /* @__PURE__ */ h("span", {
479
+ /* @__PURE__ */ g("span", {
484
480
  className: "flex flex-1 flex-col gap-1",
485
481
  children: [
486
- /* @__PURE__ */ m(_, {
482
+ /* @__PURE__ */ h(v, {
487
483
  to: u,
488
- state: X,
484
+ state: Z,
489
485
  className: "text-sm font-semibold text-slate-950 hover:text-slate-700",
490
- children: /* @__PURE__ */ m("span", { children: r })
486
+ children: /* @__PURE__ */ h("span", { children: r })
491
487
  }),
492
- /* @__PURE__ */ m(me, {
488
+ /* @__PURE__ */ h(me, {
493
489
  prices: e.prices,
494
490
  className: "self-start"
495
491
  }),
496
- /* @__PURE__ */ m("span", {
492
+ /* @__PURE__ */ h("span", {
497
493
  className: "line-clamp-2 text-xs text-slate-600",
498
494
  children: i
499
495
  })
500
496
  ]
501
497
  }),
502
- /* @__PURE__ */ h("span", {
498
+ /* @__PURE__ */ g("span", {
503
499
  className: "flex flex-wrap items-center gap-x-2 gap-y-1",
504
500
  children: [
505
- /* @__PURE__ */ m(c, {
501
+ /* @__PURE__ */ h(c, {
506
502
  variant: l.variant,
507
- children: /* @__PURE__ */ m("span", { children: d(l.labelKey) })
503
+ children: /* @__PURE__ */ h("span", { children: d(l.labelKey) })
508
504
  }),
509
- /* @__PURE__ */ m("span", {
505
+ /* @__PURE__ */ h("span", {
510
506
  className: "text-slate-400",
511
507
  children: "·"
512
508
  }),
513
- /* @__PURE__ */ m(_, {
509
+ /* @__PURE__ */ h(v, {
514
510
  to: u,
515
- state: X,
511
+ state: Z,
516
512
  className: "text-xs font-medium text-slate-700 hover:text-slate-950",
517
- children: /* @__PURE__ */ m("span", { children: d("product_details_link") })
513
+ children: /* @__PURE__ */ h("span", { children: d("product_details_link") })
518
514
  })
519
515
  ]
520
516
  })
@@ -523,101 +519,101 @@ function D() {
523
519
  })
524
520
  })]
525
521
  }),
526
- /* @__PURE__ */ m("section", {
522
+ /* @__PURE__ */ h("section", {
527
523
  id: "products",
528
524
  className: "border-t bg-slate-50/60 scroll-mt-16 sm:scroll-mt-20",
529
- children: /* @__PURE__ */ h("div", {
525
+ children: /* @__PURE__ */ g("div", {
530
526
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
531
- children: [/* @__PURE__ */ m("div", {
527
+ children: [/* @__PURE__ */ h("div", {
532
528
  className: "flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",
533
- children: /* @__PURE__ */ h("div", {
529
+ children: /* @__PURE__ */ g("div", {
534
530
  className: "space-y-1",
535
- children: [/* @__PURE__ */ m("h2", {
531
+ children: [/* @__PURE__ */ h("h2", {
536
532
  className: "text-xl font-semibold tracking-tight",
537
- children: /* @__PURE__ */ m("span", { children: d("products_title") })
538
- }), /* @__PURE__ */ m("p", {
533
+ children: /* @__PURE__ */ h("span", { children: d("products_title") })
534
+ }), /* @__PURE__ */ h("p", {
539
535
  className: "text-sm text-slate-600",
540
- children: /* @__PURE__ */ m("span", { children: d("products_description") })
536
+ children: /* @__PURE__ */ h("span", { children: d("products_description") })
541
537
  })]
542
538
  })
543
- }), /* @__PURE__ */ m("div", {
539
+ }), /* @__PURE__ */ h("div", {
544
540
  className: "mt-6 grid gap-4 md:grid-cols-2",
545
- children: k.map((e) => /* @__PURE__ */ m(ge, {
541
+ children: k.map((e) => /* @__PURE__ */ h(he, {
546
542
  bike: e,
547
- detailsPath: it(e.slug),
548
- productDetailsLinkState: X,
543
+ detailsPath: tt(e.slug),
544
+ productDetailsLinkState: Z,
549
545
  fallbackLanguage: O,
550
- onAction: Y
546
+ onAction: X
551
547
  }, e.id))
552
548
  })]
553
549
  })
554
550
  }),
555
- /* @__PURE__ */ h("section", {
551
+ /* @__PURE__ */ g("section", {
556
552
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
557
- children: [/* @__PURE__ */ m("div", {
553
+ children: [/* @__PURE__ */ h("div", {
558
554
  className: "flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between",
559
- children: /* @__PURE__ */ h("div", {
555
+ children: /* @__PURE__ */ g("div", {
560
556
  className: "space-y-1",
561
- children: [/* @__PURE__ */ m("h2", {
557
+ children: [/* @__PURE__ */ h("h2", {
562
558
  className: "text-xl font-semibold tracking-tight",
563
- children: /* @__PURE__ */ m("span", { children: d("accessories_title") })
564
- }), /* @__PURE__ */ m("p", {
559
+ children: /* @__PURE__ */ h("span", { children: d("accessories_title") })
560
+ }), /* @__PURE__ */ h("p", {
565
561
  className: "text-sm text-slate-600",
566
- children: /* @__PURE__ */ m("span", { children: d("accessories_description") })
562
+ children: /* @__PURE__ */ h("span", { children: d("accessories_description") })
567
563
  })]
568
564
  })
569
- }), /* @__PURE__ */ m("div", {
565
+ }), /* @__PURE__ */ h("div", {
570
566
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
571
- children: Re.slice(0, 4).map((e) => {
572
- let t = o(e.name, y.language, O), n = o(e.description, y.language, O), r = o(e.warning, y.language, O), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = he(e.primaryImageStyle);
573
- return /* @__PURE__ */ h("div", {
567
+ children: A.slice(0, 4).map((e) => {
568
+ let t = o(e.name, x.language, O), n = o(e.description, x.language, O), r = o(e.warning, x.language, O), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = f(e.primaryImageStyle);
569
+ return /* @__PURE__ */ g("div", {
574
570
  className: "flex h-full flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 shadow-sm",
575
571
  children: [
576
- /* @__PURE__ */ m("div", {
577
- className: g("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
572
+ /* @__PURE__ */ h("div", {
573
+ className: _("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
578
574
  style: a.style,
579
- children: i ? /* @__PURE__ */ m("img", {
575
+ children: i ? /* @__PURE__ */ h("img", {
580
576
  src: i,
581
577
  alt: t,
582
578
  className: "absolute inset-0 h-full w-full object-contain p-1",
583
579
  loading: "lazy"
584
- }) : /* @__PURE__ */ m("div", {
580
+ }) : /* @__PURE__ */ h("div", {
585
581
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
586
- children: /* @__PURE__ */ m(Ae, {
582
+ children: /* @__PURE__ */ h(b, {
587
583
  className: "h-8 w-8",
588
584
  "aria-hidden": "true"
589
585
  })
590
586
  })
591
587
  }),
592
- /* @__PURE__ */ h("div", {
588
+ /* @__PURE__ */ g("div", {
593
589
  className: "flex flex-1 flex-col gap-1",
594
590
  children: [
595
- /* @__PURE__ */ m("p", {
591
+ /* @__PURE__ */ h("p", {
596
592
  className: "text-sm font-semibold text-slate-950",
597
- children: /* @__PURE__ */ m("span", { children: t })
593
+ children: /* @__PURE__ */ h("span", { children: t })
598
594
  }),
599
- /* @__PURE__ */ m("p", {
595
+ /* @__PURE__ */ h("p", {
600
596
  className: "line-clamp-2 text-xs text-slate-600",
601
- children: /* @__PURE__ */ m("span", { children: n })
597
+ children: /* @__PURE__ */ h("span", { children: n })
602
598
  }),
603
- /* @__PURE__ */ m(pe, {
599
+ /* @__PURE__ */ h(pe, {
604
600
  warning: r,
605
601
  className: "mt-1"
606
602
  })
607
603
  ]
608
604
  }),
609
- /* @__PURE__ */ m("div", {
605
+ /* @__PURE__ */ h("div", {
610
606
  className: "flex items-center justify-between gap-2",
611
- children: /* @__PURE__ */ m(me, { prices: e.prices })
607
+ children: /* @__PURE__ */ h(me, { prices: e.prices })
612
608
  })
613
609
  ]
614
610
  }, e.id);
615
611
  })
616
612
  })]
617
613
  }),
618
- /* @__PURE__ */ m(de, {}),
619
- /* @__PURE__ */ m(ue, {}),
620
- /* @__PURE__ */ m(le, { storeSlug: S ?? "" })
614
+ /* @__PURE__ */ h(de, {}),
615
+ /* @__PURE__ */ h(ue, {}),
616
+ /* @__PURE__ */ h(le, { storeSlug: S ?? "" })
621
617
  ] });
622
618
  }
623
619
  //#endregion