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