@loczer/storefront-sdk 0.193.0 → 0.194.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 (31) hide show
  1. package/dist/chunks/pkg/booking-engine/dist/models/{Product.shared-cjcvMCMa.js → Product.shared-iVSHRdn4.js} +21 -21
  2. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-asset-CsOe0vXi.js → base-asset-BRQVuIes.js} +1 -1
  3. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-booking-Sjsqh31e.js → base-booking-Bhy2Kww1.js} +2 -2
  4. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-product-C_ATjuc6.js → base-product-BJHQLX8t.js} +1 -1
  5. package/dist/chunks/pkg/booking-engine/dist/schemas/{insurance-B01h642r.js → insurance-CPeHsTss.js} +1 -1
  6. package/dist/chunks/pkg/booking-engine/dist/schemas-BfXM1Dgb.js +14 -0
  7. package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.d.ts.map +1 -1
  8. package/dist/components/BookingPeriodSelector/components/BookingEndTimeField.js +35 -53
  9. package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.d.ts.map +1 -1
  10. package/dist/components/BookingPeriodSelector/components/BookingStartTimeField.js +35 -53
  11. package/dist/components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js +1 -1
  12. package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.d.ts +7 -0
  13. package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.d.ts.map +1 -0
  14. package/dist/components/BookingPeriodSelector/components/internal/BookingHourPickerField.js +29 -0
  15. package/dist/components/BookingPeriodSelector/components/internal/ModalHourPickerField.d.ts.map +1 -1
  16. package/dist/components/BookingPeriodSelector/components/internal/ModalHourPickerField.js +11 -2
  17. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts +3 -0
  18. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
  19. package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +114 -110
  20. package/dist/index.d.ts +5 -0
  21. package/dist/index.js +70 -70
  22. package/dist/lib/booking.js +1 -1
  23. package/dist/lib/checkoutSubmit.js +2 -2
  24. package/dist/pages/BookingPage.d.ts.map +1 -1
  25. package/dist/pages/BookingPage.js +180 -152
  26. package/dist/pages/HomePage.d.ts.map +1 -1
  27. package/dist/pages/HomePage.js +263 -257
  28. package/dist/storefront.css +1 -1
  29. package/dist/storefrontSchemas.js +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunks/pkg/booking-engine/dist/schemas-D_yUBLa0.js +0 -14
@@ -8,45 +8,45 @@ var s = o.enum([
8
8
  "bike",
9
9
  "e-bike",
10
10
  "accessory"
11
- ]), c = o.enum(["variant_selector", "variants_as_products"]), l = o.union([o.string().trim().url(), o.string().trim().regex(/^[a-f0-9]{24}$/i)]), u = "variant_code", d = 3, f = o.string().trim().min(1, "Variant code is required").max(3, "Variant code must be 3 characters or less");
12
- function p(e) {
13
- return e.trim().toLowerCase() === u;
11
+ ]), c = "bike", l = o.enum(["variant_selector", "variants_as_products"]), u = o.union([o.string().trim().url(), o.string().trim().regex(/^[a-f0-9]{24}$/i)]), d = "variant_code", f = 3, p = o.string().trim().min(1, "Variant code is required").max(3, "Variant code must be 3 characters or less");
12
+ function m(e) {
13
+ return e.trim().toLowerCase() === d;
14
14
  }
15
- var m = o.object({
15
+ var h = o.object({
16
16
  kind: e,
17
17
  value: e
18
18
  }).superRefine((e, t) => {
19
- if (!p(e.kind)) return;
20
- let n = f.safeParse(e.value);
19
+ if (!m(e.kind)) return;
20
+ let n = p.safeParse(e.value);
21
21
  if (!n.success) for (let e of n.error.issues) t.addIssue({
22
22
  code: o.ZodIssueCode.custom,
23
23
  path: ["value"],
24
24
  message: e.message
25
25
  });
26
- }), h = o.object({
26
+ }), g = o.object({
27
27
  key: e,
28
28
  label: o.string().min(1).optional(),
29
29
  value: o.string().min(1)
30
- }), g = o.object({
30
+ }), _ = o.object({
31
31
  id: e,
32
32
  computedName: o.string().min(1),
33
- attributes: o.array(h).default([]),
34
- identifiers: o.array(m).default([])
35
- }), _ = o.object({
33
+ attributes: o.array(g).default([]),
34
+ identifiers: o.array(h).default([])
35
+ }), v = o.object({
36
36
  enabled: o.boolean().default(!1),
37
37
  pricePerDayMinor: i.default(0),
38
38
  deductibleAmountMinor: i.default(0),
39
39
  insuredValueMinor: i.default(0)
40
- }), v = o.object({
40
+ }), y = o.object({
41
41
  _id: e,
42
42
  kind: s,
43
43
  name: r,
44
44
  description: r.optional(),
45
45
  warning: r.optional(),
46
- images: o.array(l).optional(),
46
+ images: o.array(u).optional(),
47
47
  prices: o.array(a).optional(),
48
48
  depositAmount: i.default(0),
49
- insurance: _.default({
49
+ insurance: v.default({
50
50
  enabled: !1,
51
51
  pricePerDayMinor: 0,
52
52
  deductibleAmountMinor: 0,
@@ -54,17 +54,17 @@ var m = o.object({
54
54
  }),
55
55
  bufferStartMinutes: o.number().int().min(0).optional(),
56
56
  bufferEndMinutes: o.number().int().min(0).optional(),
57
- storefrontDisplayMode: c.default("variant_selector"),
57
+ storefrontDisplayMode: l.default("variant_selector"),
58
58
  createdAt: t,
59
59
  updatedAt: t,
60
- productVariants: o.array(g).min(1)
61
- }), y = v.extend({ features: n.optional() }), b = y.extend({ kind: o.literal("bike") }), x = y.extend({ kind: o.literal("e-bike") }), S = v.extend({
60
+ productVariants: o.array(_).min(1)
61
+ }), b = y.extend({ features: n.optional() }), x = b.extend({ kind: o.literal("bike") }), S = b.extend({ kind: o.literal("e-bike") }), C = y.extend({
62
62
  kind: o.literal("accessory"),
63
63
  prices: o.array(a)
64
- }), C = o.discriminatedUnion("kind", [
65
- b,
64
+ }), w = o.discriminatedUnion("kind", [
66
65
  x,
67
- S
66
+ S,
67
+ C
68
68
  ]);
69
69
  //#endregion
70
- export { u as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, d as PRODUCT_VARIANT_CODE_MAX_LENGTH, S as accessoryProductSchema, b as bikeProductSchema, x as eBikeProductSchema, p as isProductVariantCodeIdentifierKind, _ as productInsuranceSchema, s as productKindSchema, C as productSchema, c as productStorefrontDisplayModeSchema, h as productVariantAttributeSchema, f as productVariantCodeSchema, m as productVariantIdentifierSchema, g as productVariantSchema };
70
+ export { c as DEFAULT_PRODUCT_KIND, d as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, f as PRODUCT_VARIANT_CODE_MAX_LENGTH, C as accessoryProductSchema, x as bikeProductSchema, S as eBikeProductSchema, m as isProductVariantCodeIdentifierKind, v as productInsuranceSchema, s as productKindSchema, w as productSchema, l as productStorefrontDisplayModeSchema, g as productVariantAttributeSchema, p as productVariantCodeSchema, h as productVariantIdentifierSchema, _ as productVariantSchema };
@@ -1,5 +1,5 @@
1
1
  import { booleanNumberRecordSchema as e, identifierSchema as t, isoDateTimeSchema as n } from "../models/types-rIp4ReXN.js";
2
- import { productVariantIdentifierSchema as r } from "../models/Product.shared-cjcvMCMa.js";
2
+ import { productVariantIdentifierSchema as r } from "../models/Product.shared-iVSHRdn4.js";
3
3
  import { z as i } from "zod";
4
4
  //#region ../booking-engine/dist/schemas/base-asset.js
5
5
  var a = i.enum([
@@ -1,9 +1,9 @@
1
1
  import { identifierSchema as e, isoDateTimeSchema as t, objectIdStringSchema as n, ulidStringSchema as r } from "../models/types-rIp4ReXN.js";
2
2
  import { moneyMinorSchema as i } from "./money-CVoCY4of.js";
3
- import { productKindSchema as a } from "../models/Product.shared-cjcvMCMa.js";
3
+ import { productKindSchema as a } from "../models/Product.shared-iVSHRdn4.js";
4
4
  import { richTextSchema as o } from "./rich-text-DTRh7U3z.js";
5
5
  import { cancellationPolicySchema as s } from "./booking-engine-configuration-LnrhShqm.js";
6
- import { bookingInsuranceSnapshotSchema as c } from "./insurance-B01h642r.js";
6
+ import { bookingInsuranceSnapshotSchema as c } from "./insurance-CPeHsTss.js";
7
7
  import { z as l } from "zod";
8
8
  //#region ../booking-engine/dist/schemas/base-booking.js
9
9
  var u = l.enum([
@@ -1,3 +1,3 @@
1
1
  import "../models/LocalizedString-D_TRgAdr.js";
2
2
  import "../models/Price-DCAgqkKh.js";
3
- import "../models/Product.shared-cjcvMCMa.js";
3
+ import "../models/Product.shared-iVSHRdn4.js";
@@ -1,6 +1,6 @@
1
1
  import { identifierSchema as e, isoDateTimeSchema as t } from "../models/types-rIp4ReXN.js";
2
2
  import { moneyMinorSchema as n } from "./money-CVoCY4of.js";
3
- import { productKindSchema as r } from "../models/Product.shared-cjcvMCMa.js";
3
+ import { productKindSchema as r } from "../models/Product.shared-iVSHRdn4.js";
4
4
  import { z as i } from "zod";
5
5
  //#region ../booking-engine/dist/schemas/insurance.js
6
6
  var a = i.enum(["sharelock", "morio"]), o = i.enum(["storefront", "staff"]), s = i.object({
@@ -0,0 +1,14 @@
1
+ import { createLocalizedStringEntry as e, getLocalizedStringValue as t, localizedStringArraySchema as n, localizedStringEntrySchema as r, localizedStringSchema as i } from "./models/LocalizedString-D_TRgAdr.js";
2
+ import { currencyCodeSchema as a, currencyMinorUnitDigits as o, majorToMinor as s, minorToMajor as c, moneyMinorSchema as l, signedMoneyMinorSchema as u } from "./schemas/money-CVoCY4of.js";
3
+ import { priceSchema as d, priceUnitSchema as f } from "./models/Price-DCAgqkKh.js";
4
+ import { DEFAULT_PRODUCT_KIND as p, PRODUCT_VARIANT_CODE_IDENTIFIER_KIND as m, PRODUCT_VARIANT_CODE_MAX_LENGTH as h, accessoryProductSchema as g, bikeProductSchema as _, eBikeProductSchema as v, isProductVariantCodeIdentifierKind as y, productInsuranceSchema as b, productKindSchema as x, productSchema as S, productStorefrontDisplayModeSchema as C, productVariantAttributeSchema as w, productVariantCodeSchema as T, productVariantIdentifierSchema as E, productVariantSchema as D } from "./models/Product.shared-iVSHRdn4.js";
5
+ import { richTextJsonDocSchema as O, richTextSchema as k, richTextVersionSchema as A } from "./schemas/rich-text-DTRh7U3z.js";
6
+ import { isoDateSchema as j, shopConfigurationSchema as M, shopExtraTimeSlotRuleSchema as N, shopOpeningDayIndexSchema as P, shopOpeningDaySchema as F, shopOpeningHoursOverrideSchema as I, shopOpeningHoursPeriodSchema as L, shopOpeningSlotSchema as R, timeOfDaySchema as z } from "./schemas/shop-opening-hours-BlLD1gfz.js";
7
+ import { DEFAULT_CANCELLATION_POLICY as B, DEFAULT_PAYMENT_POLICIES as V, cancellationPolicySchema as H, cancellationPolicyTierSchema as U, paymentPoliciesSchema as W } from "./schemas/booking-engine-configuration-LnrhShqm.js";
8
+ import { fulfillmentModeSchema as G, publicBookingEngineConfigurationSchema as K, publicCheckoutConfigurationSchema as q, publicCheckoutDynamicOptionsSchema as J } from "./schemas/public-booking-engine-configuration-CEM9mexX.js";
9
+ import { DEFAULT_BOOKING_DELIVERY_OPTION as Y, bookingCustomerInputSchema as X, bookingDeliveryOptionSchema as Z, bookingScheduleInputSchema as Q, cartItemInputSchema as $, createBookingInputBaseSchema as ee, createBookingInputSchema as te, resolveBookingDeliveryOption as ne, validateBookingDeliveryAddress as re } from "./schemas/cart-inputs-D1_Wmkca.js";
10
+ import { bookingInsuranceConsentSourceSchema as ie, bookingInsuranceItemSnapshotSchema as ae, bookingInsuranceSnapshotSchema as oe, buildBookingInsuranceSnapshot as se, calculateInsuranceCalendarDays as ce, insuranceProviderSchema as le } from "./schemas/insurance-CPeHsTss.js";
11
+ import "./schemas/base-product-BJHQLX8t.js";
12
+ import { baseAssetSchema as ue, baseAssetStatusSchema as de } from "./schemas/base-asset-BRQVuIes.js";
13
+ import { baseBookingItemSchema as fe, baseBookingSchema as pe, baseBookingStateSchema as me } from "./schemas/base-booking-Bhy2Kww1.js";
14
+ export { Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, g as accessoryProductSchema, ue as baseAssetSchema, de as baseAssetStatusSchema, fe as baseBookingItemSchema, pe as baseBookingSchema, me as baseBookingStateSchema, _ as bikeProductSchema, X as bookingCustomerInputSchema, Z as bookingDeliveryOptionSchema, ie as bookingInsuranceConsentSourceSchema, ae as bookingInsuranceItemSnapshotSchema, oe as bookingInsuranceSnapshotSchema, Q as bookingScheduleInputSchema, se as buildBookingInsuranceSnapshot, ce as calculateInsuranceCalendarDays, H as cancellationPolicySchema, U as cancellationPolicyTierSchema, $ as cartItemInputSchema, ee as createBookingInputBaseSchema, te as createBookingInputSchema, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, v as eBikeProductSchema, G as fulfillmentModeSchema, t as getLocalizedStringValue, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, j as isoDateSchema, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, W as paymentPoliciesSchema, d as priceSchema, f as priceUnitSchema, b as productInsuranceSchema, x as productKindSchema, S as productSchema, C as productStorefrontDisplayModeSchema, w as productVariantAttributeSchema, T as productVariantCodeSchema, E as productVariantIdentifierSchema, D as productVariantSchema, K as publicBookingEngineConfigurationSchema, q as publicCheckoutConfigurationSchema, J as publicCheckoutDynamicOptionsSchema, ne as resolveBookingDeliveryOption, O as richTextJsonDocSchema, k as richTextSchema, A as richTextVersionSchema, M as shopConfigurationSchema, N as shopExtraTimeSlotRuleSchema, P as shopOpeningDayIndexSchema, F as shopOpeningDaySchema, I as shopOpeningHoursOverrideSchema, L as shopOpeningHoursPeriodSchema, R as shopOpeningSlotSchema, u as signedMoneyMinorSchema, z as timeOfDaySchema, re as validateBookingDeliveryAddress };
@@ -1 +1 @@
1
- {"version":3,"file":"BookingEndTimeField.d.ts","sourceRoot":"","sources":["../../../../src/components/BookingPeriodSelector/components/BookingEndTimeField.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,mBAAmB,+CA6K/B,CAAA"}
1
+ {"version":3,"file":"BookingEndTimeField.d.ts","sourceRoot":"","sources":["../../../../src/components/BookingPeriodSelector/components/BookingEndTimeField.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,mBAAmB,+CAmJ/B,CAAA"}
@@ -2,19 +2,19 @@ import { useBookingPeriod as e } from "../BookingPeriodContext.js";
2
2
  import { useMorphingModalWizardOverlayLayer as t } from "../../../chunks/pkg/ui/dist/MorphingModalWizard-CfEqkJ0y.js";
3
3
  import { Label as n } from "../../../ui/label.js";
4
4
  import { BookingPeriodFieldErrorMessage as r } from "./BookingPeriodFieldErrorMessage.js";
5
- import { ModalHourPickerField as i } from "./internal/ModalHourPickerField.js";
5
+ import { BookingHourPickerField as i } from "./internal/BookingHourPickerField.js";
6
6
  import { useEffect as a, useRef as o } from "react";
7
7
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
8
- import { HourPickerField as u, cn as d } from "@rpcbase/ui";
8
+ import { cn as u } from "@rpcbase/ui";
9
9
  //#region src/components/BookingPeriodSelector/components/BookingEndTimeField.tsx
10
- var f = (e, t, n) => new Intl.NumberFormat(t, {
10
+ var d = (e, t, n) => new Intl.NumberFormat(t, {
11
11
  style: "currency",
12
12
  currency: n,
13
13
  minimumFractionDigits: 0,
14
14
  maximumFractionDigits: 0
15
- }).format(e / 100), p = () => {
16
- let { labels: p, localeCode: m, currencyCode: h, endTime: g, selectEndTime: _, availableEndTimeSlots: v, endTimeSlotsStatus: y, isEndTimeSelectOpen: b, setIsEndTimeSelectOpen: x, labelClassName: S, inputClassName: C, buttonClassName: w, errors: T, isHydrated: E, startMinutesValue: D, isSameDaySelection: O, isEndToday: k, earliestMinutesForToday: A } = e(), j = v.map((e) => {
17
- let t = !!O && D != null && e.startMinutes <= D, n = k && A != null && e.startMinutes < A, r = e.isDisabled || t || n, i = e.disabledReason === "closed" ? p.timeSlotClosedLabel ?? "Closed" : e.disabledReason, a = e.isExtra && e.extraAmount != null ? p.timeSlotExtraFee?.({ amount: f(e.extraAmount, m, h) }) ?? `Extra fee: ${f(e.extraAmount, m, h)}` : null, o = e.isDisabled && i ? i : null, u = a && o ? /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
15
+ }).format(e / 100), f = () => {
16
+ let { labels: f, localeCode: p, currencyCode: m, endTime: h, selectEndTime: g, availableEndTimeSlots: _, endTimeSlotsStatus: v, isEndTimeSelectOpen: y, setIsEndTimeSelectOpen: b, labelClassName: x, inputClassName: S, buttonClassName: C, errors: w, isHydrated: T, startMinutesValue: E, isSameDaySelection: D, isEndToday: O, earliestMinutesForToday: k } = e(), A = _.map((e) => {
17
+ let t = !!D && E != null && e.startMinutes <= E, n = O && k != null && e.startMinutes < k, r = e.isDisabled || t || n, i = e.disabledReason === "closed" ? f.timeSlotClosedLabel ?? "Closed" : e.disabledReason, a = e.isExtra && e.extraAmount != null ? f.timeSlotExtraFee?.({ amount: d(e.extraAmount, p, m) }) ?? `Extra fee: ${d(e.extraAmount, p, m)}` : null, o = e.isDisabled && i ? i : null, u = a && o ? /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
18
18
  className: "block",
19
19
  children: a
20
20
  }), /* @__PURE__ */ c("span", {
@@ -27,79 +27,61 @@ var f = (e, t, n) => new Intl.NumberFormat(t, {
27
27
  disabled: r,
28
28
  description: u
29
29
  };
30
- }), M = j.some((e) => !e.disabled), N = y !== "local" && (y !== "ready" || !M), P = y === "loading" ? p.timeSlotsLoading : y === "error" ? p.timeSlotsLoadError : y === "ready" && !M ? p.timeSlotsUnavailable : p.endTime, F = j.find((e) => !e.disabled)?.value, I = o(g ?? F ?? null), L = t(), R = !!L;
30
+ }), j = A.some((e) => !e.disabled), M = v !== "local" && (v !== "ready" || !j), N = v === "loading" ? f.timeSlotsLoading : v === "error" ? f.timeSlotsLoadError : v === "ready" && !j ? f.timeSlotsUnavailable : f.endTime, P = A.find((e) => !e.disabled)?.value, F = o(h ?? P ?? null), I = t();
31
31
  return a(() => {
32
- b || (I.current = g ?? F ?? null);
32
+ y || (F.current = h ?? P ?? null);
33
33
  }, [
34
- g,
35
- F,
36
- b
34
+ h,
35
+ P,
36
+ y
37
37
  ]), a(() => {
38
38
  let e = document.getElementById("end-time-picker");
39
39
  if (!(e instanceof HTMLInputElement)) return;
40
40
  let t = (e) => {
41
- if (e.key !== "Enter" || !b) return;
41
+ if (e.key !== "Enter" || !y) return;
42
42
  e.preventDefault(), e.stopPropagation();
43
- let t = I.current ?? g ?? F;
44
- t && _(t);
43
+ let t = F.current ?? h ?? P;
44
+ t && g(t);
45
45
  };
46
46
  return e.addEventListener("keydown", t, !0), () => {
47
47
  e.removeEventListener("keydown", t, !0);
48
48
  };
49
49
  }, [
50
- g,
51
- F,
52
- b,
53
- _
50
+ h,
51
+ P,
52
+ y,
53
+ g
54
54
  ]), /* @__PURE__ */ l("div", {
55
- className: "group/form-item relative w-[150px]",
55
+ className: "group/form-item relative min-w-0 w-[150px] md:shrink-0",
56
56
  children: [
57
57
  /* @__PURE__ */ c(n, {
58
58
  htmlFor: "end-time-picker",
59
- className: d("mb-1 block text-sm font-medium", S),
60
- children: /* @__PURE__ */ c("span", { children: p.endTime })
59
+ className: u("mb-1 block text-sm font-medium", x),
60
+ children: /* @__PURE__ */ c("span", { children: f.endTime })
61
61
  }),
62
- R ? /* @__PURE__ */ c(i, {
62
+ /* @__PURE__ */ c(i, {
63
63
  id: "end-time-picker",
64
- placeholder: P,
65
- value: g ?? null,
64
+ placeholder: N,
65
+ value: h ?? null,
66
66
  onValueUpdate: (e) => {
67
- e && (I.current = e);
67
+ e && (F.current = e);
68
68
  },
69
69
  onChange: (e) => {
70
- e && (I.current = e, _(e));
70
+ e && (F.current = e, g(e));
71
71
  },
72
- options: j,
73
- disabled: N,
74
- open: b,
75
- onOpenChange: x,
72
+ options: A,
73
+ disabled: M,
74
+ open: y,
75
+ onOpenChange: b,
76
76
  triggerTestId: "end-time-trigger",
77
77
  contentTestId: "end-time-select-content",
78
- isHydrated: E,
79
- inputClassName: d(T.endTime && "border-destructive", C, w),
80
- portalContainer: L
81
- }) : /* @__PURE__ */ c(u, {
82
- id: "end-time-picker",
83
- placeholder: P,
84
- value: g ?? null,
85
- onValueUpdate: (e) => {
86
- e && (I.current = e);
87
- },
88
- onChange: (e) => {
89
- e && (I.current = e, _(e));
90
- },
91
- options: j,
92
- disabled: N,
93
- open: b,
94
- onOpenChange: x,
95
- triggerTestId: "end-time-trigger",
96
- contentTestId: "end-time-select-content",
97
- isHydrated: E,
98
- inputClassName: d(T.endTime && "border-destructive", C, w)
78
+ isHydrated: T,
79
+ inputClassName: u(w.endTime && "border-destructive", S, C),
80
+ portalContainer: I
99
81
  }),
100
- T.endTime && /* @__PURE__ */ c(r, { children: T.endTime })
82
+ w.endTime && /* @__PURE__ */ c(r, { children: w.endTime })
101
83
  ]
102
84
  });
103
85
  };
104
86
  //#endregion
105
- export { p as BookingEndTimeField };
87
+ export { f as BookingEndTimeField };
@@ -1 +1 @@
1
- {"version":3,"file":"BookingStartTimeField.d.ts","sourceRoot":"","sources":["../../../../src/components/BookingPeriodSelector/components/BookingStartTimeField.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,qBAAqB,+CAuKjC,CAAA"}
1
+ {"version":3,"file":"BookingStartTimeField.d.ts","sourceRoot":"","sources":["../../../../src/components/BookingPeriodSelector/components/BookingStartTimeField.tsx"],"names":[],"mappings":"AAmBA,eAAO,MAAM,qBAAqB,+CA6IjC,CAAA"}
@@ -2,19 +2,19 @@ import { useBookingPeriod as e } from "../BookingPeriodContext.js";
2
2
  import { useMorphingModalWizardOverlayLayer as t } from "../../../chunks/pkg/ui/dist/MorphingModalWizard-CfEqkJ0y.js";
3
3
  import { Label as n } from "../../../ui/label.js";
4
4
  import { BookingPeriodFieldErrorMessage as r } from "./BookingPeriodFieldErrorMessage.js";
5
- import { ModalHourPickerField as i } from "./internal/ModalHourPickerField.js";
5
+ import { BookingHourPickerField as i } from "./internal/BookingHourPickerField.js";
6
6
  import { useEffect as a, useRef as o } from "react";
7
7
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
8
- import { HourPickerField as u, cn as d } from "@rpcbase/ui";
8
+ import { cn as u } from "@rpcbase/ui";
9
9
  //#region src/components/BookingPeriodSelector/components/BookingStartTimeField.tsx
10
- var f = (e, t, n) => new Intl.NumberFormat(t, {
10
+ var d = (e, t, n) => new Intl.NumberFormat(t, {
11
11
  style: "currency",
12
12
  currency: n,
13
13
  minimumFractionDigits: 0,
14
14
  maximumFractionDigits: 0
15
- }).format(e / 100), p = () => {
16
- let { labels: p, localeCode: m, currencyCode: h, startTime: g, selectStartTime: _, startTimeSlots: v, startTimeSlotsStatus: y, isStartTimeSelectOpen: b, setIsStartTimeSelectOpen: x, labelClassName: S, inputClassName: C, buttonClassName: w, errors: T, isHydrated: E, isStartToday: D, earliestMinutesForToday: O } = e(), k = v.map((e) => {
17
- let t = D && O != null && e.startMinutes < O, n = e.isDisabled || t, r = e.disabledReason === "closed" ? p.timeSlotClosedLabel ?? "Closed" : e.disabledReason, i = e.isExtra && e.extraAmount != null ? p.timeSlotExtraFee?.({ amount: f(e.extraAmount, m, h) }) ?? `Extra fee: ${f(e.extraAmount, m, h)}` : null, a = e.isDisabled && r ? r : null, o = i && a ? /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
15
+ }).format(e / 100), f = () => {
16
+ let { labels: f, localeCode: p, currencyCode: m, startTime: h, selectStartTime: g, startTimeSlots: _, startTimeSlotsStatus: v, isStartTimeSelectOpen: y, setIsStartTimeSelectOpen: b, labelClassName: x, inputClassName: S, buttonClassName: C, errors: w, isHydrated: T, isStartToday: E, earliestMinutesForToday: D } = e(), O = _.map((e) => {
17
+ let t = E && D != null && e.startMinutes < D, n = e.isDisabled || t, r = e.disabledReason === "closed" ? f.timeSlotClosedLabel ?? "Closed" : e.disabledReason, i = e.isExtra && e.extraAmount != null ? f.timeSlotExtraFee?.({ amount: d(e.extraAmount, p, m) }) ?? `Extra fee: ${d(e.extraAmount, p, m)}` : null, a = e.isDisabled && r ? r : null, o = i && a ? /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c("span", {
18
18
  className: "block",
19
19
  children: i
20
20
  }), /* @__PURE__ */ c("span", {
@@ -27,80 +27,62 @@ var f = (e, t, n) => new Intl.NumberFormat(t, {
27
27
  disabled: n,
28
28
  description: o
29
29
  };
30
- }), A = k.some((e) => !e.disabled), j = y !== "local" && (y !== "ready" || !A), M = y === "loading" ? p.timeSlotsLoading : y === "error" ? p.timeSlotsLoadError : y === "ready" && !A ? p.timeSlotsUnavailable : p.startTime, N = k.find((e) => !e.disabled)?.value, P = o(g ?? N ?? null), F = t(), I = !!F;
30
+ }), k = O.some((e) => !e.disabled), A = v !== "local" && (v !== "ready" || !k), j = v === "loading" ? f.timeSlotsLoading : v === "error" ? f.timeSlotsLoadError : v === "ready" && !k ? f.timeSlotsUnavailable : f.startTime, M = O.find((e) => !e.disabled)?.value, N = o(h ?? M ?? null), P = t();
31
31
  return a(() => {
32
- b || (P.current = g ?? N ?? null);
32
+ y || (N.current = h ?? M ?? null);
33
33
  }, [
34
- N,
35
- b,
36
- g
34
+ M,
35
+ y,
36
+ h
37
37
  ]), a(() => {
38
38
  if (typeof document > "u") return;
39
39
  let e = document.getElementById("start-time-picker");
40
40
  if (!(e instanceof HTMLInputElement)) return;
41
41
  let t = (e) => {
42
- if (e.key !== "Enter" || !b) return;
42
+ if (e.key !== "Enter" || !y) return;
43
43
  e.preventDefault(), e.stopPropagation();
44
- let t = P.current ?? g ?? N;
45
- t && _(t);
44
+ let t = N.current ?? h ?? M;
45
+ t && g(t);
46
46
  };
47
47
  return e.addEventListener("keydown", t, !0), () => {
48
48
  e.removeEventListener("keydown", t, !0);
49
49
  };
50
50
  }, [
51
- N,
52
- b,
53
- _,
54
- g
51
+ M,
52
+ y,
53
+ g,
54
+ h
55
55
  ]), /* @__PURE__ */ l("div", {
56
- className: "group/form-item relative w-[150px]",
56
+ className: "group/form-item relative min-w-0 w-[150px] md:shrink-0",
57
57
  children: [
58
58
  /* @__PURE__ */ c(n, {
59
59
  htmlFor: "start-time-picker",
60
- className: d("mb-1 block text-sm font-medium", S),
61
- children: /* @__PURE__ */ c("span", { children: p.startTime })
60
+ className: u("mb-1 block text-sm font-medium", x),
61
+ children: /* @__PURE__ */ c("span", { children: f.startTime })
62
62
  }),
63
- I ? /* @__PURE__ */ c(i, {
63
+ /* @__PURE__ */ c(i, {
64
64
  id: "start-time-picker",
65
- placeholder: M,
66
- value: g ?? null,
65
+ placeholder: j,
66
+ value: h ?? null,
67
67
  onValueUpdate: (e) => {
68
- e && (P.current = e);
68
+ e && (N.current = e);
69
69
  },
70
70
  onChange: (e) => {
71
- e && (P.current = e, _(e));
71
+ e && (N.current = e, g(e));
72
72
  },
73
- options: k,
74
- disabled: j,
75
- open: b,
76
- onOpenChange: x,
73
+ options: O,
74
+ disabled: A,
75
+ open: y,
76
+ onOpenChange: b,
77
77
  triggerTestId: "start-time-trigger",
78
78
  contentTestId: "start-time-select-content",
79
- isHydrated: E,
80
- inputClassName: d(T.startTime && "border-destructive", C, w),
81
- portalContainer: F
82
- }) : /* @__PURE__ */ c(u, {
83
- id: "start-time-picker",
84
- placeholder: M,
85
- value: g ?? null,
86
- onValueUpdate: (e) => {
87
- e && (P.current = e);
88
- },
89
- onChange: (e) => {
90
- e && (P.current = e, _(e));
91
- },
92
- options: k,
93
- disabled: j,
94
- open: b,
95
- onOpenChange: x,
96
- triggerTestId: "start-time-trigger",
97
- contentTestId: "start-time-select-content",
98
- isHydrated: E,
99
- inputClassName: d(T.startTime && "border-destructive", C, w)
79
+ isHydrated: T,
80
+ inputClassName: u(w.startTime && "border-destructive", S, C),
81
+ portalContainer: P
100
82
  }),
101
- T.startTime && /* @__PURE__ */ c(r, { children: T.startTime })
83
+ w.startTime && /* @__PURE__ */ c(r, { children: w.startTime })
102
84
  ]
103
85
  });
104
86
  };
105
87
  //#endregion
106
- export { p as BookingStartTimeField };
88
+ export { f as BookingStartTimeField };
@@ -4,7 +4,7 @@ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  import { cn as i } from "@rpcbase/ui";
5
5
  //#region src/components/BookingPeriodSelector/components/BookingTimeSlotsStatus.tsx
6
6
  var a = ({ className: a, testId: o = "booking-time-slots-status" }) => {
7
- let { labels: s, startTimeSlotsStatus: c, endTimeSlotsStatus: l, retryStartTimeSlots: u, retryEndTimeSlots: d, canCommitTimeSlots: f } = t();
7
+ let { labels: s, startTimeSlotsStatus: c, endTimeSlotsStatus: l, retryStartTimeSlots: u, retryEndTimeSlots: d, hasAvailableTimeSlots: f } = t();
8
8
  if (c === "local" && l === "local") return null;
9
9
  let p = c === "error" || l === "error", m = c === "loading" || l === "loading";
10
10
  if (!p && !m && f) return null;
@@ -0,0 +1,7 @@
1
+ import { HourPickerFieldProps } from '@rpcbase/ui';
2
+ type BookingHourPickerFieldProps = HourPickerFieldProps & {
3
+ portalContainer?: HTMLElement | null;
4
+ };
5
+ export declare const BookingHourPickerField: ({ options, className, inputClassName, portalContainer, ...props }: BookingHourPickerFieldProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=BookingHourPickerField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookingHourPickerField.d.ts","sourceRoot":"","sources":["../../../../../src/components/BookingPeriodSelector/components/internal/BookingHourPickerField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAA;AAKpB,KAAK,2BAA2B,GAAG,oBAAoB,GAAG;IACxD,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,mEAMpC,2BAA2B,4CA2B7B,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { ModalHourPickerField as e } from "./ModalHourPickerField.js";
2
+ import { Fragment as t, jsx as n, jsxs as r } from "react/jsx-runtime";
3
+ import { HourPickerField as i, cn as a } from "@rpcbase/ui";
4
+ //#region src/components/BookingPeriodSelector/components/internal/BookingHourPickerField.tsx
5
+ var o = ({ options: o, className: s, inputClassName: c, portalContainer: l, ...u }) => {
6
+ let d = o.map((e) => ({
7
+ ...e,
8
+ selectedLabel: /* @__PURE__ */ r(t, { children: [/* @__PURE__ */ n("span", {
9
+ "data-slot": "booking-hour-picker-mobile-selected-label",
10
+ className: "md:hidden",
11
+ children: e.value
12
+ }), /* @__PURE__ */ n("span", {
13
+ "data-slot": "booking-hour-picker-desktop-selected-label",
14
+ className: "hidden md:inline",
15
+ children: e.label
16
+ })] })
17
+ })), f = {
18
+ ...u,
19
+ options: d,
20
+ className: a("w-full min-w-0", s),
21
+ inputClassName: a("min-w-0", c)
22
+ };
23
+ return l ? /* @__PURE__ */ n(e, {
24
+ ...f,
25
+ portalContainer: l
26
+ }) : /* @__PURE__ */ n(i, { ...f });
27
+ };
28
+ //#endregion
29
+ export { o as BookingHourPickerField };
@@ -1 +1 @@
1
- {"version":3,"file":"ModalHourPickerField.d.ts","sourceRoot":"","sources":["../../../../../src/components/BookingPeriodSelector/components/internal/ModalHourPickerField.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAM,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGvD,KAAK,yBAAyB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC9C,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,WAAW,GAAG,IAAI,CAAA;CACpC,CAAA;AAmKD,wBAAgB,oBAAoB,CAAC,EACnC,EAAE,EACF,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAA2B,EAC3B,SAAS,EACT,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,GAChB,EAAE,yBAAyB,2CA6c3B"}
1
+ {"version":3,"file":"ModalHourPickerField.d.ts","sourceRoot":"","sources":["../../../../../src/components/BookingPeriodSelector/components/internal/ModalHourPickerField.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAM,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGvD,KAAK,yBAAyB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IAC9C,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,WAAW,GAAG,IAAI,CAAA;CACpC,CAAA;AAmKD,wBAAgB,oBAAoB,CAAC,EACnC,EAAE,EACF,KAAK,EACL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAA2B,EAC3B,SAAS,EACT,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,GAChB,EAAE,yBAAyB,2CA6d3B"}
@@ -146,7 +146,7 @@ function y({ id: u, value: d, onChange: y, onValueUpdate: b, options: x, placeho
146
146
  O?.(e), R(e);
147
147
  }, Y = (e) => {
148
148
  b?.(e), y(e);
149
- };
149
+ }, X = x.find((e) => e.value === d)?.selectedLabel;
150
150
  return /* @__PURE__ */ i("div", {
151
151
  "data-slot": "hours-picker-input",
152
152
  className: o("w-[150px]", C),
@@ -165,7 +165,7 @@ function y({ id: u, value: d, onChange: y, onValueUpdate: b, options: x, placeho
165
165
  readOnly: E,
166
166
  placeholder: S,
167
167
  value: z,
168
- className: o("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 pr-10 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "transition-colors group-hover:bg-accent group-hover:text-accent-foreground", !z && "text-muted-foreground", q && "ring-2 ring-primary ring-offset-2", w),
168
+ className: o("peer flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 pr-10 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "transition-colors group-hover:bg-accent group-hover:text-accent-foreground", !z && "text-muted-foreground", q && "ring-2 ring-primary ring-offset-2", w, d && X != null && "text-transparent focus:text-foreground"),
169
169
  onChange: (e) => {
170
170
  let t = p(e.currentTarget.value);
171
171
  if (B(t), !t) {
@@ -244,6 +244,15 @@ function y({ id: u, value: d, onChange: y, onValueUpdate: b, options: x, placeho
244
244
  B(d ?? "");
245
245
  }
246
246
  }),
247
+ d && X != null ? /* @__PURE__ */ i("span", {
248
+ "aria-hidden": "true",
249
+ "data-slot": "hours-picker-input-selected-label",
250
+ className: o("pointer-events-none absolute inset-y-0 left-3 right-10 flex min-w-0 items-center text-base peer-focus:hidden md:text-sm", T && "opacity-50"),
251
+ children: /* @__PURE__ */ i("span", {
252
+ className: "min-w-0 truncate",
253
+ children: X
254
+ })
255
+ }) : null,
247
256
  /* @__PURE__ */ i("button", {
248
257
  type: "button",
249
258
  tabIndex: -1,
@@ -57,6 +57,7 @@ export interface BookingPeriodControllerOptions {
57
57
  bookingPeriodConfig?: BookingPeriodConfig;
58
58
  fetchTimeSlots?: BookingPeriodTimeSlotsFetcher;
59
59
  onTimeSlotsAvailabilityChange?: (isAvailable: boolean) => void;
60
+ onTimeSlotsConfirmationChange?: (isConfirmed: boolean) => void;
60
61
  selectionFlow?: BookingPeriodSelectionFlow;
61
62
  withMobileDateDrawer?: boolean;
62
63
  currencyCode?: string;
@@ -106,6 +107,8 @@ export interface BookingPeriodControllerValue {
106
107
  endTimeSlotsStatus: BookingPeriodTimeSlotsStatus;
107
108
  retryStartTimeSlots: () => void;
108
109
  retryEndTimeSlots: () => void;
110
+ hasAvailableTimeSlots: boolean;
111
+ hasConfirmedTimeSlots: boolean;
109
112
  canCommitTimeSlots: boolean;
110
113
  isStartToday: boolean;
111
114
  isEndToday: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useBookingPeriodController.d.ts","sourceRoot":"","sources":["../../../src/components/BookingPeriodSelector/useBookingPeriodController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBookingPeriodController.d.ts","sourceRoot":"","sources":["../../../src/components/BookingPeriodSelector/useBookingPeriodController.ts"],"names":[],"mappings":"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"}