@loczer/storefront-sdk 0.198.0 → 0.199.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 (45) hide show
  1. package/dist/StorefrontContext.d.ts +483 -0
  2. package/dist/StorefrontContext.d.ts.map +1 -0
  3. package/dist/StorefrontContext.js +39 -0
  4. package/dist/StorefrontProvider.d.ts +6 -486
  5. package/dist/StorefrontProvider.d.ts.map +1 -1
  6. package/dist/StorefrontProvider.js +34 -67
  7. package/dist/components/AboutSection/index.js +5 -5
  8. package/dist/components/BikeProductCard/index.d.ts.map +1 -1
  9. package/dist/components/BikeProductCard/index.js +27 -27
  10. package/dist/components/BookingBikeVariantDialog/index.js +14 -8
  11. package/dist/components/ContactSection/index.js +107 -107
  12. package/dist/components/ContractSaleDocument/Invoice.d.ts.map +1 -1
  13. package/dist/components/ContractSaleDocument/Invoice.js +117 -111
  14. package/dist/components/Header/index.js +4 -4
  15. package/dist/components/Layout/index.d.ts.map +1 -1
  16. package/dist/components/Layout/index.js +47 -40
  17. package/dist/components/ProductPriceBadge/index.d.ts +2 -1
  18. package/dist/components/ProductPriceBadge/index.d.ts.map +1 -1
  19. package/dist/components/ProductPriceBadge/index.js +72 -70
  20. package/dist/components/TestimonialsSection/index.js +1 -1
  21. package/dist/i18n/en.d.ts +1 -0
  22. package/dist/i18n/en.d.ts.map +1 -1
  23. package/dist/i18n/en.js +1 -0
  24. package/dist/i18n/fr.d.ts +1 -0
  25. package/dist/i18n/fr.d.ts.map +1 -1
  26. package/dist/i18n/fr.js +1 -0
  27. package/dist/index.d.ts +15 -2
  28. package/dist/index.js +59 -58
  29. package/dist/lib/cartSummary.js +7 -7
  30. package/dist/lib/products.d.ts +6 -0
  31. package/dist/lib/products.d.ts.map +1 -1
  32. package/dist/lib/products.js +36 -32
  33. package/dist/lib/toast.d.ts +9 -0
  34. package/dist/lib/toast.d.ts.map +1 -0
  35. package/dist/lib/toast.js +13 -0
  36. package/dist/pages/BookingPage.d.ts.map +1 -1
  37. package/dist/pages/BookingPage.js +143 -138
  38. package/dist/pages/CheckoutPage.js +217 -217
  39. package/dist/pages/CheckoutPaymentPage.js +124 -124
  40. package/dist/pages/ContractSaleDocumentPage.d.ts.map +1 -1
  41. package/dist/pages/ContractSaleDocumentPage.js +83 -83
  42. package/dist/pages/HomePage.js +6 -3
  43. package/dist/pages/ProductPage.d.ts.map +1 -1
  44. package/dist/pages/ProductPage.js +177 -165
  45. package/package.json +2 -1
@@ -1,102 +1,104 @@
1
1
  import { buildDailyPriceRows as e, buildPriceTierLabels as t, formatStorefrontPriceMinor as n } from "../../lib/pricing.js";
2
2
  import { Badge as r, badgeVariants as i } from "../../ui/badge.js";
3
- import { useOptionalStorefront as a } from "../../StorefrontProvider.js";
3
+ import { useOptionalStorefront as a } from "../../StorefrontContext.js";
4
4
  import { useEffect as o, useId as ee, useRef as s, useState as c } from "react";
5
5
  import { Fragment as te, jsx as l, jsxs as u } from "react/jsx-runtime";
6
6
  import { useMediaQuery as d } from "@rpcbase/client";
7
- import { useTranslation as f } from "react-i18next";
8
- import { cn as p } from "@rpcbase/ui";
9
- import { Info as ne, Mail as re, Phone as m, TrendingDown as h } from "lucide-react";
7
+ import { useTranslation as ne } from "react-i18next";
8
+ import { cn as f } from "@rpcbase/ui";
9
+ import { Info as re, Mail as p, Phone as m, TrendingDown as h } from "lucide-react";
10
10
  import { Drawer as g } from "@base-ui/react/drawer";
11
11
  import { Popover as _ } from "@base-ui/react/popover";
12
12
  //#region src/components/ProductPriceBadge/index.tsx
13
13
  var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-popover-open", y = (e) => typeof Node < "u" && e instanceof Node, b = (e) => {
14
14
  typeof window > "u" || window.dispatchEvent(new CustomEvent(v, { detail: { id: e } }));
15
- }, x = ({ prices: x, minPriceMinor: S, className: C }) => {
16
- let { t: w, i18n: T } = f(), E = ee(), D = a(), oe = d(ae), se = d("(hover: none), (pointer: coarse)"), O = !!(oe || se), [k, A] = c(null), [j, M] = c(!1), N = s(null), P = s(null), F = s(null), I = s(null), L = k !== null, R = t(x, T.language, w), z = e(x, T.language), B = R[0], V = R[1], H = () => {
17
- N.current &&= (clearTimeout(N.current), null);
18
- }, U = (e) => {
19
- O || (H(), A((t) => t === "click" ? t : e), b(E));
20
- }, W = () => {
21
- H(), A(null);
15
+ }, x = ({ prices: x, minPriceMinor: S, className: C, openOnHover: w = !0 }) => {
16
+ let { t: T, i18n: E } = ne(), D = ee(), O = a(), oe = d(ae), se = d("(hover: none), (pointer: coarse)"), k = !!(oe || se), [A, j] = c(null), [M, N] = c(!1), P = s(null), F = s(null), I = s(null), L = s(null), R = A !== null, z = t(x, E.language, T), B = e(x, E.language), V = z[0], H = z[1], U = () => {
17
+ P.current &&= (clearTimeout(P.current), null);
18
+ }, W = (e) => {
19
+ k || (U(), j((t) => t === "click" ? t : e), b(D));
22
20
  }, G = () => {
23
- H(), M(!0), b(E);
21
+ U(), j(null);
24
22
  }, ce = () => {
25
- M(!1);
23
+ U(), N(!0), b(D);
26
24
  }, le = () => {
27
- L || U("hover");
28
- }, ue = (e) => y(e) ? !!(P.current?.contains(e) || I.current?.contains(e)) : !1, K = (e) => y(e) ? !!(F.current?.contains(e) || I.current?.contains(e)) : !1, q = (e) => {
29
- k !== "hover" || K(e) || (H(), N.current = setTimeout(() => {
30
- A((e) => e === "hover" ? null : e), N.current = null;
25
+ N(!1);
26
+ }, ue = () => {
27
+ !w || R || W("hover");
28
+ }, de = (e) => y(e) ? !!(F.current?.contains(e) || L.current?.contains(e)) : !1, K = (e) => y(e) ? !!(I.current?.contains(e) || L.current?.contains(e)) : !1, q = (e) => {
29
+ A !== "hover" || K(e) || (U(), P.current = setTimeout(() => {
30
+ j((e) => e === "hover" ? null : e), P.current = null;
31
31
  }, ie));
32
32
  }, J = (e) => {
33
33
  q(e?.relatedTarget);
34
- }, de = (e) => {
34
+ }, fe = (e) => {
35
35
  let t = e.relatedTarget ?? document.activeElement;
36
- ue(t) || W();
36
+ de(t) || G();
37
37
  };
38
38
  if (o(() => {
39
39
  if (typeof window > "u") return () => {
40
- H();
40
+ U();
41
41
  };
42
42
  let e = (e) => {
43
- e.detail?.id !== E && (H(), A(null), M(!1));
43
+ e.detail?.id !== D && (U(), j(null), N(!1));
44
44
  };
45
45
  return window.addEventListener(v, e), () => {
46
- window.removeEventListener(v, e), H();
46
+ window.removeEventListener(v, e), U();
47
47
  };
48
- }, [E]), o(() => {
49
- if (k !== "hover" || typeof window > "u") return;
48
+ }, [D]), o(() => {
49
+ if (A !== "hover" || typeof window > "u") return;
50
50
  let e = (e) => {
51
51
  if (K(e.target)) {
52
- H();
52
+ U();
53
53
  return;
54
54
  }
55
- N.current || q(e.target);
55
+ P.current || q(e.target);
56
56
  };
57
57
  return window.addEventListener("pointermove", e, { passive: !0 }), window.addEventListener("mousemove", e, { passive: !0 }), () => {
58
58
  window.removeEventListener("pointermove", e), window.removeEventListener("mousemove", e);
59
59
  };
60
- }, [k]), o(() => {
61
- if (O) {
62
- H(), A(null);
60
+ }, [A]), o(() => {
61
+ if (k) {
62
+ U(), j(null);
63
63
  return;
64
64
  }
65
- M(!1);
66
- }, [O]), !B) return typeof S == "number" ? /* @__PURE__ */ l(r, {
65
+ N(!1);
66
+ }, [k]), !V) return typeof S == "number" ? /* @__PURE__ */ l(r, {
67
67
  variant: "outline",
68
- className: p("border-slate-200 bg-white text-slate-700", C),
69
- children: /* @__PURE__ */ l("span", { children: w("price_from", { price: n(S, T.language) }) })
68
+ className: f("border-slate-200 bg-white text-slate-700", C),
69
+ children: /* @__PURE__ */ l("span", { children: T("price_from", { price: n(S, E.language) }) })
70
70
  }) : null;
71
- let Y = p(i({ variant: "outline" }), "gap-1.5 border-slate-200 bg-white text-slate-700 outline-none transition hover:border-slate-300 hover:text-slate-950 focus:border-slate-200 focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0 focus-visible:border-slate-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0", z.length > 0 && "cursor-pointer", C), X = D?.storefrontConfiguration.shop.emailAddress?.trim(), Z = D?.storefrontConfiguration.shop.contactPhone1?.trim(), fe = !!(X || Z), Q = () => /* @__PURE__ */ u(te, { children: [
71
+ let Y = f(i({ variant: "outline" }), "gap-1.5 border-slate-200 bg-white text-slate-700 outline-none transition hover:border-slate-300 hover:text-slate-950 focus:border-slate-200 focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0 focus-visible:border-slate-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0", B.length > 0 && "cursor-pointer", C), X = O?.storefrontConfiguration.shop.emailAddress?.trim(), Z = O?.storefrontConfiguration.shop.contactPhone1?.trim(), pe = !!(X || Z), Q = () => /* @__PURE__ */ u(te, { children: [
72
72
  /* @__PURE__ */ l("span", {
73
73
  className: "font-semibold",
74
- children: B
74
+ children: V
75
75
  }),
76
- V ? /* @__PURE__ */ u("span", {
76
+ H ? /* @__PURE__ */ u("span", {
77
77
  className: "inline-flex items-center gap-1 text-slate-500",
78
78
  children: [/* @__PURE__ */ l(h, {
79
79
  className: "h-3 w-3",
80
80
  strokeWidth: 2.4,
81
81
  "aria-hidden": "true"
82
- }), /* @__PURE__ */ l("span", { children: w("price_then", { price: V }) })]
82
+ }), /* @__PURE__ */ l("span", { children: T("price_then", { price: H }) })]
83
83
  }) : null,
84
- z.length > 0 ? /* @__PURE__ */ l("span", {
85
- ref: F,
84
+ B.length > 0 ? /* @__PURE__ */ l("span", {
85
+ ref: I,
86
86
  className: "inline-flex shrink-0 items-center text-slate-500",
87
- onMouseEnter: () => U("hover"),
88
- onMouseMove: le,
87
+ onMouseEnter: () => {
88
+ w && W("hover");
89
+ },
90
+ onMouseMove: ue,
89
91
  onMouseLeave: J,
90
- children: /* @__PURE__ */ l(ne, {
92
+ children: /* @__PURE__ */ l(re, {
91
93
  className: "h-3 w-3",
92
94
  "aria-hidden": "true"
93
95
  })
94
96
  }) : null
95
- ] }), pe = () => fe ? /* @__PURE__ */ u("div", {
97
+ ] }), me = () => pe ? /* @__PURE__ */ u("div", {
96
98
  className: "border-t border-slate-200 pt-2 text-slate-600",
97
99
  children: [/* @__PURE__ */ l("p", {
98
100
  className: "leading-snug",
99
- children: /* @__PURE__ */ l("span", { children: w("price_table_contact_prompt") })
101
+ children: /* @__PURE__ */ l("span", { children: T("price_table_contact_prompt") })
100
102
  }), /* @__PURE__ */ u("div", {
101
103
  className: "mt-2 flex flex-wrap gap-x-3 gap-y-1",
102
104
  children: [Z ? /* @__PURE__ */ u("a", {
@@ -112,7 +114,7 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
112
114
  }) : null, X ? /* @__PURE__ */ u("a", {
113
115
  className: "inline-flex min-w-0 items-center gap-1 font-medium text-slate-800 underline-offset-4 hover:underline",
114
116
  href: `mailto:${X}`,
115
- children: [/* @__PURE__ */ l(re, {
117
+ children: [/* @__PURE__ */ l(p, {
116
118
  className: "h-3 w-3 shrink-0",
117
119
  "aria-hidden": "true"
118
120
  }), /* @__PURE__ */ l("span", {
@@ -122,16 +124,16 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
122
124
  }) : null]
123
125
  })]
124
126
  }) : null, $ = (e, t) => /* @__PURE__ */ u("div", {
125
- className: p("grid gap-2", t === "popover" ? "text-xs" : "text-base"),
127
+ className: f("grid gap-2", t === "popover" ? "text-xs" : "text-base"),
126
128
  children: [
127
129
  e ? /* @__PURE__ */ l("p", {
128
130
  className: "font-semibold uppercase tracking-[0.12em] text-slate-500",
129
- children: /* @__PURE__ */ l("span", { children: w("price_table_title") })
131
+ children: /* @__PURE__ */ l("span", { children: T("price_table_title") })
130
132
  }) : null,
131
133
  /* @__PURE__ */ l("ul", {
132
- className: p("grid gap-1 text-slate-600", t === "drawer" && "gap-1.5"),
133
- children: z.map(({ dayCount: e, totalPriceLabel: n, perDayPriceLabel: r }) => {
134
- let i = w("price_table_day", { count: e }), a = w("price_table_per_day", { price: r });
134
+ className: f("grid gap-1 text-slate-600", t === "drawer" && "gap-1.5"),
135
+ children: B.map(({ dayCount: e, totalPriceLabel: n, perDayPriceLabel: r }) => {
136
+ let i = T("price_table_day", { count: e }), a = T("price_table_per_day", { price: r });
135
137
  return /* @__PURE__ */ l("li", { children: /* @__PURE__ */ u("div", {
136
138
  className: "flex items-baseline gap-2",
137
139
  children: [
@@ -146,7 +148,7 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
146
148
  /* @__PURE__ */ u("span", {
147
149
  className: "shrink-0 font-medium leading-tight text-slate-950",
148
150
  children: [n, /* @__PURE__ */ u("span", {
149
- className: p("ml-1 font-medium text-slate-500", t === "popover" ? "text-xs" : "text-sm"),
151
+ className: f("ml-1 font-medium text-slate-500", t === "popover" ? "text-xs" : "text-sm"),
150
152
  children: [
151
153
  /* @__PURE__ */ l("span", { children: "(" }),
152
154
  /* @__PURE__ */ l("span", { children: a }),
@@ -158,21 +160,21 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
158
160
  }) }, e);
159
161
  })
160
162
  }),
161
- pe()
163
+ me()
162
164
  ]
163
165
  });
164
- return O ? /* @__PURE__ */ u(g.Root, {
165
- open: j,
166
+ return k ? /* @__PURE__ */ u(g.Root, {
167
+ open: M,
166
168
  onOpenChange: (e) => {
167
- e ? G() : ce();
169
+ e ? ce() : le();
168
170
  },
169
171
  swipeDirection: "down",
170
172
  children: [/* @__PURE__ */ l(g.Trigger, {
171
- ref: P,
173
+ ref: F,
172
174
  type: "button",
173
175
  className: Y,
174
- "aria-label": w("price_details_aria_label", { price: B }),
175
- "aria-expanded": j,
176
+ "aria-label": T("price_details_aria_label", { price: V }),
177
+ "aria-expanded": M,
176
178
  onClick: (e) => {
177
179
  e.stopPropagation();
178
180
  },
@@ -193,7 +195,7 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
193
195
  className: "border-b border-slate-200 px-4 py-4 text-left",
194
196
  children: /* @__PURE__ */ l(g.Title, {
195
197
  className: "text-left text-lg font-semibold text-slate-950",
196
- children: /* @__PURE__ */ l("span", { children: w("price_table_title") })
198
+ children: /* @__PURE__ */ l("span", { children: T("price_table_title") })
197
199
  })
198
200
  }), /* @__PURE__ */ l("div", {
199
201
  className: "flex-1 overflow-y-auto px-4 pb-6 pt-3",
@@ -203,41 +205,41 @@ var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-po
203
205
  })
204
206
  })] })]
205
207
  }) : /* @__PURE__ */ u(_.Root, {
206
- open: L,
208
+ open: R,
207
209
  onOpenChange: (e) => {
208
- e ? U("click") : W();
210
+ e ? W("click") : G();
209
211
  },
210
212
  children: [/* @__PURE__ */ l(_.Trigger, {
211
- ref: P,
213
+ ref: F,
212
214
  type: "button",
213
215
  className: Y,
214
- "aria-label": w("price_details_aria_label", { price: B }),
215
- "aria-expanded": L,
216
- onBlur: de,
216
+ "aria-label": T("price_details_aria_label", { price: V }),
217
+ "aria-expanded": R,
218
+ onBlur: fe,
217
219
  onClick: (e) => {
218
- e.preventDefault(), e.stopPropagation(), k === "click" ? W() : U("click");
220
+ e.preventDefault(), e.stopPropagation(), A === "click" ? G() : W("click");
219
221
  },
220
222
  onPointerDown: (e) => {
221
223
  e.stopPropagation();
222
224
  },
223
225
  children: Q()
224
- }), z.length > 0 ? /* @__PURE__ */ l(_.Portal, { children: /* @__PURE__ */ l(_.Positioner, {
226
+ }), B.length > 0 ? /* @__PURE__ */ l(_.Portal, { children: /* @__PURE__ */ l(_.Positioner, {
225
227
  side: "top",
226
228
  align: "end",
227
229
  sideOffset: 8,
228
230
  collisionPadding: 12,
229
231
  className: "pointer-events-auto z-[70] outline-none",
230
232
  children: /* @__PURE__ */ l(_.Popup, {
231
- ref: I,
233
+ ref: L,
232
234
  initialFocus: !1,
233
235
  className: "w-64 rounded-xl border border-slate-200 bg-white p-3 text-slate-950 shadow-xl outline-none data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95",
234
236
  onPointerDown: (e) => {
235
- e.stopPropagation(), H();
237
+ e.stopPropagation(), U();
236
238
  },
237
239
  onClick: (e) => {
238
240
  e.stopPropagation();
239
241
  },
240
- onMouseEnter: H,
242
+ onMouseEnter: U,
241
243
  onMouseLeave: J,
242
244
  children: $(!0, "popover")
243
245
  })
@@ -1,5 +1,5 @@
1
1
  import { cn as e } from "../../lib/utils.js";
2
- import { useStorefront as t } from "../../StorefrontProvider.js";
2
+ import { useStorefront as t } from "../../StorefrontContext.js";
3
3
  import { ROUTE as n, responseSchema as r } from "../../lib/storefrontReviews.js";
4
4
  import { formatInitialsWithPeriods as i, getNameInitials as a } from "../../lib/nameInitials.js";
5
5
  import o from "react";
package/dist/i18n/en.d.ts CHANGED
@@ -122,6 +122,7 @@ export declare const storefront: {
122
122
  product_cta: string;
123
123
  add_to_cart: string;
124
124
  add_short: string;
125
+ product_added_to_cart_successfully: string;
125
126
  cart_title: string;
126
127
  cart_items_count_one: string;
127
128
  cart_items_count_other: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyctB,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ctB,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -123,6 +123,7 @@ var e = {
123
123
  product_cta: "Reserve",
124
124
  add_to_cart: "Add to cart",
125
125
  add_short: "Add",
126
+ product_added_to_cart_successfully: "{{quantity}} × “{{productName}}” added to your cart.",
126
127
  cart_title: "Cart",
127
128
  cart_items_count_one: "{{count}} item",
128
129
  cart_items_count_other: "{{count}} items",
package/dist/i18n/fr.d.ts CHANGED
@@ -122,6 +122,7 @@ export declare const storefront: {
122
122
  product_cta: string;
123
123
  add_to_cart: string;
124
124
  add_short: string;
125
+ product_added_to_cart_successfully: string;
125
126
  cart_title: string;
126
127
  cart_items_count_zero: string;
127
128
  cart_items_count_one: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ctB,CAAA"}
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ctB,CAAA"}
package/dist/i18n/fr.js CHANGED
@@ -123,6 +123,7 @@ var e = {
123
123
  product_cta: "Réserver",
124
124
  add_to_cart: "Ajouter au panier",
125
125
  add_short: "Ajouter",
126
+ product_added_to_cart_successfully: "{{quantity}} × « {{productName}} » dans votre panier.",
126
127
  cart_title: "Panier",
127
128
  cart_items_count_zero: "{{count}} articles",
128
129
  cart_items_count_one: "{{count}} article",
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ClassProp } from 'class-variance-authority/types';
2
2
  import { ClassValue } from 'clsx';
3
3
  import { ComponentPropsWithoutRef } from 'react';
4
+ import { Context } from 'react';
4
5
  import { ControllerProps } from '@rpcbase/form';
5
6
  import { FieldError } from 'react-hook-form';
6
7
  import { FieldPath } from '@rpcbase/form';
@@ -1997,6 +1998,13 @@ export declare function getStorefrontBaseDailyRateMinor(prices: StorefrontPublic
1997
1998
 
1998
1999
  export declare const getStorefrontCheckoutProductId: (product: Pick<StorefrontProduct, "id" | "checkoutProductId">) => string;
1999
2000
 
2001
+ export declare const getStorefrontProductSelectionDisplayName: ({ product, productVariantId, language, fallbackLanguage, }: {
2002
+ product: StorefrontProduct;
2003
+ productVariantId?: string;
2004
+ language: string;
2005
+ fallbackLanguage?: string;
2006
+ }) => string;
2007
+
2000
2008
  export declare const getStorefrontRepresentedVariantId: (product: Pick<StorefrontProduct, "representedVariantId">) => string | undefined;
2001
2009
 
2002
2010
  export declare function Header({ storefrontConfiguration, whatsappHref, whatsappPhoneDisplay }: HeaderProps): JSX.Element;
@@ -2415,12 +2423,13 @@ export declare const productKindSchema: z.ZodEnum<{
2415
2423
  "e-bike": "e-bike";
2416
2424
  }>;
2417
2425
 
2418
- export declare const ProductPriceBadge: ({ prices, minPriceMinor, className }: ProductPriceBadgeProps) => JSX.Element | null;
2426
+ export declare const ProductPriceBadge: ({ prices, minPriceMinor, className, openOnHover, }: ProductPriceBadgeProps) => JSX.Element | null;
2419
2427
 
2420
2428
  declare type ProductPriceBadgeProps = {
2421
2429
  prices?: StorefrontPublicProductPrice[];
2422
2430
  minPriceMinor?: number;
2423
2431
  className?: string;
2432
+ openOnHover?: boolean;
2424
2433
  };
2425
2434
 
2426
2435
  export declare const productSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -3766,7 +3775,9 @@ export declare const storefrontContentSchema: z.ZodObject<{
3766
3775
  }, z.core.$strip>>;
3767
3776
  }, z.core.$strip>;
3768
3777
 
3769
- declare type StorefrontContextValue = {
3778
+ export declare const StorefrontContext: Context<StorefrontContextValue | undefined>;
3779
+
3780
+ export declare type StorefrontContextValue = {
3770
3781
  storeSlug: string;
3771
3782
  storefrontConfiguration: StorefrontConfiguration;
3772
3783
  bikes: BikeProduct[];
@@ -3901,6 +3912,7 @@ export declare const storefrontEn: {
3901
3912
  product_cta: string;
3902
3913
  add_to_cart: string;
3903
3914
  add_short: string;
3915
+ product_added_to_cart_successfully: string;
3904
3916
  cart_title: string;
3905
3917
  cart_items_count_one: string;
3906
3918
  cart_items_count_other: string;
@@ -4392,6 +4404,7 @@ export declare const storefrontFr: {
4392
4404
  product_cta: string;
4393
4405
  add_to_cart: string;
4394
4406
  add_short: string;
4407
+ product_added_to_cart_successfully: string;
4395
4408
  cart_title: string;
4396
4409
  cart_items_count_zero: string;
4397
4410
  cart_items_count_one: string;
package/dist/index.js CHANGED
@@ -14,69 +14,70 @@ import { baseBookingItemSchema as fe, baseBookingSchema as pe, baseBookingStateS
14
14
  import "./chunks/pkg/booking-engine/dist/schemas-BfXM1Dgb.js";
15
15
  import { STOREFRONT_HERO_MODES as he, storefrontCheckoutModeSchema as ge, storefrontConfigurationSchema as _e, storefrontContentSchema as ve, storefrontFaqItemSchema as ye, storefrontFaqSchema as be, storefrontFulfillmentModeSchema as xe, storefrontHeroModeSchema as Se, storefrontLocalizedRichTextSchema as Ce, storefrontModalMessageSchema as we, storefrontModulesSchema as Te, storefrontReviewsModuleSchema as Ee, storefrontRichTextSchema as De, storefrontSettingsSchema as Oe, storefrontShopSchema as ke, storefrontStatusSchema as Ae, storefrontWorkspaceSchema as je } from "./storefrontSchemas.js";
16
16
  import { BOOKING_SEARCH_KEYS as Me, TIME_OPTIONS as Ne, applyBookingParamsToSearch as Pe, createBookingPeriodConfigFromBookingEngineConfiguration as Fe, createBookingPeriodConfigFromShopConfiguration as Ie, createBookingPeriodConfigFromStorefrontConfiguration as Le, getBookingDurationLabel as Re, getBookingDurationMinutes as ze, getBookingParamsFromSearch as Be, getBookingSessionStorageKey as Ve, getDefaultBookingParams as He, getDefaultBookingParamsForStorefrontConfiguration as Ue, pickBookingSearchParams as We, readBookingSearchParamsFromSessionStorage as Ge, readBookingSearchParamsFromStorage as Ke, resolveBookingSearchParams as qe, resolveBookingSearchParamsFromSessionStorage as Je, writeBookingSearchParamsToSessionStorage as Ye, writeBookingSearchParamsToStorage as Xe } from "./lib/booking.js";
17
- import { CATALOG_PRODUCT_BASE_RATE_UNSET as Ze, buildStorefrontProductSlug as Qe, buildVariantStorefrontProductId as $e, compareCatalogProducts as et, compareStorefrontAccessoryProducts as tt, compareStorefrontBikeProducts as nt, findStorefrontProduct as rt, findStorefrontProductBySlug as it, getCatalogProductBaseRateMinor as at, getCatalogProductPaginationSort as ot, getCatalogProductSortFieldForPriceUnit as st, getStorefrontBaseDailyRateMinor as ct, getStorefrontCheckoutProductId as lt, getStorefrontRepresentedVariantId as ut, toStorefrontAccessoryProducts as dt, toStorefrontBikeProducts as ft, toStorefrontBookingProducts as pt, toStorefrontBookingProductsCollections as mt } from "./lib/products.js";
18
- import { StorefrontCartProvider as ht, resolveStorefrontCartItemProduct as gt, useStorefrontCart as _t } from "./lib/cart.js";
19
- import { cn as vt, formatPriceMinor as yt, getAvailabilityVariant as bt, getMinDayPriceMinor as xt } from "./lib/utils.js";
20
- import { buildDailyPriceRows as St, buildPriceTierLabels as Ct, calculateDailyPriceForQuantity as wt, formatStorefrontPriceMinor as Tt } from "./lib/pricing.js";
21
- import { getLocalizedEntry as Et, getLocalizedValue as Dt } from "./localization.js";
22
- import { buildStorefrontCartSummary as Ot } from "./lib/cartSummary.js";
23
- import { ROUTE as kt, requestSchema as At, responseSchema as jt } from "./lib/contactForm.js";
24
- import { formatStorefrontPhoneDisplay as Mt, resolveStorefrontMapsHref as Nt, resolveStorefrontPhoneContact as Pt } from "./lib/storefrontContact.js";
25
- import { buildWhatsAppHref as Ft, resolveStorefrontWhatsAppContact as It, resolveStorefrontWhatsAppHref as Lt } from "./lib/whatsapp.js";
26
- import { ROUTE as Rt, requestBaseSchema as zt, requestCheckoutItemSchema as Bt, requestDeliveryRefinement as Vt, requestSchema as Ht, responseSchema as Ut } from "./lib/checkoutSubmit.js";
27
- import { ROUTE as Wt, requestSchema as Gt, responseSchema as Kt, storefrontPublicAccessoryProductSchema as qt, storefrontPublicBikeAvailabilityStatusSchema as Jt, storefrontPublicBikeProductSchema as Yt, storefrontPublicProductDisplayModeSchema as Xt, storefrontPublicProductPriceSchema as Zt, storefrontPublicProductVariantAttributeSchema as Qt, storefrontPublicProductVariantIdentifierSchema as $t, storefrontPublicProductVariantSchema as en } from "./lib/storefrontProducts.js";
28
- import { ROUTE as tn, buildStorefrontAvailabilityKey as nn, doesStorefrontAvailabilityDisplaySoldOut as rn, getStorefrontAvailabilityIssue as an, getStorefrontAvailabilityStatus as on, isStorefrontAvailabilityInsufficient as sn, publicAvailabilityDisplayModeSchema as cn, requestSchema as ln, responseSchema as un, shouldBlockStorefrontUnavailableItem as dn, storefrontAvailabilityProductSchema as fn, storefrontAvailabilityScheduleSchema as pn, storefrontPublicAvailabilityRecordSchema as mn } from "./lib/storefrontAvailability.js";
29
- import { ROUTE as hn, buildStorefrontImageUrl as gn, requestSchema as _n } from "./lib/storefrontImage.js";
30
- import { ROUTE as vn, requestSchema as yn, responseSchema as bn, storefrontTimeSlotSchema as xn, timeSlotJourneySchema as Sn } from "./lib/storefrontTimeSlots.js";
31
- import { Footer as Cn } from "./components/Footer/index.js";
32
- import { Badge as wn, badgeVariants as Tn } from "./ui/badge.js";
33
- import { Button as En, buttonVariants as Dn } from "./ui/button.js";
34
- import { Header as On } from "./components/Header/index.js";
35
- import { storefront as kn } from "./i18n/en.js";
36
- import { storefront as An } from "./i18n/fr.js";
37
- import { PoweredByLoczerBadge as jn } from "./components/PoweredByLoczerBadge/index.js";
38
- import { PlatformFooter as Mn } from "./components/PlatformFooter/index.js";
39
- import { useWhatsAppFloatingButton as Nn } from "./components/WhatsAppFloatingButton/useWhatsAppFloatingButton.js";
40
- import { WhatsAppFloatingButton as Pn } from "./components/WhatsAppFloatingButton/WhatsAppFloatingButton.js";
17
+ import { getLocalizedEntry as Ze, getLocalizedValue as Qe } from "./localization.js";
18
+ import { CATALOG_PRODUCT_BASE_RATE_UNSET as $e, buildStorefrontProductSlug as et, buildVariantStorefrontProductId as tt, compareCatalogProducts as nt, compareStorefrontAccessoryProducts as rt, compareStorefrontBikeProducts as it, findStorefrontProduct as at, findStorefrontProductBySlug as ot, getCatalogProductBaseRateMinor as st, getCatalogProductPaginationSort as ct, getCatalogProductSortFieldForPriceUnit as lt, getStorefrontBaseDailyRateMinor as ut, getStorefrontCheckoutProductId as dt, getStorefrontProductSelectionDisplayName as ft, getStorefrontRepresentedVariantId as pt, toStorefrontAccessoryProducts as mt, toStorefrontBikeProducts as ht, toStorefrontBookingProducts as gt, toStorefrontBookingProductsCollections as _t } from "./lib/products.js";
19
+ import { StorefrontCartProvider as vt, resolveStorefrontCartItemProduct as yt, useStorefrontCart as bt } from "./lib/cart.js";
20
+ import { cn as xt, formatPriceMinor as St, getAvailabilityVariant as Ct, getMinDayPriceMinor as wt } from "./lib/utils.js";
21
+ import { buildDailyPriceRows as Tt, buildPriceTierLabels as Et, calculateDailyPriceForQuantity as Dt, formatStorefrontPriceMinor as Ot } from "./lib/pricing.js";
22
+ import { buildStorefrontCartSummary as kt } from "./lib/cartSummary.js";
23
+ import { ROUTE as At, requestSchema as jt, responseSchema as Mt } from "./lib/contactForm.js";
24
+ import { formatStorefrontPhoneDisplay as Nt, resolveStorefrontMapsHref as Pt, resolveStorefrontPhoneContact as Ft } from "./lib/storefrontContact.js";
25
+ import { buildWhatsAppHref as It, resolveStorefrontWhatsAppContact as Lt, resolveStorefrontWhatsAppHref as Rt } from "./lib/whatsapp.js";
26
+ import { ROUTE as zt, requestBaseSchema as Bt, requestCheckoutItemSchema as Vt, requestDeliveryRefinement as Ht, requestSchema as Ut, responseSchema as Wt } from "./lib/checkoutSubmit.js";
27
+ import { ROUTE as Gt, requestSchema as Kt, responseSchema as qt, storefrontPublicAccessoryProductSchema as Jt, storefrontPublicBikeAvailabilityStatusSchema as Yt, storefrontPublicBikeProductSchema as Xt, storefrontPublicProductDisplayModeSchema as Zt, storefrontPublicProductPriceSchema as Qt, storefrontPublicProductVariantAttributeSchema as $t, storefrontPublicProductVariantIdentifierSchema as en, storefrontPublicProductVariantSchema as tn } from "./lib/storefrontProducts.js";
28
+ import { ROUTE as nn, buildStorefrontAvailabilityKey as rn, doesStorefrontAvailabilityDisplaySoldOut as an, getStorefrontAvailabilityIssue as on, getStorefrontAvailabilityStatus as sn, isStorefrontAvailabilityInsufficient as cn, publicAvailabilityDisplayModeSchema as ln, requestSchema as un, responseSchema as dn, shouldBlockStorefrontUnavailableItem as fn, storefrontAvailabilityProductSchema as pn, storefrontAvailabilityScheduleSchema as mn, storefrontPublicAvailabilityRecordSchema as hn } from "./lib/storefrontAvailability.js";
29
+ import { ROUTE as gn, buildStorefrontImageUrl as _n, requestSchema as vn } from "./lib/storefrontImage.js";
30
+ import { ROUTE as yn, requestSchema as bn, responseSchema as xn, storefrontTimeSlotSchema as Sn, timeSlotJourneySchema as Cn } from "./lib/storefrontTimeSlots.js";
31
+ import { Footer as wn } from "./components/Footer/index.js";
32
+ import { Badge as Tn, badgeVariants as En } from "./ui/badge.js";
33
+ import { Button as Dn, buttonVariants as On } from "./ui/button.js";
34
+ import { Header as kn } from "./components/Header/index.js";
35
+ import { storefront as An } from "./i18n/en.js";
36
+ import { storefront as jn } from "./i18n/fr.js";
37
+ import { PoweredByLoczerBadge as Mn } from "./components/PoweredByLoczerBadge/index.js";
38
+ import { PlatformFooter as Nn } from "./components/PlatformFooter/index.js";
39
+ import { useWhatsAppFloatingButton as Pn } from "./components/WhatsAppFloatingButton/useWhatsAppFloatingButton.js";
40
+ import { WhatsAppFloatingButton as Fn } from "./components/WhatsAppFloatingButton/WhatsAppFloatingButton.js";
41
41
  import "./components/WhatsAppFloatingButton/index.js";
42
- import { Layout as Fn } from "./components/Layout/index.js";
43
- import { DelayedPlaceholder as In, DelayedReveal as Ln } from "./components/DelayedReveal/index.js";
44
- import { BookingPeriodProvider as Rn, useBookingPeriod as zn } from "./components/BookingPeriodSelector/BookingPeriodContext.js";
45
- import { Label as Bn } from "./ui/label.js";
46
- import { BookingStartDateField as Vn } from "./components/BookingPeriodSelector/components/BookingStartDateField.js";
47
- import { BookingStartTimeField as Hn } from "./components/BookingPeriodSelector/components/BookingStartTimeField.js";
48
- import { BookingEndDateField as Un } from "./components/BookingPeriodSelector/components/BookingEndDateField.js";
49
- import { BookingEndTimeField as Wn } from "./components/BookingPeriodSelector/components/BookingEndTimeField.js";
50
- import { BookingTimeSlotsStatus as Gn } from "./components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
51
- import { BookingMobileDateDrawer as Kn } from "./components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
52
- import { BookingPeriodSelector as qn } from "./components/BookingPeriodSelector/index.js";
53
- import { BookingFlowSteps as Jn } from "./components/BookingFlowSteps/index.js";
54
- import { Input as Yn } from "./ui/input.js";
55
- import { DeliveryAddressSelector as Xn } from "./components/DeliveryAddressSelector/index.js";
56
- import { loader as Zn, useOptionalStorefront as Qn, useStorefront as $n, useStorefrontBookingProducts as er, useStorefrontConfig as tr, useStorefrontProducts as nr, useStorefrontWorkspaceLanguage as rr } from "./StorefrontProvider.js";
57
- import { Form as ir, FormControl as ar, FormDescription as or, FormField as sr, FormItem as cr, FormLabel as lr, FormMessage as ur, useFormField as dr } from "./ui/form.js";
58
- import { Textarea as fr } from "./ui/textarea.js";
59
- import { ContactSection as pr } from "./components/ContactSection/index.js";
60
- import { TestimonialsSection as mr } from "./components/TestimonialsSection/index.js";
61
- import { AboutSection as hr } from "./components/AboutSection/index.js";
62
- import { StepSectionTitle as gr } from "./components/StepSectionTitle/index.js";
63
- import { Card as _r, CardAction as vr, CardContent as yr, CardDescription as br, CardFooter as xr, CardHeader as Sr, CardTitle as Cr } from "./ui/card.js";
64
- import { ProductWarningNotice as wr } from "./components/ProductWarningNotice/index.js";
65
- import { StorefrontCartPanel as Tr } from "./components/StorefrontCartPanel/index.js";
66
- import { ProductPriceBadge as Er } from "./components/ProductPriceBadge/index.js";
67
- import { ContractSaleDocument as Dr } from "./components/ContractSaleDocument/Invoice.js";
42
+ import { Layout as In } from "./components/Layout/index.js";
43
+ import { DelayedPlaceholder as Ln, DelayedReveal as Rn } from "./components/DelayedReveal/index.js";
44
+ import { BookingPeriodProvider as zn, useBookingPeriod as Bn } from "./components/BookingPeriodSelector/BookingPeriodContext.js";
45
+ import { Label as Vn } from "./ui/label.js";
46
+ import { BookingStartDateField as Hn } from "./components/BookingPeriodSelector/components/BookingStartDateField.js";
47
+ import { BookingStartTimeField as Un } from "./components/BookingPeriodSelector/components/BookingStartTimeField.js";
48
+ import { BookingEndDateField as Wn } from "./components/BookingPeriodSelector/components/BookingEndDateField.js";
49
+ import { BookingEndTimeField as Gn } from "./components/BookingPeriodSelector/components/BookingEndTimeField.js";
50
+ import { BookingTimeSlotsStatus as Kn } from "./components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
51
+ import { BookingMobileDateDrawer as qn } from "./components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
52
+ import { BookingPeriodSelector as Jn } from "./components/BookingPeriodSelector/index.js";
53
+ import { BookingFlowSteps as Yn } from "./components/BookingFlowSteps/index.js";
54
+ import { Input as Xn } from "./ui/input.js";
55
+ import { DeliveryAddressSelector as Zn } from "./components/DeliveryAddressSelector/index.js";
56
+ import { StorefrontContext as Qn, useOptionalStorefront as $n, useStorefront as er, useStorefrontBookingProducts as tr, useStorefrontConfig as nr, useStorefrontProducts as rr, useStorefrontWorkspaceLanguage as ir } from "./StorefrontContext.js";
57
+ import { Form as ar, FormControl as or, FormDescription as sr, FormField as cr, FormItem as lr, FormLabel as ur, FormMessage as dr, useFormField as fr } from "./ui/form.js";
58
+ import { Textarea as pr } from "./ui/textarea.js";
59
+ import { ContactSection as mr } from "./components/ContactSection/index.js";
60
+ import { TestimonialsSection as hr } from "./components/TestimonialsSection/index.js";
61
+ import { AboutSection as gr } from "./components/AboutSection/index.js";
62
+ import { StepSectionTitle as _r } from "./components/StepSectionTitle/index.js";
63
+ import { Card as vr, CardAction as yr, CardContent as br, CardDescription as xr, CardFooter as Sr, CardHeader as Cr, CardTitle as wr } from "./ui/card.js";
64
+ import { ProductWarningNotice as Tr } from "./components/ProductWarningNotice/index.js";
65
+ import { StorefrontCartPanel as Er } from "./components/StorefrontCartPanel/index.js";
66
+ import { ProductPriceBadge as Dr } from "./components/ProductPriceBadge/index.js";
67
+ import { ContractSaleDocument as Or } from "./components/ContractSaleDocument/Invoice.js";
68
68
  import "./components/ContractSaleDocument/index.js";
69
- import { RadioGroup as Or, RadioGroupItem as kr } from "./ui/radio-group.js";
69
+ import { RadioGroup as kr, RadioGroupItem as Ar } from "./ui/radio-group.js";
70
70
  import "./pages/HomePage.js";
71
71
  import "./pages/BookingPage.js";
72
72
  import "./pages/ProductPage.js";
73
73
  import "./pages/CheckoutPage.js";
74
74
  import "./pages/CheckoutSuccessPage.js";
75
75
  import "./pages/NotFoundPage.js";
76
- import { accessories as Ar } from "./data/accessories.js";
77
- import jr from "./data/bikes.js";
78
- import { contractSaleDocumentAcceptanceLevelSchema as Mr, contractSaleDocumentAcceptanceRecordSchema as Nr, contractSaleDocumentAcceptanceSchema as Pr, contractSaleDocumentAddressSchema as Fr, contractSaleDocumentAppendixKindSchema as Ir, contractSaleDocumentAppendixSchema as Lr, contractSaleDocumentContactSchema as Rr, contractSaleDocumentKindSchema as zr, contractSaleDocumentLanguageCodeSchema as Br, contractSaleDocumentLanguageSchema as Vr, contractSaleDocumentLineItemSchema as Hr, contractSaleDocumentRentalSchema as Ur, contractSaleDocumentSchema as Wr, contractSaleDocumentSignatureSchema as Gr } from "./lib/contractSaleDocument.js";
79
- import { ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE as Kr, DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE as qr, GET_CONTRACT_SALE_DOCUMENT_ROUTE as Jr, acceptContractSaleDocumentRequestSchema as Yr, acceptContractSaleDocumentResponseSchema as Xr, contractSaleDocumentAcceptanceInputSchema as Zr, contractSaleDocumentAcceptanceRecordInputSchema as Qr, contractSaleDocumentApiAcceptanceRecordSchema as $r, contractSaleDocumentApiAcceptanceSchema as ei, contractSaleDocumentApiSchema as ti, contractSaleDocumentApiSignatureSchema as ni, contractSaleDocumentReferenceSchema as ri, contractSaleDocumentReferenceTypeSchema as ii, contractSaleDocumentSignatureInputSchema as ai, downloadContractSaleDocumentPdfRequestSchema as oi, getContractSaleDocumentRequestSchema as si, getContractSaleDocumentResponseSchema as ci } from "./lib/contractSaleDocumentApi.js";
80
- import li from "./routes.js";
81
- import { Select as ui, SelectContent as di, SelectGroup as fi, SelectIcon as pi, SelectItem as mi, SelectItemIndicator as hi, SelectItemText as gi, SelectLabel as _i, SelectScrollDownButton as vi, SelectScrollUpButton as yi, SelectSeparator as bi, SelectTrigger as xi, SelectValue as Si } from "./ui/select.js";
82
- export { Kr as ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE, hr as AboutSection, Me as BOOKING_SEARCH_KEYS, wn as Badge, Un as BookingEndDateField, Wn as BookingEndTimeField, Jn as BookingFlowSteps, Kn as BookingMobileDateDrawer, Rn as BookingPeriodProvider, qn as BookingPeriodSelector, Vn as BookingStartDateField, Hn as BookingStartTimeField, Gn as BookingTimeSlotsStatus, En as Button, Ze as CATALOG_PRODUCT_BASE_RATE_UNSET, _r as Card, vr as CardAction, yr as CardContent, br as CardDescription, xr as CardFooter, Sr as CardHeader, Cr as CardTitle, pr as ContactSection, Dr as ContractSaleDocument, Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, qr as DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE, In as DelayedPlaceholder, Ln as DelayedReveal, Xn as DeliveryAddressSelector, Cn as Footer, ir as Form, ar as FormControl, or as FormDescription, sr as FormField, cr as FormItem, lr as FormLabel, ur as FormMessage, Jr as GET_CONTRACT_SALE_DOCUMENT_ROUTE, On as Header, Yn as Input, Bn as Label, Fn as Layout, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, Mn as PlatformFooter, jn as PoweredByLoczerBadge, Er as ProductPriceBadge, wr as ProductWarningNotice, kt as ROUTE, Or as RadioGroup, kr as RadioGroupItem, tn as STOREFRONT_AVAILABILITY_ROUTE, Rt as STOREFRONT_CHECKOUT_SUBMIT_ROUTE, he as STOREFRONT_HERO_MODES, hn as STOREFRONT_IMAGE_ROUTE, Wt as STOREFRONT_PRODUCTS_ROUTE, vn as STOREFRONT_TIME_SLOTS_ROUTE, ui as Select, di as SelectContent, fi as SelectGroup, pi as SelectIcon, mi as SelectItem, hi as SelectItemIndicator, gi as SelectItemText, _i as SelectLabel, vi as SelectScrollDownButton, yi as SelectScrollUpButton, bi as SelectSeparator, xi as SelectTrigger, Si as SelectValue, gr as StepSectionTitle, Tr as StorefrontCartPanel, ht as StorefrontCartProvider, Ne as TIME_OPTIONS, mr as TestimonialsSection, fr as Textarea, Pn as WhatsAppFloatingButton, Yr as acceptContractSaleDocumentRequestSchema, Xr as acceptContractSaleDocumentResponseSchema, Ar as accessories, g as accessoryProductSchema, Pe as applyBookingParamsToSearch, Tn as badgeVariants, ue as baseAssetSchema, de as baseAssetStatusSchema, fe as baseBookingItemSchema, pe as baseBookingSchema, me as baseBookingStateSchema, _ as bikeProductSchema, jr as bikes, X as bookingCustomerInputSchema, Z as bookingDeliveryOptionSchema, ie as bookingInsuranceConsentSourceSchema, ae as bookingInsuranceItemSnapshotSchema, oe as bookingInsuranceSnapshotSchema, Q as bookingScheduleInputSchema, se as buildBookingInsuranceSnapshot, St as buildDailyPriceRows, Ct as buildPriceTierLabels, nn as buildStorefrontAvailabilityKey, Ot as buildStorefrontCartSummary, gn as buildStorefrontImageUrl, Qe as buildStorefrontProductSlug, $e as buildVariantStorefrontProductId, Ft as buildWhatsAppHref, Dn as buttonVariants, wt as calculateDailyPriceForQuantity, ce as calculateInsuranceCalendarDays, H as cancellationPolicySchema, U as cancellationPolicyTierSchema, $ as cartItemInputSchema, vt as cn, et as compareCatalogProducts, tt as compareStorefrontAccessoryProducts, nt as compareStorefrontBikeProducts, Zr as contractSaleDocumentAcceptanceInputSchema, Mr as contractSaleDocumentAcceptanceLevelSchema, Qr as contractSaleDocumentAcceptanceRecordInputSchema, Nr as contractSaleDocumentAcceptanceRecordSchema, Pr as contractSaleDocumentAcceptanceSchema, Fr as contractSaleDocumentAddressSchema, $r as contractSaleDocumentApiAcceptanceRecordSchema, ei as contractSaleDocumentApiAcceptanceSchema, ti as contractSaleDocumentApiSchema, ni as contractSaleDocumentApiSignatureSchema, Ir as contractSaleDocumentAppendixKindSchema, Lr as contractSaleDocumentAppendixSchema, Rr as contractSaleDocumentContactSchema, zr as contractSaleDocumentKindSchema, Br as contractSaleDocumentLanguageCodeSchema, Vr as contractSaleDocumentLanguageSchema, Hr as contractSaleDocumentLineItemSchema, ri as contractSaleDocumentReferenceSchema, ii as contractSaleDocumentReferenceTypeSchema, Ur as contractSaleDocumentRentalSchema, Wr as contractSaleDocumentSchema, ai as contractSaleDocumentSignatureInputSchema, Gr as contractSaleDocumentSignatureSchema, ee as createBookingInputBaseSchema, te as createBookingInputSchema, Fe as createBookingPeriodConfigFromBookingEngineConfiguration, Ie as createBookingPeriodConfigFromShopConfiguration, Le as createBookingPeriodConfigFromStorefrontConfiguration, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, rn as doesStorefrontAvailabilityDisplaySoldOut, oi as downloadContractSaleDocumentPdfRequestSchema, v as eBikeProductSchema, rt as findStorefrontProduct, it as findStorefrontProductBySlug, yt as formatPriceMinor, Mt as formatStorefrontPhoneDisplay, Tt as formatStorefrontPriceMinor, G as fulfillmentModeSchema, bt as getAvailabilityVariant, Re as getBookingDurationLabel, ze as getBookingDurationMinutes, Be as getBookingParamsFromSearch, Ve as getBookingSessionStorageKey, at as getCatalogProductBaseRateMinor, ot as getCatalogProductPaginationSort, st as getCatalogProductSortFieldForPriceUnit, si as getContractSaleDocumentRequestSchema, ci as getContractSaleDocumentResponseSchema, He as getDefaultBookingParams, Ue as getDefaultBookingParamsForStorefrontConfiguration, Et as getLocalizedEntry, t as getLocalizedStringValue, Dt as getLocalizedValue, xt as getMinDayPriceMinor, an as getStorefrontAvailabilityIssue, on as getStorefrontAvailabilityStatus, ct as getStorefrontBaseDailyRateMinor, lt as getStorefrontCheckoutProductId, ut as getStorefrontRepresentedVariantId, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, sn as isStorefrontAvailabilityInsufficient, j as isoDateSchema, Zn as loader, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, W as paymentPoliciesSchema, We as pickBookingSearchParams, d as priceSchema, f as priceUnitSchema, b as productInsuranceSchema, x as productKindSchema, S as productSchema, C as productStorefrontDisplayModeSchema, w as productVariantAttributeSchema, T as productVariantCodeSchema, E as productVariantIdentifierSchema, D as productVariantSchema, cn as publicAvailabilityDisplayModeSchema, K as publicBookingEngineConfigurationSchema, q as publicCheckoutConfigurationSchema, J as publicCheckoutDynamicOptionsSchema, Ge as readBookingSearchParamsFromSessionStorage, Ke as readBookingSearchParamsFromStorage, At as requestSchema, ne as resolveBookingDeliveryOption, qe as resolveBookingSearchParams, Je as resolveBookingSearchParamsFromSessionStorage, gt as resolveStorefrontCartItemProduct, Nt as resolveStorefrontMapsHref, Pt as resolveStorefrontPhoneContact, It as resolveStorefrontWhatsAppContact, Lt as resolveStorefrontWhatsAppHref, jt as responseSchema, O as richTextJsonDocSchema, k as richTextSchema, A as richTextVersionSchema, M as shopConfigurationSchema, N as shopExtraTimeSlotRuleSchema, P as shopOpeningDayIndexSchema, F as shopOpeningDaySchema, I as shopOpeningHoursOverrideSchema, L as shopOpeningHoursPeriodSchema, R as shopOpeningSlotSchema, dn as shouldBlockStorefrontUnavailableItem, u as signedMoneyMinorSchema, fn as storefrontAvailabilityProductSchema, ln as storefrontAvailabilityRequestSchema, un as storefrontAvailabilityResponseSchema, pn as storefrontAvailabilityScheduleSchema, ge as storefrontCheckoutModeSchema, Vt as storefrontCheckoutSubmitDeliveryRefinement, Bt as storefrontCheckoutSubmitItemSchema, zt as storefrontCheckoutSubmitRequestBaseSchema, Ht as storefrontCheckoutSubmitRequestSchema, Ut as storefrontCheckoutSubmitResponseSchema, _e as storefrontConfigurationSchema, ve as storefrontContentSchema, kn as storefrontEn, ye as storefrontFaqItemSchema, be as storefrontFaqSchema, An as storefrontFr, xe as storefrontFulfillmentModeSchema, Se as storefrontHeroModeSchema, _n as storefrontImageRequestSchema, Ce as storefrontLocalizedRichTextSchema, we as storefrontModalMessageSchema, Te as storefrontModulesSchema, Gt as storefrontProductsRequestSchema, Kt as storefrontProductsResponseSchema, qt as storefrontPublicAccessoryProductSchema, mn as storefrontPublicAvailabilityRecordSchema, Jt as storefrontPublicBikeAvailabilityStatusSchema, Yt as storefrontPublicBikeProductSchema, Xt as storefrontPublicProductDisplayModeSchema, Zt as storefrontPublicProductPriceSchema, Qt as storefrontPublicProductVariantAttributeSchema, $t as storefrontPublicProductVariantIdentifierSchema, en as storefrontPublicProductVariantSchema, Ee as storefrontReviewsModuleSchema, De as storefrontRichTextSchema, li as storefrontRoutes, Oe as storefrontSettingsSchema, ke as storefrontShopSchema, Ae as storefrontStatusSchema, Sn as storefrontTimeSlotJourneySchema, xn as storefrontTimeSlotSchema, yn as storefrontTimeSlotsRequestSchema, bn as storefrontTimeSlotsResponseSchema, je as storefrontWorkspaceSchema, z as timeOfDaySchema, dt as toStorefrontAccessoryProducts, ft as toStorefrontBikeProducts, pt as toStorefrontBookingProducts, mt as toStorefrontBookingProductsCollections, zn as useBookingPeriod, dr as useFormField, Qn as useOptionalStorefront, $n as useStorefront, er as useStorefrontBookingProducts, _t as useStorefrontCart, tr as useStorefrontConfig, nr as useStorefrontProducts, rr as useStorefrontWorkspaceLanguage, Nn as useWhatsAppFloatingButton, re as validateBookingDeliveryAddress, Ye as writeBookingSearchParamsToSessionStorage, Xe as writeBookingSearchParamsToStorage };
76
+ import { accessories as jr } from "./data/accessories.js";
77
+ import Mr from "./data/bikes.js";
78
+ import { contractSaleDocumentAcceptanceLevelSchema as Nr, contractSaleDocumentAcceptanceRecordSchema as Pr, contractSaleDocumentAcceptanceSchema as Fr, contractSaleDocumentAddressSchema as Ir, contractSaleDocumentAppendixKindSchema as Lr, contractSaleDocumentAppendixSchema as Rr, contractSaleDocumentContactSchema as zr, contractSaleDocumentKindSchema as Br, contractSaleDocumentLanguageCodeSchema as Vr, contractSaleDocumentLanguageSchema as Hr, contractSaleDocumentLineItemSchema as Ur, contractSaleDocumentRentalSchema as Wr, contractSaleDocumentSchema as Gr, contractSaleDocumentSignatureSchema as Kr } from "./lib/contractSaleDocument.js";
79
+ import { ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE as qr, DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE as Jr, GET_CONTRACT_SALE_DOCUMENT_ROUTE as Yr, acceptContractSaleDocumentRequestSchema as Xr, acceptContractSaleDocumentResponseSchema as Zr, contractSaleDocumentAcceptanceInputSchema as Qr, contractSaleDocumentAcceptanceRecordInputSchema as $r, contractSaleDocumentApiAcceptanceRecordSchema as ei, contractSaleDocumentApiAcceptanceSchema as ti, contractSaleDocumentApiSchema as ni, contractSaleDocumentApiSignatureSchema as ri, contractSaleDocumentReferenceSchema as ii, contractSaleDocumentReferenceTypeSchema as ai, contractSaleDocumentSignatureInputSchema as oi, downloadContractSaleDocumentPdfRequestSchema as si, getContractSaleDocumentRequestSchema as ci, getContractSaleDocumentResponseSchema as li } from "./lib/contractSaleDocumentApi.js";
80
+ import ui from "./routes.js";
81
+ import { loader as di } from "./StorefrontProvider.js";
82
+ import { Select as fi, SelectContent as pi, SelectGroup as mi, SelectIcon as hi, SelectItem as gi, SelectItemIndicator as _i, SelectItemText as vi, SelectLabel as yi, SelectScrollDownButton as bi, SelectScrollUpButton as xi, SelectSeparator as Si, SelectTrigger as Ci, SelectValue as wi } from "./ui/select.js";
83
+ export { qr as ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE, gr as AboutSection, Me as BOOKING_SEARCH_KEYS, Tn as Badge, Wn as BookingEndDateField, Gn as BookingEndTimeField, Yn as BookingFlowSteps, qn as BookingMobileDateDrawer, zn as BookingPeriodProvider, Jn as BookingPeriodSelector, Hn as BookingStartDateField, Un as BookingStartTimeField, Kn as BookingTimeSlotsStatus, Dn as Button, $e as CATALOG_PRODUCT_BASE_RATE_UNSET, vr as Card, yr as CardAction, br as CardContent, xr as CardDescription, Sr as CardFooter, Cr as CardHeader, wr as CardTitle, mr as ContactSection, Or as ContractSaleDocument, Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, Jr as DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE, Ln as DelayedPlaceholder, Rn as DelayedReveal, Zn as DeliveryAddressSelector, wn as Footer, ar as Form, or as FormControl, sr as FormDescription, cr as FormField, lr as FormItem, ur as FormLabel, dr as FormMessage, Yr as GET_CONTRACT_SALE_DOCUMENT_ROUTE, kn as Header, Xn as Input, Vn as Label, In as Layout, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, Nn as PlatformFooter, Mn as PoweredByLoczerBadge, Dr as ProductPriceBadge, Tr as ProductWarningNotice, At as ROUTE, kr as RadioGroup, Ar as RadioGroupItem, nn as STOREFRONT_AVAILABILITY_ROUTE, zt as STOREFRONT_CHECKOUT_SUBMIT_ROUTE, he as STOREFRONT_HERO_MODES, gn as STOREFRONT_IMAGE_ROUTE, Gt as STOREFRONT_PRODUCTS_ROUTE, yn as STOREFRONT_TIME_SLOTS_ROUTE, fi as Select, pi as SelectContent, mi as SelectGroup, hi as SelectIcon, gi as SelectItem, _i as SelectItemIndicator, vi as SelectItemText, yi as SelectLabel, bi as SelectScrollDownButton, xi as SelectScrollUpButton, Si as SelectSeparator, Ci as SelectTrigger, wi as SelectValue, _r as StepSectionTitle, Er as StorefrontCartPanel, vt as StorefrontCartProvider, Qn as StorefrontContext, Ne as TIME_OPTIONS, hr as TestimonialsSection, pr as Textarea, Fn as WhatsAppFloatingButton, Xr as acceptContractSaleDocumentRequestSchema, Zr as acceptContractSaleDocumentResponseSchema, jr as accessories, g as accessoryProductSchema, Pe as applyBookingParamsToSearch, En as badgeVariants, ue as baseAssetSchema, de as baseAssetStatusSchema, fe as baseBookingItemSchema, pe as baseBookingSchema, me as baseBookingStateSchema, _ as bikeProductSchema, Mr as bikes, X as bookingCustomerInputSchema, Z as bookingDeliveryOptionSchema, ie as bookingInsuranceConsentSourceSchema, ae as bookingInsuranceItemSnapshotSchema, oe as bookingInsuranceSnapshotSchema, Q as bookingScheduleInputSchema, se as buildBookingInsuranceSnapshot, Tt as buildDailyPriceRows, Et as buildPriceTierLabels, rn as buildStorefrontAvailabilityKey, kt as buildStorefrontCartSummary, _n as buildStorefrontImageUrl, et as buildStorefrontProductSlug, tt as buildVariantStorefrontProductId, It as buildWhatsAppHref, On as buttonVariants, Dt as calculateDailyPriceForQuantity, ce as calculateInsuranceCalendarDays, H as cancellationPolicySchema, U as cancellationPolicyTierSchema, $ as cartItemInputSchema, xt as cn, nt as compareCatalogProducts, rt as compareStorefrontAccessoryProducts, it as compareStorefrontBikeProducts, Qr as contractSaleDocumentAcceptanceInputSchema, Nr as contractSaleDocumentAcceptanceLevelSchema, $r as contractSaleDocumentAcceptanceRecordInputSchema, Pr as contractSaleDocumentAcceptanceRecordSchema, Fr as contractSaleDocumentAcceptanceSchema, Ir as contractSaleDocumentAddressSchema, ei as contractSaleDocumentApiAcceptanceRecordSchema, ti as contractSaleDocumentApiAcceptanceSchema, ni as contractSaleDocumentApiSchema, ri as contractSaleDocumentApiSignatureSchema, Lr as contractSaleDocumentAppendixKindSchema, Rr as contractSaleDocumentAppendixSchema, zr as contractSaleDocumentContactSchema, Br as contractSaleDocumentKindSchema, Vr as contractSaleDocumentLanguageCodeSchema, Hr as contractSaleDocumentLanguageSchema, Ur as contractSaleDocumentLineItemSchema, ii as contractSaleDocumentReferenceSchema, ai as contractSaleDocumentReferenceTypeSchema, Wr as contractSaleDocumentRentalSchema, Gr as contractSaleDocumentSchema, oi as contractSaleDocumentSignatureInputSchema, Kr as contractSaleDocumentSignatureSchema, ee as createBookingInputBaseSchema, te as createBookingInputSchema, Fe as createBookingPeriodConfigFromBookingEngineConfiguration, Ie as createBookingPeriodConfigFromShopConfiguration, Le as createBookingPeriodConfigFromStorefrontConfiguration, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, an as doesStorefrontAvailabilityDisplaySoldOut, si as downloadContractSaleDocumentPdfRequestSchema, v as eBikeProductSchema, at as findStorefrontProduct, ot as findStorefrontProductBySlug, St as formatPriceMinor, Nt as formatStorefrontPhoneDisplay, Ot as formatStorefrontPriceMinor, G as fulfillmentModeSchema, Ct as getAvailabilityVariant, Re as getBookingDurationLabel, ze as getBookingDurationMinutes, Be as getBookingParamsFromSearch, Ve as getBookingSessionStorageKey, st as getCatalogProductBaseRateMinor, ct as getCatalogProductPaginationSort, lt as getCatalogProductSortFieldForPriceUnit, ci as getContractSaleDocumentRequestSchema, li as getContractSaleDocumentResponseSchema, He as getDefaultBookingParams, Ue as getDefaultBookingParamsForStorefrontConfiguration, Ze as getLocalizedEntry, t as getLocalizedStringValue, Qe as getLocalizedValue, wt as getMinDayPriceMinor, on as getStorefrontAvailabilityIssue, sn as getStorefrontAvailabilityStatus, ut as getStorefrontBaseDailyRateMinor, dt as getStorefrontCheckoutProductId, ft as getStorefrontProductSelectionDisplayName, pt as getStorefrontRepresentedVariantId, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, cn as isStorefrontAvailabilityInsufficient, j as isoDateSchema, di as loader, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, W as paymentPoliciesSchema, We as pickBookingSearchParams, d as priceSchema, f as priceUnitSchema, b as productInsuranceSchema, x as productKindSchema, S as productSchema, C as productStorefrontDisplayModeSchema, w as productVariantAttributeSchema, T as productVariantCodeSchema, E as productVariantIdentifierSchema, D as productVariantSchema, ln as publicAvailabilityDisplayModeSchema, K as publicBookingEngineConfigurationSchema, q as publicCheckoutConfigurationSchema, J as publicCheckoutDynamicOptionsSchema, Ge as readBookingSearchParamsFromSessionStorage, Ke as readBookingSearchParamsFromStorage, jt as requestSchema, ne as resolveBookingDeliveryOption, qe as resolveBookingSearchParams, Je as resolveBookingSearchParamsFromSessionStorage, yt as resolveStorefrontCartItemProduct, Pt as resolveStorefrontMapsHref, Ft as resolveStorefrontPhoneContact, Lt as resolveStorefrontWhatsAppContact, Rt as resolveStorefrontWhatsAppHref, Mt as responseSchema, O as richTextJsonDocSchema, k as richTextSchema, A as richTextVersionSchema, M as shopConfigurationSchema, N as shopExtraTimeSlotRuleSchema, P as shopOpeningDayIndexSchema, F as shopOpeningDaySchema, I as shopOpeningHoursOverrideSchema, L as shopOpeningHoursPeriodSchema, R as shopOpeningSlotSchema, fn as shouldBlockStorefrontUnavailableItem, u as signedMoneyMinorSchema, pn as storefrontAvailabilityProductSchema, un as storefrontAvailabilityRequestSchema, dn as storefrontAvailabilityResponseSchema, mn as storefrontAvailabilityScheduleSchema, ge as storefrontCheckoutModeSchema, Ht as storefrontCheckoutSubmitDeliveryRefinement, Vt as storefrontCheckoutSubmitItemSchema, Bt as storefrontCheckoutSubmitRequestBaseSchema, Ut as storefrontCheckoutSubmitRequestSchema, Wt as storefrontCheckoutSubmitResponseSchema, _e as storefrontConfigurationSchema, ve as storefrontContentSchema, An as storefrontEn, ye as storefrontFaqItemSchema, be as storefrontFaqSchema, jn as storefrontFr, xe as storefrontFulfillmentModeSchema, Se as storefrontHeroModeSchema, vn as storefrontImageRequestSchema, Ce as storefrontLocalizedRichTextSchema, we as storefrontModalMessageSchema, Te as storefrontModulesSchema, Kt as storefrontProductsRequestSchema, qt as storefrontProductsResponseSchema, Jt as storefrontPublicAccessoryProductSchema, hn as storefrontPublicAvailabilityRecordSchema, Yt as storefrontPublicBikeAvailabilityStatusSchema, Xt as storefrontPublicBikeProductSchema, Zt as storefrontPublicProductDisplayModeSchema, Qt as storefrontPublicProductPriceSchema, $t as storefrontPublicProductVariantAttributeSchema, en as storefrontPublicProductVariantIdentifierSchema, tn as storefrontPublicProductVariantSchema, Ee as storefrontReviewsModuleSchema, De as storefrontRichTextSchema, ui as storefrontRoutes, Oe as storefrontSettingsSchema, ke as storefrontShopSchema, Ae as storefrontStatusSchema, Cn as storefrontTimeSlotJourneySchema, Sn as storefrontTimeSlotSchema, bn as storefrontTimeSlotsRequestSchema, xn as storefrontTimeSlotsResponseSchema, je as storefrontWorkspaceSchema, z as timeOfDaySchema, mt as toStorefrontAccessoryProducts, ht as toStorefrontBikeProducts, gt as toStorefrontBookingProducts, _t as toStorefrontBookingProductsCollections, Bn as useBookingPeriod, fr as useFormField, $n as useOptionalStorefront, er as useStorefront, tr as useStorefrontBookingProducts, bt as useStorefrontCart, nr as useStorefrontConfig, rr as useStorefrontProducts, ir as useStorefrontWorkspaceLanguage, Pn as useWhatsAppFloatingButton, re as validateBookingDeliveryAddress, Ye as writeBookingSearchParamsToSessionStorage, Xe as writeBookingSearchParamsToStorage };