@loczer/storefront-sdk 0.163.0 → 0.165.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/StorefrontProvider.d.ts +29 -3
- package/dist/StorefrontProvider.d.ts.map +1 -1
- package/dist/StorefrontProvider.js +68 -58
- package/dist/chunks/booking-engine/dist/schemas/{base-booking-D9k8ehGi.js → base-booking-BMAjsw9r.js} +29 -26
- package/dist/chunks/booking-engine/dist/schemas/booking-engine-configuration-DTJD2G9w.js +123 -0
- package/dist/chunks/booking-engine/dist/schemas/{cart-inputs-ByBK0IVJ.js → cart-inputs-BI_9nAXG.js} +1 -1
- package/dist/chunks/booking-engine/dist/schemas/{public-booking-engine-configuration-DKoak4s5.js → public-booking-engine-configuration-CrwffLO4.js} +1 -1
- package/dist/chunks/ui/dist/{MorphingModalWizard-D7hc-dDP.js → MorphingModalWizard-BuRND-yE.js} +3 -3
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id-CNQuVmXa.js +6 -0
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node-DL2q-YuA.js +9 -0
- package/dist/chunks/ui/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash-C-3PLS5x.js +6 -0
- package/dist/components/AboutSection/index.js +1 -1
- package/dist/components/BikeProductCard/index.d.ts +2 -1
- package/dist/components/BikeProductCard/index.d.ts.map +1 -1
- package/dist/components/BikeProductCard/index.js +59 -41
- package/dist/components/BookingBikeVariantDialog/index.js +1 -1
- package/dist/components/BookingFlowSteps/index.js +8 -8
- package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingMobileDateDrawer.js +28 -28
- package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +1 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +197 -203
- package/dist/components/ContactSection/index.js +4 -4
- package/dist/components/Header/index.js +1 -1
- package/dist/components/PoweredByLoczerBadge/index.js +1 -1
- package/dist/components/ProductPriceBadge/index.js +1 -1
- package/dist/components/ProductWarningNotice/index.js +10 -10
- package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts +11 -0
- package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -0
- package/dist/components/StorefrontCancellationPolicyNotice/index.js +93 -0
- package/dist/components/payment/MollieCardFieldsForm.js +1 -1
- package/dist/components/payment/StripeCardFieldsForm.js +13 -13
- package/dist/i18n/en.d.ts +12 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +12 -0
- package/dist/i18n/fr.d.ts +12 -0
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +12 -0
- package/dist/index.d.ts +116 -7
- package/dist/index.js +312 -305
- package/dist/lib/cart.js +1 -1
- package/dist/lib/cartSummary.d.ts.map +1 -1
- package/dist/lib/cartSummary.js +28 -28
- package/dist/lib/checkoutPaymentDecision.d.ts +8 -0
- package/dist/lib/checkoutPaymentDecision.d.ts.map +1 -1
- package/dist/lib/checkoutPaymentDecision.js +14 -6
- package/dist/lib/checkoutPaymentSession.d.ts +1 -0
- package/dist/lib/checkoutPaymentSession.d.ts.map +1 -1
- package/dist/lib/checkoutPaymentSession.js +12 -11
- package/dist/lib/checkoutSubmit.js +4 -4
- package/dist/lib/productVariants.d.ts.map +1 -1
- package/dist/lib/productVariants.js +34 -15
- package/dist/lib/products.d.ts +4 -0
- package/dist/lib/products.d.ts.map +1 -1
- package/dist/lib/products.js +74 -39
- package/dist/lib/securePaymentLink.d.ts +1 -0
- package/dist/lib/securePaymentLink.d.ts.map +1 -1
- package/dist/lib/securePaymentLink.js +1 -0
- package/dist/lib/storefrontAvailability.d.ts +9 -0
- package/dist/lib/storefrontAvailability.d.ts.map +1 -1
- package/dist/lib/storefrontAvailability.js +28 -18
- package/dist/pages/BookingPage.d.ts.map +1 -1
- package/dist/pages/BookingPage.js +290 -289
- package/dist/pages/CheckoutPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPage.js +224 -216
- package/dist/pages/CheckoutPaymentPage.d.ts.map +1 -1
- package/dist/pages/CheckoutPaymentPage.js +92 -92
- package/dist/pages/ContractSaleDocumentPage.js +3 -3
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +167 -161
- package/dist/pages/PaymentLinkPage.d.ts.map +1 -1
- package/dist/pages/PaymentLinkPage.js +62 -62
- package/dist/pages/PaymentLinkSuccessPage.js +7 -7
- package/dist/pages/ProductPage.d.ts.map +1 -1
- package/dist/pages/ProductPage.js +161 -161
- package/dist/pages/checkout/components/CheckoutCouponCard.js +6 -6
- package/dist/pages/checkout/components/CheckoutPaymentSummaryCard.js +15 -15
- package/dist/storefront.css +1 -1
- package/dist/storefrontSchemas.d.ts +14 -2
- package/dist/storefrontSchemas.d.ts.map +1 -1
- package/dist/storefrontSchemas.js +4 -4
- package/dist/ui/day-picker.js +5 -5
- package/package.json +2 -2
- package/dist/chunks/booking-engine/dist/schemas/booking-engine-configuration-BKlzwJJX.js +0 -105
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/animation/optimized-appear/data-id-DunDwGdX.js +0 -6
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/projection/node/create-projection-node-BDwaGtmx.js +0 -9
- package/dist/chunks/ui/dist/node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash-h54_qXon.js +0 -4
|
@@ -62,7 +62,7 @@ function w({
|
|
|
62
62
|
/* @__PURE__ */ e(m, { className: C("h-8 w-8 flex-shrink-0", n) }),
|
|
63
63
|
/* @__PURE__ */ o("span", { className: "flex flex-col items-start leading-tight text-left", children: [
|
|
64
64
|
/* @__PURE__ */ e("span", { className: "font-medium text-white/90 group-hover:text-white", children: i("platform_footer_powered_by") }),
|
|
65
|
-
a ? /* @__PURE__ */ e("span", { className: "text-
|
|
65
|
+
a ? /* @__PURE__ */ e("span", { className: "text-xs text-white/60 group-hover:text-white/80", children: i("platform_footer_tagline") }) : null
|
|
66
66
|
] })
|
|
67
67
|
]
|
|
68
68
|
}
|
|
@@ -113,7 +113,7 @@ const W = 180, he = "(max-width: 767px)", C = "loczer:storefront:product-price-p
|
|
|
113
113
|
/* @__PURE__ */ t("span", { className: "mx-1 flex-1 border-b border-dotted border-slate-300", "aria-hidden": "true" }),
|
|
114
114
|
/* @__PURE__ */ n("span", { className: "shrink-0 font-medium leading-tight text-slate-950", children: [
|
|
115
115
|
Z,
|
|
116
|
-
/* @__PURE__ */ n("span", { className: m("ml-1 font-medium text-slate-500", a === "popover" ? "text-
|
|
116
|
+
/* @__PURE__ */ n("span", { className: m("ml-1 font-medium text-slate-500", a === "popover" ? "text-xs" : "text-sm"), children: [
|
|
117
117
|
/* @__PURE__ */ t("span", { children: "(" }),
|
|
118
118
|
/* @__PURE__ */ t("span", { children: ne }),
|
|
119
119
|
/* @__PURE__ */ t("span", { children: ")" })
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsxs as t, jsx as
|
|
1
|
+
import { jsxs as t, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { AlertCircle as a } from "lucide-react";
|
|
3
|
-
import { cn as
|
|
4
|
-
function
|
|
5
|
-
const r =
|
|
3
|
+
import { cn as o } from "@rpcbase/ui";
|
|
4
|
+
function c({ warning: e, className: i }) {
|
|
5
|
+
const r = e?.trim();
|
|
6
6
|
return r ? /* @__PURE__ */ t(
|
|
7
|
-
"
|
|
7
|
+
"p",
|
|
8
8
|
{
|
|
9
|
-
className:
|
|
10
|
-
"
|
|
9
|
+
className: o(
|
|
10
|
+
"text-xs leading-snug text-orange-700",
|
|
11
11
|
i
|
|
12
12
|
),
|
|
13
13
|
children: [
|
|
14
|
-
/* @__PURE__ */
|
|
15
|
-
/* @__PURE__ */
|
|
14
|
+
/* @__PURE__ */ n(a, { className: "mr-1 inline h-3.5 w-3.5 align-[-0.125em]", "aria-hidden": "true" }),
|
|
15
|
+
/* @__PURE__ */ n("span", { children: r })
|
|
16
16
|
]
|
|
17
17
|
}
|
|
18
18
|
) : null;
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
c as ProductWarningNotice
|
|
22
22
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StorefrontConfiguration } from '../../storefrontSchemas';
|
|
2
|
+
type CancellationPolicy = StorefrontConfiguration["bookingEngine"]["cancellationPolicy"];
|
|
3
|
+
type CancellationPolicyTier = CancellationPolicy["tiers"][number];
|
|
4
|
+
type StorefrontCancellationPolicyNoticeProps = {
|
|
5
|
+
policy: CancellationPolicy;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const resolveStorefrontCancellationPolicyTeaserTier: (policy: CancellationPolicy) => CancellationPolicyTier | null;
|
|
9
|
+
export declare function StorefrontCancellationPolicyNotice({ policy, className, }: StorefrontCancellationPolicyNoticeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/StorefrontCancellationPolicyNotice/index.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAMtE,KAAK,kBAAkB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,CAAA;AACxF,KAAK,sBAAsB,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjE,KAAK,uCAAuC,GAAG;IAC7C,MAAM,EAAE,kBAAkB,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAOD,eAAO,MAAM,6CAA6C,GACxD,QAAQ,kBAAkB,KACzB,sBAAsB,GAAG,IAG3B,CAAA;AAaD,wBAAgB,kCAAkC,CAAC,EACjD,MAAM,EACN,SAAS,GACV,EAAE,uCAAuC,kDAmGzC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
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";
|
|
4
|
+
import { cn as v } from "@rpcbase/ui";
|
|
5
|
+
import { CheckCircle2 as w, Info as d } from "lucide-react";
|
|
6
|
+
import { useTranslation as T } from "react-i18next";
|
|
7
|
+
import { Button as D } from "../../ui/button.js";
|
|
8
|
+
const C = 0.95, m = (a) => a.tiers.length === 0 ? [] : [...a.tiers].sort((l, t) => l.upToHours - t.upToHours), H = (a) => m(a).find((t) => t.refundPercentage >= C) ?? null, R = (a, l) => {
|
|
9
|
+
try {
|
|
10
|
+
return new Intl.NumberFormat(l, {
|
|
11
|
+
style: "percent",
|
|
12
|
+
maximumFractionDigits: 2
|
|
13
|
+
}).format(a);
|
|
14
|
+
} catch {
|
|
15
|
+
return `${Math.round(a * 100)}%`;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
function O({
|
|
19
|
+
policy: a,
|
|
20
|
+
className: l
|
|
21
|
+
}) {
|
|
22
|
+
const { t, i18n: p } = T(), [u, r] = f(!1), h = m(a), o = H(a);
|
|
23
|
+
if (!o)
|
|
24
|
+
return null;
|
|
25
|
+
const c = (s) => {
|
|
26
|
+
const i = Math.max(1, Math.round(s));
|
|
27
|
+
return i >= 72 && i % 24 === 0 ? t("cancellation_policy_duration_days", { count: i / 24 }) : t("cancellation_policy_duration_hours", { count: i });
|
|
28
|
+
};
|
|
29
|
+
return /* @__PURE__ */ n("li", { className: v("flex items-start gap-3", l), "data-testid": "storefront-cancellation-policy-notice", children: [
|
|
30
|
+
/* @__PURE__ */ e(w, { className: "mt-0.5 h-5 w-5 shrink-0 text-slate-900", "aria-hidden": "true" }),
|
|
31
|
+
/* @__PURE__ */ n("div", { className: "min-w-0 flex-1", children: [
|
|
32
|
+
/* @__PURE__ */ n("div", { className: "flex min-w-0 items-start gap-1.5", children: [
|
|
33
|
+
/* @__PURE__ */ e("p", { className: "min-w-0 text-sm font-medium text-slate-950", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_teaser", { duration: c(o.upToHours) }) }) }),
|
|
34
|
+
/* @__PURE__ */ e(
|
|
35
|
+
"button",
|
|
36
|
+
{
|
|
37
|
+
type: "button",
|
|
38
|
+
className: "mt-[-1px] inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full text-slate-500 transition hover:bg-slate-100 hover:text-slate-950 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-950 focus-visible:ring-offset-2",
|
|
39
|
+
"aria-label": t("cancellation_policy_info_aria_label"),
|
|
40
|
+
onClick: () => r(!0),
|
|
41
|
+
children: /* @__PURE__ */ e(d, { className: "h-3.5 w-3.5", "aria-hidden": "true" })
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
] }),
|
|
45
|
+
/* @__PURE__ */ e("p", { className: "text-xs text-slate-600", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_teaser_description") }) })
|
|
46
|
+
] }),
|
|
47
|
+
/* @__PURE__ */ e(x, { open: u, onOpenChange: r, children: /* @__PURE__ */ e(
|
|
48
|
+
g,
|
|
49
|
+
{
|
|
50
|
+
"data-testid": "storefront-cancellation-policy-modal",
|
|
51
|
+
className: "overflow-hidden border-slate-200 bg-white p-0",
|
|
52
|
+
desktopClassName: "max-w-lg gap-0",
|
|
53
|
+
mobileClassName: "max-h-[92dvh] gap-0",
|
|
54
|
+
children: /* @__PURE__ */ n("div", { className: "flex max-h-[90dvh] w-full min-w-0 flex-col", children: [
|
|
55
|
+
/* @__PURE__ */ e(_, { className: "border-b border-slate-200 px-5 py-4 text-left sm:px-6", children: /* @__PURE__ */ n("div", { className: "flex items-start gap-3", children: [
|
|
56
|
+
/* @__PURE__ */ e("span", { className: "mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-slate-950 text-white", children: /* @__PURE__ */ e(d, { className: "h-4 w-4", "aria-hidden": "true" }) }),
|
|
57
|
+
/* @__PURE__ */ n("span", { className: "min-w-0 space-y-1", children: [
|
|
58
|
+
/* @__PURE__ */ e(N, { className: "text-left text-lg font-semibold leading-6 text-slate-950", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_modal_title") }) }),
|
|
59
|
+
/* @__PURE__ */ e(b, { className: "text-left text-sm text-slate-600", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_modal_description") }) })
|
|
60
|
+
] })
|
|
61
|
+
] }) }),
|
|
62
|
+
/* @__PURE__ */ e("div", { className: "overflow-y-auto px-5 py-5 sm:px-6", children: /* @__PURE__ */ e("dl", { className: "grid gap-3", children: h.map((s) => /* @__PURE__ */ n(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
className: "rounded-lg border border-slate-200 bg-slate-50 px-4 py-3",
|
|
66
|
+
children: [
|
|
67
|
+
/* @__PURE__ */ e("dt", { className: "text-sm font-medium text-slate-950", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_modal_tier_deadline", { duration: c(s.upToHours) }) }) }),
|
|
68
|
+
/* @__PURE__ */ e("dd", { className: "mt-1 text-sm text-slate-600", children: /* @__PURE__ */ e("span", { children: t("cancellation_policy_modal_tier_refund", {
|
|
69
|
+
percentage: R(s.refundPercentage, p.language)
|
|
70
|
+
}) }) })
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
`${s.upToHours}-${s.refundPercentage}`
|
|
74
|
+
)) }) }),
|
|
75
|
+
/* @__PURE__ */ e(y, { className: "border-t border-slate-200 px-5 py-4 sm:px-6", children: /* @__PURE__ */ e(
|
|
76
|
+
D,
|
|
77
|
+
{
|
|
78
|
+
type: "button",
|
|
79
|
+
variant: "outline",
|
|
80
|
+
className: "h-11 w-full rounded-xl sm:w-auto",
|
|
81
|
+
onClick: () => r(!1),
|
|
82
|
+
children: /* @__PURE__ */ e("span", { children: t("close_modal") })
|
|
83
|
+
}
|
|
84
|
+
) })
|
|
85
|
+
] })
|
|
86
|
+
}
|
|
87
|
+
) })
|
|
88
|
+
] });
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
O as StorefrontCancellationPolicyNotice,
|
|
92
|
+
H as resolveStorefrontCancellationPolicyTeaserTier
|
|
93
|
+
};
|
|
@@ -123,7 +123,7 @@ function Q({
|
|
|
123
123
|
/* @__PURE__ */ e("div", { className: "min-h-11", children: /* @__PURE__ */ e("div", { id: t.current.verificationCode, className: "min-h-11" }) })
|
|
124
124
|
] })
|
|
125
125
|
] }),
|
|
126
|
-
k ? /* @__PURE__ */ e("p", { className: "text-sm text-
|
|
126
|
+
k ? /* @__PURE__ */ e("p", { className: "text-sm text-destructive", children: /* @__PURE__ */ e("span", { children: k }) }) : null,
|
|
127
127
|
/* @__PURE__ */ c(I, { type: "submit", disabled: d || b || D || !m.current, className: "h-11 gap-2", children: [
|
|
128
128
|
b ? /* @__PURE__ */ e(H, { className: "h-4 w-4 animate-spin", "aria-hidden": "true" }) : /* @__PURE__ */ e(j, { className: "h-4 w-4", "aria-hidden": "true" }),
|
|
129
129
|
/* @__PURE__ */ e("span", { children: b ? p ?? r("secure_payment_link.form.submitting_button") : f ?? r("secure_payment_link.form.submit_button") })
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useState as u } from "react";
|
|
3
3
|
import { useStripe as w, useElements as M, CardNumberElement as g, CardExpiryElement as S, CardCvcElement as F } from "@stripe/react-stripe-js";
|
|
4
4
|
import { Loader2 as j, CreditCard as q } from "lucide-react";
|
|
@@ -14,8 +14,8 @@ function K({
|
|
|
14
14
|
submittingLabel: x,
|
|
15
15
|
onSubmit: C
|
|
16
16
|
}) {
|
|
17
|
-
const { t: r } = z(), d = w(), l = M(), [_, E] = u(""), [
|
|
18
|
-
return /* @__PURE__ */
|
|
17
|
+
const { t: r } = z(), d = w(), l = M(), [_, E] = u(""), [n, s] = u(!1), [y, a] = u(null);
|
|
18
|
+
return /* @__PURE__ */ t("form", { onSubmit: async (c) => {
|
|
19
19
|
if (c.preventDefault(), !d || !l) {
|
|
20
20
|
a(r("secure_payment_link.errors.stripe_not_ready"));
|
|
21
21
|
return;
|
|
@@ -59,7 +59,7 @@ function K({
|
|
|
59
59
|
s(!1);
|
|
60
60
|
}
|
|
61
61
|
}, className: "grid gap-3", children: [
|
|
62
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ t("div", { className: "space-y-1", children: [
|
|
63
63
|
/* @__PURE__ */ e(m, { htmlFor: "payment-cardholder-name", children: /* @__PURE__ */ e("span", { children: r("secure_payment_link.form.cardholder_name_label") }) }),
|
|
64
64
|
/* @__PURE__ */ e(
|
|
65
65
|
L,
|
|
@@ -70,28 +70,28 @@ function K({
|
|
|
70
70
|
E(c.target.value);
|
|
71
71
|
},
|
|
72
72
|
placeholder: r("secure_payment_link.form.cardholder_name_placeholder"),
|
|
73
|
-
disabled: h ||
|
|
73
|
+
disabled: h || n
|
|
74
74
|
}
|
|
75
75
|
)
|
|
76
76
|
] }),
|
|
77
|
-
/* @__PURE__ */
|
|
77
|
+
/* @__PURE__ */ t("div", { className: "space-y-1", children: [
|
|
78
78
|
/* @__PURE__ */ e(m, { htmlFor: "payment-card-number", children: /* @__PURE__ */ e("span", { children: r("secure_payment_link.form.card_number_label") }) }),
|
|
79
79
|
/* @__PURE__ */ e("div", { className: "rounded-md border border-slate-200 bg-white px-3 py-2", children: /* @__PURE__ */ e(g, { id: "payment-card-number" }) })
|
|
80
80
|
] }),
|
|
81
|
-
/* @__PURE__ */
|
|
82
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ t("div", { className: "grid gap-3 sm:grid-cols-2", children: [
|
|
82
|
+
/* @__PURE__ */ t("div", { className: "space-y-1", children: [
|
|
83
83
|
/* @__PURE__ */ e(m, { htmlFor: "payment-card-expiry", children: /* @__PURE__ */ e("span", { children: r("secure_payment_link.form.card_expiry_label") }) }),
|
|
84
84
|
/* @__PURE__ */ e("div", { className: "rounded-md border border-slate-200 bg-white px-3 py-2", children: /* @__PURE__ */ e(S, { id: "payment-card-expiry" }) })
|
|
85
85
|
] }),
|
|
86
|
-
/* @__PURE__ */
|
|
86
|
+
/* @__PURE__ */ t("div", { className: "space-y-1", children: [
|
|
87
87
|
/* @__PURE__ */ e(m, { htmlFor: "payment-card-cvc", children: /* @__PURE__ */ e("span", { children: r("secure_payment_link.form.card_cvc_label") }) }),
|
|
88
88
|
/* @__PURE__ */ e("div", { className: "rounded-md border border-slate-200 bg-white px-3 py-2", children: /* @__PURE__ */ e(F, { id: "payment-card-cvc" }) })
|
|
89
89
|
] })
|
|
90
90
|
] }),
|
|
91
|
-
y ? /* @__PURE__ */ e("p", { className: "text-sm text-
|
|
92
|
-
/* @__PURE__ */
|
|
93
|
-
|
|
94
|
-
/* @__PURE__ */ e("span", { children:
|
|
91
|
+
y ? /* @__PURE__ */ e("p", { className: "text-sm text-destructive", children: /* @__PURE__ */ e("span", { children: y }) }) : null,
|
|
92
|
+
/* @__PURE__ */ t(I, { type: "submit", disabled: h || n || !d || !l, className: "gap-2", children: [
|
|
93
|
+
n ? /* @__PURE__ */ e(j, { className: "h-4 w-4 animate-spin", "aria-hidden": "true" }) : /* @__PURE__ */ e(q, { className: "h-4 w-4", "aria-hidden": "true" }),
|
|
94
|
+
/* @__PURE__ */ e("span", { children: n ? x ?? r("secure_payment_link.form.submitting_button") : k ?? r("secure_payment_link.form.submit_button") })
|
|
95
95
|
] })
|
|
96
96
|
] });
|
|
97
97
|
}
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -23,6 +23,17 @@ export declare const storefront: {
|
|
|
23
23
|
feature_delivery_description: string;
|
|
24
24
|
feature_ready_in_minutes_title: string;
|
|
25
25
|
feature_ready_in_minutes_description: string;
|
|
26
|
+
cancellation_policy_teaser: string;
|
|
27
|
+
cancellation_policy_teaser_description: string;
|
|
28
|
+
cancellation_policy_info_aria_label: string;
|
|
29
|
+
cancellation_policy_modal_title: string;
|
|
30
|
+
cancellation_policy_modal_description: string;
|
|
31
|
+
cancellation_policy_modal_tier_deadline: string;
|
|
32
|
+
cancellation_policy_modal_tier_refund: string;
|
|
33
|
+
cancellation_policy_duration_hours_one: string;
|
|
34
|
+
cancellation_policy_duration_hours_other: string;
|
|
35
|
+
cancellation_policy_duration_days_one: string;
|
|
36
|
+
cancellation_policy_duration_days_other: string;
|
|
26
37
|
booking_title: string;
|
|
27
38
|
booking_subtitle: string;
|
|
28
39
|
booking_pickup_label: string;
|
|
@@ -165,6 +176,7 @@ export declare const storefront: {
|
|
|
165
176
|
checkout_payment_due_now_helper_deposit_refundable_until: string;
|
|
166
177
|
checkout_payment_due_now_helper_deposit: string;
|
|
167
178
|
checkout_payment_due_now_helper_none: string;
|
|
179
|
+
checkout_payment_cancellation_policy_helper: string;
|
|
168
180
|
checkout_payment_provider: string;
|
|
169
181
|
checkout_payment_loading: string;
|
|
170
182
|
checkout_payment_error: string;
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwZtB,CAAA"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -23,6 +23,17 @@ const e = {
|
|
|
23
23
|
feature_delivery_description: "Ask about delivery options for your address.",
|
|
24
24
|
feature_ready_in_minutes_title: "Ready in a few minutes",
|
|
25
25
|
feature_ready_in_minutes_description: "Select your dates and get availability instantly.",
|
|
26
|
+
cancellation_policy_teaser: "Refund until {{duration}} in advance",
|
|
27
|
+
cancellation_policy_teaser_description: "See cancellation conditions before booking.",
|
|
28
|
+
cancellation_policy_info_aria_label: "Show cancellation policy",
|
|
29
|
+
cancellation_policy_modal_title: "Cancellation policy",
|
|
30
|
+
cancellation_policy_modal_description: "Refunds depend on how far in advance you cancel.",
|
|
31
|
+
cancellation_policy_modal_tier_deadline: "Up to {{duration}} in advance",
|
|
32
|
+
cancellation_policy_modal_tier_refund: "{{percentage}} refund",
|
|
33
|
+
cancellation_policy_duration_hours_one: "{{count}} hour",
|
|
34
|
+
cancellation_policy_duration_hours_other: "{{count}} hours",
|
|
35
|
+
cancellation_policy_duration_days_one: "{{count}} day",
|
|
36
|
+
cancellation_policy_duration_days_other: "{{count}} days",
|
|
26
37
|
booking_title: "Book now in 2 minutes!",
|
|
27
38
|
booking_subtitle: "Choose dates and times, then browse available bikes.",
|
|
28
39
|
booking_pickup_label: "Store pickup",
|
|
@@ -165,6 +176,7 @@ const e = {
|
|
|
165
176
|
checkout_payment_due_now_helper_deposit_refundable_until: "{{percent}} deposit due now. Refundable until {{date}}.",
|
|
166
177
|
checkout_payment_due_now_helper_deposit: "{{percent}} deposit due now.",
|
|
167
178
|
checkout_payment_due_now_helper_none: "No payment required now.",
|
|
179
|
+
checkout_payment_cancellation_policy_helper: "Cancellation refund estimate: {{percent}} up to {{amount}}.",
|
|
168
180
|
checkout_payment_provider: "Provider",
|
|
169
181
|
checkout_payment_loading: "Checking payment options…",
|
|
170
182
|
checkout_payment_error: "Unable to check payment options.",
|
package/dist/i18n/fr.d.ts
CHANGED
|
@@ -23,6 +23,17 @@ export declare const storefront: {
|
|
|
23
23
|
feature_delivery_description: string;
|
|
24
24
|
feature_ready_in_minutes_title: string;
|
|
25
25
|
feature_ready_in_minutes_description: string;
|
|
26
|
+
cancellation_policy_teaser: string;
|
|
27
|
+
cancellation_policy_teaser_description: string;
|
|
28
|
+
cancellation_policy_info_aria_label: string;
|
|
29
|
+
cancellation_policy_modal_title: string;
|
|
30
|
+
cancellation_policy_modal_description: string;
|
|
31
|
+
cancellation_policy_modal_tier_deadline: string;
|
|
32
|
+
cancellation_policy_modal_tier_refund: string;
|
|
33
|
+
cancellation_policy_duration_hours_one: string;
|
|
34
|
+
cancellation_policy_duration_hours_other: string;
|
|
35
|
+
cancellation_policy_duration_days_one: string;
|
|
36
|
+
cancellation_policy_duration_days_other: string;
|
|
26
37
|
booking_title: string;
|
|
27
38
|
booking_subtitle: string;
|
|
28
39
|
booking_pickup_label: string;
|
|
@@ -165,6 +176,7 @@ export declare const storefront: {
|
|
|
165
176
|
checkout_payment_due_now_helper_deposit_refundable_until: string;
|
|
166
177
|
checkout_payment_due_now_helper_deposit: string;
|
|
167
178
|
checkout_payment_due_now_helper_none: string;
|
|
179
|
+
checkout_payment_cancellation_policy_helper: string;
|
|
168
180
|
checkout_payment_provider: string;
|
|
169
181
|
checkout_payment_loading: string;
|
|
170
182
|
checkout_payment_error: string;
|
package/dist/i18n/fr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwZtB,CAAA"}
|
package/dist/i18n/fr.js
CHANGED
|
@@ -23,6 +23,17 @@ const e = {
|
|
|
23
23
|
feature_delivery_description: "Demandez les options de livraison à votre adresse.",
|
|
24
24
|
feature_ready_in_minutes_title: "En quelques minutes",
|
|
25
25
|
feature_ready_in_minutes_description: "Sélectionnez vos dates et consultez la disponibilité.",
|
|
26
|
+
cancellation_policy_teaser: "Remboursement jusqu'à {{duration}} à l'avance",
|
|
27
|
+
cancellation_policy_teaser_description: "Consultez les conditions d'annulation avant de réserver.",
|
|
28
|
+
cancellation_policy_info_aria_label: "Afficher les conditions d'annulation",
|
|
29
|
+
cancellation_policy_modal_title: "Conditions d'annulation",
|
|
30
|
+
cancellation_policy_modal_description: "Le remboursement dépend du délai entre l'annulation et le début de la réservation.",
|
|
31
|
+
cancellation_policy_modal_tier_deadline: "Jusqu'à {{duration}} à l'avance",
|
|
32
|
+
cancellation_policy_modal_tier_refund: "Remboursement de {{percentage}}",
|
|
33
|
+
cancellation_policy_duration_hours_one: "{{count}} heure",
|
|
34
|
+
cancellation_policy_duration_hours_other: "{{count}} heures",
|
|
35
|
+
cancellation_policy_duration_days_one: "{{count}} jour",
|
|
36
|
+
cancellation_policy_duration_days_other: "{{count}} jours",
|
|
26
37
|
booking_title: "Réservez en 2 minutes !",
|
|
27
38
|
booking_subtitle: "Choisissez les dates et horaires, puis parcourez les vélos disponibles.",
|
|
28
39
|
booking_pickup_label: "Retrait en boutique",
|
|
@@ -165,6 +176,7 @@ const e = {
|
|
|
165
176
|
checkout_payment_due_now_helper_deposit_refundable_until: "Acompte de {{percent}} à payer maintenant. Remboursable jusqu’au {{date}}.",
|
|
166
177
|
checkout_payment_due_now_helper_deposit: "Acompte de {{percent}} à payer maintenant.",
|
|
167
178
|
checkout_payment_due_now_helper_none: "Aucun paiement n’est requis maintenant.",
|
|
179
|
+
checkout_payment_cancellation_policy_helper: "Estimation d'annulation : {{percent}} jusqu'à {{amount}}.",
|
|
168
180
|
checkout_payment_provider: "Prestataire",
|
|
169
181
|
checkout_payment_loading: "Vérification des options de paiement…",
|
|
170
182
|
checkout_payment_error: "Impossible de vérifier les options de paiement.",
|
package/dist/index.d.ts
CHANGED
|
@@ -357,6 +357,18 @@ export declare const baseBookingSchema: z.ZodObject<{
|
|
|
357
357
|
couponAutoApplied: z.ZodOptional<z.ZodBoolean>;
|
|
358
358
|
couponPriceRuleId: z.ZodOptional<z.ZodString>;
|
|
359
359
|
totalPriceUnits: z.ZodOptional<z.ZodNumber>;
|
|
360
|
+
cancellationPolicySnapshot: z.ZodOptional<z.ZodObject<{
|
|
361
|
+
tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
362
|
+
upToHours: z.ZodNumber;
|
|
363
|
+
refundPercentage: z.ZodNumber;
|
|
364
|
+
}, z.core.$strip>>>;
|
|
365
|
+
}, z.core.$strip>>;
|
|
366
|
+
cancellationPolicyOverride: z.ZodOptional<z.ZodObject<{
|
|
367
|
+
tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
368
|
+
upToHours: z.ZodNumber;
|
|
369
|
+
refundPercentage: z.ZodNumber;
|
|
370
|
+
}, z.core.$strip>>>;
|
|
371
|
+
}, z.core.$strip>>;
|
|
360
372
|
createdAt: z.ZodString;
|
|
361
373
|
updatedAt: z.ZodString;
|
|
362
374
|
}, z.core.$strip>;
|
|
@@ -786,6 +798,8 @@ export declare const buildStorefrontProductSlug: ({ id, productShortCode, name,
|
|
|
786
798
|
name?: LocalizedString;
|
|
787
799
|
}) => string;
|
|
788
800
|
|
|
801
|
+
export declare const buildVariantStorefrontProductId: (productId: string, variantId: string) => string;
|
|
802
|
+
|
|
789
803
|
export declare function buildWhatsAppHref(phone: string | undefined, message?: string): string | undefined;
|
|
790
804
|
|
|
791
805
|
export declare const Button: React_2.ForwardRefExoticComponent<ButtonProps & React_2.RefAttributes<HTMLButtonElement>>;
|
|
@@ -801,6 +815,22 @@ export declare const buttonVariants: (props?: ({
|
|
|
801
815
|
|
|
802
816
|
export declare function calculateDailyPriceForQuantity(prices: StorefrontPublicProductPrice[] | undefined, dayCount: number): number | null;
|
|
803
817
|
|
|
818
|
+
export declare type CancellationPolicy = z.infer<typeof cancellationPolicySchema>;
|
|
819
|
+
|
|
820
|
+
export declare const cancellationPolicySchema: z.ZodObject<{
|
|
821
|
+
tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
822
|
+
upToHours: z.ZodNumber;
|
|
823
|
+
refundPercentage: z.ZodNumber;
|
|
824
|
+
}, z.core.$strip>>>;
|
|
825
|
+
}, z.core.$strip>;
|
|
826
|
+
|
|
827
|
+
export declare type CancellationPolicyTier = z.infer<typeof cancellationPolicyTierSchema>;
|
|
828
|
+
|
|
829
|
+
export declare const cancellationPolicyTierSchema: z.ZodObject<{
|
|
830
|
+
upToHours: z.ZodNumber;
|
|
831
|
+
refundPercentage: z.ZodNumber;
|
|
832
|
+
}, z.core.$strip>;
|
|
833
|
+
|
|
804
834
|
export declare function Card({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
|
|
805
835
|
|
|
806
836
|
export declare function CardAction({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
|
|
@@ -1369,6 +1399,8 @@ export declare type DailyPriceRow = {
|
|
|
1369
1399
|
perDayPriceLabel: string;
|
|
1370
1400
|
};
|
|
1371
1401
|
|
|
1402
|
+
export declare const DEFAULT_CANCELLATION_POLICY: CancellationPolicy;
|
|
1403
|
+
|
|
1372
1404
|
export declare const DEFAULT_PAYMENT_POLICIES: PaymentPolicies;
|
|
1373
1405
|
|
|
1374
1406
|
export declare const DEFAULT_STOREFRONT_PRESET: StorefrontPreset;
|
|
@@ -1810,8 +1842,14 @@ export declare const loader: ({ ctx, params }: LoaderArgs) => Promise<{
|
|
|
1810
1842
|
percentage: number;
|
|
1811
1843
|
optimizeDepositAmount: boolean;
|
|
1812
1844
|
};
|
|
1845
|
+
cancellationPolicy: {
|
|
1846
|
+
tiers: {
|
|
1847
|
+
upToHours: number;
|
|
1848
|
+
refundPercentage: number;
|
|
1849
|
+
}[];
|
|
1850
|
+
};
|
|
1813
1851
|
securityDeposit: {
|
|
1814
|
-
mode: "optional" | "
|
|
1852
|
+
mode: "optional" | "disabled" | "required";
|
|
1815
1853
|
};
|
|
1816
1854
|
shop: {
|
|
1817
1855
|
timeZone: string;
|
|
@@ -1967,6 +2005,8 @@ export declare const loader: ({ ctx, params }: LoaderArgs) => Promise<{
|
|
|
1967
2005
|
};
|
|
1968
2006
|
bikes: BikeProduct[];
|
|
1969
2007
|
accessories: AccessoryProduct[];
|
|
2008
|
+
bookingBikes: BikeProduct[];
|
|
2009
|
+
bookingAccessories: AccessoryProduct[];
|
|
1970
2010
|
language: StorefrontI18nLanguage;
|
|
1971
2011
|
}>;
|
|
1972
2012
|
|
|
@@ -2017,8 +2057,8 @@ export declare const paymentPoliciesSchema: z.ZodObject<{
|
|
|
2017
2057
|
securityDeposit: z.ZodObject<{
|
|
2018
2058
|
mode: z.ZodEnum<{
|
|
2019
2059
|
optional: "optional";
|
|
2020
|
-
required: "required";
|
|
2021
2060
|
disabled: "disabled";
|
|
2061
|
+
required: "required";
|
|
2022
2062
|
}>;
|
|
2023
2063
|
}, z.core.$strip>;
|
|
2024
2064
|
}, z.core.$strip>;
|
|
@@ -2391,11 +2431,17 @@ export declare const publicBookingEngineConfigurationSchema: z.ZodObject<{
|
|
|
2391
2431
|
percentage: z.ZodNumber;
|
|
2392
2432
|
optimizeDepositAmount: z.ZodDefault<z.ZodBoolean>;
|
|
2393
2433
|
}, z.core.$strip>;
|
|
2434
|
+
cancellationPolicy: z.ZodDefault<z.ZodObject<{
|
|
2435
|
+
tiers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2436
|
+
upToHours: z.ZodNumber;
|
|
2437
|
+
refundPercentage: z.ZodNumber;
|
|
2438
|
+
}, z.core.$strip>>>;
|
|
2439
|
+
}, z.core.$strip>>;
|
|
2394
2440
|
securityDeposit: z.ZodObject<{
|
|
2395
2441
|
mode: z.ZodEnum<{
|
|
2396
2442
|
optional: "optional";
|
|
2397
|
-
required: "required";
|
|
2398
2443
|
disabled: "disabled";
|
|
2444
|
+
required: "required";
|
|
2399
2445
|
}>;
|
|
2400
2446
|
}, z.core.$strip>;
|
|
2401
2447
|
shop: z.ZodObject<{
|
|
@@ -2788,6 +2834,7 @@ export declare const storefrontAvailabilityResponseSchema: z.ZodObject<{
|
|
|
2788
2834
|
remainingCounts: "remainingCounts";
|
|
2789
2835
|
}>;
|
|
2790
2836
|
soldOut: z.ZodBoolean;
|
|
2837
|
+
unlimited: z.ZodBoolean;
|
|
2791
2838
|
insufficientCapacity: z.ZodOptional<z.ZodBoolean>;
|
|
2792
2839
|
fewRemaining: z.ZodOptional<z.ZodBoolean>;
|
|
2793
2840
|
remaining: z.ZodOptional<z.ZodNumber>;
|
|
@@ -2813,6 +2860,8 @@ export declare type StorefrontBookingParams = {
|
|
|
2813
2860
|
end_address: string;
|
|
2814
2861
|
};
|
|
2815
2862
|
|
|
2863
|
+
export declare type StorefrontBookingProductsCollections = StorefrontProductsCollections;
|
|
2864
|
+
|
|
2816
2865
|
declare type StorefrontCartContextValue = {
|
|
2817
2866
|
items: StorefrontCartItem[];
|
|
2818
2867
|
itemCount: number;
|
|
@@ -3070,8 +3119,14 @@ export declare const storefrontConfigurationSchema: z.ZodObject<{
|
|
|
3070
3119
|
percentage: number;
|
|
3071
3120
|
optimizeDepositAmount: boolean;
|
|
3072
3121
|
};
|
|
3122
|
+
cancellationPolicy: {
|
|
3123
|
+
tiers: {
|
|
3124
|
+
upToHours: number;
|
|
3125
|
+
refundPercentage: number;
|
|
3126
|
+
}[];
|
|
3127
|
+
};
|
|
3073
3128
|
securityDeposit: {
|
|
3074
|
-
mode: "optional" | "
|
|
3129
|
+
mode: "optional" | "disabled" | "required";
|
|
3075
3130
|
};
|
|
3076
3131
|
shop: {
|
|
3077
3132
|
timeZone: string;
|
|
@@ -3138,8 +3193,14 @@ export declare const storefrontConfigurationSchema: z.ZodObject<{
|
|
|
3138
3193
|
percentage: number;
|
|
3139
3194
|
optimizeDepositAmount: boolean;
|
|
3140
3195
|
};
|
|
3196
|
+
cancellationPolicy: {
|
|
3197
|
+
tiers: {
|
|
3198
|
+
upToHours: number;
|
|
3199
|
+
refundPercentage: number;
|
|
3200
|
+
}[];
|
|
3201
|
+
};
|
|
3141
3202
|
securityDeposit: {
|
|
3142
|
-
mode: "optional" | "
|
|
3203
|
+
mode: "optional" | "disabled" | "required";
|
|
3143
3204
|
};
|
|
3144
3205
|
shop: {
|
|
3145
3206
|
timeZone: string;
|
|
@@ -3380,6 +3441,8 @@ declare type StorefrontContextValue = {
|
|
|
3380
3441
|
storefrontConfiguration: StorefrontConfiguration;
|
|
3381
3442
|
bikes: BikeProduct[];
|
|
3382
3443
|
accessories: AccessoryProduct[];
|
|
3444
|
+
bookingBikes: BikeProduct[];
|
|
3445
|
+
bookingAccessories: AccessoryProduct[];
|
|
3383
3446
|
mapboxToken?: string;
|
|
3384
3447
|
language: StorefrontI18nLanguage;
|
|
3385
3448
|
};
|
|
@@ -3409,6 +3472,17 @@ export declare const storefrontEn: {
|
|
|
3409
3472
|
feature_delivery_description: string;
|
|
3410
3473
|
feature_ready_in_minutes_title: string;
|
|
3411
3474
|
feature_ready_in_minutes_description: string;
|
|
3475
|
+
cancellation_policy_teaser: string;
|
|
3476
|
+
cancellation_policy_teaser_description: string;
|
|
3477
|
+
cancellation_policy_info_aria_label: string;
|
|
3478
|
+
cancellation_policy_modal_title: string;
|
|
3479
|
+
cancellation_policy_modal_description: string;
|
|
3480
|
+
cancellation_policy_modal_tier_deadline: string;
|
|
3481
|
+
cancellation_policy_modal_tier_refund: string;
|
|
3482
|
+
cancellation_policy_duration_hours_one: string;
|
|
3483
|
+
cancellation_policy_duration_hours_other: string;
|
|
3484
|
+
cancellation_policy_duration_days_one: string;
|
|
3485
|
+
cancellation_policy_duration_days_other: string;
|
|
3412
3486
|
booking_title: string;
|
|
3413
3487
|
booking_subtitle: string;
|
|
3414
3488
|
booking_pickup_label: string;
|
|
@@ -3551,6 +3625,7 @@ export declare const storefrontEn: {
|
|
|
3551
3625
|
checkout_payment_due_now_helper_deposit_refundable_until: string;
|
|
3552
3626
|
checkout_payment_due_now_helper_deposit: string;
|
|
3553
3627
|
checkout_payment_due_now_helper_none: string;
|
|
3628
|
+
checkout_payment_cancellation_policy_helper: string;
|
|
3554
3629
|
checkout_payment_provider: string;
|
|
3555
3630
|
checkout_payment_loading: string;
|
|
3556
3631
|
checkout_payment_error: string;
|
|
@@ -3838,6 +3913,17 @@ export declare const storefrontFr: {
|
|
|
3838
3913
|
feature_delivery_description: string;
|
|
3839
3914
|
feature_ready_in_minutes_title: string;
|
|
3840
3915
|
feature_ready_in_minutes_description: string;
|
|
3916
|
+
cancellation_policy_teaser: string;
|
|
3917
|
+
cancellation_policy_teaser_description: string;
|
|
3918
|
+
cancellation_policy_info_aria_label: string;
|
|
3919
|
+
cancellation_policy_modal_title: string;
|
|
3920
|
+
cancellation_policy_modal_description: string;
|
|
3921
|
+
cancellation_policy_modal_tier_deadline: string;
|
|
3922
|
+
cancellation_policy_modal_tier_refund: string;
|
|
3923
|
+
cancellation_policy_duration_hours_one: string;
|
|
3924
|
+
cancellation_policy_duration_hours_other: string;
|
|
3925
|
+
cancellation_policy_duration_days_one: string;
|
|
3926
|
+
cancellation_policy_duration_days_other: string;
|
|
3841
3927
|
booking_title: string;
|
|
3842
3928
|
booking_subtitle: string;
|
|
3843
3929
|
booking_pickup_label: string;
|
|
@@ -3980,6 +4066,7 @@ export declare const storefrontFr: {
|
|
|
3980
4066
|
checkout_payment_due_now_helper_deposit_refundable_until: string;
|
|
3981
4067
|
checkout_payment_due_now_helper_deposit: string;
|
|
3982
4068
|
checkout_payment_due_now_helper_none: string;
|
|
4069
|
+
checkout_payment_cancellation_policy_helper: string;
|
|
3983
4070
|
checkout_payment_provider: string;
|
|
3984
4071
|
checkout_payment_loading: string;
|
|
3985
4072
|
checkout_payment_error: string;
|
|
@@ -4503,6 +4590,7 @@ export declare const storefrontPublicAvailabilityRecordSchema: z.ZodObject<{
|
|
|
4503
4590
|
remainingCounts: "remainingCounts";
|
|
4504
4591
|
}>;
|
|
4505
4592
|
soldOut: z.ZodBoolean;
|
|
4593
|
+
unlimited: z.ZodBoolean;
|
|
4506
4594
|
insufficientCapacity: z.ZodOptional<z.ZodBoolean>;
|
|
4507
4595
|
fewRemaining: z.ZodOptional<z.ZodBoolean>;
|
|
4508
4596
|
remaining: z.ZodOptional<z.ZodNumber>;
|
|
@@ -4833,6 +4921,10 @@ export declare const toStorefrontAccessoryProducts: (accessories: StorefrontPubl
|
|
|
4833
4921
|
|
|
4834
4922
|
export declare const toStorefrontBikeProducts: (bikes: StorefrontPublicBikeProduct[]) => BikeProduct[];
|
|
4835
4923
|
|
|
4924
|
+
export declare const toStorefrontBookingProducts: <T extends StorefrontProduct>(products: T[]) => T[];
|
|
4925
|
+
|
|
4926
|
+
export declare const toStorefrontBookingProductsCollections: (products: StorefrontProductsCollections) => StorefrontBookingProductsCollections;
|
|
4927
|
+
|
|
4836
4928
|
export declare const useBookingPeriod: () => BookingPeriodControllerValue;
|
|
4837
4929
|
|
|
4838
4930
|
export declare const useFormField: () => {
|
|
@@ -4852,6 +4944,11 @@ export declare function useOptionalStorefront(): StorefrontContextValue | undefi
|
|
|
4852
4944
|
|
|
4853
4945
|
export declare function useStorefront(): StorefrontContextValue;
|
|
4854
4946
|
|
|
4947
|
+
export declare function useStorefrontBookingProducts(): {
|
|
4948
|
+
bikes: BikeProduct[];
|
|
4949
|
+
accessories: AccessoryProduct[];
|
|
4950
|
+
};
|
|
4951
|
+
|
|
4855
4952
|
export declare const useStorefrontCart: () => StorefrontCartContextValue;
|
|
4856
4953
|
|
|
4857
4954
|
export declare function useStorefrontConfig(): {
|
|
@@ -4916,8 +5013,14 @@ export declare function useStorefrontConfig(): {
|
|
|
4916
5013
|
percentage: number;
|
|
4917
5014
|
optimizeDepositAmount: boolean;
|
|
4918
5015
|
};
|
|
5016
|
+
cancellationPolicy: {
|
|
5017
|
+
tiers: {
|
|
5018
|
+
upToHours: number;
|
|
5019
|
+
refundPercentage: number;
|
|
5020
|
+
}[];
|
|
5021
|
+
};
|
|
4919
5022
|
securityDeposit: {
|
|
4920
|
-
mode: "optional" | "
|
|
5023
|
+
mode: "optional" | "disabled" | "required";
|
|
4921
5024
|
};
|
|
4922
5025
|
shop: {
|
|
4923
5026
|
timeZone: string;
|
|
@@ -5132,8 +5235,14 @@ export declare function useStorefrontConfig(): {
|
|
|
5132
5235
|
percentage: number;
|
|
5133
5236
|
optimizeDepositAmount: boolean;
|
|
5134
5237
|
};
|
|
5238
|
+
cancellationPolicy: {
|
|
5239
|
+
tiers: {
|
|
5240
|
+
upToHours: number;
|
|
5241
|
+
refundPercentage: number;
|
|
5242
|
+
}[];
|
|
5243
|
+
};
|
|
5135
5244
|
securityDeposit: {
|
|
5136
|
-
mode: "optional" | "
|
|
5245
|
+
mode: "optional" | "disabled" | "required";
|
|
5137
5246
|
};
|
|
5138
5247
|
shop: {
|
|
5139
5248
|
timeZone: string;
|