@loczer/storefront-sdk 0.193.0 → 0.195.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/chunks/pkg/booking-engine/dist/models/{Product.shared-cjcvMCMa.js → Product.shared-iVSHRdn4.js} +21 -21
- package/dist/chunks/pkg/booking-engine/dist/schemas/{base-asset-CsOe0vXi.js → base-asset-BRQVuIes.js} +1 -1
- package/dist/chunks/pkg/booking-engine/dist/schemas/{base-booking-Sjsqh31e.js → base-booking-Bhy2Kww1.js} +2 -2
- package/dist/chunks/pkg/booking-engine/dist/schemas/{base-product-C_ATjuc6.js → base-product-BJHQLX8t.js} +1 -1
- package/dist/chunks/pkg/booking-engine/dist/schemas/{insurance-B01h642r.js → insurance-CPeHsTss.js} +1 -1
- package/dist/chunks/pkg/booking-engine/dist/schemas-BfXM1Dgb.js +14 -0
- package/dist/chunks/pkg/ui/dist/{Button-CxG2fSpA.js → Button-Cr_u8vnh.js} +1 -1
- package/dist/chunks/pkg/ui/dist/{Dialog-4leTWiev.js → Dialog-CczmPDwY.js} +1 -1
- package/dist/chunks/pkg/ui/dist/Drawer/{index-DA5V7R_q.js → index-CSvSVP_J.js} +1 -1
- package/dist/chunks/pkg/ui/dist/Map/{MapContent-BmKjdWmq.js → MapContent-CDeWtwKa.js} +1 -1
- package/dist/chunks/pkg/ui/dist/{Map-CsOTdTtL.js → Map-Cs7wgtH9.js} +2 -2
- package/dist/chunks/pkg/ui/dist/{MorphingModalWizard-CfEqkJ0y.js → MorphingModalWizard-j1CgFGLe.js} +4 -3
- package/dist/chunks/pkg/ui/dist/{ResponsiveDialog-C6IWYoIg.js → ResponsiveDialog-BVwhTZQo.js} +3 -3
- package/dist/chunks/pkg/ui/dist/{ScrollArea-Bjwo84cv.js → ScrollArea-BqLd0xZj.js} +1 -1
- package/dist/chunks/pkg/ui/dist/Spinner/{index-DzMEU0iA.js → index-Cgi70z_E.js} +1 -1
- package/dist/chunks/pkg/ui/dist/lib/utils-DXB19bzk.js +8 -0
- package/dist/components/BikeProductCard/index.js +6 -6
- package/dist/components/BookingBikeVariantDialog/index.js +7 -7
- package/dist/components/BookingFlowSteps/index.js +11 -11
- package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.d.ts.map +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +36 -54
- package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.d.ts.map +1 -1
- package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +36 -54
- package/dist/components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js +1 -1
- package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.d.ts +7 -0
- package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.d.ts.map +1 -0
- package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.js +27 -0
- package/dist/components/BookingPeriodSelector/components/internal/StorefrontHourPickerField.d.ts +36 -0
- package/dist/components/BookingPeriodSelector/components/internal/StorefrontHourPickerField.d.ts.map +1 -0
- package/dist/components/BookingPeriodSelector/components/internal/StorefrontHourPickerField.js +830 -0
- package/dist/components/BookingPeriodSelector/components/internal/useIsTouchDevice.d.ts +2 -0
- package/dist/components/BookingPeriodSelector/components/internal/useIsTouchDevice.d.ts.map +1 -0
- package/dist/components/BookingPeriodSelector/components/internal/useIsTouchDevice.js +21 -0
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts +4 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
- package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +114 -110
- package/dist/components/ContactSection/index.js +35 -35
- package/dist/components/ContractSaleDocument/DocumentAcceptanceSection.js +4 -4
- package/dist/components/ContractSaleDocument/ThumbnailSidebar.js +1 -1
- package/dist/components/DeliveryAddressSelector/index.js +5 -5
- package/dist/components/Footer/index.js +11 -11
- package/dist/components/FulfillmentSection/index.js +9 -9
- package/dist/components/Header/index.js +61 -61
- package/dist/components/Map/index.js +1 -1
- package/dist/components/PoweredByLoczerBadge/index.js +5 -5
- package/dist/components/ProductPriceBadge/index.js +73 -73
- package/dist/components/StorefrontCancellationPolicyNotice/index.js +6 -6
- package/dist/components/StorefrontCartPanel/index.js +8 -8
- package/dist/components/StorefrontInsuranceNotice/index.js +6 -6
- package/dist/components/StorefrontPopupMessages/index.js +8 -8
- package/dist/components/payment/MollieCardFieldsForm.js +1 -1
- package/dist/components/payment/StripeCardFieldsForm.js +1 -1
- package/dist/index.d.ts +15 -3
- package/dist/index.js +70 -70
- package/dist/lib/booking.js +1 -1
- package/dist/lib/checkoutSubmit.js +2 -2
- package/dist/lib/utils.d.ts +3 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +9 -5
- package/dist/pages/BookingPage.d.ts.map +1 -1
- package/dist/pages/BookingPage.js +187 -159
- package/dist/pages/CheckoutPaymentPage.js +1 -1
- package/dist/pages/ContractSaleDocumentPage.js +15 -15
- package/dist/pages/HomePage.d.ts.map +1 -1
- package/dist/pages/HomePage.js +263 -257
- package/dist/pages/PaymentLinkPage.js +1 -1
- package/dist/pages/PaymentLinkSuccessPage.js +1 -1
- package/dist/pages/ProductPage.js +143 -143
- package/dist/pages/checkout/components/CheckoutCouponCard.js +5 -5
- package/dist/pages/checkout/components/CheckoutPaymentSummaryCard.js +1 -1
- package/dist/storefront.css +1 -1
- package/dist/storefrontSchemas.js +1 -1
- package/package.json +5 -1
- package/dist/chunks/node_modules/clsx/dist/clsx-CdyIqUTr.js +0 -16
- package/dist/chunks/node_modules/tailwind-merge/dist/bundle-mjs-CF4QheV5.js +0 -1608
- package/dist/chunks/pkg/booking-engine/dist/schemas-D_yUBLa0.js +0 -14
- package/dist/chunks/pkg/ui/dist/lib/utils-BN5KOMSm.js +0 -8
- package/dist/components/BookingPeriodSelector/components/internal/ModalHourPickerField.d.ts +0 -22
- package/dist/components/BookingPeriodSelector/components/internal/ModalHourPickerField.d.ts.map +0 -1
- package/dist/components/BookingPeriodSelector/components/internal/ModalHourPickerField.js +0 -333
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { I18nProvider as e } from "../../i18n/I18nProvider.js";
|
|
2
2
|
import { useId as t } from "react";
|
|
3
3
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useTranslation as i } from "react-i18next";
|
|
5
|
+
import { cn as a } from "@rpcbase/ui";
|
|
6
6
|
//#region src/components/PoweredByLoczerBadge/index.tsx
|
|
7
7
|
var o = "https://loczer.com";
|
|
8
8
|
function s({ className: e }) {
|
|
@@ -47,14 +47,14 @@ function c({ language: t, ...r }) {
|
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
function l({ className: e, href: t = o, markClassName: c, rel: l = "noopener noreferrer", showTagline: u = !0, target: d = "_blank", ...f }) {
|
|
50
|
-
let { t: p } =
|
|
50
|
+
let { t: p } = i();
|
|
51
51
|
return /* @__PURE__ */ r("a", {
|
|
52
|
-
className:
|
|
52
|
+
className: a("group inline-flex w-fit items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-3 py-2 shadow-sm transition hover:border-white/20 hover:bg-white/10", e),
|
|
53
53
|
href: t,
|
|
54
54
|
target: d,
|
|
55
55
|
rel: l,
|
|
56
56
|
...f,
|
|
57
|
-
children: [/* @__PURE__ */ n(s, { className:
|
|
57
|
+
children: [/* @__PURE__ */ n(s, { className: a("h-8 w-8 flex-shrink-0", c) }), /* @__PURE__ */ r("span", {
|
|
58
58
|
className: "flex flex-col items-start leading-tight text-left",
|
|
59
59
|
children: [/* @__PURE__ */ n("span", {
|
|
60
60
|
className: "font-medium text-white/90 group-hover:text-white",
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import { buildDailyPriceRows as e, buildPriceTierLabels as t, formatStorefrontPriceMinor as n } from "../../lib/pricing.js";
|
|
2
2
|
import { Badge as r, badgeVariants as i } from "../../ui/badge.js";
|
|
3
3
|
import { useOptionalStorefront as a } from "../../StorefrontProvider.js";
|
|
4
|
-
import { useEffect as o, useId as
|
|
5
|
-
import { Fragment as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { Info as ne, Mail as re, Phone as
|
|
10
|
-
import { Drawer as
|
|
11
|
-
import { Popover as
|
|
4
|
+
import { useEffect as o, useId as ee, useRef as s, useState as c } from "react";
|
|
5
|
+
import { Fragment as te, jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
|
+
import { useMediaQuery as d } from "@rpcbase/client";
|
|
7
|
+
import { useTranslation as f } from "react-i18next";
|
|
8
|
+
import { cn as p } from "@rpcbase/ui";
|
|
9
|
+
import { Info as ne, Mail as re, Phone as m, TrendingDown as h } from "lucide-react";
|
|
10
|
+
import { Drawer as g } from "@base-ui/react/drawer";
|
|
11
|
+
import { Popover as _ } from "@base-ui/react/popover";
|
|
12
12
|
//#region src/components/ProductPriceBadge/index.tsx
|
|
13
|
-
var
|
|
14
|
-
typeof window > "u" || window.dispatchEvent(new CustomEvent(
|
|
15
|
-
},
|
|
16
|
-
let { t:
|
|
13
|
+
var ie = 180, ae = "(max-width: 767px)", v = "loczer:storefront:product-price-popover-open", y = (e) => typeof Node < "u" && e instanceof Node, b = (e) => {
|
|
14
|
+
typeof window > "u" || window.dispatchEvent(new CustomEvent(v, { detail: { id: e } }));
|
|
15
|
+
}, x = ({ prices: x, minPriceMinor: S, className: C }) => {
|
|
16
|
+
let { t: w, i18n: T } = f(), E = ee(), D = a(), oe = d(ae), se = d("(hover: none), (pointer: coarse)"), O = !!(oe || se), [k, A] = c(null), [j, M] = c(!1), N = s(null), P = s(null), F = s(null), I = s(null), L = k !== null, R = t(x, T.language, w), z = e(x, T.language), B = R[0], V = R[1], H = () => {
|
|
17
17
|
N.current &&= (clearTimeout(N.current), null);
|
|
18
18
|
}, U = (e) => {
|
|
19
|
-
O || (H(), A((t) => t === "click" ? t : e),
|
|
19
|
+
O || (H(), A((t) => t === "click" ? t : e), b(E));
|
|
20
20
|
}, W = () => {
|
|
21
21
|
H(), A(null);
|
|
22
22
|
}, G = () => {
|
|
23
|
-
H(), M(!0),
|
|
23
|
+
H(), M(!0), b(E);
|
|
24
24
|
}, ce = () => {
|
|
25
25
|
M(!1);
|
|
26
26
|
}, le = () => {
|
|
27
27
|
L || U("hover");
|
|
28
|
-
}, ue = (e) =>
|
|
28
|
+
}, ue = (e) => y(e) ? !!(P.current?.contains(e) || I.current?.contains(e)) : !1, K = (e) => y(e) ? !!(F.current?.contains(e) || I.current?.contains(e)) : !1, q = (e) => {
|
|
29
29
|
k !== "hover" || K(e) || (H(), N.current = setTimeout(() => {
|
|
30
30
|
A((e) => e === "hover" ? null : e), N.current = null;
|
|
31
|
-
},
|
|
31
|
+
}, ie));
|
|
32
32
|
}, J = (e) => {
|
|
33
33
|
q(e?.relatedTarget);
|
|
34
34
|
}, de = (e) => {
|
|
@@ -40,12 +40,12 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
40
40
|
H();
|
|
41
41
|
};
|
|
42
42
|
let e = (e) => {
|
|
43
|
-
e.detail?.id !==
|
|
43
|
+
e.detail?.id !== E && (H(), A(null), M(!1));
|
|
44
44
|
};
|
|
45
|
-
return window.addEventListener(
|
|
46
|
-
window.removeEventListener(
|
|
45
|
+
return window.addEventListener(v, e), () => {
|
|
46
|
+
window.removeEventListener(v, e), H();
|
|
47
47
|
};
|
|
48
|
-
}, [
|
|
48
|
+
}, [E]), o(() => {
|
|
49
49
|
if (k !== "hover" || typeof window > "u") return;
|
|
50
50
|
let e = (e) => {
|
|
51
51
|
if (K(e.target)) {
|
|
@@ -63,94 +63,94 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
M(!1);
|
|
66
|
-
}, [O]), !B) return typeof
|
|
66
|
+
}, [O]), !B) return typeof S == "number" ? /* @__PURE__ */ l(r, {
|
|
67
67
|
variant: "outline",
|
|
68
|
-
className:
|
|
69
|
-
children: /* @__PURE__ */
|
|
68
|
+
className: p("border-slate-200 bg-white text-slate-700", C),
|
|
69
|
+
children: /* @__PURE__ */ l("span", { children: w("price_from", { price: n(S, T.language) }) })
|
|
70
70
|
}) : null;
|
|
71
|
-
let Y =
|
|
72
|
-
/* @__PURE__ */
|
|
71
|
+
let Y = p(i({ variant: "outline" }), "gap-1.5 border-slate-200 bg-white text-slate-700 outline-none transition hover:border-slate-300 hover:text-slate-950 focus:border-slate-200 focus:outline-none focus:ring-0 focus:ring-transparent focus:ring-offset-0 focus-visible:border-slate-200 focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0", z.length > 0 && "cursor-pointer", C), X = D?.storefrontConfiguration.shop.emailAddress?.trim(), Z = D?.storefrontConfiguration.shop.contactPhone1?.trim(), fe = !!(X || Z), Q = () => /* @__PURE__ */ u(te, { children: [
|
|
72
|
+
/* @__PURE__ */ l("span", {
|
|
73
73
|
className: "font-semibold",
|
|
74
74
|
children: B
|
|
75
75
|
}),
|
|
76
|
-
V ? /* @__PURE__ */
|
|
76
|
+
V ? /* @__PURE__ */ u("span", {
|
|
77
77
|
className: "inline-flex items-center gap-1 text-slate-500",
|
|
78
|
-
children: [/* @__PURE__ */
|
|
78
|
+
children: [/* @__PURE__ */ l(h, {
|
|
79
79
|
className: "h-3 w-3",
|
|
80
80
|
strokeWidth: 2.4,
|
|
81
81
|
"aria-hidden": "true"
|
|
82
|
-
}), /* @__PURE__ */
|
|
82
|
+
}), /* @__PURE__ */ l("span", { children: w("price_then", { price: V }) })]
|
|
83
83
|
}) : null,
|
|
84
|
-
z.length > 0 ? /* @__PURE__ */
|
|
84
|
+
z.length > 0 ? /* @__PURE__ */ l("span", {
|
|
85
85
|
ref: F,
|
|
86
86
|
className: "inline-flex shrink-0 items-center text-slate-500",
|
|
87
87
|
onMouseEnter: () => U("hover"),
|
|
88
88
|
onMouseMove: le,
|
|
89
89
|
onMouseLeave: J,
|
|
90
|
-
children: /* @__PURE__ */
|
|
90
|
+
children: /* @__PURE__ */ l(ne, {
|
|
91
91
|
className: "h-3 w-3",
|
|
92
92
|
"aria-hidden": "true"
|
|
93
93
|
})
|
|
94
94
|
}) : null
|
|
95
|
-
] }), pe = () => fe ? /* @__PURE__ */
|
|
95
|
+
] }), pe = () => fe ? /* @__PURE__ */ u("div", {
|
|
96
96
|
className: "border-t border-slate-200 pt-2 text-slate-600",
|
|
97
|
-
children: [/* @__PURE__ */
|
|
97
|
+
children: [/* @__PURE__ */ l("p", {
|
|
98
98
|
className: "leading-snug",
|
|
99
|
-
children: /* @__PURE__ */
|
|
100
|
-
}), /* @__PURE__ */
|
|
99
|
+
children: /* @__PURE__ */ l("span", { children: w("price_table_contact_prompt") })
|
|
100
|
+
}), /* @__PURE__ */ u("div", {
|
|
101
101
|
className: "mt-2 flex flex-wrap gap-x-3 gap-y-1",
|
|
102
|
-
children: [Z ? /* @__PURE__ */
|
|
102
|
+
children: [Z ? /* @__PURE__ */ u("a", {
|
|
103
103
|
className: "inline-flex min-w-0 items-center gap-1 font-medium text-slate-800 underline-offset-4 hover:underline",
|
|
104
104
|
href: `tel:${Z}`,
|
|
105
|
-
children: [/* @__PURE__ */
|
|
105
|
+
children: [/* @__PURE__ */ l(m, {
|
|
106
106
|
className: "h-3 w-3 shrink-0",
|
|
107
107
|
"aria-hidden": "true"
|
|
108
|
-
}), /* @__PURE__ */
|
|
108
|
+
}), /* @__PURE__ */ l("span", {
|
|
109
109
|
className: "whitespace-nowrap",
|
|
110
110
|
children: Z
|
|
111
111
|
})]
|
|
112
|
-
}) : null, X ? /* @__PURE__ */
|
|
112
|
+
}) : null, X ? /* @__PURE__ */ u("a", {
|
|
113
113
|
className: "inline-flex min-w-0 items-center gap-1 font-medium text-slate-800 underline-offset-4 hover:underline",
|
|
114
114
|
href: `mailto:${X}`,
|
|
115
|
-
children: [/* @__PURE__ */
|
|
115
|
+
children: [/* @__PURE__ */ l(re, {
|
|
116
116
|
className: "h-3 w-3 shrink-0",
|
|
117
117
|
"aria-hidden": "true"
|
|
118
|
-
}), /* @__PURE__ */
|
|
118
|
+
}), /* @__PURE__ */ l("span", {
|
|
119
119
|
className: "break-all",
|
|
120
120
|
children: X
|
|
121
121
|
})]
|
|
122
122
|
}) : null]
|
|
123
123
|
})]
|
|
124
|
-
}) : null, $ = (e, t) => /* @__PURE__ */
|
|
125
|
-
className:
|
|
124
|
+
}) : null, $ = (e, t) => /* @__PURE__ */ u("div", {
|
|
125
|
+
className: p("grid gap-2", t === "popover" ? "text-xs" : "text-base"),
|
|
126
126
|
children: [
|
|
127
|
-
e ? /* @__PURE__ */
|
|
127
|
+
e ? /* @__PURE__ */ l("p", {
|
|
128
128
|
className: "font-semibold uppercase tracking-[0.12em] text-slate-500",
|
|
129
|
-
children: /* @__PURE__ */
|
|
129
|
+
children: /* @__PURE__ */ l("span", { children: w("price_table_title") })
|
|
130
130
|
}) : null,
|
|
131
|
-
/* @__PURE__ */
|
|
132
|
-
className:
|
|
131
|
+
/* @__PURE__ */ l("ul", {
|
|
132
|
+
className: p("grid gap-1 text-slate-600", t === "drawer" && "gap-1.5"),
|
|
133
133
|
children: z.map(({ dayCount: e, totalPriceLabel: n, perDayPriceLabel: r }) => {
|
|
134
|
-
let i =
|
|
135
|
-
return /* @__PURE__ */
|
|
134
|
+
let i = w("price_table_day", { count: e }), a = w("price_table_per_day", { price: r });
|
|
135
|
+
return /* @__PURE__ */ l("li", { children: /* @__PURE__ */ u("div", {
|
|
136
136
|
className: "flex items-baseline gap-2",
|
|
137
137
|
children: [
|
|
138
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ l("span", {
|
|
139
139
|
className: "shrink-0 leading-tight",
|
|
140
140
|
children: i
|
|
141
141
|
}),
|
|
142
|
-
/* @__PURE__ */
|
|
142
|
+
/* @__PURE__ */ l("span", {
|
|
143
143
|
className: "mx-1 flex-1 border-b border-dotted border-slate-300",
|
|
144
144
|
"aria-hidden": "true"
|
|
145
145
|
}),
|
|
146
|
-
/* @__PURE__ */
|
|
146
|
+
/* @__PURE__ */ u("span", {
|
|
147
147
|
className: "shrink-0 font-medium leading-tight text-slate-950",
|
|
148
|
-
children: [n, /* @__PURE__ */
|
|
149
|
-
className:
|
|
148
|
+
children: [n, /* @__PURE__ */ u("span", {
|
|
149
|
+
className: p("ml-1 font-medium text-slate-500", t === "popover" ? "text-xs" : "text-sm"),
|
|
150
150
|
children: [
|
|
151
|
-
/* @__PURE__ */
|
|
152
|
-
/* @__PURE__ */
|
|
153
|
-
/* @__PURE__ */
|
|
151
|
+
/* @__PURE__ */ l("span", { children: "(" }),
|
|
152
|
+
/* @__PURE__ */ l("span", { children: a }),
|
|
153
|
+
/* @__PURE__ */ l("span", { children: ")" })
|
|
154
154
|
]
|
|
155
155
|
})]
|
|
156
156
|
})
|
|
@@ -161,17 +161,17 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
161
161
|
pe()
|
|
162
162
|
]
|
|
163
163
|
});
|
|
164
|
-
return O ? /* @__PURE__ */
|
|
164
|
+
return O ? /* @__PURE__ */ u(g.Root, {
|
|
165
165
|
open: j,
|
|
166
166
|
onOpenChange: (e) => {
|
|
167
167
|
e ? G() : ce();
|
|
168
168
|
},
|
|
169
169
|
swipeDirection: "down",
|
|
170
|
-
children: [/* @__PURE__ */
|
|
170
|
+
children: [/* @__PURE__ */ l(g.Trigger, {
|
|
171
171
|
ref: P,
|
|
172
172
|
type: "button",
|
|
173
173
|
className: Y,
|
|
174
|
-
"aria-label":
|
|
174
|
+
"aria-label": w("price_details_aria_label", { price: B }),
|
|
175
175
|
"aria-expanded": j,
|
|
176
176
|
onClick: (e) => {
|
|
177
177
|
e.stopPropagation();
|
|
@@ -180,38 +180,38 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
180
180
|
e.stopPropagation();
|
|
181
181
|
},
|
|
182
182
|
children: Q()
|
|
183
|
-
}), /* @__PURE__ */
|
|
183
|
+
}), /* @__PURE__ */ u(g.Portal, { children: [/* @__PURE__ */ l(g.Backdrop, { className: "pointer-events-auto fixed inset-0 z-50 bg-black/50 outline-none data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:animate-in data-[open]:fade-in-0" }), /* @__PURE__ */ l(g.Viewport, {
|
|
184
184
|
className: "pointer-events-none fixed inset-0 z-50",
|
|
185
|
-
children: /* @__PURE__ */
|
|
185
|
+
children: /* @__PURE__ */ u(g.Popup, {
|
|
186
186
|
className: "pointer-events-auto fixed inset-x-0 bottom-0 z-50 flex max-h-[90dvh] flex-col rounded-t-2xl border-t border-slate-200 bg-white text-slate-950 shadow-xl outline-none data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:slide-out-to-bottom data-[open]:animate-in data-[open]:fade-in-0 data-[open]:slide-in-from-bottom",
|
|
187
|
-
children: [/* @__PURE__ */
|
|
187
|
+
children: [/* @__PURE__ */ l("div", {
|
|
188
188
|
className: "mx-auto mt-4 h-2 w-[100px] shrink-0 rounded-full bg-slate-200",
|
|
189
189
|
"aria-hidden": "true"
|
|
190
|
-
}), /* @__PURE__ */
|
|
190
|
+
}), /* @__PURE__ */ l(g.Content, { children: /* @__PURE__ */ u("div", {
|
|
191
191
|
className: "flex max-h-[calc(90dvh-1rem)] flex-col",
|
|
192
|
-
children: [/* @__PURE__ */
|
|
192
|
+
children: [/* @__PURE__ */ l("div", {
|
|
193
193
|
className: "border-b border-slate-200 px-4 py-4 text-left",
|
|
194
|
-
children: /* @__PURE__ */
|
|
194
|
+
children: /* @__PURE__ */ l(g.Title, {
|
|
195
195
|
className: "text-left text-lg font-semibold text-slate-950",
|
|
196
|
-
children: /* @__PURE__ */
|
|
196
|
+
children: /* @__PURE__ */ l("span", { children: w("price_table_title") })
|
|
197
197
|
})
|
|
198
|
-
}), /* @__PURE__ */
|
|
198
|
+
}), /* @__PURE__ */ l("div", {
|
|
199
199
|
className: "flex-1 overflow-y-auto px-4 pb-6 pt-3",
|
|
200
200
|
children: $(!1, "drawer")
|
|
201
201
|
})]
|
|
202
202
|
}) })]
|
|
203
203
|
})
|
|
204
204
|
})] })]
|
|
205
|
-
}) : /* @__PURE__ */
|
|
205
|
+
}) : /* @__PURE__ */ u(_.Root, {
|
|
206
206
|
open: L,
|
|
207
207
|
onOpenChange: (e) => {
|
|
208
208
|
e ? U("click") : W();
|
|
209
209
|
},
|
|
210
|
-
children: [/* @__PURE__ */
|
|
210
|
+
children: [/* @__PURE__ */ l(_.Trigger, {
|
|
211
211
|
ref: P,
|
|
212
212
|
type: "button",
|
|
213
213
|
className: Y,
|
|
214
|
-
"aria-label":
|
|
214
|
+
"aria-label": w("price_details_aria_label", { price: B }),
|
|
215
215
|
"aria-expanded": L,
|
|
216
216
|
onBlur: de,
|
|
217
217
|
onClick: (e) => {
|
|
@@ -221,13 +221,13 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
221
221
|
e.stopPropagation();
|
|
222
222
|
},
|
|
223
223
|
children: Q()
|
|
224
|
-
}), z.length > 0 ? /* @__PURE__ */
|
|
224
|
+
}), z.length > 0 ? /* @__PURE__ */ l(_.Portal, { children: /* @__PURE__ */ l(_.Positioner, {
|
|
225
225
|
side: "top",
|
|
226
226
|
align: "end",
|
|
227
227
|
sideOffset: 8,
|
|
228
228
|
collisionPadding: 12,
|
|
229
229
|
className: "pointer-events-auto z-[70] outline-none",
|
|
230
|
-
children: /* @__PURE__ */
|
|
230
|
+
children: /* @__PURE__ */ l(_.Popup, {
|
|
231
231
|
ref: I,
|
|
232
232
|
initialFocus: !1,
|
|
233
233
|
className: "w-64 rounded-xl border border-slate-200 bg-white p-3 text-slate-950 shadow-xl outline-none data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95",
|
|
@@ -245,4 +245,4 @@ var ae = 180, oe = "(max-width: 767px)", _ = "loczer:storefront:product-price-po
|
|
|
245
245
|
});
|
|
246
246
|
};
|
|
247
247
|
//#endregion
|
|
248
|
-
export {
|
|
248
|
+
export { x as ProductPriceBadge };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Button as e } from "../../ui/button.js";
|
|
2
|
-
import { ResponsiveDialog as t, ResponsiveDialogContent as n, ResponsiveDialogDescription as r, ResponsiveDialogFooter as i, ResponsiveDialogHeader as a, ResponsiveDialogTitle as o } from "../../chunks/pkg/ui/dist/ResponsiveDialog-
|
|
2
|
+
import { ResponsiveDialog as t, ResponsiveDialogContent as n, ResponsiveDialogDescription as r, ResponsiveDialogFooter as i, ResponsiveDialogHeader as a, ResponsiveDialogTitle as o } from "../../chunks/pkg/ui/dist/ResponsiveDialog-BVwhTZQo.js";
|
|
3
3
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { useSearchParams as l } from "@rpcbase/router";
|
|
5
|
+
import { useTranslation as u } from "react-i18next";
|
|
6
|
+
import { cn as d } from "@rpcbase/ui";
|
|
7
7
|
import { CheckCircle2 as f, Info as p } from "lucide-react";
|
|
8
8
|
//#region src/components/StorefrontCancellationPolicyNotice/index.tsx
|
|
9
9
|
var m = .95, h = "show_cancellation_policy_modal", g = (e) => e.tiers.length === 0 ? [] : [...e.tiers].sort((e, t) => e.upToHours - t.upToHours), _ = (e) => g(e).find((e) => e.refundPercentage >= m) ?? null, v = (e, t) => {
|
|
@@ -17,7 +17,7 @@ var m = .95, h = "show_cancellation_policy_modal", g = (e) => e.tiers.length ===
|
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
function y({ policy: m, className: y }) {
|
|
20
|
-
let { t: b, i18n: x } =
|
|
20
|
+
let { t: b, i18n: x } = u(), [S, C] = l(), w = S.get(h) === "true", T = g(m), E = _(m), D = (e) => {
|
|
21
21
|
let t = new URLSearchParams(S);
|
|
22
22
|
e ? t.set(h, "true") : t.delete(h), C(t, { replace: !0 });
|
|
23
23
|
};
|
|
@@ -27,7 +27,7 @@ function y({ policy: m, className: y }) {
|
|
|
27
27
|
return t >= 72 && t % 24 == 0 ? b("cancellation_policy_duration_days", { count: t / 24 }) : b("cancellation_policy_duration_hours", { count: t });
|
|
28
28
|
};
|
|
29
29
|
return /* @__PURE__ */ c("li", {
|
|
30
|
-
className:
|
|
30
|
+
className: d("flex items-start gap-3", y),
|
|
31
31
|
"data-testid": "storefront-cancellation-policy-notice",
|
|
32
32
|
children: [
|
|
33
33
|
/* @__PURE__ */ s(f, {
|
|
@@ -5,15 +5,15 @@ import { Input as r } from "../../ui/input.js";
|
|
|
5
5
|
import { Card as i } from "../../ui/card.js";
|
|
6
6
|
import { ProductWarningNotice as a } from "../ProductWarningNotice/index.js";
|
|
7
7
|
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { Link as l } from "@rpcbase/router";
|
|
9
|
+
import { useTranslation as u } from "react-i18next";
|
|
10
|
+
import { cn as d } from "@rpcbase/ui";
|
|
11
11
|
import { ArrowRight as f, Trash2 as p } from "lucide-react";
|
|
12
12
|
//#region src/components/StorefrontCartPanel/index.tsx
|
|
13
13
|
function m({ lines: m, itemCount: h, totalPerDayMinor: g, estimatedDays: _, estimatedTotalMinor: v, discountedEstimatedTotalMinor: y, discountAmountMinor: b, lateReturnSurchargeMinor: x, couponCode: S, durationLabel: C, title: w, description: T, checkoutPath: E, showCheckoutAction: D = !1, showClearAction: O = !1, editable: k = !0, summaryAddon: A, stickyTopClassName: j = "top-24", onQuantityChange: M, onRemove: N, onClear: P }) {
|
|
14
|
-
let { t: F, i18n: I } =
|
|
14
|
+
let { t: F, i18n: I } = u();
|
|
15
15
|
return /* @__PURE__ */ c(i, {
|
|
16
|
-
className:
|
|
16
|
+
className: d("sticky border-slate-200 bg-white shadow-sm", j),
|
|
17
17
|
children: [/* @__PURE__ */ c("div", {
|
|
18
18
|
className: "border-b border-slate-200 px-4 py-4",
|
|
19
19
|
children: [/* @__PURE__ */ c("div", {
|
|
@@ -158,9 +158,9 @@ function m({ lines: m, itemCount: h, totalPerDayMinor: g, estimatedDays: _, esti
|
|
|
158
158
|
] }) : null,
|
|
159
159
|
/* @__PURE__ */ c("div", {
|
|
160
160
|
className: "grid gap-2",
|
|
161
|
-
children: [D && E ? /* @__PURE__ */ s(
|
|
161
|
+
children: [D && E ? /* @__PURE__ */ s(l, {
|
|
162
162
|
to: E,
|
|
163
|
-
className:
|
|
163
|
+
className: d(m.length > 0 ? "block" : "hidden"),
|
|
164
164
|
children: /* @__PURE__ */ c(n, {
|
|
165
165
|
className: "w-full gap-2",
|
|
166
166
|
children: [/* @__PURE__ */ s("span", { children: F("checkout_button") }), /* @__PURE__ */ s(f, {
|
|
@@ -171,7 +171,7 @@ function m({ lines: m, itemCount: h, totalPerDayMinor: g, estimatedDays: _, esti
|
|
|
171
171
|
}) : null, O && P ? /* @__PURE__ */ s(n, {
|
|
172
172
|
type: "button",
|
|
173
173
|
variant: "outline",
|
|
174
|
-
className:
|
|
174
|
+
className: d(m.length > 0 ? "w-full gap-2" : "hidden"),
|
|
175
175
|
onClick: P,
|
|
176
176
|
children: /* @__PURE__ */ s("span", { children: F("cart_clear") })
|
|
177
177
|
}) : null]
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { formatStorefrontPriceMinor as e } from "../../lib/pricing.js";
|
|
2
2
|
import { Button as t } from "../../ui/button.js";
|
|
3
|
-
import { ResponsiveDialog as n, ResponsiveDialogContent as r, ResponsiveDialogDescription as i, ResponsiveDialogFooter as a, ResponsiveDialogHeader as o, ResponsiveDialogTitle as s } from "../../chunks/pkg/ui/dist/ResponsiveDialog-
|
|
3
|
+
import { ResponsiveDialog as n, ResponsiveDialogContent as r, ResponsiveDialogDescription as i, ResponsiveDialogFooter as a, ResponsiveDialogHeader as o, ResponsiveDialogTitle as s } from "../../chunks/pkg/ui/dist/ResponsiveDialog-BVwhTZQo.js";
|
|
4
4
|
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { useSearchParams as u } from "@rpcbase/router";
|
|
6
|
+
import { useTranslation as d } from "react-i18next";
|
|
7
|
+
import { cn as f } from "@rpcbase/ui";
|
|
8
8
|
import { CheckCircle2 as p, Info as m, Umbrella as h } from "lucide-react";
|
|
9
9
|
//#region src/components/StorefrontInsuranceNotice/index.tsx
|
|
10
10
|
var g = "show_insurance_modal", _ = (e, t) => {
|
|
@@ -12,7 +12,7 @@ var g = "show_insurance_modal", _ = (e, t) => {
|
|
|
12
12
|
return [...new Set(n)].sort((e, t) => e - t);
|
|
13
13
|
};
|
|
14
14
|
function v({ bikes: v, currency: y, className: b }) {
|
|
15
|
-
let { t: x, i18n: S } =
|
|
15
|
+
let { t: x, i18n: S } = d(), [C, w] = u(), T = C.get(g) === "true", E = (e) => {
|
|
16
16
|
let t = new URLSearchParams(C);
|
|
17
17
|
e ? t.set(g, "true") : t.delete(g), w(t, { replace: !0 });
|
|
18
18
|
}, D = (t) => {
|
|
@@ -33,7 +33,7 @@ function v({ bikes: v, currency: y, className: b }) {
|
|
|
33
33
|
price: D("e-bike")
|
|
34
34
|
}];
|
|
35
35
|
return /* @__PURE__ */ l("li", {
|
|
36
|
-
className:
|
|
36
|
+
className: f("flex items-start gap-3", b),
|
|
37
37
|
"data-testid": "storefront-insurance-notice",
|
|
38
38
|
children: [
|
|
39
39
|
/* @__PURE__ */ c(h, {
|
|
@@ -2,12 +2,12 @@ import { getLocalizedEntry as e, getLocalizedValue as t } from "../../localizati
|
|
|
2
2
|
import { buildStorefrontImageUrl as n } from "../../lib/storefrontImage.js";
|
|
3
3
|
import { Button as r } from "../../ui/button.js";
|
|
4
4
|
import { isAutomationRuntime as i } from "../../lib/isAutomationRuntime.js";
|
|
5
|
-
import { ResponsiveDialog as a, ResponsiveDialogContent as o, ResponsiveDialogDescription as s, ResponsiveDialogFooter as c, ResponsiveDialogHeader as l, ResponsiveDialogTitle as u } from "../../chunks/pkg/ui/dist/ResponsiveDialog-
|
|
5
|
+
import { ResponsiveDialog as a, ResponsiveDialogContent as o, ResponsiveDialogDescription as s, ResponsiveDialogFooter as c, ResponsiveDialogHeader as l, ResponsiveDialogTitle as u } from "../../chunks/pkg/ui/dist/ResponsiveDialog-BVwhTZQo.js";
|
|
6
6
|
import { useEffect as d, useState as f } from "react";
|
|
7
7
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { useLocation as h, useParams as g } from "@rpcbase/router";
|
|
9
|
+
import { useTranslation as _ } from "react-i18next";
|
|
10
|
+
import { cn as v } from "@rpcbase/ui";
|
|
11
11
|
import { Info as y, X as b } from "lucide-react";
|
|
12
12
|
//#region src/components/StorefrontPopupMessages/index.tsx
|
|
13
13
|
var x = "loczer-storefront-popup-message-dismissed", S = (e, t) => `${x}:${e || "storefront"}:${t}`, C = (e) => {
|
|
@@ -58,7 +58,7 @@ var x = "loczer-storefront-popup-message-dismissed", S = (e, t) => `${x}:${e ||
|
|
|
58
58
|
};
|
|
59
59
|
}, A = "absolute right-5 top-5 z-10 flex h-9 w-9 items-center justify-center rounded-full bg-white/12 text-white/75 ring-1 ring-white/75 backdrop-blur-lg transition hover:bg-white/18 hover:text-white/85 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/85";
|
|
60
60
|
function j({ storefrontConfiguration: e }) {
|
|
61
|
-
let { t, i18n: n } =
|
|
61
|
+
let { t, i18n: n } = _(), { storeSlug: x } = g(), S = h(), [C, E] = f(null), [j, M] = f(() => /* @__PURE__ */ new Set()), N = x?.trim() || e?.storeSlug || "", P = new URLSearchParams(S.search).get("popup_e2e") === "1", F = i() && !P ? [] : e?.content?.modalMessages ?? [];
|
|
62
62
|
d(() => {
|
|
63
63
|
let t = () => {
|
|
64
64
|
E(D(e?.shop.timeZone));
|
|
@@ -126,7 +126,7 @@ function j({ storefrontConfiguration: e }) {
|
|
|
126
126
|
className: "max-w-[28rem] text-left text-3xl font-semibold leading-tight text-white",
|
|
127
127
|
children: /* @__PURE__ */ p("span", { children: I.title })
|
|
128
128
|
}), /* @__PURE__ */ p(s, {
|
|
129
|
-
className:
|
|
129
|
+
className: v("mt-2 max-w-[30rem] text-left text-sm leading-6 text-white/85", !I.subtitle && "sr-only"),
|
|
130
130
|
children: /* @__PURE__ */ p("span", { children: V })
|
|
131
131
|
})]
|
|
132
132
|
})
|
|
@@ -148,7 +148,7 @@ function j({ storefrontConfiguration: e }) {
|
|
|
148
148
|
className: "text-left text-lg font-semibold leading-6 text-slate-950",
|
|
149
149
|
children: /* @__PURE__ */ p("span", { children: I.title })
|
|
150
150
|
}), /* @__PURE__ */ p(s, {
|
|
151
|
-
className:
|
|
151
|
+
className: v("text-left text-sm text-slate-600", !I.subtitle && "sr-only"),
|
|
152
152
|
children: /* @__PURE__ */ p("span", { children: V })
|
|
153
153
|
})]
|
|
154
154
|
})]
|
|
@@ -170,7 +170,7 @@ function j({ storefrontConfiguration: e }) {
|
|
|
170
170
|
})
|
|
171
171
|
}, e))
|
|
172
172
|
}) : null, I.messageHtml ? /* @__PURE__ */ p("div", {
|
|
173
|
-
className:
|
|
173
|
+
className: v("text-sm leading-6 text-slate-700 [&_a]:text-slate-950 [&_a]:underline [&_blockquote]:border-l-2 [&_blockquote]:border-slate-300 [&_blockquote]:pl-4 [&_h1]:text-2xl [&_h1]:font-semibold [&_h2]:text-xl [&_h2]:font-semibold [&_h3]:text-lg [&_h3]:font-semibold [&_li]:my-1 [&_ol]:list-decimal [&_ol]:pl-6 [&_p]:my-2 [&_ul]:list-disc [&_ul]:pl-6", !I.subtitle && "text-base leading-7"),
|
|
174
174
|
dangerouslySetInnerHTML: { __html: I.messageHtml }
|
|
175
175
|
}) : null]
|
|
176
176
|
})
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Button as e } from "../../ui/button.js";
|
|
2
2
|
import { Label as t } from "../../ui/label.js";
|
|
3
|
-
import { Spinner as n } from "../../chunks/pkg/ui/dist/Spinner/index-
|
|
3
|
+
import { Spinner as n } from "../../chunks/pkg/ui/dist/Spinner/index-Cgi70z_E.js";
|
|
4
4
|
import { getMollieCardStyles as r } from "../../lib/mollieComponentStyles.js";
|
|
5
5
|
import { useEffect as i, useRef as a, useState as o } from "react";
|
|
6
6
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Button as e } from "../../ui/button.js";
|
|
2
2
|
import { Label as t } from "../../ui/label.js";
|
|
3
3
|
import { Input as n } from "../../ui/input.js";
|
|
4
|
-
import { Spinner as r } from "../../chunks/pkg/ui/dist/Spinner/index-
|
|
4
|
+
import { Spinner as r } from "../../chunks/pkg/ui/dist/Spinner/index-Cgi70z_E.js";
|
|
5
5
|
import { useState as i } from "react";
|
|
6
6
|
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
7
7
|
import { useTranslation as s } from "react-i18next";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { ClassProp } from 'class-variance-authority/types';
|
|
2
|
-
import {
|
|
2
|
+
import { ClassValue } from 'clsx';
|
|
3
3
|
import { ComponentPropsWithoutRef } from 'react';
|
|
4
4
|
import { ControllerProps } from '@rpcbase/form';
|
|
5
5
|
import { FieldError } from 'react-hook-form';
|
|
6
6
|
import { FieldPath } from '@rpcbase/form';
|
|
7
7
|
import { FieldValues } from '@rpcbase/form';
|
|
8
8
|
import { FormProviderProps } from 'react-hook-form';
|
|
9
|
-
import { HourPickerOption } from '@rpcbase/ui';
|
|
10
9
|
import { JSX } from 'react/jsx-runtime';
|
|
11
10
|
import { LoaderArgs } from '@rpcbase/client';
|
|
12
11
|
import { Locale } from 'date-fns';
|
|
@@ -740,6 +739,7 @@ export declare interface BookingPeriodControllerOptions {
|
|
|
740
739
|
bookingPeriodConfig?: BookingPeriodConfig;
|
|
741
740
|
fetchTimeSlots?: BookingPeriodTimeSlotsFetcher;
|
|
742
741
|
onTimeSlotsAvailabilityChange?: (isAvailable: boolean) => void;
|
|
742
|
+
onTimeSlotsConfirmationChange?: (isConfirmed: boolean) => void;
|
|
743
743
|
selectionFlow?: BookingPeriodSelectionFlow;
|
|
744
744
|
withMobileDateDrawer?: boolean;
|
|
745
745
|
currencyCode?: string;
|
|
@@ -790,6 +790,8 @@ export declare interface BookingPeriodControllerValue {
|
|
|
790
790
|
endTimeSlotsStatus: BookingPeriodTimeSlotsStatus;
|
|
791
791
|
retryStartTimeSlots: () => void;
|
|
792
792
|
retryEndTimeSlots: () => void;
|
|
793
|
+
hasAvailableTimeSlots: boolean;
|
|
794
|
+
hasConfirmedTimeSlots: boolean;
|
|
793
795
|
canCommitTimeSlots: boolean;
|
|
794
796
|
isStartToday: boolean;
|
|
795
797
|
isEndToday: boolean;
|
|
@@ -1000,7 +1002,7 @@ export declare type CatalogProductSortOptions = {
|
|
|
1000
1002
|
|
|
1001
1003
|
export declare type CatalogProductSortPriceUnit = StorefrontPublicProductPrice["unit"];
|
|
1002
1004
|
|
|
1003
|
-
export
|
|
1005
|
+
export declare function cn(...inputs: ClassValue[]): string;
|
|
1004
1006
|
|
|
1005
1007
|
export declare function compareCatalogProducts<T extends SortableCatalogProduct>(left: T, right: T, options?: CatalogProductSortOptions): number;
|
|
1006
1008
|
|
|
@@ -1627,6 +1629,8 @@ export declare const DEFAULT_CANCELLATION_POLICY: CancellationPolicy;
|
|
|
1627
1629
|
|
|
1628
1630
|
export declare const DEFAULT_PAYMENT_POLICIES: PaymentPolicies;
|
|
1629
1631
|
|
|
1632
|
+
export declare const DEFAULT_PRODUCT_KIND: "bike";
|
|
1633
|
+
|
|
1630
1634
|
export declare const DelayedPlaceholder: ({ value, className, reserveWidth, }: {
|
|
1631
1635
|
value: string;
|
|
1632
1636
|
className?: string;
|
|
@@ -2003,6 +2007,14 @@ declare type HeaderProps = {
|
|
|
2003
2007
|
whatsappPhoneDisplay?: string;
|
|
2004
2008
|
};
|
|
2005
2009
|
|
|
2010
|
+
declare type HourPickerOption = {
|
|
2011
|
+
value: string;
|
|
2012
|
+
label: string;
|
|
2013
|
+
selectedLabel?: React_2.ReactNode;
|
|
2014
|
+
disabled?: boolean;
|
|
2015
|
+
description?: React_2.ReactNode;
|
|
2016
|
+
};
|
|
2017
|
+
|
|
2006
2018
|
export declare const Input: React_2.ForwardRefExoticComponent<Omit<React_2.DetailedHTMLProps<React_2.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & React_2.RefAttributes<HTMLInputElement>>;
|
|
2007
2019
|
|
|
2008
2020
|
export declare type InsuranceProvider = z.infer<typeof insuranceProviderSchema>;
|