@loczer/storefront-sdk 0.167.0 → 0.168.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 (38) hide show
  1. package/dist/chunks/booking-engine/dist/schemas/base-booking-Dlgnuu6k.js +74 -0
  2. package/dist/chunks/ui/dist/{Dialog-COr6fnKd.js → Dialog-CR_9vgBQ.js} +1 -1
  3. package/dist/chunks/ui/dist/{MorphingModalWizard-BuRND-yE.js → MorphingModalWizard-CPLr3dh2.js} +3 -3
  4. package/dist/chunks/ui/dist/{ResponsiveDialog-D8YzB_3J.js → ResponsiveDialog-DhFgsW_0.js} +2 -2
  5. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/Icon-OkokCq-b.js +37 -0
  6. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/context-C4oH64Wf.js +5 -0
  7. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/createLucideIcon-BI4k0Tt0.js +23 -0
  8. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/icons/{arrow-left-asE1l_Qw.js → arrow-left-DMMNgJEB.js} +1 -1
  9. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/icons/{x-Cdi8GS7U.js → x-BDxS-rYd.js} +1 -1
  10. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp-Lff9pF65.js +9 -0
  11. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses-HV-Vu34x.js +4 -0
  12. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase-BZAgYi2F.js +7 -0
  13. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase-DsnfsuSi.js +4 -0
  14. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase-DZxyG2X3.js +8 -0
  15. package/dist/components/BookingBikeVariantDialog/index.js +1 -1
  16. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +1 -1
  17. package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +1 -1
  18. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -1
  19. package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +1 -1
  20. package/dist/components/Header/index.js +19 -19
  21. package/dist/components/StorefrontCancellationPolicyNotice/index.js +1 -1
  22. package/dist/components/StorefrontPopupMessages/index.js +1 -1
  23. package/dist/i18n/en.d.ts +0 -1
  24. package/dist/i18n/en.d.ts.map +1 -1
  25. package/dist/i18n/en.js +2 -3
  26. package/dist/i18n/fr.d.ts +0 -1
  27. package/dist/i18n/fr.d.ts.map +1 -1
  28. package/dist/i18n/fr.js +5 -6
  29. package/dist/index.d.ts +0 -10
  30. package/dist/index.js +2 -2
  31. package/dist/lib/checkoutSubmit.js +1 -1
  32. package/dist/storefront.css +1 -1
  33. package/dist/storefrontSchemas.js +1 -1
  34. package/package.json +2 -2
  35. package/dist/chunks/booking-engine/dist/schemas/base-booking-BMAjsw9r.js +0 -78
  36. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/Icon-BNiQfVqr.js +0 -35
  37. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/createLucideIcon-5_J8fxOF.js +0 -21
  38. package/dist/chunks/ui/dist/node_modules/lucide-react/dist/esm/shared/src/utils-nzQUBs6v.js +0 -18
@@ -0,0 +1,74 @@
1
+ import { z as o } from "zod";
2
+ import { identifierSchema as i, isoDateTimeSchema as n, ulidStringSchema as p, objectIdStringSchema as c } from "../models/types-DLcvzW5b.js";
3
+ import { productKindSchema as s } from "../models/Product.shared-BiDGmurZ.js";
4
+ import { moneyMinorSchema as r } from "./money-Dy4b9loa.js";
5
+ import { richTextSchema as m } from "./rich-text-CqXhNDN3.js";
6
+ import { cancellationPolicySchema as a } from "./booking-engine-configuration-DTJD2G9w.js";
7
+ const l = o.enum([
8
+ "pending_approval",
9
+ "pending_payment",
10
+ "confirmed",
11
+ "active",
12
+ "completed",
13
+ "canceled",
14
+ "expired"
15
+ ]), d = o.object({
16
+ _id: i,
17
+ productId: i,
18
+ kind: s,
19
+ qty: o.number().int().positive(),
20
+ productVariantId: i.optional()
21
+ }), u = o.object({
22
+ name: o.preprocess(
23
+ (e) => {
24
+ if (typeof e != "string") return;
25
+ const t = e.trim();
26
+ return t.length > 0 ? t : void 0;
27
+ },
28
+ o.string().min(1).optional()
29
+ ),
30
+ email: o.preprocess(
31
+ (e) => {
32
+ if (typeof e != "string") return;
33
+ const t = e.trim();
34
+ return t.length > 0 ? t : void 0;
35
+ },
36
+ o.string().email().optional()
37
+ ),
38
+ phone: o.preprocess(
39
+ (e) => {
40
+ if (typeof e != "string") return;
41
+ const t = e.trim();
42
+ return t.length > 0 ? t : void 0;
43
+ },
44
+ o.string().min(1).optional()
45
+ ),
46
+ message: m.optional()
47
+ }), v = o.object({
48
+ _id: c,
49
+ externalId: p,
50
+ state: l,
51
+ shopId: i,
52
+ customer: u,
53
+ deliveryOption: o.enum(["delivery", "pickup"]),
54
+ start: n,
55
+ end: n,
56
+ startAddress: o.string().optional(),
57
+ endAddress: o.string().optional(),
58
+ items: o.array(d),
59
+ couponCode: o.string().min(1).optional(),
60
+ couponDiscountRate: o.number().min(0).max(1).optional(),
61
+ couponDiscountAmountUnits: r.optional(),
62
+ couponAutoApplied: o.boolean().optional(),
63
+ couponPriceRuleId: i.optional(),
64
+ totalPriceUnits: r.optional(),
65
+ cancellationPolicySnapshot: a.optional(),
66
+ cancellationPolicyOverride: a.optional(),
67
+ createdAt: n,
68
+ updatedAt: n
69
+ });
70
+ export {
71
+ d as baseBookingItemSchema,
72
+ v as baseBookingSchema,
73
+ l as baseBookingStateSchema
74
+ };
@@ -4,7 +4,7 @@ import { cn as m } from "./lib/utils-B6zhukbw.js";
4
4
  import { useBodyPointerEventsLock as S } from "./lib/body-pointer-events-CyPsDvc9.js";
5
5
  import { createAutoFocusHandler as C, composeRefs as w } from "./lib/slot-CklkPb7k.js";
6
6
  import { SsrHydratablePortal as H } from "./SsrHydratablePortal/index-Ue09qUAi.js";
7
- import O from "./node_modules/lucide-react/dist/esm/icons/x-Cdi8GS7U.js";
7
+ import O from "./node_modules/lucide-react/dist/esm/icons/x-BDxS-rYd.js";
8
8
  import { DialogBackdrop as z } from "./node_modules/@base-ui/react/esm/dialog/backdrop/DialogBackdrop-dfhPbhun.js";
9
9
  import { DialogPortal as I } from "./node_modules/@base-ui/react/esm/dialog/portal/DialogPortal-DCoXyUCa.js";
10
10
  import { DialogPopup as T } from "./node_modules/@base-ui/react/esm/dialog/popup/DialogPopup-Ce1MaHNd.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import { createContext as o, useContext as r } from "react";
3
3
  import "./Button-CEl4MEmL.js";
4
- import "./Dialog-COr6fnKd.js";
4
+ import "./Dialog-CR_9vgBQ.js";
5
5
  import "./node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRoot-Cw_gyhhI.js";
6
6
  import "./node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewport-CadjBxEp.js";
7
7
  import "./node_modules/@base-ui/react/esm/scroll-area/corner/ScrollAreaCorner-z0cNScNF.js";
@@ -22,8 +22,8 @@ import "./node_modules/framer-motion/dist/es/render/dom/utils/filter-props-DZcjZ
22
22
  import "./node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext-BWutRI4l.js";
23
23
  import "./node_modules/motion-dom/dist/es/animation/optimized-appear/data-id-CNQuVmXa.js";
24
24
  import "./node_modules/motion-dom/dist/es/projection/node/create-projection-node-DL2q-YuA.js";
25
- import "./node_modules/lucide-react/dist/esm/icons/arrow-left-asE1l_Qw.js";
26
- import "./node_modules/lucide-react/dist/esm/icons/x-Cdi8GS7U.js";
25
+ import "./node_modules/lucide-react/dist/esm/icons/arrow-left-DMMNgJEB.js";
26
+ import "./node_modules/lucide-react/dist/esm/icons/x-BDxS-rYd.js";
27
27
  const t = o(null), k = () => r(t);
28
28
  export {
29
29
  k as useMorphingModalWizardOverlayLayer
@@ -1,10 +1,10 @@
1
1
  import { jsx as o, jsxs as R } from "react/jsx-runtime";
2
2
  import * as i from "react";
3
- import { DialogTrigger as h, DialogClose as w, DialogContent as b, DialogTitle as y, DialogDescription as M, Dialog as E, DialogHeader as O, DialogFooter as T } from "./Dialog-COr6fnKd.js";
3
+ import { DialogTrigger as h, DialogClose as w, DialogContent as b, DialogTitle as y, DialogDescription as M, Dialog as E, DialogHeader as O, DialogFooter as T } from "./Dialog-CR_9vgBQ.js";
4
4
  import { DrawerTrigger as I, DrawerClose as N, DrawerContent as _, DrawerTitle as x, DrawerDescription as $, Drawer as H, DrawerHeader as P, DrawerFooter as k } from "./Drawer/index-BxM7gmh_.js";
5
5
  import { useMediaQuery as B } from "./lib/useMediaQuery-DhKGnWgn.js";
6
6
  import { cn as m } from "./lib/utils-B6zhukbw.js";
7
- import L from "./node_modules/lucide-react/dist/esm/icons/x-Cdi8GS7U.js";
7
+ import L from "./node_modules/lucide-react/dist/esm/icons/x-BDxS-rYd.js";
8
8
  const S = 639, j = `(max-width: ${S}px)`, C = i.createContext(null);
9
9
  function n(e) {
10
10
  const s = i.useContext(C);
@@ -0,0 +1,37 @@
1
+ import { forwardRef as b, createElement as m } from "react";
2
+ import t from "./defaultAttributes-C1BTxN61.js";
3
+ import { hasA11yProp as g } from "./shared/src/utils/hasA11yProp-Lff9pF65.js";
4
+ import { mergeClasses as w } from "./shared/src/utils/mergeClasses-HV-Vu34x.js";
5
+ import { useLucideContext as x } from "./context-C4oH64Wf.js";
6
+ const S = b(
7
+ ({ color: d, size: e, strokeWidth: s, absoluteStrokeWidth: h, className: c = "", children: r, iconNode: l, ...i }, f) => {
8
+ const {
9
+ size: o = 24,
10
+ strokeWidth: a = 2,
11
+ absoluteStrokeWidth: u = !1,
12
+ color: n = "currentColor",
13
+ className: p = ""
14
+ } = x() ?? {}, k = h ?? u ? Number(s ?? a) * 24 / Number(e ?? o) : s ?? a;
15
+ return m(
16
+ "svg",
17
+ {
18
+ ref: f,
19
+ ...t,
20
+ width: e ?? o ?? t.width,
21
+ height: e ?? o ?? t.height,
22
+ stroke: d ?? n,
23
+ strokeWidth: k,
24
+ className: w("lucide", p, c),
25
+ ...!r && !g(i) && { "aria-hidden": "true" },
26
+ ...i
27
+ },
28
+ [
29
+ ...l.map(([N, W]) => m(N, W)),
30
+ ...Array.isArray(r) ? r : [r]
31
+ ]
32
+ );
33
+ }
34
+ );
35
+ export {
36
+ S as default
37
+ };
@@ -0,0 +1,5 @@
1
+ import { createContext as t, useContext as e } from "react";
2
+ const o = t({}), n = () => e(o);
3
+ export {
4
+ n as useLucideContext
5
+ };
@@ -0,0 +1,23 @@
1
+ import { forwardRef as c, createElement as f } from "react";
2
+ import { mergeClasses as i } from "./shared/src/utils/mergeClasses-HV-Vu34x.js";
3
+ import { toKebabCase as l } from "./shared/src/utils/toKebabCase-DsnfsuSi.js";
4
+ import { toPascalCase as o } from "./shared/src/utils/toPascalCase-DZxyG2X3.js";
5
+ import p from "./Icon-OkokCq-b.js";
6
+ const b = (a, r) => {
7
+ const e = c(
8
+ ({ className: s, ...m }, t) => f(p, {
9
+ ref: t,
10
+ iconNode: r,
11
+ className: i(
12
+ `lucide-${l(o(a))}`,
13
+ `lucide-${a}`,
14
+ s
15
+ ),
16
+ ...m
17
+ })
18
+ );
19
+ return e.displayName = o(a), e;
20
+ };
21
+ export {
22
+ b as default
23
+ };
@@ -1,4 +1,4 @@
1
- import o from "../createLucideIcon-5_J8fxOF.js";
1
+ import o from "../createLucideIcon-BI4k0Tt0.js";
2
2
  const t = [
3
3
  ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
4
4
  ["path", { d: "M19 12H5", key: "x3x0zl" }]
@@ -1,4 +1,4 @@
1
- import o from "../createLucideIcon-5_J8fxOF.js";
1
+ import o from "../createLucideIcon-BI4k0Tt0.js";
2
2
  const t = [
3
3
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
4
4
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
@@ -0,0 +1,9 @@
1
+ const e = (t) => {
2
+ for (const r in t)
3
+ if (r.startsWith("aria-") || r === "role" || r === "title")
4
+ return !0;
5
+ return !1;
6
+ };
7
+ export {
8
+ e as hasA11yProp
9
+ };
@@ -0,0 +1,4 @@
1
+ const n = (...i) => i.filter((e, s, t) => !!e && e.trim() !== "" && t.indexOf(e) === s).join(" ").trim();
2
+ export {
3
+ n as mergeClasses
4
+ };
@@ -0,0 +1,7 @@
1
+ const t = (s) => s.replace(
2
+ /^([A-Z])|[\s-_]+(\w)/g,
3
+ (o, a, e) => e ? e.toUpperCase() : a.toLowerCase()
4
+ );
5
+ export {
6
+ t as toCamelCase
7
+ };
@@ -0,0 +1,4 @@
1
+ const e = (a) => a.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
2
+ export {
3
+ e as toKebabCase
4
+ };
@@ -0,0 +1,8 @@
1
+ import { toCamelCase as e } from "./toCamelCase-BZAgYi2F.js";
2
+ const o = (a) => {
3
+ const s = e(a);
4
+ return s.charAt(0).toUpperCase() + s.slice(1);
5
+ };
6
+ export {
7
+ o as toPascalCase
8
+ };
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
2
  import { useState as O, useEffect as q } from "react";
3
3
  import { useMediaQuery as K } from "@rpcbase/client";
4
- import { RESPONSIVE_DIALOG_MOBILE_MEDIA_QUERY as T, ResponsiveDialog as G, ResponsiveDialogContent as W, ResponsiveDialogHeader as F, ResponsiveDialogTitle as H, ResponsiveDialogDescription as U, ResponsiveDialogFooter as X } from "../../chunks/ui/dist/ResponsiveDialog-D8YzB_3J.js";
4
+ import { RESPONSIVE_DIALOG_MOBILE_MEDIA_QUERY as T, ResponsiveDialog as G, ResponsiveDialogContent as W, ResponsiveDialogHeader as F, ResponsiveDialogTitle as H, ResponsiveDialogDescription as U, ResponsiveDialogFooter as X } from "../../chunks/ui/dist/ResponsiveDialog-DhFgsW_0.js";
5
5
  import { cn as S } from "@rpcbase/ui";
6
6
  import { Bike as Y, CheckCircle2 as I, Plus as V } from "lucide-react";
7
7
  import { useTranslation as Z } from "react-i18next";
@@ -2,7 +2,7 @@ import { jsxs as ne, jsx as s } from "react/jsx-runtime";
2
2
  import { differenceInCalendarDays as me } from "date-fns";
3
3
  import { createContext as pe, useRef as F, useState as X, useEffect as v, useContext as ye } from "react";
4
4
  import { cn as k, DayPickerField as De } from "@rpcbase/ui";
5
- import { useMorphingModalWizardOverlayLayer as Ee } from "../../../chunks/ui/dist/MorphingModalWizard-BuRND-yE.js";
5
+ import { useMorphingModalWizardOverlayLayer as Ee } from "../../../chunks/ui/dist/MorphingModalWizard-CPLr3dh2.js";
6
6
  import { DayPicker as he } from "../../../ui/day-picker.js";
7
7
  import { Label as ve } from "../../../ui/label.js";
8
8
  import { Provider as be, Root as ge, TooltipTrigger as Me, Content as ke } from "../../../ui/tooltip.js";
@@ -1,7 +1,7 @@
1
1
  import { jsxs as M, Fragment as w, jsx as r } from "react/jsx-runtime";
2
2
  import { useRef as P, useEffect as N } from "react";
3
3
  import { cn as T, HourPickerField as V } from "@rpcbase/ui";
4
- import { useMorphingModalWizardOverlayLayer as H } from "../../../chunks/ui/dist/MorphingModalWizard-BuRND-yE.js";
4
+ import { useMorphingModalWizardOverlayLayer as H } from "../../../chunks/ui/dist/MorphingModalWizard-CPLr3dh2.js";
5
5
  import { Label as U } from "../../../ui/label.js";
6
6
  import { useBookingPeriod as A } from "../BookingPeriodContext.js";
7
7
  import { BookingPeriodFieldErrorMessage as j } from "./BookingPeriodFieldErrorMessage.js";
@@ -2,7 +2,7 @@ import { jsxs as I, jsx as u } from "react/jsx-runtime";
2
2
  import { useRef as L, useState as A, useEffect as H } from "react";
3
3
  import { DayButton as U } from "react-day-picker";
4
4
  import { cn as f, DayPickerField as K } from "@rpcbase/ui";
5
- import { useMorphingModalWizardOverlayLayer as R } from "../../../chunks/ui/dist/MorphingModalWizard-BuRND-yE.js";
5
+ import { useMorphingModalWizardOverlayLayer as R } from "../../../chunks/ui/dist/MorphingModalWizard-CPLr3dh2.js";
6
6
  import { DayPicker as v } from "../../../ui/day-picker.js";
7
7
  import { Label as _ } from "../../../ui/label.js";
8
8
  import { useBookingPeriod as $ } from "../BookingPeriodContext.js";
@@ -1,7 +1,7 @@
1
1
  import { jsxs as E, Fragment as B, jsx as n } from "react/jsx-runtime";
2
2
  import { useRef as O, useEffect as S } from "react";
3
3
  import { cn as T, HourPickerField as R } from "@rpcbase/ui";
4
- import { useMorphingModalWizardOverlayLayer as w } from "../../../chunks/ui/dist/MorphingModalWizard-BuRND-yE.js";
4
+ import { useMorphingModalWizardOverlayLayer as w } from "../../../chunks/ui/dist/MorphingModalWizard-CPLr3dh2.js";
5
5
  import { Label as P } from "../../../ui/label.js";
6
6
  import { useBookingPeriod as H } from "../BookingPeriodContext.js";
7
7
  import { BookingPeriodFieldErrorMessage as U } from "./BookingPeriodFieldErrorMessage.js";
@@ -1,7 +1,7 @@
1
1
  import { jsxs as t, jsx as e } from "react/jsx-runtime";
2
- import { useMediaQuery as H, useThrottledMeasure as q } from "@rpcbase/client";
3
- import { useParams as A, useLocation as W, Link as s } from "@rpcbase/router";
4
- import { useScrollHideOnDown as E, cn as S } from "@rpcbase/ui";
2
+ import { useMediaQuery as A, useThrottledMeasure as H } from "@rpcbase/client";
3
+ import { useParams as W, useLocation as q, Link as s } from "@rpcbase/router";
4
+ import { useScrollHideOnDown as E, cn as $ } from "@rpcbase/ui";
5
5
  import { Bike as F, ShoppingCart as O, ArrowRight as Y } from "lucide-react";
6
6
  import { useTranslation as C } from "react-i18next";
7
7
  import G from "../../chunks/assets/whatsapp.svg-grlzka-t.js";
@@ -10,13 +10,13 @@ import { resolveBookingSearchParamsFromSessionStorage as V } from "../../lib/boo
10
10
  import { Badge as D } from "../../ui/badge.js";
11
11
  import { Button as g } from "../../ui/button.js";
12
12
  import { buildStorefrontImageUrl as J } from "../../lib/storefrontImage.js";
13
- import { getLocalizedValue as _ } from "../../localization.js";
14
- const K = 36, L = (r, n) => {
13
+ import { getLocalizedValue as L } from "../../localization.js";
14
+ const K = 36, _ = (r, a) => {
15
15
  const l = r?.trim() ?? "";
16
- return l ? J(l, n ?? "") : "";
16
+ return l ? J(l, a ?? "") : "";
17
17
  };
18
- function de({ preset: r, storefrontConfiguration: n, whatsappHref: l, whatsappPhoneDisplay: c }) {
19
- const { t: a, i18n: m } = C(), { storeSlug: d } = A(), y = W(), { itemCount: u } = Q(), p = H("(max-width: 640px)"), [B, j] = q(), x = j?.height ?? K, I = E({
18
+ function de({ preset: r, storefrontConfiguration: a, whatsappHref: l, whatsappPhoneDisplay: c }) {
19
+ const { t: n, i18n: m } = C(), { storeSlug: d } = W(), y = q(), { itemCount: u } = Q(), p = A("(max-width: 640px)"), [B, j] = H(), x = j?.height ?? K, I = E({
20
20
  enabled: p,
21
21
  thresholdPx: x
22
22
  }), f = p && I ? `translateY(-${x}px)` : "translateY(0)", z = () => {
@@ -25,7 +25,7 @@ function de({ preset: r, storefrontConfiguration: n, whatsappHref: l, whatsappPh
25
25
  }, i = `/${d ?? ""}`, b = V(
26
26
  new URLSearchParams(y.search),
27
27
  d
28
- ).toString(), o = b ? `?${b}` : "", w = `${i}/booking${o}`, U = `${i}/checkout${o}`, N = n?.shop.name?.trim() || r.name, v = n?.workspace?.workspaceLanguage, M = _(n?.content?.tagline, m.language, v).trim() || r.tagline, P = _(n?.content?.topBannerMessage, m.language, v).trim() || a("top_bar_message"), k = L(n?.content?.logoWideImageId, d), $ = L(n?.content?.logoSquareImageId, d), h = k.length > 0, R = $.length > 0;
28
+ ).toString(), o = b ? `?${b}` : "", w = `${i}/booking${o}`, U = `${i}/checkout${o}`, N = a?.shop.name?.trim() || r.name, v = a?.workspace?.workspaceLanguage, M = L(a?.content?.tagline, m.language, v).trim() || r.tagline, P = L(a?.content?.topBannerMessage, m.language, v).trim() || n("top_bar_message"), k = _(a?.content?.logoWideImageId, d), S = _(a?.content?.logoSquareImageId, d), h = k.length > 0, R = S.length > 0;
29
29
  return /* @__PURE__ */ t("div", { className: "sticky top-0 z-30", children: [
30
30
  /* @__PURE__ */ e("div", { className: "transition-transform duration-300", style: { transform: f }, children: /* @__PURE__ */ e("div", { ref: B, className: "bg-slate-950 text-white", children: /* @__PURE__ */ t("div", { className: "mx-auto flex max-w-7xl items-center justify-between gap-3 px-4 py-2 text-xs sm:px-6", children: [
31
31
  /* @__PURE__ */ e("p", { className: "flex items-center gap-2", children: /* @__PURE__ */ e("span", { children: P }) }),
@@ -46,7 +46,7 @@ function de({ preset: r, storefrontConfiguration: n, whatsappHref: l, whatsappPh
46
46
  href: l,
47
47
  target: "_blank",
48
48
  rel: "noreferrer",
49
- "aria-label": `${a("top_bar_whatsapp")}${c ? ` ${c}` : ""}`,
49
+ "aria-label": `WhatsApp${c ? ` ${c}` : ""}`,
50
50
  children: [
51
51
  /* @__PURE__ */ e("img", { src: G, className: "h-5 w-5 shrink-0", alt: "", "aria-hidden": "true" }),
52
52
  c ? /* @__PURE__ */ e("span", { children: c }) : null
@@ -62,7 +62,7 @@ function de({ preset: r, storefrontConfiguration: n, whatsappHref: l, whatsappPh
62
62
  style: { transform: f },
63
63
  children: /* @__PURE__ */ t("div", { className: "mx-auto flex max-w-7xl items-center justify-between gap-4 px-4 py-3 sm:px-6", children: [
64
64
  /* @__PURE__ */ t(s, { to: i, className: "flex min-w-0 items-center gap-3", children: [
65
- R && !h ? /* @__PURE__ */ e("span", { className: "inline-flex h-9 w-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-slate-200 bg-white", children: /* @__PURE__ */ e("img", { src: $, alt: "", className: "h-full w-full object-contain", "aria-hidden": "true" }) }) : /* @__PURE__ */ e("span", { className: S("inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-slate-950 text-white", h && "hidden"), children: /* @__PURE__ */ e(F, { className: "h-5 w-5", "aria-hidden": "true" }) }),
65
+ R && !h ? /* @__PURE__ */ e("span", { className: "inline-flex h-9 w-9 shrink-0 items-center justify-center overflow-hidden rounded-lg border border-slate-200 bg-white", children: /* @__PURE__ */ e("img", { src: S, alt: "", className: "h-full w-full object-contain", "aria-hidden": "true" }) }) : /* @__PURE__ */ e("span", { className: $("inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl bg-slate-950 text-white", h && "hidden"), children: /* @__PURE__ */ e(F, { className: "h-5 w-5", "aria-hidden": "true" }) }),
66
66
  /* @__PURE__ */ t("span", { className: "flex min-w-0 flex-col leading-tight", children: [
67
67
  h ? /* @__PURE__ */ e(
68
68
  "img",
@@ -76,29 +76,29 @@ function de({ preset: r, storefrontConfiguration: n, whatsappHref: l, whatsappPh
76
76
  ] })
77
77
  ] }),
78
78
  /* @__PURE__ */ t("nav", { className: "hidden items-center gap-6 text-sm font-medium text-slate-700 md:flex", children: [
79
- /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#categories`, children: /* @__PURE__ */ e("span", { children: a("nav_categories") }) }),
80
- /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#featured`, children: /* @__PURE__ */ e("span", { children: a("nav_featured") }) }),
81
- /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: w, children: /* @__PURE__ */ e("span", { children: a("nav_products") }) }),
82
- /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#contact`, children: /* @__PURE__ */ e("span", { children: a("nav_contact") }) })
79
+ /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#categories`, children: /* @__PURE__ */ e("span", { children: n("nav_categories") }) }),
80
+ /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#featured`, children: /* @__PURE__ */ e("span", { children: n("nav_featured") }) }),
81
+ /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: w, children: /* @__PURE__ */ e("span", { children: n("nav_products") }) }),
82
+ /* @__PURE__ */ e(s, { className: "hover:text-slate-950", to: `${i}${o}#contact`, children: /* @__PURE__ */ e("span", { children: n("nav_contact") }) })
83
83
  ] }),
84
84
  /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: [
85
- /* @__PURE__ */ e(g, { variant: "outline", size: "sm", className: "hidden sm:inline-flex", onClick: z, children: /* @__PURE__ */ e("span", { children: a("language_toggle") }) }),
85
+ /* @__PURE__ */ e(g, { variant: "outline", size: "sm", className: "hidden sm:inline-flex", onClick: z, children: /* @__PURE__ */ e("span", { children: n("language_toggle") }) }),
86
86
  /* @__PURE__ */ e(
87
87
  g,
88
88
  {
89
89
  asChild: !0,
90
90
  variant: "outline",
91
91
  size: "sm",
92
- className: S("relative gap-2", u > 0 ? "inline-flex" : "hidden"),
92
+ className: $("relative gap-2", u > 0 ? "inline-flex" : "hidden"),
93
93
  children: /* @__PURE__ */ t(s, { to: U, children: [
94
94
  /* @__PURE__ */ e(O, { className: "h-4 w-4", "aria-hidden": "true" }),
95
- /* @__PURE__ */ e("span", { children: a("cart_button") }),
95
+ /* @__PURE__ */ e("span", { children: n("cart_button") }),
96
96
  /* @__PURE__ */ e(D, { className: "absolute -right-2 -top-2 h-5 min-w-5 rounded-full px-1.5 text-xs", children: /* @__PURE__ */ e("span", { children: u }) })
97
97
  ] })
98
98
  }
99
99
  ),
100
100
  /* @__PURE__ */ e(g, { asChild: !0, size: "sm", className: "gap-2", children: /* @__PURE__ */ t(s, { to: w, children: [
101
- /* @__PURE__ */ e("span", { children: a("cta_book_now") }),
101
+ /* @__PURE__ */ e("span", { children: n("cta_book_now") }),
102
102
  /* @__PURE__ */ e(Y, { className: "h-4 w-4", "aria-hidden": "true" })
103
103
  ] }) })
104
104
  ] })
@@ -1,6 +1,6 @@
1
1
  import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
2
  import { useState as f } from "react";
3
- import { ResponsiveDialog as x, ResponsiveDialogContent as g, ResponsiveDialogHeader as _, ResponsiveDialogTitle as N, ResponsiveDialogDescription as b, ResponsiveDialogFooter as y } from "../../chunks/ui/dist/ResponsiveDialog-D8YzB_3J.js";
3
+ import { ResponsiveDialog as x, ResponsiveDialogContent as g, ResponsiveDialogHeader as _, ResponsiveDialogTitle as N, ResponsiveDialogDescription as b, ResponsiveDialogFooter as y } from "../../chunks/ui/dist/ResponsiveDialog-DhFgsW_0.js";
4
4
  import { cn as v } from "@rpcbase/ui";
5
5
  import { CheckCircle2 as w, Info as d } from "lucide-react";
6
6
  import { useTranslation as T } from "react-i18next";
@@ -1,6 +1,6 @@
1
1
  import { jsx as t, jsxs as m } from "react/jsx-runtime";
2
2
  import { useState as S, useEffect as $ } from "react";
3
- import { ResponsiveDialog as R, ResponsiveDialogContent as E, ResponsiveDialogHeader as D, ResponsiveDialogTitle as I, ResponsiveDialogDescription as P, ResponsiveDialogFooter as O } from "../../chunks/ui/dist/ResponsiveDialog-D8YzB_3J.js";
3
+ import { ResponsiveDialog as R, ResponsiveDialogContent as E, ResponsiveDialogHeader as D, ResponsiveDialogTitle as I, ResponsiveDialogDescription as P, ResponsiveDialogFooter as O } from "../../chunks/ui/dist/ResponsiveDialog-DhFgsW_0.js";
4
4
  import { useParams as j, useLocation as z } from "@rpcbase/router";
5
5
  import { cn as x } from "@rpcbase/ui";
6
6
  import { X as H, Info as L } from "lucide-react";
package/dist/i18n/en.d.ts CHANGED
@@ -4,7 +4,6 @@ export declare const storefront: {
4
4
  slug_label: string;
5
5
  info: string;
6
6
  top_bar_message: string;
7
- top_bar_whatsapp: string;
8
7
  nav_categories: string;
9
8
  nav_featured: string;
10
9
  nav_products: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsZtB,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqZtB,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -4,7 +4,6 @@ const e = {
4
4
  slug_label: "Store path",
5
5
  info: "Each store URL currently renders the same storefront experience.",
6
6
  top_bar_message: "Questions? Contact us to book your bikes in advance.",
7
- top_bar_whatsapp: "WhatsApp",
8
7
  nav_categories: "Categories",
9
8
  nav_featured: "Featured",
10
9
  nav_products: "Bikes",
@@ -34,7 +33,7 @@ const e = {
34
33
  cancellation_policy_duration_hours_other: "{{count}} hours",
35
34
  cancellation_policy_duration_days_one: "{{count}} day",
36
35
  cancellation_policy_duration_days_other: "{{count}} days",
37
- booking_title: "Book now in 2 minutes!",
36
+ booking_title: "Choose your rental dates",
38
37
  booking_subtitle: "Choose dates and times, then browse available bikes.",
39
38
  booking_pickup_label: "Store pickup",
40
39
  booking_delivery_label: "Delivery",
@@ -289,7 +288,7 @@ const e = {
289
288
  footer_brand_title: "Need help choosing?",
290
289
  footer_brand_description: "Contact us and we’ll help you pick the right bikes and accessories.",
291
290
  footer_contact_title: "Contact",
292
- footer_whatsapp_link: "Chat on WhatsApp",
291
+ footer_whatsapp_link: "WhatsApp",
293
292
  footer_hours_title: "Opening hours",
294
293
  footer_business_hours_closed: "Closed",
295
294
  footer_business_hours_weekday_range: "{{start}} - {{end}}",
package/dist/i18n/fr.d.ts CHANGED
@@ -4,7 +4,6 @@ export declare const storefront: {
4
4
  slug_label: string;
5
5
  info: string;
6
6
  top_bar_message: string;
7
- top_bar_whatsapp: string;
8
7
  nav_categories: string;
9
8
  nav_featured: string;
10
9
  nav_products: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsZtB,CAAA"}
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqZtB,CAAA"}
package/dist/i18n/fr.js CHANGED
@@ -3,8 +3,7 @@ const e = {
3
3
  subtitle: "Pages vitrines partagées pour chaque URL de magasin.",
4
4
  slug_label: "Chemin du magasin",
5
5
  info: "Chaque URL de magasin affiche pour l'instant la même expérience vitrine.",
6
- top_bar_message: "Une question ? Contactez-nous pour réserver vos vélos à l’avance.",
7
- top_bar_whatsapp: "WhatsApp",
6
+ top_bar_message: "Contactez-nous pour réserver vos vélos à l’avance.",
8
7
  nav_categories: "Catégories",
9
8
  nav_featured: "Sélection",
10
9
  nav_products: "Vélos",
@@ -22,9 +21,9 @@ const e = {
22
21
  feature_delivery_title: "Livraison disponible",
23
22
  feature_delivery_description: "Demandez les options de livraison à votre adresse.",
24
23
  feature_guarantee_insurance_title: "Garantie et Assurance",
25
- feature_guarantee_insurance_description: "Vous pouvez souscrire à une assurance pour protéger le matériel loué.",
24
+ feature_guarantee_insurance_description: "Vous pouvez souscrire à une assurance pour protéger le matériel loué",
26
25
  cancellation_policy_teaser: "Annulation et remboursement* jusqu'à {{duration}} à l'avance",
27
- cancellation_policy_teaser_description: "Vous pouvez annuler ou modifier votre réservation jusqu'à {{duration}} avant son début.",
26
+ cancellation_policy_teaser_description: "Vous pouvez annuler ou modifier votre réservation jusqu'à {{duration}} avant son début",
28
27
  cancellation_policy_info_aria_label: "Afficher les conditions d'annulation",
29
28
  cancellation_policy_modal_title: "Conditions d'annulation",
30
29
  cancellation_policy_modal_description: "Le remboursement dépend du délai entre l'annulation et le début de la réservation.",
@@ -34,7 +33,7 @@ const e = {
34
33
  cancellation_policy_duration_hours_other: "{{count}} heures",
35
34
  cancellation_policy_duration_days_one: "{{count}} jour",
36
35
  cancellation_policy_duration_days_other: "{{count}} jours",
37
- booking_title: "Réservez en 2 minutes !",
36
+ booking_title: "Choisissez vos dates de location",
38
37
  booking_subtitle: "Choisissez les dates et horaires, puis parcourez les vélos disponibles.",
39
38
  booking_pickup_label: "Retrait en boutique",
40
39
  booking_delivery_label: "Livraison",
@@ -289,7 +288,7 @@ const e = {
289
288
  footer_brand_title: "Besoin de conseils ?",
290
289
  footer_brand_description: "Contactez-nous, on vous aide à choisir les bons vélos et accessoires.",
291
290
  footer_contact_title: "Contact",
292
- footer_whatsapp_link: "Discuter sur WhatsApp",
291
+ footer_whatsapp_link: "WhatsApp",
293
292
  footer_hours_title: "Horaires d’ouverture",
294
293
  footer_business_hours_closed: "Fermé",
295
294
  footer_business_hours_weekday_range: "{{start}} - {{end}}",
package/dist/index.d.ts CHANGED
@@ -298,10 +298,6 @@ export declare const baseBookingItemSchema: z.ZodObject<{
298
298
  }>;
299
299
  qty: z.ZodNumber;
300
300
  productVariantId: z.ZodOptional<z.ZodString>;
301
- productShortCode: z.ZodOptional<z.ZodString>;
302
- productName: z.ZodOptional<z.ZodString>;
303
- productVariantName: z.ZodOptional<z.ZodString>;
304
- productVariantCode: z.ZodOptional<z.ZodString>;
305
301
  }, z.core.$strip>;
306
302
 
307
303
  export declare const baseBookingSchema: z.ZodObject<{
@@ -346,10 +342,6 @@ export declare const baseBookingSchema: z.ZodObject<{
346
342
  }>;
347
343
  qty: z.ZodNumber;
348
344
  productVariantId: z.ZodOptional<z.ZodString>;
349
- productShortCode: z.ZodOptional<z.ZodString>;
350
- productName: z.ZodOptional<z.ZodString>;
351
- productVariantName: z.ZodOptional<z.ZodString>;
352
- productVariantCode: z.ZodOptional<z.ZodString>;
353
345
  }, z.core.$strip>>;
354
346
  couponCode: z.ZodOptional<z.ZodString>;
355
347
  couponDiscountRate: z.ZodOptional<z.ZodNumber>;
@@ -3455,7 +3447,6 @@ export declare const storefrontEn: {
3455
3447
  slug_label: string;
3456
3448
  info: string;
3457
3449
  top_bar_message: string;
3458
- top_bar_whatsapp: string;
3459
3450
  nav_categories: string;
3460
3451
  nav_featured: string;
3461
3452
  nav_products: string;
@@ -3894,7 +3885,6 @@ export declare const storefrontFr: {
3894
3885
  slug_label: string;
3895
3886
  info: string;
3896
3887
  top_bar_message: string;
3897
- top_bar_whatsapp: string;
3898
3888
  nav_categories: string;
3899
3889
  nav_featured: string;
3900
3890
  nav_products: string;
package/dist/index.js CHANGED
@@ -43,7 +43,7 @@ import "react-i18next";
43
43
  import { getLocalizedEntry as gt, getLocalizedValue as Pt } from "./localization.js";
44
44
  import { Badge as xt, badgeVariants as Ct } from "./ui/badge.js";
45
45
  import { Button as Dt, buttonVariants as At } from "./ui/button.js";
46
- import "./chunks/ui/dist/ResponsiveDialog-D8YzB_3J.js";
46
+ import "./chunks/ui/dist/ResponsiveDialog-DhFgsW_0.js";
47
47
  import { Card as Et, CardAction as bt, CardContent as Bt, CardDescription as kt, CardFooter as yt, CardHeader as It, CardTitle as _t } from "./ui/card.js";
48
48
  import { loader as Mt, useOptionalStorefront as Lt, useStorefront as Ut, useStorefrontBookingProducts as vt, useStorefrontConfig as Nt, useStorefrontProducts as qt, useStorefrontWorkspaceLanguage as Vt } from "./StorefrontProvider.js";
49
49
  import { RadioGroup as zt, RadioGroupItem as Ht } from "./ui/radio-group.js";
@@ -68,7 +68,7 @@ import { PRODUCT_VARIANT_CODE_IDENTIFIER_KIND as pa, PRODUCT_VARIANT_CODE_MAX_LE
68
68
  import { createLocalizedStringEntry as Ba, getLocalizedStringValue as ka, localizedStringArraySchema as ya, localizedStringEntrySchema as Ia, localizedStringSchema as _a } from "./chunks/booking-engine/dist/models/LocalizedString--6q77SPQ.js";
69
69
  import { priceSchema as Ma, priceUnitSchema as La } from "./chunks/booking-engine/dist/models/Price-BlFRDHXV.js";
70
70
  import { baseAssetSchema as va, baseAssetStatusSchema as Na } from "./chunks/booking-engine/dist/schemas/base-asset-GJ9eIvIL.js";
71
- import { baseBookingItemSchema as Va, baseBookingSchema as wa, baseBookingStateSchema as za } from "./chunks/booking-engine/dist/schemas/base-booking-BMAjsw9r.js";
71
+ import { baseBookingItemSchema as Va, baseBookingSchema as wa, baseBookingStateSchema as za } from "./chunks/booking-engine/dist/schemas/base-booking-Dlgnuu6k.js";
72
72
  import { richTextJsonDocSchema as Ka, richTextSchema as Wa, richTextVersionSchema as Ga } from "./chunks/booking-engine/dist/schemas/rich-text-CqXhNDN3.js";
73
73
  import { currencyCodeSchema as Ja, currencyMinorUnitDigits as ja, majorToMinor as Qa, minorToMajor as Xa, moneyMinorSchema as Za, signedMoneyMinorSchema as $a } from "./chunks/booking-engine/dist/schemas/money-Dy4b9loa.js";
74
74
  import { isoDateSchema as oc, shopConfigurationSchema as tc, shopExtraTimeSlotRuleSchema as rc, shopOpeningDayIndexSchema as ac, shopOpeningDaySchema as cc, shopOpeningHoursOverrideSchema as nc, shopOpeningHoursPeriodSchema as ic, shopOpeningSlotSchema as mc, timeOfDaySchema as Sc } from "./chunks/booking-engine/dist/schemas/shop-opening-hours-DqNWstqT.js";
@@ -4,7 +4,7 @@ import { productKindSchema as o } from "../chunks/booking-engine/dist/models/Pro
4
4
  import "../chunks/booking-engine/dist/models/LocalizedString--6q77SPQ.js";
5
5
  import "../chunks/booking-engine/dist/models/Price-BlFRDHXV.js";
6
6
  import "../chunks/booking-engine/dist/schemas/base-asset-GJ9eIvIL.js";
7
- import "../chunks/booking-engine/dist/schemas/base-booking-BMAjsw9r.js";
7
+ import "../chunks/booking-engine/dist/schemas/base-booking-Dlgnuu6k.js";
8
8
  import "../chunks/booking-engine/dist/schemas/rich-text-CqXhNDN3.js";
9
9
  import "../chunks/booking-engine/dist/schemas/money-Dy4b9loa.js";
10
10
  import "../chunks/booking-engine/dist/schemas/shop-opening-hours-DqNWstqT.js";