@loczer/storefront-sdk 0.218.0 → 0.219.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.
Files changed (53) hide show
  1. package/dist/components/BookingFlowPageLayout/index.d.ts +13 -0
  2. package/dist/components/BookingFlowPageLayout/index.d.ts.map +1 -0
  3. package/dist/components/BookingFlowPageLayout/index.js +35 -0
  4. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.d.ts.map +1 -1
  5. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +10 -33
  6. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.d.ts.map +1 -1
  7. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -4
  8. package/dist/components/BookingPeriodSelector/index.d.ts +1 -1
  9. package/dist/components/BookingPeriodSelector/index.d.ts.map +1 -1
  10. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts +0 -5
  11. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
  12. package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +150 -159
  13. package/dist/components/Footer/BusinessHours.d.ts +2 -1
  14. package/dist/components/Footer/BusinessHours.d.ts.map +1 -1
  15. package/dist/components/Footer/BusinessHours.js +19 -18
  16. package/dist/components/Footer/businessHoursStatus.d.ts +25 -0
  17. package/dist/components/Footer/businessHoursStatus.d.ts.map +1 -0
  18. package/dist/components/Footer/businessHoursStatus.js +99 -0
  19. package/dist/components/Footer/businessHoursUtils.d.ts +2 -1
  20. package/dist/components/Footer/businessHoursUtils.d.ts.map +1 -1
  21. package/dist/components/Footer/businessHoursUtils.js +52 -45
  22. package/dist/components/Footer/index.d.ts +2 -1
  23. package/dist/components/Footer/index.d.ts.map +1 -1
  24. package/dist/components/Footer/index.js +26 -25
  25. package/dist/components/Layout/index.d.ts.map +1 -1
  26. package/dist/components/Layout/index.js +2 -1
  27. package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -1
  28. package/dist/components/StorefrontCancellationPolicyNotice/index.js +89 -86
  29. package/dist/components/StorefrontCartPanel/index.js +4 -4
  30. package/dist/components/StorefrontInsuranceNotice/index.d.ts +2 -1
  31. package/dist/components/StorefrontInsuranceNotice/index.d.ts.map +1 -1
  32. package/dist/components/StorefrontInsuranceNotice/index.js +155 -162
  33. package/dist/i18n/en.d.ts +7 -1
  34. package/dist/i18n/en.d.ts.map +1 -1
  35. package/dist/i18n/en.js +8 -2
  36. package/dist/i18n/fr.d.ts +7 -1
  37. package/dist/i18n/fr.d.ts.map +1 -1
  38. package/dist/i18n/fr.js +8 -2
  39. package/dist/index.d.ts +24 -9
  40. package/dist/index.js +66 -66
  41. package/dist/lib/pricing.d.ts.map +1 -1
  42. package/dist/lib/pricing.js +3 -1
  43. package/dist/lib/products.d.ts +6 -0
  44. package/dist/lib/products.d.ts.map +1 -1
  45. package/dist/lib/products.js +36 -32
  46. package/dist/pages/BookingPage.d.ts.map +1 -1
  47. package/dist/pages/BookingPage.js +306 -335
  48. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  49. package/dist/pages/CheckoutPage.js +154 -168
  50. package/dist/pages/HomePage.d.ts.map +1 -1
  51. package/dist/pages/HomePage.js +435 -378
  52. package/dist/storefront.css +1 -1
  53. package/package.json +1 -1
@@ -1,54 +1,55 @@
1
1
  import { BOOKING_SEARCH_KEYS as e, applyBookingParamsToSearch as t, createBookingPeriodConfigFromStorefrontConfiguration as n, getBookingParamsFromSearch as r, getDefaultBookingParamsForStorefrontConfiguration as i, resolveBookingSearchParamsFromSessionStorage as a, writeBookingSearchParamsToSessionStorage as o } from "../lib/booking.js";
2
2
  import { getLocalizedValue as s } from "../localization.js";
3
3
  import { getAvailabilityVariant as ee } from "../lib/utils.js";
4
- import { resolveStorefrontMapsHref as c } from "../lib/storefrontContact.js";
5
- import { buildStorefrontImageUrl as l } from "../lib/storefrontImage.js";
6
- import "../lib/storefrontMissingValues.js";
7
- import { buildBusinessHoursSeasonSummary as te, normalizeStorefrontOpeningHours as ne, normalizeStorefrontOpeningHoursOverrides as re } from "../components/Footer/businessHoursUtils.js";
8
- import { Badge as u } from "../ui/badge.js";
9
- import { Button as ie } from "../ui/button.js";
10
- import { useStorefront as ae, useStorefrontProducts as oe } from "../StorefrontContext.js";
11
- import { usePlaygroundDevSettings as se } from "../lib/playgroundDevSettings.js";
12
- import { BookingPeriodProvider as ce, useBookingPeriod as d } from "../components/BookingPeriodSelector/BookingPeriodContext.js";
13
- import { BookingStartDateField as le } from "../components/BookingPeriodSelector/components/BookingStartDateField.js";
14
- import { BookingStartTimeField as ue } from "../components/BookingPeriodSelector/components/BookingStartTimeField.js";
15
- import { BookingEndDateField as de } from "../components/BookingPeriodSelector/components/BookingEndDateField.js";
16
- import { BookingEndTimeField as fe } from "../components/BookingPeriodSelector/components/BookingEndTimeField.js";
17
- import { BookingTimeSlotsStatus as pe } from "../components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
18
- import { BookingMobileDateDrawer as me } from "../components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
4
+ import { resolveStorefrontMapsHref as te } from "../lib/storefrontContact.js";
5
+ import { buildStorefrontImageUrl as c } from "../lib/storefrontImage.js";
6
+ import { MISSING_SHOP_ADDRESS as ne } from "../lib/storefrontMissingValues.js";
7
+ import { buildBusinessHoursSeasonSummary as re, normalizeStorefrontOpeningHours as ie, normalizeStorefrontOpeningHoursOverrides as ae } from "../components/Footer/businessHoursUtils.js";
8
+ import { Badge as l } from "../ui/badge.js";
9
+ import { Button as oe } from "../ui/button.js";
10
+ import { useStorefront as se, useStorefrontProducts as ce } from "../StorefrontContext.js";
11
+ import { usePlaygroundDevSettings as le } from "../lib/playgroundDevSettings.js";
12
+ import { BookingPeriodProvider as ue, useBookingPeriod as u } from "../components/BookingPeriodSelector/BookingPeriodContext.js";
13
+ import { BookingStartDateField as de } from "../components/BookingPeriodSelector/components/BookingStartDateField.js";
14
+ import { BookingStartTimeField as fe } from "../components/BookingPeriodSelector/components/BookingStartTimeField.js";
15
+ import { BookingEndDateField as pe } from "../components/BookingPeriodSelector/components/BookingEndDateField.js";
16
+ import { BookingEndTimeField as me } from "../components/BookingPeriodSelector/components/BookingEndTimeField.js";
17
+ import { BookingTimeSlotsStatus as he } from "../components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
18
+ import { BookingMobileDateDrawer as ge } from "../components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
19
19
  import "../components/BookingPeriodSelector/index.js";
20
- import { DeliveryAddressSelector as he } from "../components/DeliveryAddressSelector/index.js";
21
- import { ContactSection as ge } from "../components/ContactSection/index.js";
22
- import { TestimonialsSection as _e } from "../components/TestimonialsSection/index.js";
23
- import { AboutSection as ve } from "../components/AboutSection/index.js";
24
- import { ItinerariesSection as ye } from "../components/Itineraries/ItinerariesSection.js";
20
+ import { DeliveryAddressSelector as _e } from "../components/DeliveryAddressSelector/index.js";
21
+ import { ContactSection as ve } from "../components/ContactSection/index.js";
22
+ import { TestimonialsSection as ye } from "../components/TestimonialsSection/index.js";
23
+ import { AboutSection as be } from "../components/AboutSection/index.js";
24
+ import { ItinerariesSection as xe } from "../components/Itineraries/ItinerariesSection.js";
25
25
  import "../components/Itineraries/index.js";
26
- import { Card as be } from "../ui/card.js";
27
- import { ProductWarningNotice as xe } from "../components/ProductWarningNotice/index.js";
28
- import { ProductPriceBadge as Se } from "../components/ProductPriceBadge/index.js";
29
- import Ce from "../chunks/assets/playground-hero-preview-kf4c9tSc.js";
30
- import { resolveProductImageContainerStyle as we } from "../lib/productImageStyles.js";
31
- import { BikeProductCard as Te } from "../components/BikeProductCard/index.js";
32
- import { BusinessHoursOverviewDialog as Ee } from "../components/Footer/BusinessHoursOverviewDialog.js";
33
- import { StorefrontCancellationPolicyNotice as De } from "../components/StorefrontCancellationPolicyNotice/index.js";
34
- import { StorefrontInsuranceNotice as Oe } from "../components/StorefrontInsuranceNotice/index.js";
35
- import { createStorefrontTimeSlotsFetcher as ke } from "../lib/fetchStorefrontTimeSlots.js";
36
- import { FulfillmentSection as Ae } from "../components/FulfillmentSection/index.js";
37
- import { useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
38
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
39
- import { Link as y, useLocation as je, useNavigate as Me, useParams as Ne, useSearchParams as Pe } from "@rpcbase/router";
40
- import { useTranslation as Fe } from "react-i18next";
41
- import { cn as b } from "@rpcbase/ui";
42
- import { ArrowRight as x, Bike as Ie, Clock as Le, MapPin as Re, ShieldCheck as ze, Truck as Be } from "lucide-react";
26
+ import { Card as Se } from "../ui/card.js";
27
+ import { ProductWarningNotice as Ce } from "../components/ProductWarningNotice/index.js";
28
+ import { ProductPriceBadge as we } from "../components/ProductPriceBadge/index.js";
29
+ import Te from "../chunks/assets/playground-hero-preview-kf4c9tSc.js";
30
+ import { resolveProductImageContainerStyle as Ee } from "../lib/productImageStyles.js";
31
+ import { BikeProductCard as De } from "../components/BikeProductCard/index.js";
32
+ import { BusinessHoursOverviewDialog as Oe } from "../components/Footer/BusinessHoursOverviewDialog.js";
33
+ import { formatBusinessHoursDate as ke, formatBusinessHoursTime as Ae, formatBusinessHoursWeekday as je, getBusinessHoursStatus as Me } from "../components/Footer/businessHoursStatus.js";
34
+ import { StorefrontCancellationPolicyNotice as Ne } from "../components/StorefrontCancellationPolicyNotice/index.js";
35
+ import { StorefrontInsuranceNotice as Pe } from "../components/StorefrontInsuranceNotice/index.js";
36
+ import { createStorefrontTimeSlotsFetcher as Fe } from "../lib/fetchStorefrontTimeSlots.js";
37
+ import { FulfillmentSection as Ie } from "../components/FulfillmentSection/index.js";
38
+ import { useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
39
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
40
+ import { Link as v, useLocation as Le, useNavigate as Re, useParams as ze, useSearchParams as Be } from "@rpcbase/router";
41
+ import { useTranslation as Ve } from "react-i18next";
42
+ import { cn as y } from "@rpcbase/ui";
43
+ import { ArrowRight as b, Bike as He, Clock as Ue, MapPin as We, ShieldCheck as Ge, Truck as Ke } from "lucide-react";
43
44
  //#region src/pages/HomePage.tsx
44
- var S = (e) => String(e).padStart(2, "0"), Ve = "text-2xs font-semibold uppercase tracking-wide text-slate-600", He = "h-10", C = "show_business_hours_modal", w = 6, T = 5, Ue = [
45
+ var x = (e) => String(e).padStart(2, "0"), qe = "text-2xs font-semibold uppercase tracking-wide text-slate-600", Je = "h-10", Ye = "show_business_hours_modal", Xe = 7, S = 6, C = 5, Ze = [
45
46
  15,
46
47
  25,
47
48
  42,
48
49
  66,
49
50
  33,
50
51
  54
51
- ], E = [
52
+ ], w = [
52
53
  "4 / 5",
53
54
  "1 / 1",
54
55
  "3 / 4",
@@ -57,359 +58,415 @@ var S = (e) => String(e).padStart(2, "0"), Ve = "text-2xs font-semibold uppercas
57
58
  "4 / 3",
58
59
  "9 / 16",
59
60
  "6 / 7"
60
- ], We = ({ buttonRef: e, className: t, label: n, onSubmit: r }) => {
61
- let { hasConfirmedTimeSlots: i, startTime: a, endTime: o } = d();
62
- return /* @__PURE__ */ v(ie, {
61
+ ], Qe = ({ buttonRef: e, className: t, label: n, onSubmit: r }) => {
62
+ let { hasConfirmedTimeSlots: i, startTime: a, endTime: o } = u();
63
+ return /* @__PURE__ */ _(oe, {
63
64
  ref: e,
64
- className: b("gap-2", t),
65
+ className: y("gap-2", t),
65
66
  disabled: !i || !a || !o,
66
67
  onClick: r,
67
- children: [/* @__PURE__ */ _("span", { children: n }), /* @__PURE__ */ _(x, {
68
+ children: [/* @__PURE__ */ g("span", { children: n }), /* @__PURE__ */ g(b, {
68
69
  className: "h-4 w-4",
69
70
  "aria-hidden": "true"
70
71
  })]
71
72
  });
72
- }, D = (e) => `${e.getFullYear()}-${S(e.getMonth() + 1)}-${S(e.getDate())}`, O = (e) => {
73
+ }, T = (e) => `${e.getFullYear()}-${x(e.getMonth() + 1)}-${x(e.getDate())}`, E = (e) => {
73
74
  if (!e) return;
74
75
  let t = e.match(/^(\d{4})-(\d{2})-(\d{2})$/);
75
76
  if (!t) return;
76
77
  let n = Number(t[1]), r = Number(t[2]), i = Number(t[3]), a = new Date(n, r - 1, i);
77
78
  if (!(Number.isNaN(a.getTime()) || a.getFullYear() !== n || a.getMonth() !== r - 1 || a.getDate() !== i)) return a;
78
- }, Ge = (e) => {
79
- let t = e.length > 0 ? e : [Ce];
80
- return Array.from({ length: w }, (e, n) => Array.from({ length: T }, (e, r) => {
81
- let i = n * T + r;
79
+ }, $e = (e) => {
80
+ let t = e.length > 0 ? e : [Te];
81
+ return Array.from({ length: S }, (e, n) => Array.from({ length: C }, (e, r) => {
82
+ let i = n * C + r;
82
83
  return {
83
- aspectRatio: E[(i + n) % E.length] ?? E[0],
84
+ aspectRatio: w[(i + n) % w.length] ?? w[0],
84
85
  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"
85
86
  };
86
87
  }));
87
88
  };
88
- function k() {
89
- let { t: d, i18n: S } = Fe(), { storeSlug: w } = Ne(), T = je(), { storefrontConfiguration: E } = ae(), k = E.shop.address?.trim() ?? "", A = E.workspace?.workspaceLanguage, { seasons: Ke, exceptions: qe } = te({
90
- openingHours: ne(E.bookingEngine.shop.openingHours),
91
- openingHoursOverrides: re(E.bookingEngine.shop.openingHoursOverrides),
92
- language: S.language || A || "en",
93
- closedLabel: d("footer_business_hours_closed"),
94
- formatWeekdayRange: (e, t) => d("footer_business_hours_weekday_range", {
89
+ function D() {
90
+ let { t: u, i18n: x } = Ve(), { storeSlug: S } = ze(), C = Le(), { storefrontConfiguration: w } = se(), D = w.shop.address?.trim() ?? "", O = w.workspace?.workspaceLanguage, et = x.resolvedLanguage || x.language || O || "en", [tt, nt] = m(() => /* @__PURE__ */ new Date());
91
+ d(() => {
92
+ let e = () => {
93
+ nt(/* @__PURE__ */ new Date());
94
+ }, t, n = window.setTimeout(() => {
95
+ e(), t = window.setInterval(e, 6e4);
96
+ }, 6e4 - Date.now() % 6e4);
97
+ return () => {
98
+ window.clearTimeout(n), t != null && window.clearInterval(t);
99
+ };
100
+ }, []);
101
+ let rt = ie(w.bookingEngine.shop.openingHours), it = ae(w.bookingEngine.shop.openingHoursOverrides), { seasons: at, exceptions: ot } = re({
102
+ openingHours: rt,
103
+ openingHoursOverrides: it,
104
+ language: x.language || O || "en",
105
+ closedLabel: u("footer_business_hours_closed"),
106
+ formatWeekdayRange: (e, t) => u("footer_business_hours_weekday_range", {
95
107
  start: e,
96
108
  end: t
97
109
  }),
98
- formatSeasonRange: (e, t) => d("footer_business_hours_season_range", {
110
+ formatSeasonRange: (e, t) => u("footer_business_hours_season_range", {
99
111
  start: e,
100
112
  end: t
101
113
  }),
114
+ timeZone: w.bookingEngine.shop.timeZone,
102
115
  includeReferenceDateOverrideInSeason: !1
103
- }), Je = Ke.length > 0 || qe.length > 0, Ye = c(E.shop), { bikes: j, accessories: Xe } = oe(), [M, N] = Pe(), Ze = M.get(C) === "true", Qe = Me(), P = p(() => a(M, w), [M, w]), $e = p(() => n(E), [E]), F = p(() => i(E), [E]), I = p(() => O(F.start_date), [F.start_date]), et = p(() => O(F.end_date) ?? I, [F.end_date, I]), L = E.settings.fulfillmentModes.includes("delivery"), tt = E.settings.deliveryDisabledReason.trim(), R = p(() => r(P, F), [F, P]), [z, nt] = h(() => R.fulfillment === "delivery" && L ? "delivery" : "pickup"), [B, rt] = h(() => O(P.get("start_date")) ?? I), [V, it] = h(() => P.get("start_time") ?? F.start_time), [H, at] = h(() => {
104
- let e = O(P.get("start_date")) ?? I;
105
- return O(P.get("end_date")) ?? e ?? et;
106
- }), [U, ot] = h(() => P.get("end_time") ?? F.end_time), [st, ct] = h(void 0), lt = m(void 0), [ut, dt] = h(!1), [W, G] = h(() => R.start_address), [K, q] = h(() => R.end_address), ft = m(null), pt = (e) => {
107
- let t = new URLSearchParams(M);
108
- e ? t.set(C, "true") : t.delete(C), N(t, { replace: !0 });
109
- }, mt = [
110
- B ? D(B) : "",
111
- V,
112
- H ? D(H) : "",
113
- U
114
- ].join(":"), ht = m(mt);
115
- ht.current = mt;
116
- let J = st === mt, gt = p(() => j.slice(0, 4), [j]), { heroMode: _t } = se(), vt = _t ?? E.content?.heroMode ?? "current_booking_hero", Y = vt === "vertical_marquee_hero", X = vt === "booking_bar_overlay_hero" || Y, yt = ke(w), bt = p(() => ({
117
- startDate: d("booking_start_date"),
118
- pickStartDate: d("booking_start_date"),
119
- startTime: d("booking_start_time"),
120
- endDate: d("booking_end_date"),
121
- pickEndDate: d("booking_end_date"),
122
- endTime: d("booking_end_time"),
123
- selectedDaysTooltip: ({ count: e }) => d("booking_selected_days_tooltip", { count: e }),
124
- rentalPeriod: d("booking_rental_period"),
125
- dateDrawerNext: d("booking_date_drawer_continue"),
126
- closeDrawer: d("booking_date_drawer_close"),
127
- timeSlotsLoading: d("booking_time_slots_loading"),
128
- timeSlotsUnavailable: d("booking_time_slots_unavailable"),
129
- timeSlotsLoadError: d("booking_time_slots_load_error"),
130
- retryTimeSlots: d("booking_time_slots_retry")
131
- }), [S.language, d]), Z = p(() => {
132
- let e = B ?? I ?? /* @__PURE__ */ new Date(), n = H ?? e;
116
+ }), st = at.length > 0 || ot.length > 0, k = Me({
117
+ openingHours: rt,
118
+ openingHoursOverrides: it,
119
+ timeZone: w.bookingEngine.shop.timeZone,
120
+ referenceDate: tt
121
+ }), A = u("status_hours_unavailable");
122
+ if (k.kind === "open") A = u("status_open");
123
+ else if (k.kind === "closed") {
124
+ let { nextOpening: e } = k;
125
+ if (!e) A = u("status_closed");
126
+ else {
127
+ let t = Ae(e.time, et);
128
+ A = e.daysFromToday === 0 ? u("status_opens_at", { time: t }) : e.daysFromToday === 1 ? u("status_opens_at_tomorrow", { time: t }) : e.daysFromToday <= Xe ? u("status_opens_on", {
129
+ time: t,
130
+ weekday: je(e.date, et)
131
+ }) : u("status_opens_on_date", {
132
+ date: ke(e.date, et),
133
+ time: t
134
+ });
135
+ }
136
+ }
137
+ let j = te(w.shop), { bikes: M, accessories: ct } = ce(), [N, lt] = Be(), ut = N.get(Ye) === "true", dt = Re(), P = f(() => a(N, S), [N, S]), ft = f(() => n(w), [w]), F = f(() => i(w), [w]), I = f(() => E(F.start_date), [F.start_date]), pt = f(() => E(F.end_date) ?? I, [F.end_date, I]), L = w.settings.fulfillmentModes.includes("delivery"), mt = w.settings.deliveryDisabledReason.trim(), ht = f(() => r(P, F), [F, P]), [R, gt] = m(() => ht.fulfillment === "delivery" && L ? "delivery" : "pickup"), [z, _t] = m(() => E(P.get("start_date")) ?? I), [B, vt] = m(() => P.get("start_time") ?? F.start_time), [V, yt] = m(() => {
138
+ let e = E(P.get("start_date")) ?? I;
139
+ return E(P.get("end_date")) ?? e ?? pt;
140
+ }), [H, bt] = m(() => P.get("end_time") ?? F.end_time), [xt, St] = m(void 0), Ct = p(void 0), [wt, Tt] = m(!1), [U, W] = m(() => ht.start_address), [G, K] = m(() => ht.end_address), q = p(null), Et = (e) => {
141
+ let t = new URLSearchParams(N);
142
+ e ? t.set(Ye, "true") : t.delete(Ye), lt(t, { replace: !0 });
143
+ }, J = [
144
+ z ? T(z) : "",
145
+ B,
146
+ V ? T(V) : "",
147
+ H
148
+ ].join(":"), Dt = p(J);
149
+ Dt.current = J;
150
+ let Y = xt === J, Ot = f(() => M.slice(0, 4), [M]), { heroMode: kt } = le(), At = kt ?? w.content?.heroMode ?? "current_booking_hero", X = At === "vertical_marquee_hero", Z = At === "booking_bar_overlay_hero" || X, jt = Fe(S), Mt = f(() => ({
151
+ startDate: u("booking_start_date"),
152
+ pickStartDate: u("booking_start_date"),
153
+ startTime: u("booking_start_time"),
154
+ endDate: u("booking_end_date"),
155
+ pickEndDate: u("booking_end_date"),
156
+ endTime: u("booking_end_time"),
157
+ selectedDaysTooltip: ({ count: e }) => u("booking_selected_days_tooltip", { count: e }),
158
+ rentalPeriod: u("booking_rental_period"),
159
+ dateDrawerNext: u("booking_date_drawer_continue"),
160
+ closeDrawer: u("booking_date_drawer_close"),
161
+ timeSlotsLoading: u("booking_time_slots_loading"),
162
+ timeSlotsUnavailable: u("booking_time_slots_unavailable"),
163
+ timeSlotsLoadError: u("booking_time_slots_load_error"),
164
+ retryTimeSlots: u("booking_time_slots_retry")
165
+ }), [x.language, u]), Q = f(() => {
166
+ let e = z ?? I ?? /* @__PURE__ */ new Date(), n = V ?? e;
133
167
  return t(new URLSearchParams(), {
134
- fulfillment: z === "delivery" && L ? "delivery" : "pickup",
135
- start_date: D(e),
136
- start_time: J ? V : "",
137
- end_date: D(n),
138
- end_time: J ? U : "",
139
- start_address: W,
140
- end_address: K
168
+ fulfillment: R === "delivery" && L ? "delivery" : "pickup",
169
+ start_date: T(e),
170
+ start_time: Y ? B : "",
171
+ end_date: T(n),
172
+ end_time: Y ? H : "",
173
+ start_address: U,
174
+ end_address: G
141
175
  });
142
176
  }, [
143
177
  I,
144
178
  L,
145
- K,
179
+ G,
180
+ V,
146
181
  H,
182
+ R,
183
+ Y,
147
184
  U,
148
185
  z,
149
- J,
150
- W,
151
- B,
152
- V
153
- ]), xt = Z.toString(), St = xt ? `?${xt}` : "";
154
- f(() => {
155
- o(w, Z);
156
- }, [Z, w]), f(() => {
157
- let t = new URLSearchParams(M);
186
+ B
187
+ ]), Nt = Q.toString(), Pt = Nt ? `?${Nt}` : "";
188
+ d(() => {
189
+ o(S, Q);
190
+ }, [Q, S]), d(() => {
191
+ let t = new URLSearchParams(N);
158
192
  for (let n of e) t.delete(n);
159
- for (let [e, n] of Z.entries()) t.set(e, n);
160
- t.toString() !== M.toString() && N(t, { replace: !0 });
193
+ for (let [e, n] of Q.entries()) t.set(e, n);
194
+ t.toString() !== N.toString() && lt(t, { replace: !0 });
161
195
  }, [
162
- Z,
163
- M,
164
- N
165
- ]), f(() => {
166
- !ut || !J || (dt(!1), ft.current?.focus({ preventScroll: !0 }));
167
- }, [J, ut]);
168
- let Ct = J && !!(V && U), wt = {
169
- startDate: B,
170
- onStartDateChange: rt,
171
- startTime: V,
172
- onStartTimeChange: it,
173
- endDate: H,
174
- onEndDateChange: at,
175
- endTime: U,
176
- onEndTimeChange: ot,
177
- onEndTimeCommit: () => dt(!0),
178
- bookingPeriodConfig: $e,
196
+ Q,
197
+ N,
198
+ lt
199
+ ]), d(() => {
200
+ !wt || !Y || (Tt(!1), q.current?.focus({ preventScroll: !0 }));
201
+ }, [Y, wt]);
202
+ let Ft = Y && !!(B && H), It = {
203
+ startDate: z,
204
+ onStartDateChange: _t,
205
+ startTime: B,
206
+ onStartTimeChange: vt,
207
+ endDate: V,
208
+ onEndDateChange: yt,
209
+ endTime: H,
210
+ onEndTimeChange: bt,
211
+ onEndTimeCommit: () => Tt(!0),
212
+ bookingPeriodConfig: ft,
179
213
  withMobileDateDrawer: !0,
180
- fetchTimeSlots: yt,
214
+ fetchTimeSlots: jt,
181
215
  onTimeSlotsConfirmationChange: (e) => {
182
- let t = e ? ht.current : void 0;
183
- lt.current !== t && (lt.current = t, ct(t));
216
+ let t = e ? Dt.current : void 0;
217
+ Ct.current !== t && (Ct.current = t, St(t));
184
218
  },
185
- labels: bt,
186
- localeCode: S.language
187
- }, Tt = () => {
188
- let e = new URLSearchParams(M);
189
- for (let [t, n] of Z.entries()) e.set(t, n);
190
- Qe(`/${w ?? ""}/booking?${e.toString()}#booking-products`);
191
- }, Et = () => {
192
- Ct && Tt();
193
- }, Dt = (e) => `/${w ?? ""}/products/${e}`, Q = { backTo: `${T.pathname}${T.search}${T.hash}` }, Ot = /* @__PURE__ */ v("div", {
219
+ labels: Mt,
220
+ localeCode: x.language
221
+ }, Lt = () => {
222
+ let e = new URLSearchParams(N);
223
+ for (let [t, n] of Q.entries()) e.set(t, n);
224
+ dt(`/${S ?? ""}/booking?${e.toString()}#booking-products`);
225
+ }, Rt = () => {
226
+ Ft && Lt();
227
+ }, zt = (e) => `/${S ?? ""}/products/${e}`, $ = { backTo: `${C.pathname}${C.search}${C.hash}` }, Bt = /* @__PURE__ */ _("div", {
194
228
  className: "min-w-0",
195
229
  children: [
196
- /* @__PURE__ */ v("div", {
230
+ /* @__PURE__ */ _("div", {
197
231
  className: "flex min-w-0 flex-wrap items-center gap-2",
198
- children: [Je ? /* @__PURE__ */ _(u, {
232
+ children: [st ? /* @__PURE__ */ g(l, {
199
233
  asChild: !0,
200
234
  variant: "secondary",
201
235
  className: "group cursor-pointer",
202
- children: /* @__PURE__ */ v("button", {
236
+ children: /* @__PURE__ */ _("button", {
203
237
  type: "button",
204
238
  "data-testid": "storefront-business-hours-trigger",
205
239
  "aria-haspopup": "dialog",
206
- "aria-expanded": Ze,
207
- onClick: () => pt(!0),
208
- children: [/* @__PURE__ */ _(Le, {
240
+ "aria-expanded": ut,
241
+ onClick: () => Et(!0),
242
+ children: [/* @__PURE__ */ g(Ue, {
209
243
  className: "h-3 w-3",
210
244
  "aria-hidden": "true"
211
- }), /* @__PURE__ */ _("span", {
245
+ }), /* @__PURE__ */ g("span", {
212
246
  className: "decoration-current underline-offset-2 group-hover:underline group-focus-visible:underline",
213
- children: d("status_open")
247
+ "data-testid": "storefront-business-hours-status",
248
+ suppressHydrationWarning: !0,
249
+ children: A
214
250
  })]
215
251
  })
216
- }) : /* @__PURE__ */ v(u, {
252
+ }) : /* @__PURE__ */ _(l, {
217
253
  variant: "secondary",
218
- children: [/* @__PURE__ */ _(Le, {
254
+ children: [/* @__PURE__ */ g(Ue, {
219
255
  className: "h-3 w-3",
220
256
  "aria-hidden": "true"
221
- }), /* @__PURE__ */ _("span", { children: d("status_open") })]
222
- }), /* @__PURE__ */ v(u, {
257
+ }), /* @__PURE__ */ g("span", {
258
+ "data-testid": "storefront-business-hours-status",
259
+ suppressHydrationWarning: !0,
260
+ children: A
261
+ })]
262
+ }), D && j ? /* @__PURE__ */ g(l, {
263
+ asChild: !0,
264
+ variant: "secondary",
265
+ className: "group min-w-0 max-w-full cursor-pointer",
266
+ children: /* @__PURE__ */ _("a", {
267
+ href: j,
268
+ target: "_blank",
269
+ rel: "noreferrer",
270
+ "data-testid": "storefront-shop-address-link",
271
+ children: [/* @__PURE__ */ g(We, {
272
+ className: "h-3 w-3",
273
+ "aria-hidden": "true"
274
+ }), /* @__PURE__ */ g("span", {
275
+ className: "truncate decoration-current underline-offset-2 group-hover:underline group-focus-visible:underline",
276
+ children: D
277
+ })]
278
+ })
279
+ }) : /* @__PURE__ */ _(l, {
223
280
  variant: "outline",
224
- className: b("min-w-0 max-w-full", !k && "border-destructive/40 text-destructive"),
225
- children: [/* @__PURE__ */ _(Re, {
281
+ className: "min-w-0 max-w-full border-destructive/40 text-destructive",
282
+ children: [/* @__PURE__ */ g(We, {
226
283
  className: "h-3 w-3",
227
284
  "aria-hidden": "true"
228
- }), /* @__PURE__ */ _("span", {
285
+ }), /* @__PURE__ */ g("span", {
229
286
  className: "truncate",
230
- children: k || "[Missing shop address]"
287
+ children: ne
231
288
  })]
232
289
  })]
233
290
  }),
234
- /* @__PURE__ */ _("h1", {
291
+ /* @__PURE__ */ g("h1", {
235
292
  className: "mt-4 text-[1.75rem] font-semibold leading-tight tracking-tight sm:text-4xl",
236
- children: /* @__PURE__ */ _("span", { children: d("hero_title") })
293
+ children: /* @__PURE__ */ g("span", { children: u("hero_title") })
237
294
  }),
238
- /* @__PURE__ */ _("p", {
295
+ /* @__PURE__ */ g("p", {
239
296
  className: "mt-3 text-sm text-slate-700 sm:text-base",
240
- children: /* @__PURE__ */ _("span", { children: d("hero_description") })
297
+ children: /* @__PURE__ */ g("span", { children: u("hero_description") })
241
298
  }),
242
- /* @__PURE__ */ _("div", {
243
- className: b("mt-6", !X && "rounded-xl border bg-white/70 p-3"),
244
- children: /* @__PURE__ */ v("ul", {
245
- className: b("space-y-3", X && "space-y-2"),
299
+ /* @__PURE__ */ g("div", {
300
+ className: y("mt-6", !Z && "rounded-xl border bg-white/70 p-3"),
301
+ children: /* @__PURE__ */ _("ul", {
302
+ className: y("space-y-3", Z && "space-y-2"),
246
303
  "data-testid": "storefront-home-trust-features",
247
304
  children: [
248
- /* @__PURE__ */ v("li", {
305
+ /* @__PURE__ */ _("li", {
249
306
  className: "flex items-start gap-3",
250
307
  "data-testid": "storefront-secure-payment-notice",
251
- children: [/* @__PURE__ */ _(ze, {
308
+ children: [/* @__PURE__ */ g(Ge, {
252
309
  className: "mt-0.5 h-5 w-5 text-success",
253
310
  "aria-hidden": "true"
254
- }), /* @__PURE__ */ v("div", {
311
+ }), /* @__PURE__ */ _("div", {
255
312
  className: "flex min-w-0 flex-col gap-0.5",
256
- children: [/* @__PURE__ */ _("p", {
313
+ children: [/* @__PURE__ */ g("p", {
257
314
  className: "text-sm font-medium text-slate-950",
258
- children: /* @__PURE__ */ _("span", { children: d("feature_secure_payment_title") })
259
- }), /* @__PURE__ */ _("p", {
315
+ children: /* @__PURE__ */ g("span", { children: u("feature_secure_payment_title") })
316
+ }), /* @__PURE__ */ g("p", {
260
317
  className: "text-xs text-slate-600",
261
- children: /* @__PURE__ */ _("span", { children: d("feature_secure_payment_description") })
318
+ children: /* @__PURE__ */ g("span", { children: u("feature_secure_payment_description") })
262
319
  })]
263
320
  })]
264
321
  }),
265
- /* @__PURE__ */ _(De, {
266
- policy: E.bookingEngine.cancellationPolicy,
267
- className: b(!X && "border-t border-slate-200/70 pt-3")
322
+ /* @__PURE__ */ g(Ne, {
323
+ policy: w.bookingEngine.cancellationPolicy,
324
+ className: y(!Z && "border-t border-slate-200/70 pt-3")
268
325
  }),
269
- L ? /* @__PURE__ */ v("li", {
270
- className: b("flex items-start gap-3", !X && "border-t border-slate-200/70 pt-3"),
326
+ L ? /* @__PURE__ */ _("li", {
327
+ className: y("flex items-start gap-3", !Z && "border-t border-slate-200/70 pt-3"),
271
328
  "data-testid": "storefront-delivery-notice",
272
- children: [/* @__PURE__ */ _(Be, {
329
+ children: [/* @__PURE__ */ g(Ke, {
273
330
  className: "mt-0.5 h-5 w-5 text-slate-900",
274
331
  "aria-hidden": "true"
275
- }), /* @__PURE__ */ v("div", {
332
+ }), /* @__PURE__ */ _("div", {
276
333
  className: "flex flex-col gap-0.5",
277
- children: [/* @__PURE__ */ _("p", {
334
+ children: [/* @__PURE__ */ g("p", {
278
335
  className: "text-sm font-medium text-slate-950",
279
- children: /* @__PURE__ */ _("span", { children: d("feature_delivery_title") })
280
- }), /* @__PURE__ */ _("p", {
336
+ children: /* @__PURE__ */ g("span", { children: u("feature_delivery_title") })
337
+ }), /* @__PURE__ */ g("p", {
281
338
  className: "text-xs text-slate-600",
282
- children: /* @__PURE__ */ _("span", { children: d("feature_delivery_description") })
339
+ children: /* @__PURE__ */ g("span", { children: u("feature_delivery_description") })
283
340
  })]
284
341
  })]
285
342
  }) : null,
286
- /* @__PURE__ */ _(Oe, {
287
- bikes: j,
288
- currency: E.bookingEngine.currency,
289
- className: b(!X && "border-t border-slate-200/70 pt-3")
343
+ /* @__PURE__ */ g(Pe, {
344
+ bikes: M,
345
+ currency: w.bookingEngine.currency,
346
+ fallbackLanguage: O,
347
+ className: y(!Z && "border-t border-slate-200/70 pt-3")
290
348
  })
291
349
  ]
292
350
  })
293
351
  })
294
352
  ]
295
- }), kt = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ _(ce, {
296
- ...wt,
297
- selectionFlow: "dates-first",
298
- labelClassName: Ve,
299
- inputClassName: He,
300
- children: /* @__PURE__ */ v(g, { children: [
301
- /* @__PURE__ */ v("div", {
353
+ }), Vt = ({ className: e, showSubmitButton: t = !1, submitButtonClassName: n }) => /* @__PURE__ */ g(ue, {
354
+ ...It,
355
+ labelClassName: qe,
356
+ inputClassName: Je,
357
+ children: /* @__PURE__ */ _(h, { children: [
358
+ /* @__PURE__ */ _("div", {
302
359
  className: e,
303
360
  children: [
304
- /* @__PURE__ */ _("div", {
361
+ /* @__PURE__ */ g("div", {
305
362
  className: "min-w-0",
306
- children: /* @__PURE__ */ _(le, {})
363
+ children: /* @__PURE__ */ g(de, {})
307
364
  }),
308
- /* @__PURE__ */ _("div", {
365
+ /* @__PURE__ */ g("div", {
309
366
  className: "min-w-0",
310
- children: /* @__PURE__ */ _(ue, {})
367
+ children: /* @__PURE__ */ g(fe, {})
311
368
  }),
312
- /* @__PURE__ */ _("div", {
369
+ /* @__PURE__ */ g("div", {
313
370
  className: "min-w-0",
314
- children: /* @__PURE__ */ _(de, {})
371
+ children: /* @__PURE__ */ g(pe, {})
315
372
  }),
316
- /* @__PURE__ */ _("div", {
373
+ /* @__PURE__ */ g("div", {
317
374
  className: "min-w-0",
318
- children: /* @__PURE__ */ _(fe, {})
375
+ children: /* @__PURE__ */ g(me, {})
319
376
  }),
320
- t ? /* @__PURE__ */ _(We, {
321
- buttonRef: ft,
377
+ t ? /* @__PURE__ */ g(Qe, {
378
+ buttonRef: q,
322
379
  className: n,
323
- label: d("booking_submit"),
324
- onSubmit: Et
380
+ label: u("booking_submit"),
381
+ onSubmit: Rt
325
382
  }) : null
326
383
  ]
327
384
  }),
328
- /* @__PURE__ */ _(me, { onContinue: Tt }),
329
- /* @__PURE__ */ _(pe, {
385
+ /* @__PURE__ */ g(ge, { onContinue: Lt }),
386
+ /* @__PURE__ */ g(he, {
330
387
  className: "mt-2",
331
388
  testId: "booking-home-time-slots-status"
332
389
  })
333
390
  ] })
334
- }), At = (e) => L ? /* @__PURE__ */ _(he, {
335
- open: z === "delivery",
391
+ }), Ht = (e) => L ? /* @__PURE__ */ g(_e, {
392
+ open: R === "delivery",
336
393
  className: "sm:min-h-[6.75rem]",
337
- inputClassName: `${He} bg-white`,
338
- labelClassName: Ve,
339
- startAddress: W,
340
- onStartAddressChange: G,
341
- returnAddress: K,
342
- onReturnAddressChange: q,
394
+ inputClassName: `${Je} bg-white`,
395
+ labelClassName: qe,
396
+ startAddress: U,
397
+ onStartAddressChange: W,
398
+ returnAddress: G,
399
+ onReturnAddressChange: K,
343
400
  testIdPrefix: e
344
- }) : null, jt = At("storefront-home-fulfillment-delivery-address"), Mt = At("storefront-home-compact-fulfillment-delivery-address"), Nt = /* @__PURE__ */ v(be, {
401
+ }) : null, Ut = Ht("storefront-home-fulfillment-delivery-address"), Wt = Ht("storefront-home-compact-fulfillment-delivery-address"), Gt = /* @__PURE__ */ _(Se, {
345
402
  className: "border-slate-200 bg-white/80 shadow-none",
346
- children: [/* @__PURE__ */ v("div", {
403
+ children: [/* @__PURE__ */ _("div", {
347
404
  className: "border-b border-slate-200 px-4 py-4",
348
- children: [/* @__PURE__ */ _("p", {
405
+ children: [/* @__PURE__ */ g("p", {
349
406
  className: "text-sm font-semibold text-slate-950",
350
- children: /* @__PURE__ */ _("span", { children: d("booking_title") })
351
- }), /* @__PURE__ */ _("p", {
407
+ children: /* @__PURE__ */ g("span", { children: u("booking_title") })
408
+ }), /* @__PURE__ */ g("p", {
352
409
  className: "mt-1 text-xs text-slate-600",
353
- children: /* @__PURE__ */ _("span", { children: d("booking_subtitle") })
410
+ children: /* @__PURE__ */ g("span", { children: u("booking_subtitle") })
354
411
  })]
355
- }), /* @__PURE__ */ v("div", {
412
+ }), /* @__PURE__ */ _("div", {
356
413
  className: "grid gap-4 px-4 py-4",
357
414
  children: [
358
- /* @__PURE__ */ _(Ae, {
359
- value: z,
360
- onValueChange: nt,
361
- pickupAddress: k,
415
+ /* @__PURE__ */ g(Ie, {
416
+ value: R,
417
+ onValueChange: gt,
418
+ pickupAddress: D,
362
419
  deliveryEnabled: L,
363
- deliveryDisabledReason: tt,
364
- startAddress: W,
365
- onStartAddressChange: G,
366
- endAddress: K,
367
- onEndAddressChange: q,
420
+ deliveryDisabledReason: mt,
421
+ startAddress: U,
422
+ onStartAddressChange: W,
423
+ endAddress: G,
424
+ onEndAddressChange: K,
368
425
  showDeliveryAddressSelector: !1,
369
426
  testIdPrefix: "storefront-home-fulfillment"
370
427
  }),
371
- kt({ 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" }),
372
- jt,
373
- /* @__PURE__ */ v(ie, {
374
- ref: ft,
428
+ Vt({ 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" }),
429
+ Ut,
430
+ /* @__PURE__ */ _(oe, {
431
+ ref: q,
375
432
  className: "h-11 w-full justify-self-start gap-2 rounded-xl text-sm font-semibold sm:w-fit",
376
- disabled: !Ct,
377
- onClick: Et,
378
- children: [/* @__PURE__ */ _("span", { children: d("booking_submit") }), /* @__PURE__ */ _(x, {
433
+ disabled: !Ft,
434
+ onClick: Rt,
435
+ children: [/* @__PURE__ */ g("span", { children: u("booking_submit") }), /* @__PURE__ */ g(b, {
379
436
  className: "h-4 w-4",
380
437
  "aria-hidden": "true"
381
438
  })]
382
439
  })
383
440
  ]
384
441
  })]
385
- }), Pt = /* @__PURE__ */ _(be, {
442
+ }), Kt = /* @__PURE__ */ g(Se, {
386
443
  className: "border-slate-200 bg-white/95 shadow-xl",
387
- children: /* @__PURE__ */ v("div", {
444
+ children: /* @__PURE__ */ _("div", {
388
445
  className: "grid gap-3 p-4",
389
446
  children: [
390
- /* @__PURE__ */ _("div", { children: /* @__PURE__ */ _(Ae, {
391
- value: z,
392
- onValueChange: nt,
393
- pickupAddress: k,
447
+ /* @__PURE__ */ g("div", { children: /* @__PURE__ */ g(Ie, {
448
+ value: R,
449
+ onValueChange: gt,
450
+ pickupAddress: D,
394
451
  deliveryEnabled: L,
395
- deliveryDisabledReason: tt,
396
- startAddress: W,
397
- onStartAddressChange: G,
398
- endAddress: K,
399
- onEndAddressChange: q,
452
+ deliveryDisabledReason: mt,
453
+ startAddress: U,
454
+ onStartAddressChange: W,
455
+ endAddress: G,
456
+ onEndAddressChange: K,
400
457
  showDeliveryAddressSelector: !1,
401
458
  testIdPrefix: "storefront-home-compact-fulfillment"
402
459
  }) }),
403
- kt({
460
+ Vt({
404
461
  className: "grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1fr)_150px_minmax(0,1fr)_150px_auto] xl:items-end",
405
462
  showSubmitButton: !0,
406
463
  submitButtonClassName: "h-10 w-full rounded-xl text-sm font-semibold md:w-fit xl:self-end"
407
464
  }),
408
- Mt
465
+ Wt
409
466
  ]
410
467
  })
411
- }), $ = (E.content?.galleryImageIds ?? []).map((e) => e.trim()).filter((e) => e.length > 0), Ft = $.map((e) => l(e, w ?? E.storeSlug, 320)).filter((e) => e.length > 0), It = [...j, ...Xe].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), Lt = Ge(Ft.length > 0 ? Ft : It), Rt = $[0] ? l($[0], w ?? E.storeSlug, 1600) : Ce, zt = Y ? /* @__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, Bt = (e) => /* @__PURE__ */ _("div", {
412
- className: b("relative h-full min-h-[340px] overflow-hidden", e),
468
+ }), qt = (w.content?.galleryImageIds ?? []).map((e) => e.trim()).filter((e) => e.length > 0), Jt = qt.map((e) => c(e, S ?? w.storeSlug, 320)).filter((e) => e.length > 0), Yt = [...M, ...ct].flatMap((e) => Array.isArray(e.images) ? e.images : []).filter((e) => typeof e == "string" && e.trim().length > 0).map((e) => e.trim()).slice(0, 12), Xt = $e(Jt.length > 0 ? Jt : Yt), Zt = qt[0] ? c(qt[0], S ?? w.storeSlug, 1600) : Te, Qt = X ? /* @__PURE__ */ g("style", { children: "\n @keyframes storefront-hero-marquee-up {\n 0% { transform: translateY(0); }\n 100% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n }\n @keyframes storefront-hero-marquee-down {\n 0% { transform: translateY(calc(-50% - (var(--storefront-hero-marquee-gap) / 2))); }\n 100% { transform: translateY(0); }\n }\n .storefront-hero-marquee-track {\n animation: storefront-hero-marquee-up var(--storefront-hero-marquee-duration, 32s) linear infinite;\n will-change: transform;\n }\n .storefront-hero-marquee-track-reverse {\n animation-name: storefront-hero-marquee-down;\n }\n @media (prefers-reduced-motion: reduce) {\n .storefront-hero-marquee-track,\n .storefront-hero-marquee-track-reverse {\n animation: none !important;\n transform: none !important;\n }\n }\n " }) : null, $t = (e) => /* @__PURE__ */ g("div", {
469
+ className: y("relative h-full min-h-[340px] overflow-hidden", e),
413
470
  style: {
414
471
  WebkitMaskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
415
472
  maskImage: "linear-gradient(to bottom, transparent 0%, black 5%, black 95%, transparent 100%)",
@@ -419,203 +476,203 @@ function k() {
419
476
  maskSize: "100% 100%"
420
477
  },
421
478
  "aria-hidden": "true",
422
- children: /* @__PURE__ */ _("div", {
479
+ children: /* @__PURE__ */ g("div", {
423
480
  className: "absolute inset-0 grid grid-cols-2 gap-3 md:grid-cols-3 lg:grid-cols-6",
424
- children: Lt.map((e, t) => {
425
- let n = Ue[t % Ue.length] ?? 32, r = [...e, ...e];
426
- return /* @__PURE__ */ _("div", {
427
- className: b("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
428
- children: /* @__PURE__ */ _("div", {
429
- className: b("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
481
+ children: Xt.map((e, t) => {
482
+ let n = Ze[t % Ze.length] ?? 32, r = [...e, ...e];
483
+ return /* @__PURE__ */ g("div", {
484
+ className: y("relative min-h-0 overflow-hidden", t === 2 && "hidden md:block", t >= 3 && "hidden lg:block"),
485
+ children: /* @__PURE__ */ g("div", {
486
+ className: y("storefront-hero-marquee-track flex flex-col gap-[var(--storefront-hero-marquee-gap)]", t % 2 == 1 && "storefront-hero-marquee-track-reverse"),
430
487
  style: {
431
488
  "--storefront-hero-marquee-duration": `${n}s`,
432
489
  "--storefront-hero-marquee-gap": "0.75rem"
433
490
  },
434
- children: r.map((n, r) => /* @__PURE__ */ v("div", {
491
+ children: r.map((n, r) => /* @__PURE__ */ _("div", {
435
492
  className: "group relative overflow-hidden rounded-[1.35rem] border border-white/40 bg-transparent",
436
493
  style: { aspectRatio: n.aspectRatio },
437
494
  children: [
438
- /* @__PURE__ */ _("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
439
- /* @__PURE__ */ _("img", {
495
+ /* @__PURE__ */ g("div", { className: "absolute inset-0 bg-linear-to-b from-white/22 via-transparent to-transparent" }),
496
+ /* @__PURE__ */ g("img", {
440
497
  src: n.src,
441
498
  alt: "",
442
499
  className: "absolute inset-0 h-full w-full object-cover opacity-90 saturate-[1.05] transition-transform duration-700 group-hover:scale-[1.04]",
443
500
  loading: r < e.length ? "eager" : "lazy"
444
501
  }),
445
- /* @__PURE__ */ _("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
502
+ /* @__PURE__ */ g("div", { className: "absolute inset-0 bg-linear-to-t from-slate-950/40 via-slate-950/10 to-white/10" })
446
503
  ]
447
504
  }, `hero-marquee-tile-${t}-${r}`))
448
505
  })
449
506
  }, `hero-marquee-column-${t}`);
450
507
  })
451
508
  })
452
- }), Vt = Y ? /* @__PURE__ */ _("div", {
509
+ }), en = X ? /* @__PURE__ */ g("div", {
453
510
  className: "pointer-events-none absolute inset-0 hidden lg:block",
454
511
  "aria-hidden": "true",
455
- children: /* @__PURE__ */ v("div", {
512
+ children: /* @__PURE__ */ _("div", {
456
513
  className: "mx-auto grid h-full max-w-7xl grid-cols-12 gap-8 px-4 sm:px-6",
457
- children: [/* @__PURE__ */ _("div", { className: "lg:col-span-5" }), /* @__PURE__ */ _("div", {
514
+ children: [/* @__PURE__ */ g("div", { className: "lg:col-span-5" }), /* @__PURE__ */ g("div", {
458
515
  className: "lg:col-span-7",
459
- children: Bt()
516
+ children: $t()
460
517
  })]
461
518
  })
462
- }) : null, Ht = Y ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
519
+ }) : null, tn = X ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("div", {
463
520
  className: "lg:hidden",
464
- children: Bt()
465
- }), /* @__PURE__ */ _("div", {
521
+ children: $t()
522
+ }), /* @__PURE__ */ g("div", {
466
523
  className: "hidden min-h-[510px] lg:block",
467
524
  "aria-hidden": "true"
468
- })] }) : /* @__PURE__ */ v("div", {
525
+ })] }) : /* @__PURE__ */ _("div", {
469
526
  className: "relative min-h-[340px] overflow-hidden rounded-3xl border border-slate-200 bg-slate-900 shadow-sm lg:min-h-[510px]",
470
- children: [/* @__PURE__ */ _("img", {
471
- src: Rt,
527
+ children: [/* @__PURE__ */ g("img", {
528
+ src: Zt,
472
529
  alt: "",
473
530
  className: "absolute inset-0 h-full w-full object-cover",
474
531
  "aria-hidden": "true"
475
- }), /* @__PURE__ */ _("div", {
532
+ }), /* @__PURE__ */ g("div", {
476
533
  className: "absolute inset-0 bg-linear-to-t from-slate-900/45 via-slate-900/15 to-transparent",
477
534
  "aria-hidden": "true"
478
535
  })]
479
536
  });
480
- return /* @__PURE__ */ v(g, { children: [
481
- /* @__PURE__ */ _(Ee, {
482
- open: Ze,
483
- seasons: Ke,
484
- exceptions: qe,
485
- mapsHref: Ye,
486
- onOpenChange: pt
537
+ return /* @__PURE__ */ _(h, { children: [
538
+ /* @__PURE__ */ g(Oe, {
539
+ open: ut,
540
+ seasons: at,
541
+ exceptions: ot,
542
+ mapsHref: j,
543
+ onOpenChange: Et
487
544
  }),
488
- /* @__PURE__ */ v("section", {
545
+ /* @__PURE__ */ _("section", {
489
546
  className: "relative overflow-hidden border-b border-slate-200",
490
547
  children: [
491
- /* @__PURE__ */ _("div", {
548
+ /* @__PURE__ */ g("div", {
492
549
  className: "absolute inset-0 bg-linear-to-b from-slate-50 to-white",
493
550
  "aria-hidden": "true"
494
551
  }),
495
- /* @__PURE__ */ _("div", {
552
+ /* @__PURE__ */ g("div", {
496
553
  className: "absolute inset-0 opacity-[0.07]",
497
554
  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%)" },
498
555
  "aria-hidden": "true"
499
556
  }),
500
- zt,
501
- Vt,
502
- X ? /* @__PURE__ */ v("div", {
557
+ Qt,
558
+ en,
559
+ Z ? /* @__PURE__ */ _("div", {
503
560
  className: "relative mx-auto grid max-w-7xl gap-x-8 px-4 py-10 sm:px-6 lg:grid-cols-12 lg:py-14",
504
561
  children: [
505
- /* @__PURE__ */ _("div", {
562
+ /* @__PURE__ */ g("div", {
506
563
  className: "min-w-0 lg:col-span-5 lg:col-start-1 lg:row-start-1",
507
- children: Ot
564
+ children: Bt
508
565
  }),
509
- /* @__PURE__ */ _("div", {
510
- className: b("mt-8 min-w-0 lg:col-span-7 lg:col-start-6 lg:row-span-2 lg:row-start-1 lg:mt-0", !Y && "lg:pt-4"),
511
- children: Ht
566
+ /* @__PURE__ */ g("div", {
567
+ className: y("mt-8 min-w-0 lg:col-span-7 lg:col-start-6 lg:row-span-2 lg:row-start-1 lg:mt-0", !X && "lg:pt-4"),
568
+ children: tn
512
569
  }),
513
- /* @__PURE__ */ _("div", {
570
+ /* @__PURE__ */ g("div", {
514
571
  className: "relative z-20 mt-4 lg:col-span-5 lg:col-start-1 lg:row-start-2 lg:mt-7",
515
572
  "data-testid": "storefront-home-booking-bar",
516
- children: /* @__PURE__ */ _("div", {
573
+ children: /* @__PURE__ */ g("div", {
517
574
  className: "lg:w-[calc(100%+24rem)] lg:max-w-none",
518
- children: Pt
575
+ children: Kt
519
576
  })
520
577
  })
521
578
  ]
522
- }) : /* @__PURE__ */ v("div", {
579
+ }) : /* @__PURE__ */ _("div", {
523
580
  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",
524
- children: [/* @__PURE__ */ _("div", {
581
+ children: [/* @__PURE__ */ g("div", {
525
582
  className: "min-w-0 lg:col-span-5",
526
- children: Ot
527
- }), /* @__PURE__ */ _("div", {
583
+ children: Bt
584
+ }), /* @__PURE__ */ g("div", {
528
585
  className: "min-w-0 lg:col-span-7",
529
- children: Nt
586
+ children: Gt
530
587
  })]
531
588
  })
532
589
  ]
533
590
  }),
534
- /* @__PURE__ */ v("section", {
591
+ /* @__PURE__ */ _("section", {
535
592
  id: "featured",
536
593
  className: "mx-auto max-w-7xl scroll-mt-16 px-4 py-10 sm:scroll-mt-20 sm:px-6",
537
- children: [/* @__PURE__ */ v("div", {
594
+ children: [/* @__PURE__ */ _("div", {
538
595
  className: "flex items-center justify-between gap-3",
539
- children: [/* @__PURE__ */ v("div", {
596
+ children: [/* @__PURE__ */ _("div", {
540
597
  className: "space-y-1",
541
- children: [/* @__PURE__ */ _("h2", {
598
+ children: [/* @__PURE__ */ g("h2", {
542
599
  className: "text-xl font-semibold tracking-tight",
543
- children: /* @__PURE__ */ _("span", { children: d("featured_title") })
544
- }), /* @__PURE__ */ _("p", {
600
+ children: /* @__PURE__ */ g("span", { children: u("featured_title") })
601
+ }), /* @__PURE__ */ g("p", {
545
602
  className: "text-sm text-slate-600",
546
- children: /* @__PURE__ */ _("span", { children: d("featured_description") })
603
+ children: /* @__PURE__ */ g("span", { children: u("featured_description") })
547
604
  })]
548
- }), /* @__PURE__ */ v(y, {
605
+ }), /* @__PURE__ */ _(v, {
549
606
  className: "hidden items-center gap-2 text-sm font-medium text-slate-700 hover:text-slate-950 sm:inline-flex",
550
- to: `/${w ?? ""}/booking${St}`,
551
- children: [/* @__PURE__ */ _("span", { children: d("featured_view_all") }), /* @__PURE__ */ _(x, {
607
+ to: `/${S ?? ""}/booking${Pt}`,
608
+ children: [/* @__PURE__ */ g("span", { children: u("featured_view_all") }), /* @__PURE__ */ g(b, {
552
609
  className: "h-4 w-4",
553
610
  "aria-hidden": "true"
554
611
  })]
555
612
  })]
556
- }), /* @__PURE__ */ _("div", {
613
+ }), /* @__PURE__ */ g("div", {
557
614
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
558
- children: gt.map((e) => {
559
- let t = e.id, n = e.slug, r = s(e.name, S.language, A), i = s(e.description, S.language, A), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", o = we(e.primaryImageStyle), c = ee(e.availabilityStatus), l = Dt(n);
560
- return /* @__PURE__ */ v("div", {
615
+ children: Ot.map((e) => {
616
+ let t = e.id, n = e.slug, r = s(e.name, x.language, O), i = s(e.description, x.language, O), a = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", o = Ee(e.primaryImageStyle), te = ee(e.availabilityStatus), c = zt(n);
617
+ return /* @__PURE__ */ _("div", {
561
618
  className: "group flex h-full min-w-0 flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 text-left shadow-sm transition hover:border-slate-400",
562
619
  children: [
563
- /* @__PURE__ */ _(y, {
564
- to: l,
565
- state: Q,
620
+ /* @__PURE__ */ g(v, {
621
+ to: c,
622
+ state: $,
566
623
  className: "block",
567
- children: /* @__PURE__ */ _("span", {
568
- className: b("relative block aspect-[1618/1000] overflow-hidden rounded-xl", o.className),
624
+ children: /* @__PURE__ */ g("span", {
625
+ className: y("relative block aspect-[1618/1000] overflow-hidden rounded-xl", o.className),
569
626
  style: o.style,
570
- children: a ? /* @__PURE__ */ _("img", {
627
+ children: a ? /* @__PURE__ */ g("img", {
571
628
  src: a,
572
629
  alt: r,
573
630
  className: "absolute inset-0 h-full w-full object-contain p-1",
574
631
  loading: "lazy"
575
- }) : /* @__PURE__ */ _("span", {
632
+ }) : /* @__PURE__ */ g("span", {
576
633
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
577
- children: /* @__PURE__ */ _(Ie, {
634
+ children: /* @__PURE__ */ g(He, {
578
635
  className: "h-8 w-8",
579
636
  "aria-hidden": "true"
580
637
  })
581
638
  })
582
639
  })
583
640
  }),
584
- /* @__PURE__ */ v("span", {
641
+ /* @__PURE__ */ _("span", {
585
642
  className: "flex flex-1 flex-col gap-1",
586
643
  children: [
587
- /* @__PURE__ */ _(y, {
588
- to: l,
589
- state: Q,
644
+ /* @__PURE__ */ g(v, {
645
+ to: c,
646
+ state: $,
590
647
  className: "text-sm font-semibold text-slate-950 hover:text-slate-700",
591
- children: /* @__PURE__ */ _("span", { children: r })
648
+ children: /* @__PURE__ */ g("span", { children: r })
592
649
  }),
593
- /* @__PURE__ */ _(Se, {
650
+ /* @__PURE__ */ g(we, {
594
651
  prices: e.prices,
595
652
  className: "self-start"
596
653
  }),
597
- /* @__PURE__ */ _("span", {
654
+ /* @__PURE__ */ g("span", {
598
655
  className: "line-clamp-2 text-xs text-slate-600",
599
656
  children: i
600
657
  })
601
658
  ]
602
659
  }),
603
- /* @__PURE__ */ v("span", {
660
+ /* @__PURE__ */ _("span", {
604
661
  className: "flex flex-wrap items-center gap-x-2 gap-y-1",
605
662
  children: [
606
- /* @__PURE__ */ _(u, {
607
- variant: c.variant,
608
- children: /* @__PURE__ */ _("span", { children: d(c.labelKey) })
663
+ /* @__PURE__ */ g(l, {
664
+ variant: te.variant,
665
+ children: /* @__PURE__ */ g("span", { children: u(te.labelKey) })
609
666
  }),
610
- /* @__PURE__ */ _("span", {
667
+ /* @__PURE__ */ g("span", {
611
668
  className: "text-slate-400",
612
669
  children: "·"
613
670
  }),
614
- /* @__PURE__ */ _(y, {
615
- to: l,
616
- state: Q,
671
+ /* @__PURE__ */ g(v, {
672
+ to: c,
673
+ state: $,
617
674
  className: "text-xs font-medium text-slate-700 hover:text-slate-950",
618
- children: /* @__PURE__ */ _("span", { children: d("product_details_link") })
675
+ children: /* @__PURE__ */ g("span", { children: u("product_details_link") })
619
676
  })
620
677
  ]
621
678
  })
@@ -624,92 +681,92 @@ function k() {
624
681
  })
625
682
  })]
626
683
  }),
627
- /* @__PURE__ */ _("section", {
684
+ /* @__PURE__ */ g("section", {
628
685
  id: "products",
629
686
  className: "border-t bg-slate-50/60 scroll-mt-16 sm:scroll-mt-20",
630
- children: /* @__PURE__ */ v("div", {
687
+ children: /* @__PURE__ */ _("div", {
631
688
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
632
- children: [/* @__PURE__ */ _("div", {
689
+ children: [/* @__PURE__ */ g("div", {
633
690
  className: "flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",
634
- children: /* @__PURE__ */ v("div", {
691
+ children: /* @__PURE__ */ _("div", {
635
692
  className: "space-y-1",
636
- children: [/* @__PURE__ */ _("h2", {
693
+ children: [/* @__PURE__ */ g("h2", {
637
694
  className: "text-xl font-semibold tracking-tight",
638
- children: /* @__PURE__ */ _("span", { children: d("products_title") })
639
- }), /* @__PURE__ */ _("p", {
695
+ children: /* @__PURE__ */ g("span", { children: u("products_title") })
696
+ }), /* @__PURE__ */ g("p", {
640
697
  className: "text-sm text-slate-600",
641
- children: /* @__PURE__ */ _("span", { children: d("products_description") })
698
+ children: /* @__PURE__ */ g("span", { children: u("products_description") })
642
699
  })]
643
700
  })
644
- }), /* @__PURE__ */ _("div", {
701
+ }), /* @__PURE__ */ g("div", {
645
702
  className: "mt-6 grid gap-4 md:grid-cols-2",
646
- children: j.map((e) => /* @__PURE__ */ _(Te, {
703
+ children: M.map((e) => /* @__PURE__ */ g(De, {
647
704
  bike: e,
648
- detailsPath: Dt(e.slug),
649
- productDetailsLinkState: Q,
650
- fallbackLanguage: A,
651
- onAction: Et
705
+ detailsPath: zt(e.slug),
706
+ productDetailsLinkState: $,
707
+ fallbackLanguage: O,
708
+ onAction: Rt
652
709
  }, e.id))
653
710
  })]
654
711
  })
655
712
  }),
656
- /* @__PURE__ */ v("section", {
713
+ /* @__PURE__ */ _("section", {
657
714
  className: "mx-auto max-w-7xl px-4 py-10 sm:px-6",
658
- children: [/* @__PURE__ */ _("div", {
715
+ children: [/* @__PURE__ */ g("div", {
659
716
  className: "flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between",
660
- children: /* @__PURE__ */ v("div", {
717
+ children: /* @__PURE__ */ _("div", {
661
718
  className: "space-y-1",
662
- children: [/* @__PURE__ */ _("h2", {
719
+ children: [/* @__PURE__ */ g("h2", {
663
720
  className: "text-xl font-semibold tracking-tight",
664
- children: /* @__PURE__ */ _("span", { children: d("accessories_title") })
665
- }), /* @__PURE__ */ _("p", {
721
+ children: /* @__PURE__ */ g("span", { children: u("accessories_title") })
722
+ }), /* @__PURE__ */ g("p", {
666
723
  className: "text-sm text-slate-600",
667
- children: /* @__PURE__ */ _("span", { children: d("accessories_description") })
724
+ children: /* @__PURE__ */ g("span", { children: u("accessories_description") })
668
725
  })]
669
726
  })
670
- }), /* @__PURE__ */ _("div", {
727
+ }), /* @__PURE__ */ g("div", {
671
728
  className: "mt-6 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
672
- children: Xe.slice(0, 4).map((e) => {
673
- let t = s(e.name, S.language, A), n = s(e.description, S.language, A), r = s(e.warning, S.language, A), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = we(e.primaryImageStyle);
674
- return /* @__PURE__ */ v("div", {
729
+ children: ct.slice(0, 4).map((e) => {
730
+ let t = s(e.name, x.language, O), n = s(e.description, x.language, O), r = s(e.warning, x.language, O), i = typeof e.images?.[0] == "string" ? e.images[0].trim() : "", a = Ee(e.primaryImageStyle);
731
+ return /* @__PURE__ */ _("div", {
675
732
  className: "flex h-full min-w-0 flex-col gap-2 rounded-xl border border-slate-200 bg-white p-3 shadow-sm",
676
733
  children: [
677
- /* @__PURE__ */ _("div", {
678
- className: b("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
734
+ /* @__PURE__ */ g("div", {
735
+ className: y("relative aspect-[1618/1000] overflow-hidden rounded-xl", a.className),
679
736
  style: a.style,
680
- children: i ? /* @__PURE__ */ _("img", {
737
+ children: i ? /* @__PURE__ */ g("img", {
681
738
  src: i,
682
739
  alt: t,
683
740
  className: "absolute inset-0 h-full w-full object-contain p-1",
684
741
  loading: "lazy"
685
- }) : /* @__PURE__ */ _("div", {
742
+ }) : /* @__PURE__ */ g("div", {
686
743
  className: "absolute inset-0 flex items-center justify-center text-slate-400",
687
- children: /* @__PURE__ */ _(Ie, {
744
+ children: /* @__PURE__ */ g(He, {
688
745
  className: "h-8 w-8",
689
746
  "aria-hidden": "true"
690
747
  })
691
748
  })
692
749
  }),
693
- /* @__PURE__ */ v("div", {
750
+ /* @__PURE__ */ _("div", {
694
751
  className: "flex flex-1 flex-col gap-1",
695
752
  children: [
696
- /* @__PURE__ */ _("p", {
753
+ /* @__PURE__ */ g("p", {
697
754
  className: "text-sm font-semibold text-slate-950",
698
- children: /* @__PURE__ */ _("span", { children: t })
755
+ children: /* @__PURE__ */ g("span", { children: t })
699
756
  }),
700
- /* @__PURE__ */ _("p", {
757
+ /* @__PURE__ */ g("p", {
701
758
  className: "line-clamp-2 text-xs text-slate-600",
702
- children: /* @__PURE__ */ _("span", { children: n })
759
+ children: /* @__PURE__ */ g("span", { children: n })
703
760
  }),
704
- /* @__PURE__ */ _(xe, {
761
+ /* @__PURE__ */ g(Ce, {
705
762
  warning: r,
706
763
  className: "mt-1"
707
764
  })
708
765
  ]
709
766
  }),
710
- /* @__PURE__ */ _("div", {
767
+ /* @__PURE__ */ g("div", {
711
768
  className: "flex items-center justify-between gap-2",
712
- children: /* @__PURE__ */ _(Se, {
769
+ children: /* @__PURE__ */ g(we, {
713
770
  prices: e.prices,
714
771
  openOnHover: !1
715
772
  })
@@ -719,11 +776,11 @@ function k() {
719
776
  })
720
777
  })]
721
778
  }),
722
- /* @__PURE__ */ _(ve, {}),
723
- /* @__PURE__ */ _(ye, {}),
724
- /* @__PURE__ */ _(_e, {}),
725
- /* @__PURE__ */ _(ge, { storeSlug: w ?? "" })
779
+ /* @__PURE__ */ g(be, {}),
780
+ /* @__PURE__ */ g(xe, {}),
781
+ /* @__PURE__ */ g(ye, {}),
782
+ /* @__PURE__ */ g(ve, { storeSlug: S ?? "" })
726
783
  ] });
727
784
  }
728
785
  //#endregion
729
- export { k as default };
786
+ export { D as default };