@loczer/storefront-sdk 0.163.0 → 0.165.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 +29 -3
- package/dist/StorefrontProvider.d.ts.map +1 -1
- package/dist/StorefrontProvider.js +68 -58
- package/dist/chunks/booking-engine/dist/schemas/{base-booking-D9k8ehGi.js → base-booking-BMAjsw9r.js} +29 -26
- package/dist/chunks/booking-engine/dist/schemas/booking-engine-configuration-DTJD2G9w.js +123 -0
- package/dist/chunks/booking-engine/dist/schemas/{cart-inputs-ByBK0IVJ.js → cart-inputs-BI_9nAXG.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas/{public-booking-engine-configuration-DKoak4s5.js → public-booking-engine-configuration-CrwffLO4.js} +1 -1
- package/dist/chunks/ui/dist/{MorphingModalWizard-D7hc-dDP.js → MorphingModalWizard-BuRND-yE.js} +3 -3
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id-CNQuVmXa.js +6 -0
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node-DL2q-YuA.js +9 -0
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash-C-3PLS5x.js +6 -0
- package/dist/components/AboutSection/index.js +1 -1
- package/dist/components/BikeProductCard/index.d.ts +2 -1
- package/dist/components/BikeProductCard/index.d.ts.map +1 -1
- package/dist/components/BikeProductCard/index.js +59 -41
- package/dist/components/BookingBikeVariantDialog/index.js +1 -1
- package/dist/components/BookingFlowSteps/index.js +8 -8
- package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.js +28 -28
- package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +197 -203
- package/dist/components/ContactSection/index.js +4 -4
- package/dist/components/Header/index.js +1 -1
- package/dist/components/PoweredByLoczerBadge/index.js +1 -1
- package/dist/components/ProductPriceBadge/index.js +1 -1
- package/dist/components/ProductWarningNotice/index.js +10 -10
- package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts +11 -0
- package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -0
- package/dist/components/StorefrontCancellationPolicyNotice/index.js +93 -0
- package/dist/components/payment/MollieCardFieldsForm.js +1 -1
- package/dist/components/payment/StripeCardFieldsForm.js +13 -13
- package/dist/i18n/en.d.ts +12 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +12 -0
- package/dist/i18n/fr.d.ts +12 -0
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +12 -0
- package/dist/index.d.ts +116 -7
- package/dist/index.js +312 -305
- package/dist/lib/cart.js +1 -1
- package/dist/lib/cartSummary.d.ts.map +1 -1
- package/dist/lib/cartSummary.js +28 -28
- package/dist/lib/checkoutPaymentDecision.d.ts +8 -0
- package/dist/lib/checkoutPaymentDecision.d.ts.map +1 -1
- package/dist/lib/checkoutPaymentDecision.js +14 -6
- package/dist/lib/checkoutPaymentSession.d.ts +1 -0
- package/dist/lib/checkoutPaymentSession.d.ts.map +1 -1
- package/dist/lib/checkoutPaymentSession.js +12 -11
- package/dist/lib/checkoutSubmit.js +4 -4
- package/dist/lib/productVariants.d.ts.map +1 -1
- package/dist/lib/productVariants.js +34 -15
- package/dist/lib/products.d.ts +4 -0
- package/dist/lib/products.d.ts.map +1 -1
- package/dist/lib/products.js +74 -39
- package/dist/lib/securePaymentLink.d.ts +1 -0
- package/dist/lib/securePaymentLink.d.ts.map +1 -1
- package/dist/lib/securePaymentLink.js +1 -0
- package/dist/lib/storefrontAvailability.d.ts +9 -0
- package/dist/lib/storefrontAvailability.d.ts.map +1 -1
- package/dist/lib/storefrontAvailability.js +28 -18
- package/dist/pages/BookingPage.d.ts.map +1 -1
- package/dist/pages/BookingPage.js +290 -289
- package/dist/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPage.js +224 -216
- package/dist/pages/CheckoutPaymentPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPaymentPage.js +92 -92
- package/dist/pages/ContractSaleDocumentPage.js +3 -3
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +167 -161
- package/dist/pages/PaymentLinkPage.d.ts.map +1 -1
- package/dist/pages/PaymentLinkPage.js +62 -62
- package/dist/pages/PaymentLinkSuccessPage.js +7 -7
- package/dist/pages/ProductPage.d.ts.map +1 -1
- package/dist/pages/ProductPage.js +161 -161
- package/dist/pages/checkout/components/CheckoutCouponCard.js +6 -6
- package/dist/pages/checkout/components/CheckoutPaymentSummaryCard.js +15 -15
- package/dist/storefront.css +1 -1
- package/dist/storefrontSchemas.d.ts +14 -2
- package/dist/storefrontSchemas.d.ts.map +1 -1
- package/dist/storefrontSchemas.js +4 -4
- package/dist/ui/day-picker.js +5 -5
- package/package.json +2 -2
- package/dist/chunks/booking-engine/dist/schemas/booking-engine-configuration-BKlzwJJX.js +0 -105
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id-DunDwGdX.js +0 -6
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node-BDwaGtmx.js +0 -9
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash-h54_qXon.js +0 -4
package/dist/pages/HomePage.js
CHANGED
|
@@ -1,79 +1,80 @@
|
|
|
1
|
-
import { jsxs as r, jsx as e, Fragment as
|
|
2
|
-
import { useMemo as h, useState as
|
|
3
|
-
import { useMediaQuery as
|
|
4
|
-
import { useParams as
|
|
1
|
+
import { jsxs as r, jsx as e, Fragment as le } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as h, useState as b, useRef as He, useEffect as je } from "react";
|
|
3
|
+
import { useMediaQuery as Ue } from "@rpcbase/client";
|
|
4
|
+
import { useParams as Ve, useLocation as ze, useSearchParams as Ye, useNavigate as Qe, Link as V } from "@rpcbase/router";
|
|
5
5
|
import { cn as m } from "@rpcbase/ui";
|
|
6
|
-
import { Clock as
|
|
7
|
-
import { useTranslation as
|
|
8
|
-
import
|
|
9
|
-
import { getAvailabilityVariant as
|
|
10
|
-
import { getStorefrontPreset as
|
|
6
|
+
import { Clock as We, MapPin as Ke, CheckCircle2 as Ge, ShieldCheck as Je, Truck as Xe, ArrowRight as z, Bike as oe } from "lucide-react";
|
|
7
|
+
import { useTranslation as Ze } from "react-i18next";
|
|
8
|
+
import W from "../chunks/assets/playground-hero-preview.svg-DNbSwXV5.js";
|
|
9
|
+
import { getAvailabilityVariant as et } from "../lib/utils.js";
|
|
10
|
+
import { getStorefrontPreset as tt } from "../data/config.js";
|
|
11
11
|
import { getLocalizedValue as A } from "../localization.js";
|
|
12
|
-
import { AboutSection as
|
|
13
|
-
import { BikeProductCard as
|
|
14
|
-
import { ContactSection as
|
|
12
|
+
import { AboutSection as at } from "../components/AboutSection/index.js";
|
|
13
|
+
import { BikeProductCard as rt } from "../components/BikeProductCard/index.js";
|
|
14
|
+
import { ContactSection as st } from "../components/ContactSection/index.js";
|
|
15
15
|
import { ProductPriceBadge as de } from "../components/ProductPriceBadge/index.js";
|
|
16
|
-
import { ProductWarningNotice as
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
16
|
+
import { ProductWarningNotice as it } from "../components/ProductWarningNotice/index.js";
|
|
17
|
+
import { resolveStorefrontCancellationPolicyTeaserTier as nt, StorefrontCancellationPolicyNotice as lt } from "../components/StorefrontCancellationPolicyNotice/index.js";
|
|
18
|
+
import { TestimonialsSection as ot } from "../components/TestimonialsSection/index.js";
|
|
19
|
+
import { BookingPeriodProvider as dt } from "../components/BookingPeriodSelector/BookingPeriodContext.js";
|
|
20
|
+
import { BookingStartDateField as ct } from "../components/BookingPeriodSelector/components/BookingStartDateField.js";
|
|
21
|
+
import { BookingStartTimeField as mt } from "../components/BookingPeriodSelector/components/BookingStartTimeField.js";
|
|
22
|
+
import { BookingEndDateField as ht } from "../components/BookingPeriodSelector/components/BookingEndDateField.js";
|
|
23
|
+
import { BookingEndTimeField as pt } from "../components/BookingPeriodSelector/components/BookingEndTimeField.js";
|
|
23
24
|
import "../components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
|
|
24
|
-
import { Badge as
|
|
25
|
+
import { Badge as Y } from "../ui/badge.js";
|
|
25
26
|
import { Button as ce } from "../ui/button.js";
|
|
26
27
|
import { Card as me } from "../ui/card.js";
|
|
27
|
-
import { resolveBookingSearchParamsFromSessionStorage as
|
|
28
|
-
import { createStorefrontTimeSlotsFetcher as
|
|
28
|
+
import { resolveBookingSearchParamsFromSessionStorage as gt, createBookingPeriodConfigFromStorefrontConfiguration as ut, getDefaultBookingParamsForStorefrontConfiguration as ft, getBookingParamsFromSearch as xt, applyBookingParamsToSearch as vt, writeBookingSearchParamsToSessionStorage as bt } from "../lib/booking.js";
|
|
29
|
+
import { createStorefrontTimeSlotsFetcher as Nt } from "../lib/fetchStorefrontTimeSlots.js";
|
|
29
30
|
import { resolveProductImageContainerStyle as he } from "../lib/productImageStyles.js";
|
|
30
|
-
import { usePlaygroundDevSettings as
|
|
31
|
-
import { useStorefront as
|
|
31
|
+
import { usePlaygroundDevSettings as _t } from "../lib/playgroundDevSettings.js";
|
|
32
|
+
import { useStorefront as kt, useStorefrontProducts as yt } from "../StorefrontProvider.js";
|
|
32
33
|
import { FulfillmentSection as pe } from "../components/FulfillmentSection/index.js";
|
|
33
|
-
import { DeliveryAddressSelector as
|
|
34
|
-
const ge = (a) => String(a).padStart(2, "0"), ue = "text-
|
|
34
|
+
import { DeliveryAddressSelector as wt } from "../components/DeliveryAddressSelector/index.js";
|
|
35
|
+
const ge = (a) => String(a).padStart(2, "0"), ue = "text-2xs font-semibold uppercase tracking-wide text-slate-600", fe = "h-10", St = 6, xe = 5, ve = [15, 25, 42, 66, 33, 54], Q = ["4 / 5", "1 / 1", "3 / 4", "5 / 4", "7 / 9", "4 / 3", "9 / 16", "6 / 7"], be = (a) => `${a.getFullYear()}-${ge(a.getMonth() + 1)}-${ge(a.getDate())}`, E = (a) => {
|
|
35
36
|
if (!a)
|
|
36
37
|
return;
|
|
37
38
|
const i = a.match(/^(\d{4})-(\d{2})-(\d{2})$/);
|
|
38
39
|
if (!i)
|
|
39
40
|
return;
|
|
40
|
-
const n = Number(i[1]), p = Number(i[2]),
|
|
41
|
-
if (!(Number.isNaN(o.getTime()) || o.getFullYear() !== n || o.getMonth() !== p - 1 || o.getDate() !==
|
|
41
|
+
const n = Number(i[1]), p = Number(i[2]), d = Number(i[3]), o = new Date(n, p - 1, d);
|
|
42
|
+
if (!(Number.isNaN(o.getTime()) || o.getFullYear() !== n || o.getMonth() !== p - 1 || o.getDate() !== d))
|
|
42
43
|
return o;
|
|
43
|
-
},
|
|
44
|
-
const i = a.length > 0 ? a : [
|
|
45
|
-
return Array.from({ length:
|
|
44
|
+
}, Ct = (a) => {
|
|
45
|
+
const i = a.length > 0 ? a : [W];
|
|
46
|
+
return Array.from({ length: St }, (n, p) => Array.from({ length: xe }, (d, o) => {
|
|
46
47
|
const u = p * xe + o;
|
|
47
48
|
return {
|
|
48
|
-
aspectRatio:
|
|
49
|
-
src: i[u % i.length] ??
|
|
49
|
+
aspectRatio: Q[(u + p) % Q.length] ?? Q[0],
|
|
50
|
+
src: i[u % i.length] ?? W
|
|
50
51
|
};
|
|
51
52
|
}));
|
|
52
53
|
};
|
|
53
|
-
function
|
|
54
|
-
const { t: a, i18n: i } =
|
|
55
|
-
() =>
|
|
56
|
-
[
|
|
57
|
-
), x = h(() =>
|
|
58
|
-
() =>
|
|
59
|
-
[
|
|
60
|
-
),
|
|
61
|
-
() =>
|
|
62
|
-
[
|
|
63
|
-
),
|
|
64
|
-
() => E(
|
|
65
|
-
[
|
|
66
|
-
), v =
|
|
67
|
-
() =>
|
|
68
|
-
[
|
|
69
|
-
), [w,
|
|
70
|
-
() =>
|
|
71
|
-
), [
|
|
72
|
-
() => E(f.get("start_date")) ??
|
|
73
|
-
), [q,
|
|
74
|
-
const t = E(f.get("start_date")) ??
|
|
54
|
+
function oa() {
|
|
55
|
+
const { t: a, i18n: i } = Ze(), { storeSlug: n } = Ve(), p = ze(), { storefrontConfiguration: d } = kt(), o = d.workspace?.workspaceLanguage, { bikes: u, accessories: K } = yt(), [T] = Ye(), Ne = Qe(), f = h(
|
|
56
|
+
() => gt(T, n),
|
|
57
|
+
[T, n]
|
|
58
|
+
), x = h(() => tt(n), [n]), _e = h(
|
|
59
|
+
() => ut(d),
|
|
60
|
+
[d]
|
|
61
|
+
), c = h(
|
|
62
|
+
() => ft(d),
|
|
63
|
+
[d]
|
|
64
|
+
), N = h(() => E(c.start_date), [c.start_date]), ke = h(
|
|
65
|
+
() => E(c.end_date) ?? N,
|
|
66
|
+
[c.end_date, N]
|
|
67
|
+
), v = d.settings.fulfillmentModes.includes("delivery"), G = d.settings.deliveryDisabledReason.trim(), ye = !!nt(d.bookingEngine.cancellationPolicy), M = h(
|
|
68
|
+
() => xt(f, c),
|
|
69
|
+
[c, f]
|
|
70
|
+
), [w, J] = b(
|
|
71
|
+
() => M.fulfillment === "delivery" && v ? "delivery" : "pickup"
|
|
72
|
+
), [R, we] = b(
|
|
73
|
+
() => E(f.get("start_date")) ?? N
|
|
74
|
+
), [q, Se] = b(() => f.get("start_time") ?? c.start_time), [L, Ce] = b(() => {
|
|
75
|
+
const t = E(f.get("start_date")) ?? N;
|
|
75
76
|
return E(f.get("end_date")) ?? t ?? ke;
|
|
76
|
-
}), [F,
|
|
77
|
+
}), [F, Pe] = b(() => f.get("end_time") ?? c.end_time), [S, O] = b(() => M.start_address), [C, $] = b(() => M.end_address), I = He(null), De = h(() => u.slice(0, 4), [u]), { heroMode: X } = _t(), P = X === "vertical_marquee_hero", _ = X === "booking_bar_overlay_hero" || P, Z = Ue("(min-width: 1024px)"), Ae = Nt(n), Ee = h(
|
|
77
78
|
() => ({
|
|
78
79
|
startDate: a("booking_start_date"),
|
|
79
80
|
pickStartDate: a("booking_start_date"),
|
|
@@ -85,114 +86,115 @@ function sa() {
|
|
|
85
86
|
}),
|
|
86
87
|
[i.language, a]
|
|
87
88
|
), B = h(() => {
|
|
88
|
-
const l =
|
|
89
|
-
return
|
|
89
|
+
const l = R ?? (N ?? /* @__PURE__ */ new Date()), s = L ?? l;
|
|
90
|
+
return vt(new URLSearchParams(), {
|
|
90
91
|
fulfillment: w === "delivery" && v ? "delivery" : "pickup",
|
|
91
|
-
start_date:
|
|
92
|
-
start_time: q ||
|
|
93
|
-
end_date:
|
|
94
|
-
end_time: F ||
|
|
92
|
+
start_date: be(l),
|
|
93
|
+
start_time: q || c.start_time,
|
|
94
|
+
end_date: be(s),
|
|
95
|
+
end_time: F || c.end_time,
|
|
95
96
|
start_address: S,
|
|
96
97
|
end_address: C
|
|
97
98
|
});
|
|
98
99
|
}, [
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
c.end_time,
|
|
101
|
+
c.start_time,
|
|
102
|
+
N,
|
|
102
103
|
v,
|
|
103
104
|
C,
|
|
104
105
|
L,
|
|
105
106
|
F,
|
|
106
107
|
w,
|
|
107
108
|
S,
|
|
108
|
-
|
|
109
|
+
R,
|
|
109
110
|
q
|
|
110
|
-
]),
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
]), ee = B.toString(), Be = ee ? `?${ee}` : "";
|
|
112
|
+
je(() => {
|
|
113
|
+
bt(n, B);
|
|
113
114
|
}, [B, n]);
|
|
114
|
-
const
|
|
115
|
-
startDate:
|
|
116
|
-
onStartDateChange:
|
|
115
|
+
const Te = {
|
|
116
|
+
startDate: R,
|
|
117
|
+
onStartDateChange: we,
|
|
117
118
|
startTime: q,
|
|
118
|
-
onStartTimeChange:
|
|
119
|
+
onStartTimeChange: Se,
|
|
119
120
|
endDate: L,
|
|
120
|
-
onEndDateChange:
|
|
121
|
+
onEndDateChange: Ce,
|
|
121
122
|
endTime: F,
|
|
122
|
-
onEndTimeChange:
|
|
123
|
+
onEndTimeChange: Pe,
|
|
123
124
|
onEndTimeCommit: () => {
|
|
124
125
|
I.current?.focus({ preventScroll: !0 });
|
|
125
126
|
},
|
|
126
127
|
bookingPeriodConfig: _e,
|
|
127
|
-
fetchTimeSlots:
|
|
128
|
-
labels:
|
|
128
|
+
fetchTimeSlots: Ae,
|
|
129
|
+
labels: Ee,
|
|
129
130
|
localeCode: i.language
|
|
130
131
|
}, H = () => {
|
|
131
|
-
const t = new URLSearchParams(
|
|
132
|
+
const t = new URLSearchParams(T);
|
|
132
133
|
for (const [l, s] of B.entries())
|
|
133
134
|
t.set(l, s);
|
|
134
|
-
|
|
135
|
-
},
|
|
135
|
+
Ne(`/${n ?? ""}/booking?${t.toString()}#booking-products`);
|
|
136
|
+
}, j = (t) => `/${n ?? ""}/products/${t}`, U = {
|
|
136
137
|
backTo: `${p.pathname}${p.search}${p.hash}`
|
|
137
|
-
},
|
|
138
|
+
}, te = /* @__PURE__ */ r("div", { children: [
|
|
138
139
|
/* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
|
|
139
|
-
/* @__PURE__ */ r(
|
|
140
|
-
/* @__PURE__ */ e(
|
|
140
|
+
/* @__PURE__ */ r(Y, { variant: "secondary", children: [
|
|
141
|
+
/* @__PURE__ */ e(We, { className: "h-3 w-3", "aria-hidden": "true" }),
|
|
141
142
|
/* @__PURE__ */ e("span", { children: a("status_open") })
|
|
142
143
|
] }),
|
|
143
|
-
/* @__PURE__ */ r(
|
|
144
|
-
/* @__PURE__ */ e(
|
|
144
|
+
/* @__PURE__ */ r(Y, { variant: "outline", children: [
|
|
145
|
+
/* @__PURE__ */ e(Ke, { className: "h-3 w-3", "aria-hidden": "true" }),
|
|
145
146
|
/* @__PURE__ */ e("span", { children: x.address })
|
|
146
147
|
] })
|
|
147
148
|
] }),
|
|
148
149
|
/* @__PURE__ */ e("h1", { className: "mt-4 text-3xl font-semibold tracking-tight sm:text-4xl", children: /* @__PURE__ */ e("span", { children: a("hero_title", { fallback: x.hero_title }) }) }),
|
|
149
150
|
/* @__PURE__ */ e("p", { className: "mt-3 text-sm text-slate-700 sm:text-base", children: /* @__PURE__ */ e("span", { children: a("hero_description", { fallback: x.hero_description }) }) }),
|
|
150
151
|
/* @__PURE__ */ e("div", { className: m("mt-6", !_ && "rounded-xl border bg-white/70 p-3"), children: /* @__PURE__ */ r("ul", { className: m("space-y-3", _ && "space-y-2"), children: [
|
|
151
|
-
|
|
152
|
-
|
|
152
|
+
/* @__PURE__ */ e(lt, { policy: d.bookingEngine.cancellationPolicy }),
|
|
153
|
+
!_ && /* @__PURE__ */ r("li", { className: m("flex items-start gap-3", ye && "border-t border-slate-200/70 pt-3"), children: [
|
|
154
|
+
/* @__PURE__ */ e(Ge, { className: "mt-0.5 h-5 w-5 text-slate-900", "aria-hidden": "true" }),
|
|
153
155
|
/* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: [
|
|
154
156
|
/* @__PURE__ */ e("p", { className: "text-sm font-medium text-slate-950", children: /* @__PURE__ */ e("span", { children: a("feature_ready_in_minutes_title") }) }),
|
|
155
157
|
/* @__PURE__ */ e("p", { className: "text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: a("feature_ready_in_minutes_description") }) })
|
|
156
158
|
] })
|
|
157
159
|
] }),
|
|
158
160
|
/* @__PURE__ */ r("li", { className: m("flex items-start gap-3", !_ && "border-t border-slate-200/70 pt-3"), children: [
|
|
159
|
-
/* @__PURE__ */ e(
|
|
161
|
+
/* @__PURE__ */ e(Je, { className: "mt-0.5 h-5 w-5 text-slate-900", "aria-hidden": "true" }),
|
|
160
162
|
/* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: [
|
|
161
163
|
/* @__PURE__ */ e("p", { className: "text-sm font-medium text-slate-950", children: /* @__PURE__ */ e("span", { children: a("feature_secure_payment_title") }) }),
|
|
162
164
|
/* @__PURE__ */ e("p", { className: "text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: a("feature_secure_payment_description") }) })
|
|
163
165
|
] })
|
|
164
166
|
] }),
|
|
165
167
|
v ? /* @__PURE__ */ r("li", { className: m("flex items-start gap-3", !_ && "border-t border-slate-200/70 pt-3"), children: [
|
|
166
|
-
/* @__PURE__ */ e(
|
|
168
|
+
/* @__PURE__ */ e(Xe, { className: "mt-0.5 h-5 w-5 text-slate-900", "aria-hidden": "true" }),
|
|
167
169
|
/* @__PURE__ */ r("div", { className: "flex flex-col gap-0.5", children: [
|
|
168
170
|
/* @__PURE__ */ e("p", { className: "text-sm font-medium text-slate-950", children: /* @__PURE__ */ e("span", { children: a("feature_delivery_title") }) }),
|
|
169
171
|
/* @__PURE__ */ e("p", { className: "text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: a("feature_delivery_description") }) })
|
|
170
172
|
] })
|
|
171
173
|
] }) : null
|
|
172
174
|
] }) })
|
|
173
|
-
] }),
|
|
175
|
+
] }), ae = ({
|
|
174
176
|
className: t,
|
|
175
177
|
showSubmitButton: l = !1,
|
|
176
178
|
submitButtonClassName: s
|
|
177
179
|
}) => /* @__PURE__ */ e(
|
|
178
|
-
|
|
180
|
+
dt,
|
|
179
181
|
{
|
|
180
|
-
...
|
|
182
|
+
...Te,
|
|
181
183
|
labelClassName: ue,
|
|
182
184
|
inputClassName: fe,
|
|
183
185
|
children: /* @__PURE__ */ r("div", { className: t, children: [
|
|
184
|
-
/* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e(
|
|
185
|
-
/* @__PURE__ */ e(
|
|
186
|
-
/* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e(
|
|
187
|
-
/* @__PURE__ */ e(
|
|
186
|
+
/* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e(ct, {}) }),
|
|
187
|
+
/* @__PURE__ */ e(mt, {}),
|
|
188
|
+
/* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e(ht, {}) }),
|
|
189
|
+
/* @__PURE__ */ e(pt, {}),
|
|
188
190
|
l ? /* @__PURE__ */ r(ce, { ref: I, className: m("gap-2", s), onClick: H, children: [
|
|
189
191
|
/* @__PURE__ */ e("span", { children: a("booking_submit") }),
|
|
190
|
-
/* @__PURE__ */ e(
|
|
192
|
+
/* @__PURE__ */ e(z, { className: "h-4 w-4", "aria-hidden": "true" })
|
|
191
193
|
] }) : null
|
|
192
194
|
] })
|
|
193
195
|
}
|
|
194
|
-
),
|
|
195
|
-
|
|
196
|
+
), re = (t) => v ? /* @__PURE__ */ e(
|
|
197
|
+
wt,
|
|
196
198
|
{
|
|
197
199
|
open: w === "delivery",
|
|
198
200
|
className: "sm:min-h-[6.75rem]",
|
|
@@ -204,7 +206,7 @@ function sa() {
|
|
|
204
206
|
onReturnAddressChange: $,
|
|
205
207
|
testIdPrefix: t
|
|
206
208
|
}
|
|
207
|
-
) : null, Me =
|
|
209
|
+
) : null, Me = re("storefront-home-fulfillment-delivery-address"), Re = re("storefront-home-compact-fulfillment-delivery-address"), qe = /* @__PURE__ */ r(me, { className: "border-slate-200 bg-white/80 shadow-sm", children: [
|
|
208
210
|
/* @__PURE__ */ r("div", { className: "border-b border-slate-200 px-4 py-4", children: [
|
|
209
211
|
/* @__PURE__ */ e("p", { className: "text-sm font-semibold text-slate-950", children: /* @__PURE__ */ e("span", { children: a("booking_title") }) }),
|
|
210
212
|
/* @__PURE__ */ e("p", { className: "mt-1 text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: a("booking_subtitle") }) })
|
|
@@ -214,10 +216,10 @@ function sa() {
|
|
|
214
216
|
pe,
|
|
215
217
|
{
|
|
216
218
|
value: w,
|
|
217
|
-
onValueChange:
|
|
219
|
+
onValueChange: J,
|
|
218
220
|
pickupAddress: x.address,
|
|
219
221
|
deliveryEnabled: v,
|
|
220
|
-
deliveryDisabledReason:
|
|
222
|
+
deliveryDisabledReason: G,
|
|
221
223
|
startAddress: S,
|
|
222
224
|
onStartAddressChange: O,
|
|
223
225
|
endAddress: C,
|
|
@@ -226,25 +228,25 @@ function sa() {
|
|
|
226
228
|
testIdPrefix: "storefront-home-fulfillment"
|
|
227
229
|
}
|
|
228
230
|
),
|
|
229
|
-
|
|
231
|
+
ae({
|
|
230
232
|
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"
|
|
231
233
|
}),
|
|
232
234
|
Me,
|
|
233
235
|
/* @__PURE__ */ e("p", { className: "text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: a("booking_minimum_duration", { hours: 4 }) }) }),
|
|
234
236
|
/* @__PURE__ */ r(ce, { ref: I, className: "h-11 rounded-xl text-sm font-semibold gap-2", onClick: H, children: [
|
|
235
237
|
/* @__PURE__ */ e("span", { children: a("booking_submit") }),
|
|
236
|
-
/* @__PURE__ */ e(
|
|
238
|
+
/* @__PURE__ */ e(z, { className: "h-4 w-4", "aria-hidden": "true" })
|
|
237
239
|
] })
|
|
238
240
|
] })
|
|
239
|
-
] }),
|
|
241
|
+
] }), se = /* @__PURE__ */ e(me, { className: "border-slate-200 bg-white/95 shadow-xl", children: /* @__PURE__ */ r("div", { className: "grid gap-3 p-4", children: [
|
|
240
242
|
/* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(
|
|
241
243
|
pe,
|
|
242
244
|
{
|
|
243
245
|
value: w,
|
|
244
|
-
onValueChange:
|
|
246
|
+
onValueChange: J,
|
|
245
247
|
pickupAddress: x.address,
|
|
246
248
|
deliveryEnabled: v,
|
|
247
|
-
deliveryDisabledReason:
|
|
249
|
+
deliveryDisabledReason: G,
|
|
248
250
|
startAddress: S,
|
|
249
251
|
onStartAddressChange: O,
|
|
250
252
|
endAddress: C,
|
|
@@ -253,13 +255,13 @@ function sa() {
|
|
|
253
255
|
testIdPrefix: "storefront-home-compact-fulfillment"
|
|
254
256
|
}
|
|
255
257
|
) }),
|
|
256
|
-
|
|
258
|
+
ae({
|
|
257
259
|
className: "grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px_auto] xl:items-end",
|
|
258
260
|
showSubmitButton: !0,
|
|
259
261
|
submitButtonClassName: "h-10 rounded-xl text-sm font-semibold xl:self-end"
|
|
260
262
|
}),
|
|
261
263
|
Re
|
|
262
|
-
] }) }),
|
|
264
|
+
] }) }), Le = [...u, ...K].flatMap((t) => Array.isArray(t.images) ? t.images : []).filter((t) => typeof t == "string" && t.trim().length > 0).map((t) => t.trim()).slice(0, 12), Fe = Ct(Le), Oe = P ? /* @__PURE__ */ e("style", { children: `
|
|
263
265
|
@keyframes storefront-hero-marquee-up {
|
|
264
266
|
0% { transform: translateY(0); }
|
|
265
267
|
100% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }
|
|
@@ -282,7 +284,7 @@ function sa() {
|
|
|
282
284
|
transform: none !important;
|
|
283
285
|
}
|
|
284
286
|
}
|
|
285
|
-
` }) : null,
|
|
287
|
+
` }) : null, ie = (t) => /* @__PURE__ */ e(
|
|
286
288
|
"div",
|
|
287
289
|
{
|
|
288
290
|
className: m("relative h-full min-h-[340px] overflow-hidden", t),
|
|
@@ -295,7 +297,7 @@ function sa() {
|
|
|
295
297
|
maskSize: "100% 100%"
|
|
296
298
|
},
|
|
297
299
|
"aria-hidden": "true",
|
|
298
|
-
children: /* @__PURE__ */ e("div", { className: "absolute inset-0 grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6", children:
|
|
300
|
+
children: /* @__PURE__ */ e("div", { className: "absolute inset-0 grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6", children: Fe.map((l, s) => {
|
|
299
301
|
const k = ve[s % ve.length] ?? 32, y = [...l, ...l];
|
|
300
302
|
return /* @__PURE__ */ e(
|
|
301
303
|
"div",
|
|
@@ -344,24 +346,24 @@ function sa() {
|
|
|
344
346
|
);
|
|
345
347
|
}) })
|
|
346
348
|
}
|
|
347
|
-
),
|
|
349
|
+
), $e = P ? /* @__PURE__ */ e("div", { className: "pointer-events-none absolute inset-0 hidden lg:block", "aria-hidden": "true", children: /* @__PURE__ */ r("div", { className: "mx-auto grid h-full max-w-7xl grid-cols-12 gap-8 px-4 sm:px-6", children: [
|
|
348
350
|
/* @__PURE__ */ e("div", { className: "lg:col-span-5" }),
|
|
349
|
-
/* @__PURE__ */ e("div", { className: "lg:col-span-7", children:
|
|
350
|
-
] }) }) : null,
|
|
351
|
-
/* @__PURE__ */ e("div", { className: "lg:hidden", children:
|
|
351
|
+
/* @__PURE__ */ e("div", { className: "lg:col-span-7", children: ie() })
|
|
352
|
+
] }) }) : null, Ie = P ? /* @__PURE__ */ r(le, { children: [
|
|
353
|
+
/* @__PURE__ */ e("div", { className: "lg:hidden", children: ie() }),
|
|
352
354
|
/* @__PURE__ */ e("div", { className: "hidden min-h-[510px] lg:block", "aria-hidden": "true" })
|
|
353
355
|
] }) : /* @__PURE__ */ r("div", { className: "relative min-h-[340px] overflow-hidden rounded-3xl border border-slate-200 bg-slate-900 shadow-sm lg:min-h-[510px]", children: [
|
|
354
356
|
/* @__PURE__ */ e(
|
|
355
357
|
"img",
|
|
356
358
|
{
|
|
357
|
-
src:
|
|
359
|
+
src: W,
|
|
358
360
|
alt: "Bikes ready for reservation",
|
|
359
361
|
className: "absolute inset-0 h-full w-full object-cover"
|
|
360
362
|
}
|
|
361
363
|
),
|
|
362
364
|
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-linear-to-t from-slate-900/45 via-slate-900/15 to-transparent", "aria-hidden": "true" })
|
|
363
365
|
] });
|
|
364
|
-
return /* @__PURE__ */ r(
|
|
366
|
+
return /* @__PURE__ */ r(le, { children: [
|
|
365
367
|
/* @__PURE__ */ r("section", { className: "relative overflow-hidden border-b border-slate-200", children: [
|
|
366
368
|
/* @__PURE__ */ e("div", { className: "absolute inset-0 bg-linear-to-b from-slate-50 to-white", "aria-hidden": "true" }),
|
|
367
369
|
/* @__PURE__ */ e(
|
|
@@ -374,20 +376,20 @@ function sa() {
|
|
|
374
376
|
"aria-hidden": "true"
|
|
375
377
|
}
|
|
376
378
|
),
|
|
377
|
-
Fe,
|
|
378
379
|
Oe,
|
|
380
|
+
$e,
|
|
379
381
|
_ ? /* @__PURE__ */ r("div", { className: "relative mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14", children: [
|
|
380
382
|
/* @__PURE__ */ r("div", { className: "lg:col-span-5", children: [
|
|
381
|
-
|
|
382
|
-
|
|
383
|
+
te,
|
|
384
|
+
Z ? /* @__PURE__ */ e("div", { className: "mt-7", children: /* @__PURE__ */ e("div", { className: "relative z-20 w-[calc(100%+24rem)] max-w-none", children: se }) }) : null
|
|
383
385
|
] }),
|
|
384
386
|
/* @__PURE__ */ r("div", { className: m("lg:col-span-7", !P && "lg:pt-4"), children: [
|
|
385
|
-
|
|
386
|
-
|
|
387
|
+
Ie,
|
|
388
|
+
Z ? null : /* @__PURE__ */ e("div", { className: "mt-4", children: se })
|
|
387
389
|
] })
|
|
388
390
|
] }) : /* @__PURE__ */ r("div", { className: "relative mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14", children: [
|
|
389
|
-
/* @__PURE__ */ e("div", { className: "lg:col-span-5", children:
|
|
390
|
-
/* @__PURE__ */ e("div", { className: "lg:col-span-7", children:
|
|
391
|
+
/* @__PURE__ */ e("div", { className: "lg:col-span-5", children: te }),
|
|
392
|
+
/* @__PURE__ */ e("div", { className: "lg:col-span-7", children: qe })
|
|
391
393
|
] })
|
|
392
394
|
] }),
|
|
393
395
|
/* @__PURE__ */ r("section", { id: "featured", className: "mx-auto max-w-7xl scroll-mt-16 px-4 py-10 sm:scroll-mt-20 sm:px-6", children: [
|
|
@@ -397,50 +399,54 @@ function sa() {
|
|
|
397
399
|
/* @__PURE__ */ e("p", { className: "text-sm text-slate-600", children: /* @__PURE__ */ e("span", { children: a("featured_description") }) })
|
|
398
400
|
] }),
|
|
399
401
|
/* @__PURE__ */ r(
|
|
400
|
-
|
|
402
|
+
V,
|
|
401
403
|
{
|
|
402
404
|
className: "hidden items-center gap-2 text-sm font-medium text-slate-700 hover:text-slate-950 sm:inline-flex",
|
|
403
|
-
to: `/${n ?? ""}/booking${
|
|
405
|
+
to: `/${n ?? ""}/booking${Be}`,
|
|
404
406
|
children: [
|
|
405
407
|
/* @__PURE__ */ e("span", { children: a("featured_view_all") }),
|
|
406
|
-
/* @__PURE__ */ e(
|
|
408
|
+
/* @__PURE__ */ e(z, { className: "h-4 w-4", "aria-hidden": "true" })
|
|
407
409
|
]
|
|
408
410
|
}
|
|
409
411
|
)
|
|
410
412
|
] }),
|
|
411
|
-
/* @__PURE__ */ e("div", { className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children:
|
|
412
|
-
const l = t.id, s = t.slug, k = A(t.name, i.language, o), y = A(t.description, i.language, o), g = typeof t.images?.[0] == "string" ? t.images[0].trim() : "", D = he(t.primaryImageStyle),
|
|
413
|
+
/* @__PURE__ */ e("div", { className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: De.map((t) => {
|
|
414
|
+
const l = t.id, s = t.slug, k = A(t.name, i.language, o), y = A(t.description, i.language, o), g = typeof t.images?.[0] == "string" ? t.images[0].trim() : "", D = he(t.primaryImageStyle), ne = et(t.availabilityStatus);
|
|
413
415
|
return /* @__PURE__ */ r(
|
|
414
416
|
"div",
|
|
415
417
|
{
|
|
416
418
|
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",
|
|
417
419
|
children: [
|
|
418
|
-
/* @__PURE__ */
|
|
419
|
-
|
|
420
|
+
/* @__PURE__ */ e(
|
|
421
|
+
V,
|
|
420
422
|
{
|
|
421
|
-
to:
|
|
422
|
-
state:
|
|
423
|
-
className: "
|
|
424
|
-
children:
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
),
|
|
433
|
-
/* @__PURE__ */ r("span", { className: "flex flex-1 flex-col gap-1", children: [
|
|
434
|
-
/* @__PURE__ */ e("span", { className: "text-sm font-semibold text-slate-950", children: k }),
|
|
435
|
-
/* @__PURE__ */ e("span", { className: "line-clamp-2 text-xs text-slate-600", children: y })
|
|
436
|
-
] })
|
|
437
|
-
]
|
|
423
|
+
to: j(s),
|
|
424
|
+
state: U,
|
|
425
|
+
className: "block",
|
|
426
|
+
children: /* @__PURE__ */ e(
|
|
427
|
+
"span",
|
|
428
|
+
{
|
|
429
|
+
className: m("relative block aspect-[1618/1000] overflow-hidden rounded-xl", D.className),
|
|
430
|
+
style: D.style,
|
|
431
|
+
children: g ? /* @__PURE__ */ e("img", { src: g, alt: k, className: "absolute inset-0 h-full w-full object-contain p-1", loading: "lazy" }) : /* @__PURE__ */ e("span", { className: "absolute inset-0 flex items-center justify-center text-slate-400", children: /* @__PURE__ */ e(oe, { className: "h-8 w-8", "aria-hidden": "true" }) })
|
|
432
|
+
}
|
|
433
|
+
)
|
|
438
434
|
}
|
|
439
435
|
),
|
|
440
|
-
/* @__PURE__ */ r("span", { className: "flex
|
|
441
|
-
/* @__PURE__ */ e(
|
|
442
|
-
|
|
443
|
-
|
|
436
|
+
/* @__PURE__ */ r("span", { className: "flex flex-1 flex-col gap-1", children: [
|
|
437
|
+
/* @__PURE__ */ e(
|
|
438
|
+
V,
|
|
439
|
+
{
|
|
440
|
+
to: j(s),
|
|
441
|
+
state: U,
|
|
442
|
+
className: "text-sm font-semibold text-slate-950 hover:text-slate-700",
|
|
443
|
+
children: /* @__PURE__ */ e("span", { children: k })
|
|
444
|
+
}
|
|
445
|
+
),
|
|
446
|
+
/* @__PURE__ */ e(de, { prices: t.prices, className: "self-start" }),
|
|
447
|
+
/* @__PURE__ */ e("span", { className: "line-clamp-2 text-xs text-slate-600", children: y })
|
|
448
|
+
] }),
|
|
449
|
+
/* @__PURE__ */ e("span", { className: "flex items-center gap-2", children: /* @__PURE__ */ e(Y, { variant: ne.variant, children: /* @__PURE__ */ e("span", { children: a(ne.labelKey) }) }) })
|
|
444
450
|
]
|
|
445
451
|
},
|
|
446
452
|
l
|
|
@@ -453,11 +459,11 @@ function sa() {
|
|
|
453
459
|
/* @__PURE__ */ e("p", { className: "text-sm text-slate-600", children: /* @__PURE__ */ e("span", { children: a("products_description") }) })
|
|
454
460
|
] }) }),
|
|
455
461
|
/* @__PURE__ */ e("div", { className: "mt-6 grid gap-4 md:grid-cols-2", children: u.map((t) => /* @__PURE__ */ e(
|
|
456
|
-
|
|
462
|
+
rt,
|
|
457
463
|
{
|
|
458
464
|
bike: t,
|
|
459
|
-
detailsPath:
|
|
460
|
-
productDetailsLinkState:
|
|
465
|
+
detailsPath: j(t.slug),
|
|
466
|
+
productDetailsLinkState: U,
|
|
461
467
|
fallbackLanguage: o,
|
|
462
468
|
onAction: H
|
|
463
469
|
},
|
|
@@ -469,7 +475,7 @@ function sa() {
|
|
|
469
475
|
/* @__PURE__ */ e("h2", { className: "text-xl font-semibold tracking-tight", children: /* @__PURE__ */ e("span", { children: a("accessories_title") }) }),
|
|
470
476
|
/* @__PURE__ */ e("p", { className: "text-sm text-slate-600", children: /* @__PURE__ */ e("span", { children: a("accessories_description") }) })
|
|
471
477
|
] }) }),
|
|
472
|
-
/* @__PURE__ */ e("div", { className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children:
|
|
478
|
+
/* @__PURE__ */ e("div", { className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4", children: K.slice(0, 4).map((t) => {
|
|
473
479
|
const l = A(t.name, i.language, o), s = A(t.description, i.language, o), k = A(t.warning, i.language, o), y = typeof t.images?.[0] == "string" ? t.images[0].trim() : "", g = he(t.primaryImageStyle);
|
|
474
480
|
return /* @__PURE__ */ r("div", { className: "flex h-full flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 shadow-sm", children: [
|
|
475
481
|
/* @__PURE__ */ e(
|
|
@@ -483,17 +489,17 @@ function sa() {
|
|
|
483
489
|
/* @__PURE__ */ r("div", { className: "flex flex-1 flex-col gap-1", children: [
|
|
484
490
|
/* @__PURE__ */ e("p", { className: "text-sm font-semibold text-slate-950", children: /* @__PURE__ */ e("span", { children: l }) }),
|
|
485
491
|
/* @__PURE__ */ e("p", { className: "line-clamp-2 text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: s }) }),
|
|
486
|
-
/* @__PURE__ */ e(
|
|
492
|
+
/* @__PURE__ */ e(it, { warning: k, className: "mt-1" })
|
|
487
493
|
] }),
|
|
488
494
|
/* @__PURE__ */ e("div", { className: "flex items-center justify-between gap-2", children: /* @__PURE__ */ e(de, { prices: t.prices }) })
|
|
489
495
|
] }, t.id);
|
|
490
496
|
}) })
|
|
491
497
|
] }),
|
|
492
|
-
/* @__PURE__ */ e(
|
|
493
|
-
/* @__PURE__ */ e(
|
|
494
|
-
/* @__PURE__ */ e(
|
|
498
|
+
/* @__PURE__ */ e(at, { preset: x }),
|
|
499
|
+
/* @__PURE__ */ e(ot, {}),
|
|
500
|
+
/* @__PURE__ */ e(st, { preset: x, storeSlug: n ?? "" })
|
|
495
501
|
] });
|
|
496
502
|
}
|
|
497
503
|
export {
|
|
498
|
-
|
|
504
|
+
oa as default
|
|
499
505
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentLinkPage.d.ts","sourceRoot":"","sources":["../../src/pages/PaymentLinkPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaymentLinkPage.d.ts","sourceRoot":"","sources":["../../src/pages/PaymentLinkPage.tsx"],"names":[],"mappings":"AA2DA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DA,CAAA;AA0CnB,MAAM,CAAC,OAAO,UAAU,eAAe,4CAsStC"}
|