@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.
- package/dist/chunks/booking-engine/dist/models/{Product.shared-CTuk4fiR.js → Product.shared-IYOeC3N7.js} +12 -10
- package/dist/chunks/booking-engine/dist/schemas/{base-asset-B_Dm8_Vk.js → base-asset-zsUj5_3O.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas/{base-booking-DW8AEPKo.js → base-booking-TzCge_mR.js} +2 -2
- package/dist/chunks/booking-engine/dist/schemas/{base-product-1H8l2aUv.js → base-product-DvFFzAcg.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas/{booking-engine-configuration-D02MRF9U.js → booking-engine-configuration-LnrhShqm.js} +4 -1
- package/dist/chunks/booking-engine/dist/schemas/{cart-inputs-j1yWfJxO.js → cart-inputs-B0HpcFe5.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas/{public-booking-engine-configuration-BnJ_H-p1.js → public-booking-engine-configuration-CEM9mexX.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas-BNUzqsci.js +13 -0
- package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -1
- package/dist/components/StorefrontCancellationPolicyNotice/index.js +51 -48
- package/dist/components/StorefrontInsuranceNotice/index.d.ts +9 -0
- package/dist/components/StorefrontInsuranceNotice/index.d.ts.map +1 -0
- package/dist/components/StorefrontInsuranceNotice/index.js +191 -0
- package/dist/i18n/en.d.ts +19 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +21 -2
- package/dist/i18n/fr.d.ts +19 -0
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +21 -2
- package/dist/index.d.ts +62 -0
- package/dist/index.js +68 -68
- package/dist/lib/booking.js +2 -2
- package/dist/lib/checkoutSubmit.js +3 -3
- package/dist/lib/storefrontProducts.d.ts +16 -0
- package/dist/lib/storefrontProducts.d.ts.map +1 -1
- package/dist/lib/storefrontProducts.js +27 -22
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +284 -288
- package/dist/storefront.css +1 -1
- package/dist/storefrontSchemas.js +2 -2
- package/package.json +1 -1
- package/dist/chunks/booking-engine/dist/schemas-DftrSnTE.js +0 -13
package/dist/pages/HomePage.js
CHANGED
|
@@ -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
|
|
25
|
-
import { BikeProductCard as
|
|
26
|
-
import { StorefrontCancellationPolicyNotice as
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
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
|
|
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
|
-
],
|
|
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
|
-
],
|
|
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
|
-
},
|
|
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:
|
|
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:
|
|
71
|
-
let e = E(
|
|
72
|
-
return E(
|
|
73
|
-
}), [
|
|
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
|
-
}), [
|
|
82
|
-
let 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:
|
|
85
|
-
start_date:
|
|
86
|
-
start_time:
|
|
87
|
-
end_date:
|
|
88
|
-
end_time:
|
|
89
|
-
start_address:
|
|
90
|
-
end_address:
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
N,
|
|
94
|
+
N.end_time,
|
|
95
|
+
N.start_time,
|
|
96
96
|
P,
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
F,
|
|
98
|
+
W,
|
|
99
99
|
B,
|
|
100
|
-
I,
|
|
101
100
|
V,
|
|
102
101
|
L,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
119
|
+
K.current?.focus({ preventScroll: !0 });
|
|
119
120
|
},
|
|
120
|
-
bookingPeriodConfig:
|
|
121
|
-
fetchTimeSlots:
|
|
122
|
-
labels:
|
|
123
|
-
localeCode:
|
|
124
|
-
},
|
|
125
|
-
let e = new URLSearchParams(
|
|
126
|
-
for (let [t, n] of
|
|
127
|
-
|
|
128
|
-
},
|
|
129
|
-
/* @__PURE__ */
|
|
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__ */
|
|
132
|
+
children: [/* @__PURE__ */ g(c, {
|
|
132
133
|
variant: "secondary",
|
|
133
|
-
children: [/* @__PURE__ */
|
|
134
|
+
children: [/* @__PURE__ */ h(ke, {
|
|
134
135
|
className: "h-3 w-3",
|
|
135
136
|
"aria-hidden": "true"
|
|
136
|
-
}), /* @__PURE__ */
|
|
137
|
-
}), /* @__PURE__ */
|
|
137
|
+
}), /* @__PURE__ */ h("span", { children: d("status_open") })]
|
|
138
|
+
}), /* @__PURE__ */ g(c, {
|
|
138
139
|
variant: "outline",
|
|
139
|
-
className:
|
|
140
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
144
|
+
}), /* @__PURE__ */ h("span", { children: D || "[Missing shop address]" })]
|
|
144
145
|
})]
|
|
145
146
|
}),
|
|
146
|
-
/* @__PURE__ */
|
|
147
|
+
/* @__PURE__ */ h("h1", {
|
|
147
148
|
className: "mt-4 text-3xl font-semibold tracking-tight sm:text-4xl",
|
|
148
|
-
children: /* @__PURE__ */
|
|
149
|
+
children: /* @__PURE__ */ h("span", { children: d("hero_title") })
|
|
149
150
|
}),
|
|
150
|
-
/* @__PURE__ */
|
|
151
|
+
/* @__PURE__ */ h("p", {
|
|
151
152
|
className: "mt-3 text-sm text-slate-700 sm:text-base",
|
|
152
|
-
children: /* @__PURE__ */
|
|
153
|
+
children: /* @__PURE__ */ h("span", { children: d("hero_description") })
|
|
153
154
|
}),
|
|
154
|
-
/* @__PURE__ */
|
|
155
|
-
className:
|
|
156
|
-
children: /* @__PURE__ */
|
|
157
|
-
className:
|
|
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__ */
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
167
|
+
}), /* @__PURE__ */ g("div", {
|
|
166
168
|
className: "flex flex-col gap-0.5",
|
|
167
|
-
children: [/* @__PURE__ */
|
|
169
|
+
children: [/* @__PURE__ */ h("p", {
|
|
168
170
|
className: "text-sm font-medium text-slate-950",
|
|
169
|
-
children: /* @__PURE__ */
|
|
170
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
174
|
+
children: /* @__PURE__ */ h("span", { children: d("feature_secure_payment_description") })
|
|
173
175
|
})]
|
|
174
176
|
})]
|
|
175
177
|
}),
|
|
176
|
-
/* @__PURE__ */ h(
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
193
|
-
className:
|
|
194
|
-
|
|
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__ */
|
|
188
|
+
}), /* @__PURE__ */ g("div", {
|
|
198
189
|
className: "flex flex-col gap-0.5",
|
|
199
|
-
children: [/* @__PURE__ */
|
|
190
|
+
children: [/* @__PURE__ */ h("p", {
|
|
200
191
|
className: "text-sm font-medium text-slate-950",
|
|
201
|
-
children: /* @__PURE__ */
|
|
202
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
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
|
-
] }),
|
|
212
|
-
...
|
|
213
|
-
labelClassName:
|
|
214
|
-
inputClassName:
|
|
215
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
214
|
+
/* @__PURE__ */ h("div", {
|
|
219
215
|
className: "min-w-0",
|
|
220
|
-
children: /* @__PURE__ */
|
|
216
|
+
children: /* @__PURE__ */ h(ne, {})
|
|
221
217
|
}),
|
|
222
|
-
/* @__PURE__ */
|
|
223
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ h(re, {}),
|
|
219
|
+
/* @__PURE__ */ h("div", {
|
|
224
220
|
className: "min-w-0",
|
|
225
|
-
children: /* @__PURE__ */
|
|
221
|
+
children: /* @__PURE__ */ h(ie, {})
|
|
226
222
|
}),
|
|
227
|
-
/* @__PURE__ */
|
|
228
|
-
t ? /* @__PURE__ */
|
|
229
|
-
ref:
|
|
230
|
-
className:
|
|
231
|
-
onClick:
|
|
232
|
-
children: [/* @__PURE__ */
|
|
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
|
-
}),
|
|
240
|
-
open:
|
|
235
|
+
}), rt = (e) => F ? /* @__PURE__ */ h(oe, {
|
|
236
|
+
open: L === "delivery",
|
|
241
237
|
className: "sm:min-h-[6.75rem]",
|
|
242
|
-
inputClassName: `${
|
|
243
|
-
labelClassName:
|
|
244
|
-
startAddress:
|
|
245
|
-
onStartAddressChange:
|
|
246
|
-
returnAddress:
|
|
247
|
-
onReturnAddressChange:
|
|
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,
|
|
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__ */
|
|
247
|
+
children: [/* @__PURE__ */ g("div", {
|
|
252
248
|
className: "border-b border-slate-200 px-4 py-4",
|
|
253
|
-
children: [/* @__PURE__ */
|
|
249
|
+
children: [/* @__PURE__ */ h("p", {
|
|
254
250
|
className: "text-sm font-semibold text-slate-950",
|
|
255
|
-
children: /* @__PURE__ */
|
|
256
|
-
}), /* @__PURE__ */
|
|
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__ */
|
|
254
|
+
children: /* @__PURE__ */ h("span", { children: d("booking_subtitle") })
|
|
259
255
|
})]
|
|
260
|
-
}), /* @__PURE__ */
|
|
256
|
+
}), /* @__PURE__ */ g("div", {
|
|
261
257
|
className: "grid gap-4 px-4 py-4",
|
|
262
258
|
children: [
|
|
263
|
-
/* @__PURE__ */
|
|
264
|
-
value:
|
|
265
|
-
onValueChange:
|
|
259
|
+
/* @__PURE__ */ h(ye, {
|
|
260
|
+
value: L,
|
|
261
|
+
onValueChange: Ve,
|
|
266
262
|
pickupAddress: D,
|
|
267
|
-
deliveryEnabled:
|
|
268
|
-
deliveryDisabledReason:
|
|
269
|
-
startAddress:
|
|
270
|
-
onStartAddressChange:
|
|
271
|
-
endAddress:
|
|
272
|
-
onEndAddressChange:
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
/* @__PURE__ */
|
|
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__ */
|
|
276
|
+
children: /* @__PURE__ */ h("span", { children: d("booking_minimum_duration", { hours: 4 }) })
|
|
281
277
|
}),
|
|
282
|
-
/* @__PURE__ */
|
|
283
|
-
ref:
|
|
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:
|
|
286
|
-
children: [/* @__PURE__ */
|
|
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
|
-
}),
|
|
289
|
+
}), st = /* @__PURE__ */ h(fe, {
|
|
294
290
|
className: "border-slate-200 bg-white/95 shadow-xl",
|
|
295
|
-
children: /* @__PURE__ */
|
|
291
|
+
children: /* @__PURE__ */ g("div", {
|
|
296
292
|
className: "grid gap-3 p-4",
|
|
297
293
|
children: [
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
value:
|
|
300
|
-
onValueChange:
|
|
294
|
+
/* @__PURE__ */ h("div", { children: /* @__PURE__ */ h(ye, {
|
|
295
|
+
value: L,
|
|
296
|
+
onValueChange: Ve,
|
|
301
297
|
pickupAddress: D,
|
|
302
|
-
deliveryEnabled:
|
|
303
|
-
deliveryDisabledReason:
|
|
304
|
-
startAddress:
|
|
305
|
-
onStartAddressChange:
|
|
306
|
-
endAddress:
|
|
307
|
-
onEndAddressChange:
|
|
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
|
-
|
|
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
|
-
|
|
312
|
+
at
|
|
317
313
|
]
|
|
318
314
|
})
|
|
319
|
-
}),
|
|
320
|
-
className:
|
|
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__ */
|
|
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:
|
|
333
|
-
let n =
|
|
334
|
-
return /* @__PURE__ */
|
|
335
|
-
className:
|
|
336
|
-
children: /* @__PURE__ */
|
|
337
|
-
className:
|
|
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__ */
|
|
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__ */
|
|
347
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
-
}),
|
|
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__ */
|
|
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__ */
|
|
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,
|
|
366
|
+
}) : null, mt = q ? /* @__PURE__ */ g(Se, { children: [/* @__PURE__ */ h("div", {
|
|
371
367
|
className: "lg:hidden",
|
|
372
|
-
children:
|
|
373
|
-
}), /* @__PURE__ */
|
|
368
|
+
children: ft()
|
|
369
|
+
}), /* @__PURE__ */ h("div", {
|
|
374
370
|
className: "hidden min-h-[510px] lg:block",
|
|
375
371
|
"aria-hidden": "true"
|
|
376
|
-
})] }) : /* @__PURE__ */
|
|
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__ */
|
|
379
|
-
src:
|
|
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__ */
|
|
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__ */
|
|
389
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
-
|
|
402
|
-
|
|
403
|
-
|
|
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__ */
|
|
401
|
+
children: [/* @__PURE__ */ g("div", {
|
|
406
402
|
className: "lg:col-span-5",
|
|
407
|
-
children: [
|
|
403
|
+
children: [nt, Ye ? /* @__PURE__ */ h("div", {
|
|
408
404
|
className: "mt-7",
|
|
409
|
-
children: /* @__PURE__ */
|
|
405
|
+
children: /* @__PURE__ */ h("div", {
|
|
410
406
|
className: "relative z-20 w-[calc(100%+24rem)] max-w-none",
|
|
411
|
-
children:
|
|
407
|
+
children: st
|
|
412
408
|
})
|
|
413
409
|
}) : null]
|
|
414
|
-
}), /* @__PURE__ */
|
|
415
|
-
className:
|
|
416
|
-
children: [
|
|
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:
|
|
414
|
+
children: st
|
|
419
415
|
})]
|
|
420
416
|
})]
|
|
421
|
-
}) : /* @__PURE__ */
|
|
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__ */
|
|
419
|
+
children: [/* @__PURE__ */ h("div", {
|
|
424
420
|
className: "lg:col-span-5",
|
|
425
|
-
children:
|
|
426
|
-
}), /* @__PURE__ */
|
|
421
|
+
children: nt
|
|
422
|
+
}), /* @__PURE__ */ h("div", {
|
|
427
423
|
className: "lg:col-span-7",
|
|
428
|
-
children:
|
|
424
|
+
children: ot
|
|
429
425
|
})]
|
|
430
426
|
})
|
|
431
427
|
]
|
|
432
428
|
}),
|
|
433
|
-
/* @__PURE__ */
|
|
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__ */
|
|
432
|
+
children: [/* @__PURE__ */ g("div", {
|
|
437
433
|
className: "flex items-center justify-between gap-3",
|
|
438
|
-
children: [/* @__PURE__ */
|
|
434
|
+
children: [/* @__PURE__ */ g("div", {
|
|
439
435
|
className: "space-y-1",
|
|
440
|
-
children: [/* @__PURE__ */
|
|
436
|
+
children: [/* @__PURE__ */ h("h2", {
|
|
441
437
|
className: "text-xl font-semibold tracking-tight",
|
|
442
|
-
children: /* @__PURE__ */
|
|
443
|
-
}), /* @__PURE__ */
|
|
438
|
+
children: /* @__PURE__ */ h("span", { children: d("featured_title") })
|
|
439
|
+
}), /* @__PURE__ */ h("p", {
|
|
444
440
|
className: "text-sm text-slate-600",
|
|
445
|
-
children: /* @__PURE__ */
|
|
441
|
+
children: /* @__PURE__ */ h("span", { children: d("featured_description") })
|
|
446
442
|
})]
|
|
447
|
-
}), /* @__PURE__ */
|
|
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${
|
|
450
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
451
|
+
}), /* @__PURE__ */ h("div", {
|
|
456
452
|
className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
457
|
-
children:
|
|
458
|
-
let t = e.id, n = e.slug, r = o(e.name,
|
|
459
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
458
|
+
/* @__PURE__ */ h(v, {
|
|
463
459
|
to: u,
|
|
464
|
-
state:
|
|
460
|
+
state: Z,
|
|
465
461
|
className: "block",
|
|
466
|
-
children: /* @__PURE__ */
|
|
467
|
-
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__ */
|
|
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__ */
|
|
470
|
+
}) : /* @__PURE__ */ h("span", {
|
|
475
471
|
className: "absolute inset-0 flex items-center justify-center text-slate-400",
|
|
476
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
479
|
+
/* @__PURE__ */ g("span", {
|
|
484
480
|
className: "flex flex-1 flex-col gap-1",
|
|
485
481
|
children: [
|
|
486
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ h(v, {
|
|
487
483
|
to: u,
|
|
488
|
-
state:
|
|
484
|
+
state: Z,
|
|
489
485
|
className: "text-sm font-semibold text-slate-950 hover:text-slate-700",
|
|
490
|
-
children: /* @__PURE__ */
|
|
486
|
+
children: /* @__PURE__ */ h("span", { children: r })
|
|
491
487
|
}),
|
|
492
|
-
/* @__PURE__ */
|
|
488
|
+
/* @__PURE__ */ h(me, {
|
|
493
489
|
prices: e.prices,
|
|
494
490
|
className: "self-start"
|
|
495
491
|
}),
|
|
496
|
-
/* @__PURE__ */
|
|
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__ */
|
|
498
|
+
/* @__PURE__ */ g("span", {
|
|
503
499
|
className: "flex flex-wrap items-center gap-x-2 gap-y-1",
|
|
504
500
|
children: [
|
|
505
|
-
/* @__PURE__ */
|
|
501
|
+
/* @__PURE__ */ h(c, {
|
|
506
502
|
variant: l.variant,
|
|
507
|
-
children: /* @__PURE__ */
|
|
503
|
+
children: /* @__PURE__ */ h("span", { children: d(l.labelKey) })
|
|
508
504
|
}),
|
|
509
|
-
/* @__PURE__ */
|
|
505
|
+
/* @__PURE__ */ h("span", {
|
|
510
506
|
className: "text-slate-400",
|
|
511
507
|
children: "·"
|
|
512
508
|
}),
|
|
513
|
-
/* @__PURE__ */
|
|
509
|
+
/* @__PURE__ */ h(v, {
|
|
514
510
|
to: u,
|
|
515
|
-
state:
|
|
511
|
+
state: Z,
|
|
516
512
|
className: "text-xs font-medium text-slate-700 hover:text-slate-950",
|
|
517
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
525
|
+
children: /* @__PURE__ */ g("div", {
|
|
530
526
|
className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
|
|
531
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
529
|
+
children: /* @__PURE__ */ g("div", {
|
|
534
530
|
className: "space-y-1",
|
|
535
|
-
children: [/* @__PURE__ */
|
|
531
|
+
children: [/* @__PURE__ */ h("h2", {
|
|
536
532
|
className: "text-xl font-semibold tracking-tight",
|
|
537
|
-
children: /* @__PURE__ */
|
|
538
|
-
}), /* @__PURE__ */
|
|
533
|
+
children: /* @__PURE__ */ h("span", { children: d("products_title") })
|
|
534
|
+
}), /* @__PURE__ */ h("p", {
|
|
539
535
|
className: "text-sm text-slate-600",
|
|
540
|
-
children: /* @__PURE__ */
|
|
536
|
+
children: /* @__PURE__ */ h("span", { children: d("products_description") })
|
|
541
537
|
})]
|
|
542
538
|
})
|
|
543
|
-
}), /* @__PURE__ */
|
|
539
|
+
}), /* @__PURE__ */ h("div", {
|
|
544
540
|
className: "mt-6 grid gap-4 md:grid-cols-2",
|
|
545
|
-
children: k.map((e) => /* @__PURE__ */
|
|
541
|
+
children: k.map((e) => /* @__PURE__ */ h(he, {
|
|
546
542
|
bike: e,
|
|
547
|
-
detailsPath:
|
|
548
|
-
productDetailsLinkState:
|
|
543
|
+
detailsPath: tt(e.slug),
|
|
544
|
+
productDetailsLinkState: Z,
|
|
549
545
|
fallbackLanguage: O,
|
|
550
|
-
onAction:
|
|
546
|
+
onAction: X
|
|
551
547
|
}, e.id))
|
|
552
548
|
})]
|
|
553
549
|
})
|
|
554
550
|
}),
|
|
555
|
-
/* @__PURE__ */
|
|
551
|
+
/* @__PURE__ */ g("section", {
|
|
556
552
|
className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
|
|
557
|
-
children: [/* @__PURE__ */
|
|
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__ */
|
|
555
|
+
children: /* @__PURE__ */ g("div", {
|
|
560
556
|
className: "space-y-1",
|
|
561
|
-
children: [/* @__PURE__ */
|
|
557
|
+
children: [/* @__PURE__ */ h("h2", {
|
|
562
558
|
className: "text-xl font-semibold tracking-tight",
|
|
563
|
-
children: /* @__PURE__ */
|
|
564
|
-
}), /* @__PURE__ */
|
|
559
|
+
children: /* @__PURE__ */ h("span", { children: d("accessories_title") })
|
|
560
|
+
}), /* @__PURE__ */ h("p", {
|
|
565
561
|
className: "text-sm text-slate-600",
|
|
566
|
-
children: /* @__PURE__ */
|
|
562
|
+
children: /* @__PURE__ */ h("span", { children: d("accessories_description") })
|
|
567
563
|
})]
|
|
568
564
|
})
|
|
569
|
-
}), /* @__PURE__ */
|
|
565
|
+
}), /* @__PURE__ */ h("div", {
|
|
570
566
|
className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
571
|
-
children:
|
|
572
|
-
let t = o(e.name,
|
|
573
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
577
|
-
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__ */
|
|
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__ */
|
|
580
|
+
}) : /* @__PURE__ */ h("div", {
|
|
585
581
|
className: "absolute inset-0 flex items-center justify-center text-slate-400",
|
|
586
|
-
children: /* @__PURE__ */
|
|
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__ */
|
|
588
|
+
/* @__PURE__ */ g("div", {
|
|
593
589
|
className: "flex flex-1 flex-col gap-1",
|
|
594
590
|
children: [
|
|
595
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ h("p", {
|
|
596
592
|
className: "text-sm font-semibold text-slate-950",
|
|
597
|
-
children: /* @__PURE__ */
|
|
593
|
+
children: /* @__PURE__ */ h("span", { children: t })
|
|
598
594
|
}),
|
|
599
|
-
/* @__PURE__ */
|
|
595
|
+
/* @__PURE__ */ h("p", {
|
|
600
596
|
className: "line-clamp-2 text-xs text-slate-600",
|
|
601
|
-
children: /* @__PURE__ */
|
|
597
|
+
children: /* @__PURE__ */ h("span", { children: n })
|
|
602
598
|
}),
|
|
603
|
-
/* @__PURE__ */
|
|
599
|
+
/* @__PURE__ */ h(pe, {
|
|
604
600
|
warning: r,
|
|
605
601
|
className: "mt-1"
|
|
606
602
|
})
|
|
607
603
|
]
|
|
608
604
|
}),
|
|
609
|
-
/* @__PURE__ */
|
|
605
|
+
/* @__PURE__ */ h("div", {
|
|
610
606
|
className: "flex items-center justify-between gap-2",
|
|
611
|
-
children: /* @__PURE__ */
|
|
607
|
+
children: /* @__PURE__ */ h(me, { prices: e.prices })
|
|
612
608
|
})
|
|
613
609
|
]
|
|
614
610
|
}, e.id);
|
|
615
611
|
})
|
|
616
612
|
})]
|
|
617
613
|
}),
|
|
618
|
-
/* @__PURE__ */
|
|
619
|
-
/* @__PURE__ */
|
|
620
|
-
/* @__PURE__ */
|
|
614
|
+
/* @__PURE__ */ h(de, {}),
|
|
615
|
+
/* @__PURE__ */ h(ue, {}),
|
|
616
|
+
/* @__PURE__ */ h(le, { storeSlug: S ?? "" })
|
|
621
617
|
] });
|
|
622
618
|
}
|
|
623
619
|
//#endregion
|