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