@loczer/storefront-sdk 0.215.0 → 0.217.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/components/BookingBikeQuickAddCard/index.js +1 -1
  2. package/dist/components/BookingBikeVariantDialog/index.js +1 -1
  3. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.d.ts.map +1 -1
  4. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +82 -83
  5. package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.d.ts +5 -1
  6. package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.d.ts.map +1 -1
  7. package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.js +135 -149
  8. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.d.ts.map +1 -1
  9. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +34 -35
  10. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
  11. package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +233 -228
  12. package/dist/components/ContactSection/index.js +1 -1
  13. package/dist/components/Footer/BusinessHours.d.ts +2 -9
  14. package/dist/components/Footer/BusinessHours.d.ts.map +1 -1
  15. package/dist/components/Footer/BusinessHours.js +48 -91
  16. package/dist/components/Footer/BusinessHoursOverviewDialog.d.ts +11 -0
  17. package/dist/components/Footer/BusinessHoursOverviewDialog.d.ts.map +1 -0
  18. package/dist/components/Footer/BusinessHoursOverviewDialog.js +161 -0
  19. package/dist/components/Footer/businessHoursUtils.d.ts +37 -1
  20. package/dist/components/Footer/businessHoursUtils.d.ts.map +1 -1
  21. package/dist/components/Footer/businessHoursUtils.js +112 -15
  22. package/dist/components/Footer/index.d.ts.map +1 -1
  23. package/dist/components/Footer/index.js +78 -94
  24. package/dist/components/payment/StripeCardFieldsForm.d.ts.map +1 -1
  25. package/dist/components/payment/StripeCardFieldsForm.js +43 -33
  26. package/dist/i18n/en.d.ts +5 -0
  27. package/dist/i18n/en.d.ts.map +1 -1
  28. package/dist/i18n/en.js +5 -0
  29. package/dist/i18n/fr.d.ts +5 -0
  30. package/dist/i18n/fr.d.ts.map +1 -1
  31. package/dist/i18n/fr.js +5 -0
  32. package/dist/index.d.ts +15 -1
  33. package/dist/pages/BookingPage.d.ts.map +1 -1
  34. package/dist/pages/BookingPage.js +244 -216
  35. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  36. package/dist/pages/CheckoutPage.js +219 -219
  37. package/dist/pages/HomePage.d.ts.map +1 -1
  38. package/dist/pages/HomePage.js +377 -328
  39. package/dist/pages/ProductPage.d.ts.map +1 -1
  40. package/dist/pages/ProductPage.js +182 -182
  41. package/dist/storefront.css +1 -1
  42. package/dist/ui/drawer.d.ts +1 -0
  43. package/dist/ui/drawer.d.ts.map +1 -1
  44. package/dist/ui/drawer.js +13 -13
  45. package/package.json +1 -1
@@ -1,172 +1,156 @@
1
1
  import { resolveStorefrontMapsHref as e, resolveStorefrontPhoneContact as t } from "../../lib/storefrontContact.js";
2
2
  import n from "../../chunks/assets/whatsapp-m5e0vjnZ.js";
3
3
  import { MISSING_SHOP_ADDRESS as r, MISSING_SHOP_EMAIL as i, MISSING_SHOP_PHONE_NUMBER as a } from "../../lib/storefrontMissingValues.js";
4
- import { BusinessHours as o } from "./BusinessHours.js";
5
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
- import { Link as l } from "@rpcbase/router";
7
- import { useTranslation as u } from "react-i18next";
8
- import { cn as d } from "@rpcbase/ui";
9
- import { Clock as f, Mail as p, MapPin as m, Phone as h } from "lucide-react";
4
+ import { normalizeStorefrontOpeningHours as o, normalizeStorefrontOpeningHoursOverrides as s } from "./businessHoursUtils.js";
5
+ import { BusinessHours as c } from "./BusinessHours.js";
6
+ import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
+ import { Link as d } from "@rpcbase/router";
8
+ import { useTranslation as f } from "react-i18next";
9
+ import { cn as p } from "@rpcbase/ui";
10
+ import { Clock as m, Mail as h, MapPin as g, Phone as _ } from "lucide-react";
10
11
  //#region src/components/Footer/index.tsx
11
- var g = "group inline-flex gap-2 text-sm font-normal text-slate-600 decoration-current underline-offset-4 transition-colors hover:text-slate-800 hover:underline", _ = "inline-flex text-sm font-normal text-slate-600 decoration-current underline-offset-4 transition-colors hover:text-slate-800 hover:underline", v = "mt-0.5 inline-flex h-4 w-4 flex-shrink-0 items-center justify-center text-current transition-colors", y = (e) => (Math.trunc(e) % 7 + 7) % 7, b = (e) => Array.isArray(e) ? e.map((e) => ({
12
- name: e.name,
13
- startDate: e.startDate,
14
- endDate: e.endDate,
15
- openingHours: e.openingHours.map((e) => ({
16
- day: y(e.day),
17
- openingSlots: e.openingSlots.map((e) => ({
18
- start: e.start,
19
- end: e.end
20
- }))
21
- }))
22
- })) : [], x = (e) => Array.isArray(e) ? e.map((e) => ({
23
- date: e.date,
24
- openingSlots: e.openingSlots.map((e) => ({
25
- start: e.start,
26
- end: e.end
27
- }))
28
- })) : [];
29
- function S({ storeSlug: y, shop: S, whatsappHref: C, whatsappPhoneDisplay: w, openingHours: T, openingHoursOverrides: E }) {
30
- let { t: D } = u(), O = t(S), k = S?.emailAddress?.trim() ?? "", A = S?.address?.trim() ?? "", j = e(S), M = b(T), N = x(E), P = M.length > 0, F = y?.trim() || S?.slug?.trim() || "", I = F ? `/${encodeURIComponent(F)}/rental-terms` : "rental-terms";
31
- return /* @__PURE__ */ s("footer", {
12
+ var v = "group inline-flex gap-2 text-sm font-normal text-slate-600 decoration-current underline-offset-4 transition-colors hover:text-slate-800 hover:underline", y = "inline-flex text-sm font-normal text-slate-600 decoration-current underline-offset-4 transition-colors hover:text-slate-800 hover:underline", b = "mt-0.5 inline-flex h-4 w-4 flex-shrink-0 items-center justify-center text-current transition-colors";
13
+ function x({ storeSlug: x, shop: S, whatsappHref: C, whatsappPhoneDisplay: w, openingHours: T, openingHoursOverrides: E }) {
14
+ let { t: D } = f(), O = t(S), k = S?.emailAddress?.trim() ?? "", A = S?.address?.trim() ?? "", j = e(S), M = o(T), N = s(E), P = M.length > 0, F = x?.trim() || S?.slug?.trim() || "", I = F ? `/${encodeURIComponent(F)}/rental-terms` : "rental-terms";
15
+ return /* @__PURE__ */ l("footer", {
32
16
  className: "border-t bg-white",
33
- children: /* @__PURE__ */ c("div", {
17
+ children: /* @__PURE__ */ u("div", {
34
18
  className: "mx-auto grid max-w-7xl gap-8 px-4 py-10 sm:px-6 md:grid-cols-3",
35
19
  children: [
36
- /* @__PURE__ */ c("div", {
20
+ /* @__PURE__ */ u("div", {
37
21
  className: "space-y-2",
38
- children: [/* @__PURE__ */ s("p", {
22
+ children: [/* @__PURE__ */ l("p", {
39
23
  className: "text-sm font-semibold text-slate-950",
40
- children: /* @__PURE__ */ s("span", { children: D("footer_information_title") })
41
- }), /* @__PURE__ */ s("nav", {
24
+ children: /* @__PURE__ */ l("span", { children: D("footer_information_title") })
25
+ }), /* @__PURE__ */ l("nav", {
42
26
  className: "grid gap-2",
43
27
  "aria-label": D("footer_information_title"),
44
- children: /* @__PURE__ */ s(l, {
45
- className: _,
28
+ children: /* @__PURE__ */ l(d, {
29
+ className: y,
46
30
  to: I,
47
- children: /* @__PURE__ */ s("span", { children: D("rental_terms_title") })
31
+ children: /* @__PURE__ */ l("span", { children: D("rental_terms_title") })
48
32
  })
49
33
  })]
50
34
  }),
51
- /* @__PURE__ */ c("div", {
35
+ /* @__PURE__ */ u("div", {
52
36
  className: "space-y-2",
53
- children: [/* @__PURE__ */ s("p", {
37
+ children: [/* @__PURE__ */ l("p", {
54
38
  className: "text-sm font-semibold text-slate-950",
55
- children: /* @__PURE__ */ s("span", { children: D("footer_contact_title") })
56
- }), /* @__PURE__ */ c("div", {
39
+ children: /* @__PURE__ */ l("span", { children: D("footer_contact_title") })
40
+ }), /* @__PURE__ */ u("div", {
57
41
  className: "grid gap-2",
58
42
  children: [
59
- C ? /* @__PURE__ */ c("a", {
60
- className: d(g, "items-center"),
43
+ C ? /* @__PURE__ */ u("a", {
44
+ className: p(v, "items-center"),
61
45
  href: C,
62
46
  target: "_blank",
63
47
  rel: "noreferrer",
64
48
  children: [
65
- /* @__PURE__ */ s("span", {
66
- className: d(v, "h-5 w-5"),
67
- children: /* @__PURE__ */ s("img", {
49
+ /* @__PURE__ */ l("span", {
50
+ className: p(b, "h-5 w-5"),
51
+ children: /* @__PURE__ */ l("img", {
68
52
  src: n,
69
53
  className: "h-5 w-5 shrink-0",
70
54
  alt: "",
71
55
  "aria-hidden": "true"
72
56
  })
73
57
  }),
74
- /* @__PURE__ */ s("span", { children: D("footer_whatsapp_link") }),
75
- w ? /* @__PURE__ */ s("span", {
58
+ /* @__PURE__ */ l("span", { children: D("footer_whatsapp_link") }),
59
+ w ? /* @__PURE__ */ l("span", {
76
60
  className: "text-slate-500",
77
61
  children: w
78
62
  }) : null
79
63
  ]
80
64
  }) : null,
81
- O ? /* @__PURE__ */ c("a", {
82
- className: d(g, "items-center"),
65
+ O ? /* @__PURE__ */ u("a", {
66
+ className: p(v, "items-center"),
83
67
  href: O.href,
84
68
  "aria-label": O.phoneDisplay,
85
- children: [/* @__PURE__ */ s("span", {
86
- className: v,
87
- children: /* @__PURE__ */ s(h, {
69
+ children: [/* @__PURE__ */ l("span", {
70
+ className: b,
71
+ children: /* @__PURE__ */ l(_, {
88
72
  className: "h-4 w-4",
89
73
  "aria-hidden": "true"
90
74
  })
91
- }), /* @__PURE__ */ s("span", { children: O.phoneDisplay })]
92
- }) : /* @__PURE__ */ c("div", {
93
- className: d(g, "items-center text-destructive hover:text-destructive hover:no-underline"),
94
- children: [/* @__PURE__ */ s("span", {
95
- className: v,
96
- children: /* @__PURE__ */ s(h, {
75
+ }), /* @__PURE__ */ l("span", { children: O.phoneDisplay })]
76
+ }) : /* @__PURE__ */ u("div", {
77
+ className: p(v, "items-center text-destructive hover:text-destructive hover:no-underline"),
78
+ children: [/* @__PURE__ */ l("span", {
79
+ className: b,
80
+ children: /* @__PURE__ */ l(_, {
97
81
  className: "h-4 w-4",
98
82
  "aria-hidden": "true"
99
83
  })
100
- }), /* @__PURE__ */ s("span", { children: a })]
84
+ }), /* @__PURE__ */ l("span", { children: a })]
101
85
  }),
102
- k ? /* @__PURE__ */ c("a", {
103
- className: d(g, "items-center"),
86
+ k ? /* @__PURE__ */ u("a", {
87
+ className: p(v, "items-center"),
104
88
  href: `mailto:${k}`,
105
89
  "aria-label": k,
106
- children: [/* @__PURE__ */ s("span", {
107
- className: v,
108
- children: /* @__PURE__ */ s(p, {
90
+ children: [/* @__PURE__ */ l("span", {
91
+ className: b,
92
+ children: /* @__PURE__ */ l(h, {
109
93
  className: "h-4 w-4",
110
94
  "aria-hidden": "true"
111
95
  })
112
- }), /* @__PURE__ */ s("span", { children: k })]
113
- }) : /* @__PURE__ */ c("div", {
114
- className: d(g, "items-center text-destructive hover:text-destructive hover:no-underline"),
115
- children: [/* @__PURE__ */ s("span", {
116
- className: v,
117
- children: /* @__PURE__ */ s(p, {
96
+ }), /* @__PURE__ */ l("span", { children: k })]
97
+ }) : /* @__PURE__ */ u("div", {
98
+ className: p(v, "items-center text-destructive hover:text-destructive hover:no-underline"),
99
+ children: [/* @__PURE__ */ l("span", {
100
+ className: b,
101
+ children: /* @__PURE__ */ l(h, {
118
102
  className: "h-4 w-4",
119
103
  "aria-hidden": "true"
120
104
  })
121
- }), /* @__PURE__ */ s("span", { children: i })]
105
+ }), /* @__PURE__ */ l("span", { children: i })]
122
106
  }),
123
- j && A ? /* @__PURE__ */ c("a", {
124
- className: d(g, "items-start"),
107
+ j && A ? /* @__PURE__ */ u("a", {
108
+ className: p(v, "items-start"),
125
109
  href: j,
126
110
  target: "_blank",
127
111
  rel: "noreferrer",
128
- children: [/* @__PURE__ */ s("span", {
129
- className: v,
130
- children: /* @__PURE__ */ s(m, {
112
+ children: [/* @__PURE__ */ l("span", {
113
+ className: b,
114
+ children: /* @__PURE__ */ l(g, {
131
115
  className: "h-4 w-4",
132
116
  "aria-hidden": "true"
133
117
  })
134
- }), /* @__PURE__ */ s("span", { children: A })]
135
- }) : /* @__PURE__ */ c("div", {
136
- className: d(g, "items-start text-destructive hover:text-destructive hover:no-underline"),
137
- children: [/* @__PURE__ */ s("span", {
138
- className: v,
139
- children: /* @__PURE__ */ s(m, {
118
+ }), /* @__PURE__ */ l("span", { children: A })]
119
+ }) : /* @__PURE__ */ u("div", {
120
+ className: p(v, "items-start text-destructive hover:text-destructive hover:no-underline"),
121
+ children: [/* @__PURE__ */ l("span", {
122
+ className: b,
123
+ children: /* @__PURE__ */ l(g, {
140
124
  className: "h-4 w-4",
141
125
  "aria-hidden": "true"
142
126
  })
143
- }), /* @__PURE__ */ s("span", { children: r })]
127
+ }), /* @__PURE__ */ l("span", { children: r })]
144
128
  })
145
129
  ]
146
130
  })]
147
131
  }),
148
- /* @__PURE__ */ c("div", {
132
+ /* @__PURE__ */ u("div", {
149
133
  className: "space-y-2",
150
- children: [/* @__PURE__ */ s("p", {
134
+ children: [/* @__PURE__ */ l("p", {
151
135
  className: "text-sm font-semibold text-slate-950",
152
- children: /* @__PURE__ */ s("span", { children: D("footer_hours_title") })
153
- }), P ? /* @__PURE__ */ s(o, {
136
+ children: /* @__PURE__ */ l("span", { children: D("footer_hours_title") })
137
+ }), P ? /* @__PURE__ */ l(c, {
154
138
  openingHours: M,
155
139
  openingHoursOverrides: N
156
- }) : /* @__PURE__ */ c("div", {
140
+ }) : /* @__PURE__ */ u("div", {
157
141
  className: "grid gap-1 text-sm text-slate-700",
158
- children: [/* @__PURE__ */ c("p", {
142
+ children: [/* @__PURE__ */ u("p", {
159
143
  className: "inline-flex items-center gap-2",
160
- children: [/* @__PURE__ */ s(f, {
144
+ children: [/* @__PURE__ */ l(m, {
161
145
  className: "h-4 w-4 text-slate-400",
162
146
  "aria-hidden": "true"
163
- }), /* @__PURE__ */ s("span", { children: D("footer_hours_week") })]
164
- }), /* @__PURE__ */ c("p", {
147
+ }), /* @__PURE__ */ l("span", { children: D("footer_hours_week") })]
148
+ }), /* @__PURE__ */ u("p", {
165
149
  className: "inline-flex items-center gap-2",
166
- children: [/* @__PURE__ */ s(f, {
150
+ children: [/* @__PURE__ */ l(m, {
167
151
  className: "h-4 w-4 text-slate-400",
168
152
  "aria-hidden": "true"
169
- }), /* @__PURE__ */ s("span", { children: D("footer_hours_weekend") })]
153
+ }), /* @__PURE__ */ l("span", { children: D("footer_hours_weekend") })]
170
154
  })]
171
155
  })]
172
156
  })
@@ -175,4 +159,4 @@ function S({ storeSlug: y, shop: S, whatsappHref: C, whatsappPhoneDisplay: w, op
175
159
  });
176
160
  }
177
161
  //#endregion
178
- export { S as Footer };
162
+ export { x as Footer };
@@ -1 +1 @@
1
- {"version":3,"file":"StripeCardFieldsForm.d.ts","sourceRoot":"","sources":["../../../src/components/payment/StripeCardFieldsForm.tsx"],"names":[],"mappings":"AAWA,KAAK,iCAAiC,GAAG;IACvC,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxE,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAU,EACV,YAAmB,EACnB,QAAgB,EAChB,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,yBAAyB,2CA2H3B"}
1
+ {"version":3,"file":"StripeCardFieldsForm.d.ts","sourceRoot":"","sources":["../../../src/components/payment/StripeCardFieldsForm.tsx"],"names":[],"mappings":"AAmBA,KAAK,iCAAiC,GAAG;IACvC,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,CAAC,OAAO,EAAE,iCAAiC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxE,CAAA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAU,EACV,YAAmB,EACnB,QAAgB,EAChB,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,yBAAyB,2CA2H3B"}
@@ -8,30 +8,31 @@ import { useTranslation as s } from "react-i18next";
8
8
  import { CreditCard as c } from "lucide-react";
9
9
  import { CardCvcElement as l, CardExpiryElement as u, CardNumberElement as d, useElements as f, useStripe as p } from "@stripe/react-stripe-js";
10
10
  //#region src/components/payment/StripeCardFieldsForm.tsx
11
- function m({ email: m = "", requireEmail: h = !0, disabled: g = !1, submitLabel: _, submittingLabel: v, onSubmit: y }) {
12
- let { t: b } = s(), x = p(), S = f(), [C, w] = i(""), [T, E] = i(!1), [D, O] = i(null);
11
+ var m = { style: { base: { fontSize: "16px" } } };
12
+ function h({ email: h = "", requireEmail: g = !0, disabled: _ = !1, submitLabel: v, submittingLabel: y, onSubmit: b }) {
13
+ let { t: x } = s(), S = p(), C = f(), [w, T] = i(""), [E, D] = i(!1), [O, k] = i(null);
13
14
  return /* @__PURE__ */ o("form", {
14
15
  onSubmit: async (e) => {
15
- if (e.preventDefault(), !x || !S) {
16
- O(b("secure_payment_link.errors.stripe_not_ready"));
16
+ if (e.preventDefault(), !S || !C) {
17
+ k(x("secure_payment_link.errors.stripe_not_ready"));
17
18
  return;
18
19
  }
19
- let t = m.trim(), n = C.trim();
20
+ let t = h.trim(), n = w.trim();
20
21
  if (!n) {
21
- O(b("secure_payment_link.form.name_required"));
22
+ k(x("secure_payment_link.form.name_required"));
22
23
  return;
23
24
  }
24
- if (h && !t) {
25
- O(b("secure_payment_link.form.email_required"));
25
+ if (g && !t) {
26
+ k(x("secure_payment_link.form.email_required"));
26
27
  return;
27
28
  }
28
- let r = S.getElement(d);
29
+ let r = C.getElement(d);
29
30
  if (!r) {
30
- O(b("secure_payment_link.errors.stripe_not_ready"));
31
+ k(x("secure_payment_link.errors.stripe_not_ready"));
31
32
  return;
32
33
  }
33
- E(!0), O(null);
34
- let i = await x.createPaymentMethod({
34
+ D(!0), k(null);
35
+ let i = await S.createPaymentMethod({
35
36
  type: "card",
36
37
  card: r,
37
38
  billing_details: {
@@ -40,19 +41,19 @@ function m({ email: m = "", requireEmail: h = !0, disabled: g = !1, submitLabel:
40
41
  }
41
42
  });
42
43
  if (i.error || !i.paymentMethod) {
43
- E(!1), O(i.error?.message ?? b("secure_payment_link.errors.payment_failed"));
44
+ D(!1), k(i.error?.message ?? x("secure_payment_link.errors.payment_failed"));
44
45
  return;
45
46
  }
46
47
  try {
47
- await y({
48
+ await b({
48
49
  paymentMethodId: i.paymentMethod.id,
49
50
  cardholderName: n,
50
51
  email: t || void 0
51
52
  });
52
53
  } catch (e) {
53
- O(e instanceof Error ? e.message : b("secure_payment_link.errors.payment_failed"));
54
+ k(e instanceof Error ? e.message : x("secure_payment_link.errors.payment_failed"));
54
55
  } finally {
55
- E(!1);
56
+ D(!1);
56
57
  }
57
58
  },
58
59
  className: "grid gap-3",
@@ -61,25 +62,28 @@ function m({ email: m = "", requireEmail: h = !0, disabled: g = !1, submitLabel:
61
62
  className: "space-y-1",
62
63
  children: [/* @__PURE__ */ a(t, {
63
64
  htmlFor: "payment-cardholder-name",
64
- children: /* @__PURE__ */ a("span", { children: b("secure_payment_link.form.cardholder_name_label") })
65
+ children: /* @__PURE__ */ a("span", { children: x("secure_payment_link.form.cardholder_name_label") })
65
66
  }), /* @__PURE__ */ a(n, {
66
67
  id: "payment-cardholder-name",
67
- value: C,
68
+ value: w,
68
69
  onChange: (e) => {
69
- w(e.target.value);
70
+ T(e.target.value);
70
71
  },
71
- placeholder: b("secure_payment_link.form.cardholder_name_placeholder"),
72
- disabled: g || T
72
+ placeholder: x("secure_payment_link.form.cardholder_name_placeholder"),
73
+ disabled: _ || E
73
74
  })]
74
75
  }),
75
76
  /* @__PURE__ */ o("div", {
76
77
  className: "space-y-1",
77
78
  children: [/* @__PURE__ */ a(t, {
78
79
  htmlFor: "payment-card-number",
79
- children: /* @__PURE__ */ a("span", { children: b("secure_payment_link.form.card_number_label") })
80
+ children: /* @__PURE__ */ a("span", { children: x("secure_payment_link.form.card_number_label") })
80
81
  }), /* @__PURE__ */ a("div", {
81
82
  className: "rounded-md border border-slate-200 bg-white px-3 py-2",
82
- children: /* @__PURE__ */ a(d, { id: "payment-card-number" })
83
+ children: /* @__PURE__ */ a(d, {
84
+ id: "payment-card-number",
85
+ options: m
86
+ })
83
87
  })]
84
88
  }),
85
89
  /* @__PURE__ */ o("div", {
@@ -88,40 +92,46 @@ function m({ email: m = "", requireEmail: h = !0, disabled: g = !1, submitLabel:
88
92
  className: "space-y-1",
89
93
  children: [/* @__PURE__ */ a(t, {
90
94
  htmlFor: "payment-card-expiry",
91
- children: /* @__PURE__ */ a("span", { children: b("secure_payment_link.form.card_expiry_label") })
95
+ children: /* @__PURE__ */ a("span", { children: x("secure_payment_link.form.card_expiry_label") })
92
96
  }), /* @__PURE__ */ a("div", {
93
97
  className: "rounded-md border border-slate-200 bg-white px-3 py-2",
94
- children: /* @__PURE__ */ a(u, { id: "payment-card-expiry" })
98
+ children: /* @__PURE__ */ a(u, {
99
+ id: "payment-card-expiry",
100
+ options: m
101
+ })
95
102
  })]
96
103
  }), /* @__PURE__ */ o("div", {
97
104
  className: "space-y-1",
98
105
  children: [/* @__PURE__ */ a(t, {
99
106
  htmlFor: "payment-card-cvc",
100
- children: /* @__PURE__ */ a("span", { children: b("secure_payment_link.form.card_cvc_label") })
107
+ children: /* @__PURE__ */ a("span", { children: x("secure_payment_link.form.card_cvc_label") })
101
108
  }), /* @__PURE__ */ a("div", {
102
109
  className: "rounded-md border border-slate-200 bg-white px-3 py-2",
103
- children: /* @__PURE__ */ a(l, { id: "payment-card-cvc" })
110
+ children: /* @__PURE__ */ a(l, {
111
+ id: "payment-card-cvc",
112
+ options: m
113
+ })
104
114
  })]
105
115
  })]
106
116
  }),
107
- D ? /* @__PURE__ */ a("p", {
117
+ O ? /* @__PURE__ */ a("p", {
108
118
  className: "text-sm text-destructive",
109
- children: /* @__PURE__ */ a("span", { children: D })
119
+ children: /* @__PURE__ */ a("span", { children: O })
110
120
  }) : null,
111
121
  /* @__PURE__ */ o(e, {
112
122
  type: "submit",
113
- disabled: g || T || !x || !S,
123
+ disabled: _ || E || !S || !C,
114
124
  className: "gap-2",
115
- children: [T ? /* @__PURE__ */ a(r, {
125
+ children: [E ? /* @__PURE__ */ a(r, {
116
126
  className: "size-4",
117
127
  "aria-hidden": "true"
118
128
  }) : /* @__PURE__ */ a(c, {
119
129
  className: "h-4 w-4",
120
130
  "aria-hidden": "true"
121
- }), /* @__PURE__ */ a("span", { children: T ? v ?? b("secure_payment_link.form.submitting_button") : _ ?? b("secure_payment_link.form.submit_button") })]
131
+ }), /* @__PURE__ */ a("span", { children: E ? y ?? x("secure_payment_link.form.submitting_button") : v ?? x("secure_payment_link.form.submit_button") })]
122
132
  })
123
133
  ]
124
134
  });
125
135
  }
126
136
  //#endregion
127
- export { m as StripeCardFieldsForm };
137
+ export { h as StripeCardFieldsForm };
package/dist/i18n/en.d.ts CHANGED
@@ -19,6 +19,11 @@ export declare const storefront: {
19
19
  checkout_button: string;
20
20
  storefront_popup_title_fallback: string;
21
21
  status_open: string;
22
+ business_hours_modal_title: string;
23
+ business_hours_modal_description: string;
24
+ business_hours_google_maps_note: string;
25
+ business_hours_exceptions_title: string;
26
+ business_hours_exceptions_description: string;
22
27
  hero_title: string;
23
28
  hero_description: string;
24
29
  feature_secure_payment_title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwftB,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ftB,CAAA"}
package/dist/i18n/en.js CHANGED
@@ -20,6 +20,11 @@ var e = {
20
20
  checkout_button: "Checkout",
21
21
  storefront_popup_title_fallback: "Update",
22
22
  status_open: "Currently open",
23
+ business_hours_modal_title: "Opening hours by season",
24
+ business_hours_modal_description: "See seasonal opening times and upcoming special hours.",
25
+ business_hours_google_maps_note: "Always check the latest hours on Google Maps to confirm hours.",
26
+ business_hours_exceptions_title: "Special opening hours",
27
+ business_hours_exceptions_description: "These hours replace the usual seasonal schedule on the dates shown.",
23
28
  hero_title: "Book your bike in minutes",
24
29
  hero_description: "Pick your dates, then choose the right bike for your trip.",
25
30
  feature_secure_payment_title: "Secure payment",
package/dist/i18n/fr.d.ts CHANGED
@@ -19,6 +19,11 @@ export declare const storefront: {
19
19
  checkout_button: string;
20
20
  storefront_popup_title_fallback: string;
21
21
  status_open: string;
22
+ business_hours_modal_title: string;
23
+ business_hours_modal_description: string;
24
+ business_hours_google_maps_note: string;
25
+ business_hours_exceptions_title: string;
26
+ business_hours_exceptions_description: string;
22
27
  hero_title: string;
23
28
  hero_description: string;
24
29
  feature_secure_payment_title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyftB,CAAA"}
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ftB,CAAA"}
package/dist/i18n/fr.js CHANGED
@@ -20,6 +20,11 @@ var e = {
20
20
  checkout_button: "Commander",
21
21
  storefront_popup_title_fallback: "Information",
22
22
  status_open: "Ouvert en ce moment",
23
+ business_hours_modal_title: "Horaires par saison",
24
+ business_hours_modal_description: "Consultez les horaires par saison et les prochains horaires exceptionnels.",
25
+ business_hours_google_maps_note: "Vérifiez toujours les derniers horaires sur Google Maps pour confirmer les horaires.",
26
+ business_hours_exceptions_title: "Horaires exceptionnels",
27
+ business_hours_exceptions_description: "Ces horaires remplacent ceux de la saison aux dates indiquées.",
23
28
  hero_title: "Réservez votre vélo en quelques minutes",
24
29
  hero_description: "Choisissez vos dates, puis sélectionnez le vélo adapté à votre sortie.",
25
30
  feature_secure_payment_title: "Paiement sécurisé",
package/dist/index.d.ts CHANGED
@@ -706,7 +706,11 @@ export declare const bookingInsuranceSnapshotSchema: z.ZodObject<{
706
706
  }, z.core.$strip>>;
707
707
  }, z.core.$strip>;
708
708
 
709
- export declare const BookingMobileDateDrawer: () => JSX.Element | null;
709
+ export declare const BookingMobileDateDrawer: ({ onContinue }: BookingMobileDateDrawerProps) => JSX.Element | null;
710
+
711
+ declare type BookingMobileDateDrawerProps = {
712
+ onContinue?: () => void;
713
+ };
710
714
 
711
715
  export declare type BookingPeriodChangeMeta = {
712
716
  source: "user" | "auto";
@@ -4032,6 +4036,11 @@ export declare const storefrontEn: {
4032
4036
  checkout_button: string;
4033
4037
  storefront_popup_title_fallback: string;
4034
4038
  status_open: string;
4039
+ business_hours_modal_title: string;
4040
+ business_hours_modal_description: string;
4041
+ business_hours_google_maps_note: string;
4042
+ business_hours_exceptions_title: string;
4043
+ business_hours_exceptions_description: string;
4035
4044
  hero_title: string;
4036
4045
  hero_description: string;
4037
4046
  feature_secure_payment_title: string;
@@ -4569,6 +4578,11 @@ export declare const storefrontFr: {
4569
4578
  checkout_button: string;
4570
4579
  storefront_popup_title_fallback: string;
4571
4580
  status_open: string;
4581
+ business_hours_modal_title: string;
4582
+ business_hours_modal_description: string;
4583
+ business_hours_google_maps_note: string;
4584
+ business_hours_exceptions_title: string;
4585
+ business_hours_exceptions_description: string;
4572
4586
  hero_title: string;
4573
4587
  hero_description: string;
4574
4588
  feature_secure_payment_title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BookingPage.d.ts","sourceRoot":"","sources":["../../src/pages/BookingPage.tsx"],"names":[],"mappings":"AAuMA,MAAM,CAAC,OAAO,UAAU,WAAW,4CAioBlC"}
1
+ {"version":3,"file":"BookingPage.d.ts","sourceRoot":"","sources":["../../src/pages/BookingPage.tsx"],"names":[],"mappings":"AA6MA,MAAM,CAAC,OAAO,UAAU,WAAW,4CAsrBlC"}