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