@loczer/storefront-sdk 0.209.0 → 0.210.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/index-DAbcklF5.js +1 -0
  2. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/mini-CSEBo1ZP.js +60 -0
  3. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/index--u3Qf-qy.js +4 -0
  4. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tz/index-CEcibV-H.js +1 -0
  5. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tzOffset/index-COlDDdap.js +22 -0
  6. package/dist/chunks/pkg/booking-engine/dist/pricing-BJaynUu_.js +3 -0
  7. package/dist/chunks/pkg/booking-engine/dist/utils/schedule-ssRov9xe.js +39 -0
  8. package/dist/chunks/pkg/booking-engine/dist/utils/timezone-B6XIbBPz.js +79 -0
  9. package/dist/components/ProductPriceBadge/index.d.ts.map +1 -1
  10. package/dist/components/ProductPriceBadge/index.js +86 -80
  11. package/dist/components/StorefrontCartPanel/index.d.ts +4 -4
  12. package/dist/components/StorefrontCartPanel/index.d.ts.map +1 -1
  13. package/dist/components/StorefrontCartPanel/index.js +10 -9
  14. package/dist/i18n/en.d.ts +11 -6
  15. package/dist/i18n/en.d.ts.map +1 -1
  16. package/dist/i18n/en.js +13 -8
  17. package/dist/i18n/fr.d.ts +11 -6
  18. package/dist/i18n/fr.d.ts.map +1 -1
  19. package/dist/i18n/fr.js +13 -8
  20. package/dist/index.d.ts +54 -36
  21. package/dist/index.js +66 -66
  22. package/dist/lib/booking.d.ts +0 -6
  23. package/dist/lib/booking.d.ts.map +1 -1
  24. package/dist/lib/booking.js +51 -65
  25. package/dist/lib/cartSummary.d.ts +5 -3
  26. package/dist/lib/cartSummary.d.ts.map +1 -1
  27. package/dist/lib/cartSummary.js +7 -7
  28. package/dist/lib/pricing.d.ts +18 -6
  29. package/dist/lib/pricing.d.ts.map +1 -1
  30. package/dist/lib/pricing.js +45 -29
  31. package/dist/pages/BookingPage.d.ts.map +1 -1
  32. package/dist/pages/BookingPage.js +205 -201
  33. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  34. package/dist/pages/CheckoutPage.js +277 -274
  35. package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts +2 -2
  36. package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts.map +1 -1
  37. package/dist/pages/checkout/components/CheckoutSummaryColumn.js +4 -4
  38. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -13,78 +13,78 @@ import { assetIdSchema as ue, baseAssetSchema as de, baseAssetStatusSchema as fe
13
13
  import { baseBookingItemSchema as pe, baseBookingSchema as me, baseBookingStateSchema as he } from "./chunks/pkg/booking-engine/dist/schemas/base-booking-Bhy2Kww1.js";
14
14
  import "./chunks/pkg/booking-engine/dist/schemas-C2PdkXfm.js";
15
15
  import { STOREFRONT_HERO_MODES as ge, storefrontCheckoutModeSchema as _e, storefrontConfigurationSchema as ve, storefrontContentSchema as ye, storefrontFaqItemSchema as be, storefrontFaqSchema as xe, storefrontFulfillmentModeSchema as Se, storefrontHeroModeSchema as Ce, storefrontLocalizedRichTextSchema as we, storefrontModalMessageSchema as Te, storefrontModulesSchema as Ee, storefrontReviewsModuleSchema as De, storefrontRichTextSchema as Oe, storefrontSettingsSchema as ke, storefrontShopSchema as Ae, storefrontStatusSchema as je, storefrontWorkspaceSchema as Me } from "./storefrontSchemas.js";
16
- import { BOOKING_SEARCH_KEYS as Ne, TIME_OPTIONS as Pe, applyBookingParamsToSearch as Fe, createBookingPeriodConfigFromBookingEngineConfiguration as Ie, createBookingPeriodConfigFromShopConfiguration as Le, createBookingPeriodConfigFromStorefrontConfiguration as Re, getBookingDurationLabel as ze, getBookingDurationMinutes as Be, getBookingParamsFromSearch as Ve, getBookingSessionStorageKey as He, getDefaultBookingParams as Ue, getDefaultBookingParamsForStorefrontConfiguration as We, pickBookingSearchParams as Ge, readBookingSearchParamsFromSessionStorage as Ke, readBookingSearchParamsFromStorage as qe, resolveBookingSearchParams as Je, resolveBookingSearchParamsFromSessionStorage as Ye, writeBookingSearchParamsToSessionStorage as Xe, writeBookingSearchParamsToStorage as Ze } from "./lib/booking.js";
17
- import { getLocalizedEntry as Qe, getLocalizedValue as $e } from "./localization.js";
18
- import { CATALOG_PRODUCT_BASE_RATE_UNSET as et, buildStorefrontProductSlug as tt, buildVariantStorefrontProductId as nt, compareCatalogProducts as rt, compareStorefrontAccessoryProducts as it, compareStorefrontBikeProducts as at, findStorefrontProduct as ot, findStorefrontProductBySlug as st, getCatalogProductBaseRateMinor as ct, getCatalogProductPaginationSort as lt, getCatalogProductSortFieldForPriceUnit as ut, getStorefrontBaseDailyRateMinor as dt, getStorefrontCheckoutProductId as ft, getStorefrontProductSelectionDisplayName as pt, getStorefrontRepresentedVariantId as mt, toStorefrontAccessoryProducts as ht, toStorefrontBikeProducts as gt, toStorefrontBookingProducts as _t, toStorefrontBookingProductsCollections as vt } from "./lib/products.js";
19
- import { StorefrontCartProvider as yt, resolveStorefrontCartItemProduct as bt, useStorefrontCart as xt } from "./lib/cart.js";
20
- import { cn as St, formatPriceMinor as Ct, getAvailabilityVariant as wt, getMinDayPriceMinor as Tt } from "./lib/utils.js";
21
- import { buildDailyPriceRows as Et, buildPriceTierLabels as Dt, calculateDailyPriceForQuantity as Ot, formatStorefrontPriceMinor as kt } from "./lib/pricing.js";
22
- import { buildStorefrontCartSummary as At } from "./lib/cartSummary.js";
23
- import { ROUTE as jt, requestSchema as Mt, responseSchema as Nt } from "./lib/contactForm.js";
24
- import { formatStorefrontPhoneDisplay as Pt, resolveStorefrontMapsHref as Ft, resolveStorefrontPhoneContact as It } from "./lib/storefrontContact.js";
25
- import { STOREFRONT_ITINERARIES_FEATURED_ROUTE as Lt, STOREFRONT_ITINERARIES_LIST_ROUTE as Rt, STOREFRONT_ITINERARY_DETAIL_ROUTE as zt, storefrontItinerariesFeaturedRequestSchema as Bt, storefrontItinerariesFeaturedResponseSchema as Vt, storefrontItinerariesListRequestSchema as Ht, storefrontItinerariesListResponseSchema as Ut, storefrontItineraryBoundsSchema as Wt, storefrontItineraryCoordinateSchema as Gt, storefrontItineraryDetailRequestSchema as Kt, storefrontItineraryDetailResponseSchema as qt, storefrontItineraryDetailSchema as Jt, storefrontItineraryDifficultySchema as Yt, storefrontItineraryLocalizedStringSchema as Xt, storefrontItineraryMetricsSchema as Zt, storefrontItineraryPreviewSchema as Qt, storefrontItineraryStepSchema as $t, storefrontItinerarySummarySchema as en, storefrontItineraryTripTypeSchema as tn } from "./lib/storefrontItineraries.js";
26
- import { buildWhatsAppHref as nn, resolveStorefrontWhatsAppContact as rn, resolveStorefrontWhatsAppHref as an } from "./lib/whatsapp.js";
27
- import { ROUTE as on, requestBaseSchema as sn, requestCheckoutItemSchema as cn, requestDeliveryRefinement as ln, requestSchema as un, responseSchema as dn } from "./lib/checkoutSubmit.js";
28
- import { ROUTE as fn, requestSchema as pn, responseSchema as mn, storefrontPublicAccessoryProductSchema as hn, storefrontPublicBikeAvailabilityStatusSchema as gn, storefrontPublicBikeProductSchema as _n, storefrontPublicProductDisplayModeSchema as vn, storefrontPublicProductPriceSchema as yn, storefrontPublicProductVariantAttributeSchema as bn, storefrontPublicProductVariantIdentifierSchema as xn, storefrontPublicProductVariantSchema as Sn } from "./lib/storefrontProducts.js";
29
- import { ROUTE as Cn, buildStorefrontAvailabilityKey as wn, doesStorefrontAvailabilityDisplaySoldOut as Tn, getStorefrontAvailabilityIssue as En, getStorefrontAvailabilityStatus as Dn, isStorefrontAvailabilityInsufficient as On, publicAvailabilityDisplayModeSchema as kn, requestSchema as An, responseSchema as jn, shouldBlockStorefrontUnavailableItem as Mn, storefrontAvailabilityProductSchema as Nn, storefrontAvailabilityScheduleSchema as Pn, storefrontPublicAvailabilityRecordSchema as Fn } from "./lib/storefrontAvailability.js";
30
- import { ROUTE as In, buildStorefrontImageUrl as Ln, requestSchema as Rn } from "./lib/storefrontImage.js";
31
- import { ROUTE as zn, requestSchema as Bn, responseSchema as Vn, storefrontTimeSlotSchema as Hn, timeSlotJourneySchema as Un } from "./lib/storefrontTimeSlots.js";
32
- import { Footer as Wn } from "./components/Footer/index.js";
33
- import { Badge as Gn, badgeVariants as Kn } from "./ui/badge.js";
34
- import { Button as qn, buttonVariants as Jn, storefrontButtonRadiusClassName as Yn } from "./ui/button.js";
35
- import { StorefrontContext as Xn, useOptionalStorefront as Zn, useStorefront as Qn, useStorefrontBookingProducts as $n, useStorefrontConfig as er, useStorefrontItineraries as tr, useStorefrontProducts as nr, useStorefrontWorkspaceLanguage as rr } from "./StorefrontContext.js";
36
- import { Header as ir } from "./components/Header/index.js";
37
- import { storefront as ar } from "./i18n/en.js";
38
- import { storefront as or } from "./i18n/fr.js";
39
- import { PoweredByLoczerBadge as sr } from "./components/PoweredByLoczerBadge/index.js";
40
- import { PlatformFooter as cr } from "./components/PlatformFooter/index.js";
41
- import { useWhatsAppFloatingButton as lr } from "./components/WhatsAppFloatingButton/useWhatsAppFloatingButton.js";
42
- import { WhatsAppFloatingButton as ur } from "./components/WhatsAppFloatingButton/WhatsAppFloatingButton.js";
16
+ import { BOOKING_SEARCH_KEYS as Ne, TIME_OPTIONS as Pe, applyBookingParamsToSearch as Fe, createBookingPeriodConfigFromBookingEngineConfiguration as Ie, createBookingPeriodConfigFromShopConfiguration as Le, createBookingPeriodConfigFromStorefrontConfiguration as Re, getBookingParamsFromSearch as ze, getBookingSessionStorageKey as Be, getDefaultBookingParams as Ve, getDefaultBookingParamsForStorefrontConfiguration as He, pickBookingSearchParams as Ue, readBookingSearchParamsFromSessionStorage as We, readBookingSearchParamsFromStorage as Ge, resolveBookingSearchParams as Ke, resolveBookingSearchParamsFromSessionStorage as qe, writeBookingSearchParamsToSessionStorage as Je, writeBookingSearchParamsToStorage as Ye } from "./lib/booking.js";
17
+ import { getLocalizedEntry as Xe, getLocalizedValue as Ze } from "./localization.js";
18
+ import { CATALOG_PRODUCT_BASE_RATE_UNSET as Qe, buildStorefrontProductSlug as $e, buildVariantStorefrontProductId as et, compareCatalogProducts as tt, compareStorefrontAccessoryProducts as nt, compareStorefrontBikeProducts as rt, findStorefrontProduct as it, findStorefrontProductBySlug as at, getCatalogProductBaseRateMinor as ot, getCatalogProductPaginationSort as st, getCatalogProductSortFieldForPriceUnit as ct, getStorefrontBaseDailyRateMinor as lt, getStorefrontCheckoutProductId as ut, getStorefrontProductSelectionDisplayName as dt, getStorefrontRepresentedVariantId as ft, toStorefrontAccessoryProducts as pt, toStorefrontBikeProducts as mt, toStorefrontBookingProducts as ht, toStorefrontBookingProductsCollections as gt } from "./lib/products.js";
19
+ import { StorefrontCartProvider as _t, resolveStorefrontCartItemProduct as vt, useStorefrontCart as yt } from "./lib/cart.js";
20
+ import { cn as bt, formatPriceMinor as xt, getAvailabilityVariant as St, getMinDayPriceMinor as Ct } from "./lib/utils.js";
21
+ import { buildPriceTierLabels as wt, buildRentalPriceRows as Tt, calculateBookingRentalUnitSummary as Et, calculateRentalPriceForQuantity as Dt, formatRentalUnitQuantity as Ot, formatStorefrontPriceMinor as kt, getPricingUnitLabel as At } from "./lib/pricing.js";
22
+ import { buildStorefrontCartSummary as jt } from "./lib/cartSummary.js";
23
+ import { ROUTE as Mt, requestSchema as Nt, responseSchema as Pt } from "./lib/contactForm.js";
24
+ import { formatStorefrontPhoneDisplay as Ft, resolveStorefrontMapsHref as It, resolveStorefrontPhoneContact as Lt } from "./lib/storefrontContact.js";
25
+ import { STOREFRONT_ITINERARIES_FEATURED_ROUTE as Rt, STOREFRONT_ITINERARIES_LIST_ROUTE as zt, STOREFRONT_ITINERARY_DETAIL_ROUTE as Bt, storefrontItinerariesFeaturedRequestSchema as Vt, storefrontItinerariesFeaturedResponseSchema as Ht, storefrontItinerariesListRequestSchema as Ut, storefrontItinerariesListResponseSchema as Wt, storefrontItineraryBoundsSchema as Gt, storefrontItineraryCoordinateSchema as Kt, storefrontItineraryDetailRequestSchema as qt, storefrontItineraryDetailResponseSchema as Jt, storefrontItineraryDetailSchema as Yt, storefrontItineraryDifficultySchema as Xt, storefrontItineraryLocalizedStringSchema as Zt, storefrontItineraryMetricsSchema as Qt, storefrontItineraryPreviewSchema as $t, storefrontItineraryStepSchema as en, storefrontItinerarySummarySchema as tn, storefrontItineraryTripTypeSchema as nn } from "./lib/storefrontItineraries.js";
26
+ import { buildWhatsAppHref as rn, resolveStorefrontWhatsAppContact as an, resolveStorefrontWhatsAppHref as on } from "./lib/whatsapp.js";
27
+ import { ROUTE as sn, requestBaseSchema as cn, requestCheckoutItemSchema as ln, requestDeliveryRefinement as un, requestSchema as dn, responseSchema as fn } from "./lib/checkoutSubmit.js";
28
+ import { ROUTE as pn, requestSchema as mn, responseSchema as hn, storefrontPublicAccessoryProductSchema as gn, storefrontPublicBikeAvailabilityStatusSchema as _n, storefrontPublicBikeProductSchema as vn, storefrontPublicProductDisplayModeSchema as yn, storefrontPublicProductPriceSchema as bn, storefrontPublicProductVariantAttributeSchema as xn, storefrontPublicProductVariantIdentifierSchema as Sn, storefrontPublicProductVariantSchema as Cn } from "./lib/storefrontProducts.js";
29
+ import { ROUTE as wn, buildStorefrontAvailabilityKey as Tn, doesStorefrontAvailabilityDisplaySoldOut as En, getStorefrontAvailabilityIssue as Dn, getStorefrontAvailabilityStatus as On, isStorefrontAvailabilityInsufficient as kn, publicAvailabilityDisplayModeSchema as An, requestSchema as jn, responseSchema as Mn, shouldBlockStorefrontUnavailableItem as Nn, storefrontAvailabilityProductSchema as Pn, storefrontAvailabilityScheduleSchema as Fn, storefrontPublicAvailabilityRecordSchema as In } from "./lib/storefrontAvailability.js";
30
+ import { ROUTE as Ln, buildStorefrontImageUrl as Rn, requestSchema as zn } from "./lib/storefrontImage.js";
31
+ import { ROUTE as Bn, requestSchema as Vn, responseSchema as Hn, storefrontTimeSlotSchema as Un, timeSlotJourneySchema as Wn } from "./lib/storefrontTimeSlots.js";
32
+ import { Footer as Gn } from "./components/Footer/index.js";
33
+ import { Badge as Kn, badgeVariants as qn } from "./ui/badge.js";
34
+ import { Button as Jn, buttonVariants as Yn, storefrontButtonRadiusClassName as Xn } from "./ui/button.js";
35
+ import { StorefrontContext as Zn, useOptionalStorefront as Qn, useStorefront as $n, useStorefrontBookingProducts as er, useStorefrontConfig as tr, useStorefrontItineraries as nr, useStorefrontProducts as rr, useStorefrontWorkspaceLanguage as ir } from "./StorefrontContext.js";
36
+ import { Header as ar } from "./components/Header/index.js";
37
+ import { storefront as or } from "./i18n/en.js";
38
+ import { storefront as sr } from "./i18n/fr.js";
39
+ import { PoweredByLoczerBadge as cr } from "./components/PoweredByLoczerBadge/index.js";
40
+ import { PlatformFooter as lr } from "./components/PlatformFooter/index.js";
41
+ import { useWhatsAppFloatingButton as ur } from "./components/WhatsAppFloatingButton/useWhatsAppFloatingButton.js";
42
+ import { WhatsAppFloatingButton as dr } from "./components/WhatsAppFloatingButton/WhatsAppFloatingButton.js";
43
43
  import "./components/WhatsAppFloatingButton/index.js";
44
- import { Layout as dr } from "./components/Layout/index.js";
45
- import { DelayedPlaceholder as fr, DelayedReveal as pr } from "./components/DelayedReveal/index.js";
46
- import { BookingPeriodProvider as mr, useBookingPeriod as hr } from "./components/BookingPeriodSelector/BookingPeriodContext.js";
47
- import { Label as gr } from "./ui/label.js";
48
- import { BookingStartDateField as _r } from "./components/BookingPeriodSelector/components/BookingStartDateField.js";
49
- import { BookingStartTimeField as vr } from "./components/BookingPeriodSelector/components/BookingStartTimeField.js";
50
- import { BookingEndDateField as yr } from "./components/BookingPeriodSelector/components/BookingEndDateField.js";
51
- import { BookingEndTimeField as br } from "./components/BookingPeriodSelector/components/BookingEndTimeField.js";
52
- import { BookingTimeSlotsStatus as xr } from "./components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
53
- import { BookingMobileDateDrawer as Sr } from "./components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
54
- import { BookingPeriodSelector as Cr } from "./components/BookingPeriodSelector/index.js";
55
- import { BookingFlowSteps as wr } from "./components/BookingFlowSteps/index.js";
56
- import { Input as Tr } from "./ui/input.js";
57
- import { DeliveryAddressSelector as Er } from "./components/DeliveryAddressSelector/index.js";
58
- import { Form as Dr, FormControl as Or, FormDescription as kr, FormField as Ar, FormItem as jr, FormLabel as Mr, FormMessage as Nr, useFormField as Pr } from "./ui/form.js";
59
- import { Textarea as Fr } from "./ui/textarea.js";
60
- import { ContactSection as Ir } from "./components/ContactSection/index.js";
61
- import { TestimonialsSection as Lr } from "./components/TestimonialsSection/index.js";
62
- import { AboutSection as Rr } from "./components/AboutSection/index.js";
63
- import { ItineraryListItem as zr } from "./components/Itineraries/ItineraryListItem.js";
64
- import { ItineraryRouteMap as Br } from "./components/Itineraries/ItineraryRouteMap.js";
65
- import { ItinerariesSection as Vr } from "./components/Itineraries/ItinerariesSection.js";
44
+ import { Layout as fr } from "./components/Layout/index.js";
45
+ import { DelayedPlaceholder as pr, DelayedReveal as mr } from "./components/DelayedReveal/index.js";
46
+ import { BookingPeriodProvider as hr, useBookingPeriod as gr } from "./components/BookingPeriodSelector/BookingPeriodContext.js";
47
+ import { Label as _r } from "./ui/label.js";
48
+ import { BookingStartDateField as vr } from "./components/BookingPeriodSelector/components/BookingStartDateField.js";
49
+ import { BookingStartTimeField as yr } from "./components/BookingPeriodSelector/components/BookingStartTimeField.js";
50
+ import { BookingEndDateField as br } from "./components/BookingPeriodSelector/components/BookingEndDateField.js";
51
+ import { BookingEndTimeField as xr } from "./components/BookingPeriodSelector/components/BookingEndTimeField.js";
52
+ import { BookingTimeSlotsStatus as Sr } from "./components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
53
+ import { BookingMobileDateDrawer as Cr } from "./components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
54
+ import { BookingPeriodSelector as wr } from "./components/BookingPeriodSelector/index.js";
55
+ import { BookingFlowSteps as Tr } from "./components/BookingFlowSteps/index.js";
56
+ import { Input as Er } from "./ui/input.js";
57
+ import { DeliveryAddressSelector as Dr } from "./components/DeliveryAddressSelector/index.js";
58
+ import { Form as Or, FormControl as kr, FormDescription as Ar, FormField as jr, FormItem as Mr, FormLabel as Nr, FormMessage as Pr, useFormField as Fr } from "./ui/form.js";
59
+ import { Textarea as Ir } from "./ui/textarea.js";
60
+ import { ContactSection as Lr } from "./components/ContactSection/index.js";
61
+ import { TestimonialsSection as Rr } from "./components/TestimonialsSection/index.js";
62
+ import { AboutSection as zr } from "./components/AboutSection/index.js";
63
+ import { ItineraryListItem as Br } from "./components/Itineraries/ItineraryListItem.js";
64
+ import { ItineraryRouteMap as Vr } from "./components/Itineraries/ItineraryRouteMap.js";
65
+ import { ItinerariesSection as Hr } from "./components/Itineraries/ItinerariesSection.js";
66
66
  import "./components/Itineraries/index.js";
67
- import { StepSectionTitle as Hr } from "./components/StepSectionTitle/index.js";
68
- import { Card as Ur, CardAction as Wr, CardContent as Gr, CardDescription as Kr, CardFooter as qr, CardHeader as Jr, CardTitle as Yr } from "./ui/card.js";
69
- import { ProductWarningNotice as Xr } from "./components/ProductWarningNotice/index.js";
70
- import { StorefrontCartPanel as Zr } from "./components/StorefrontCartPanel/index.js";
71
- import { ProductPriceBadge as Qr } from "./components/ProductPriceBadge/index.js";
72
- import { ContractSaleDocument as $r } from "./components/ContractSaleDocument/Invoice.js";
67
+ import { StepSectionTitle as Ur } from "./components/StepSectionTitle/index.js";
68
+ import { Card as Wr, CardAction as Gr, CardContent as Kr, CardDescription as qr, CardFooter as Jr, CardHeader as Yr, CardTitle as Xr } from "./ui/card.js";
69
+ import { ProductWarningNotice as Zr } from "./components/ProductWarningNotice/index.js";
70
+ import { StorefrontCartPanel as Qr } from "./components/StorefrontCartPanel/index.js";
71
+ import { ProductPriceBadge as $r } from "./components/ProductPriceBadge/index.js";
72
+ import { ContractSaleDocument as ei } from "./components/ContractSaleDocument/Invoice.js";
73
73
  import "./components/ContractSaleDocument/index.js";
74
- import { RadioGroup as ei, RadioGroupItem as ti } from "./ui/radio-group.js";
74
+ import { RadioGroup as ti, RadioGroupItem as ni } from "./ui/radio-group.js";
75
75
  import "./pages/HomePage.js";
76
76
  import "./pages/BookingPage.js";
77
77
  import "./pages/ProductPage.js";
78
- import ni from "./pages/ItinerariesPage.js";
79
- import ri, { loader as ii } from "./pages/ItineraryDetailsPage.js";
78
+ import ri from "./pages/ItinerariesPage.js";
79
+ import ii, { loader as ai } from "./pages/ItineraryDetailsPage.js";
80
80
  import "./pages/CheckoutPage.js";
81
81
  import "./pages/CheckoutSuccessPage.js";
82
82
  import "./pages/NotFoundPage.js";
83
- import { accessories as ai } from "./data/accessories.js";
84
- import oi from "./data/bikes.js";
85
- import { contractSaleDocumentAcceptanceLevelSchema as si, contractSaleDocumentAcceptanceRecordSchema as ci, contractSaleDocumentAcceptanceSchema as li, contractSaleDocumentAddressSchema as ui, contractSaleDocumentAppendixKindSchema as di, contractSaleDocumentAppendixSchema as fi, contractSaleDocumentContactSchema as pi, contractSaleDocumentKindSchema as mi, contractSaleDocumentLanguageCodeSchema as hi, contractSaleDocumentLanguageSchema as gi, contractSaleDocumentLineItemSchema as _i, contractSaleDocumentRentalSchema as vi, contractSaleDocumentSchema as yi, contractSaleDocumentSignatureSchema as bi } from "./lib/contractSaleDocument.js";
86
- import { ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE as xi, DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE as Si, GET_CONTRACT_SALE_DOCUMENT_ROUTE as Ci, acceptContractSaleDocumentRequestSchema as wi, acceptContractSaleDocumentResponseSchema as Ti, contractSaleDocumentAcceptanceInputSchema as Ei, contractSaleDocumentAcceptanceRecordInputSchema as Di, contractSaleDocumentApiAcceptanceRecordSchema as Oi, contractSaleDocumentApiAcceptanceSchema as ki, contractSaleDocumentApiSchema as Ai, contractSaleDocumentApiSignatureSchema as ji, contractSaleDocumentReferenceSchema as Mi, contractSaleDocumentReferenceTypeSchema as Ni, contractSaleDocumentSignatureInputSchema as Pi, downloadContractSaleDocumentPdfRequestSchema as Fi, getContractSaleDocumentRequestSchema as Ii, getContractSaleDocumentResponseSchema as Li } from "./lib/contractSaleDocumentApi.js";
87
- import Ri from "./routes.js";
88
- import { loader as zi } from "./StorefrontProvider.js";
89
- import { Select as Bi, SelectContent as Vi, SelectGroup as Hi, SelectIcon as Ui, SelectItem as Wi, SelectItemIndicator as Gi, SelectItemText as Ki, SelectLabel as qi, SelectScrollDownButton as Ji, SelectScrollUpButton as Yi, SelectSeparator as Xi, SelectTrigger as Zi, SelectValue as Qi } from "./ui/select.js";
90
- export { xi as ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE, Rr as AboutSection, Ne as BOOKING_SEARCH_KEYS, Gn as Badge, yr as BookingEndDateField, br as BookingEndTimeField, wr as BookingFlowSteps, Sr as BookingMobileDateDrawer, mr as BookingPeriodProvider, Cr as BookingPeriodSelector, _r as BookingStartDateField, vr as BookingStartTimeField, xr as BookingTimeSlotsStatus, qn as Button, et as CATALOG_PRODUCT_BASE_RATE_UNSET, Ur as Card, Wr as CardAction, Gr as CardContent, Kr as CardDescription, qr as CardFooter, Jr as CardHeader, Yr as CardTitle, Ir as ContactSection, $r as ContractSaleDocument, Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, Si as DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE, fr as DelayedPlaceholder, pr as DelayedReveal, Er as DeliveryAddressSelector, Wn as Footer, Dr as Form, Or as FormControl, kr as FormDescription, Ar as FormField, jr as FormItem, Mr as FormLabel, Nr as FormMessage, Ci as GET_CONTRACT_SALE_DOCUMENT_ROUTE, ir as Header, Tr as Input, ni as ItinerariesPage, Vr as ItinerariesSection, ri as ItineraryDetailsPage, zr as ItineraryListItem, Br as ItineraryRouteMap, gr as Label, dr as Layout, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, cr as PlatformFooter, sr as PoweredByLoczerBadge, Qr as ProductPriceBadge, Xr as ProductWarningNotice, jt as ROUTE, ei as RadioGroup, ti as RadioGroupItem, Cn as STOREFRONT_AVAILABILITY_ROUTE, on as STOREFRONT_CHECKOUT_SUBMIT_ROUTE, ge as STOREFRONT_HERO_MODES, In as STOREFRONT_IMAGE_ROUTE, Lt as STOREFRONT_ITINERARIES_FEATURED_ROUTE, Rt as STOREFRONT_ITINERARIES_LIST_ROUTE, zt as STOREFRONT_ITINERARY_DETAIL_ROUTE, fn as STOREFRONT_PRODUCTS_ROUTE, zn as STOREFRONT_TIME_SLOTS_ROUTE, Bi as Select, Vi as SelectContent, Hi as SelectGroup, Ui as SelectIcon, Wi as SelectItem, Gi as SelectItemIndicator, Ki as SelectItemText, qi as SelectLabel, Ji as SelectScrollDownButton, Yi as SelectScrollUpButton, Xi as SelectSeparator, Zi as SelectTrigger, Qi as SelectValue, Hr as StepSectionTitle, Zr as StorefrontCartPanel, yt as StorefrontCartProvider, Xn as StorefrontContext, Pe as TIME_OPTIONS, Lr as TestimonialsSection, Fr as Textarea, ur as WhatsAppFloatingButton, wi as acceptContractSaleDocumentRequestSchema, Ti as acceptContractSaleDocumentResponseSchema, ai as accessories, g as accessoryProductSchema, Fe as applyBookingParamsToSearch, ue as assetIdSchema, Kn as badgeVariants, de as baseAssetSchema, fe as baseAssetStatusSchema, pe as baseBookingItemSchema, me as baseBookingSchema, he as baseBookingStateSchema, _ as bikeProductSchema, oi as bikes, X as bookingCustomerInputSchema, Z as bookingDeliveryOptionSchema, ie as bookingInsuranceConsentSourceSchema, ae as bookingInsuranceItemSnapshotSchema, oe as bookingInsuranceSnapshotSchema, Q as bookingScheduleInputSchema, se as buildBookingInsuranceSnapshot, Et as buildDailyPriceRows, Dt as buildPriceTierLabels, wn as buildStorefrontAvailabilityKey, At as buildStorefrontCartSummary, Ln as buildStorefrontImageUrl, tt as buildStorefrontProductSlug, nt as buildVariantStorefrontProductId, nn as buildWhatsAppHref, Jn as buttonVariants, Ot as calculateDailyPriceForQuantity, ce as calculateInsuranceCalendarDays, H as cancellationPolicySchema, U as cancellationPolicyTierSchema, $ as cartItemInputSchema, St as cn, rt as compareCatalogProducts, it as compareStorefrontAccessoryProducts, at as compareStorefrontBikeProducts, Ei as contractSaleDocumentAcceptanceInputSchema, si as contractSaleDocumentAcceptanceLevelSchema, Di as contractSaleDocumentAcceptanceRecordInputSchema, ci as contractSaleDocumentAcceptanceRecordSchema, li as contractSaleDocumentAcceptanceSchema, ui as contractSaleDocumentAddressSchema, Oi as contractSaleDocumentApiAcceptanceRecordSchema, ki as contractSaleDocumentApiAcceptanceSchema, Ai as contractSaleDocumentApiSchema, ji as contractSaleDocumentApiSignatureSchema, di as contractSaleDocumentAppendixKindSchema, fi as contractSaleDocumentAppendixSchema, pi as contractSaleDocumentContactSchema, mi as contractSaleDocumentKindSchema, hi as contractSaleDocumentLanguageCodeSchema, gi as contractSaleDocumentLanguageSchema, _i as contractSaleDocumentLineItemSchema, Mi as contractSaleDocumentReferenceSchema, Ni as contractSaleDocumentReferenceTypeSchema, vi as contractSaleDocumentRentalSchema, yi as contractSaleDocumentSchema, Pi as contractSaleDocumentSignatureInputSchema, bi as contractSaleDocumentSignatureSchema, ee as createBookingInputBaseSchema, te as createBookingInputSchema, Ie as createBookingPeriodConfigFromBookingEngineConfiguration, Le as createBookingPeriodConfigFromShopConfiguration, Re as createBookingPeriodConfigFromStorefrontConfiguration, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, Tn as doesStorefrontAvailabilityDisplaySoldOut, Fi as downloadContractSaleDocumentPdfRequestSchema, v as eBikeProductSchema, ot as findStorefrontProduct, st as findStorefrontProductBySlug, Ct as formatPriceMinor, Pt as formatStorefrontPhoneDisplay, kt as formatStorefrontPriceMinor, G as fulfillmentModeSchema, wt as getAvailabilityVariant, ze as getBookingDurationLabel, Be as getBookingDurationMinutes, Ve as getBookingParamsFromSearch, He as getBookingSessionStorageKey, ct as getCatalogProductBaseRateMinor, lt as getCatalogProductPaginationSort, ut as getCatalogProductSortFieldForPriceUnit, Ii as getContractSaleDocumentRequestSchema, Li as getContractSaleDocumentResponseSchema, Ue as getDefaultBookingParams, We as getDefaultBookingParamsForStorefrontConfiguration, Qe as getLocalizedEntry, t as getLocalizedStringValue, $e as getLocalizedValue, Tt as getMinDayPriceMinor, En as getStorefrontAvailabilityIssue, Dn as getStorefrontAvailabilityStatus, dt as getStorefrontBaseDailyRateMinor, ft as getStorefrontCheckoutProductId, pt as getStorefrontProductSelectionDisplayName, mt as getStorefrontRepresentedVariantId, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, On as isStorefrontAvailabilityInsufficient, j as isoDateSchema, ii as itineraryDetailsLoader, zi as loader, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, W as paymentPoliciesSchema, Ge as pickBookingSearchParams, 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, kn as publicAvailabilityDisplayModeSchema, K as publicBookingEngineConfigurationSchema, q as publicCheckoutConfigurationSchema, J as publicCheckoutDynamicOptionsSchema, Ke as readBookingSearchParamsFromSessionStorage, qe as readBookingSearchParamsFromStorage, Mt as requestSchema, ne as resolveBookingDeliveryOption, Je as resolveBookingSearchParams, Ye as resolveBookingSearchParamsFromSessionStorage, bt as resolveStorefrontCartItemProduct, Ft as resolveStorefrontMapsHref, It as resolveStorefrontPhoneContact, rn as resolveStorefrontWhatsAppContact, an as resolveStorefrontWhatsAppHref, Nt as responseSchema, 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, Mn as shouldBlockStorefrontUnavailableItem, u as signedMoneyMinorSchema, Nn as storefrontAvailabilityProductSchema, An as storefrontAvailabilityRequestSchema, jn as storefrontAvailabilityResponseSchema, Pn as storefrontAvailabilityScheduleSchema, Yn as storefrontButtonRadiusClassName, _e as storefrontCheckoutModeSchema, ln as storefrontCheckoutSubmitDeliveryRefinement, cn as storefrontCheckoutSubmitItemSchema, sn as storefrontCheckoutSubmitRequestBaseSchema, un as storefrontCheckoutSubmitRequestSchema, dn as storefrontCheckoutSubmitResponseSchema, ve as storefrontConfigurationSchema, ye as storefrontContentSchema, ar as storefrontEn, be as storefrontFaqItemSchema, xe as storefrontFaqSchema, or as storefrontFr, Se as storefrontFulfillmentModeSchema, Ce as storefrontHeroModeSchema, Rn as storefrontImageRequestSchema, Bt as storefrontItinerariesFeaturedRequestSchema, Vt as storefrontItinerariesFeaturedResponseSchema, Ht as storefrontItinerariesListRequestSchema, Ut as storefrontItinerariesListResponseSchema, Wt as storefrontItineraryBoundsSchema, Gt as storefrontItineraryCoordinateSchema, Kt as storefrontItineraryDetailRequestSchema, qt as storefrontItineraryDetailResponseSchema, Jt as storefrontItineraryDetailSchema, Yt as storefrontItineraryDifficultySchema, Xt as storefrontItineraryLocalizedStringSchema, Zt as storefrontItineraryMetricsSchema, Qt as storefrontItineraryPreviewSchema, $t as storefrontItineraryStepSchema, en as storefrontItinerarySummarySchema, tn as storefrontItineraryTripTypeSchema, we as storefrontLocalizedRichTextSchema, Te as storefrontModalMessageSchema, Ee as storefrontModulesSchema, pn as storefrontProductsRequestSchema, mn as storefrontProductsResponseSchema, hn as storefrontPublicAccessoryProductSchema, Fn as storefrontPublicAvailabilityRecordSchema, gn as storefrontPublicBikeAvailabilityStatusSchema, _n as storefrontPublicBikeProductSchema, vn as storefrontPublicProductDisplayModeSchema, yn as storefrontPublicProductPriceSchema, bn as storefrontPublicProductVariantAttributeSchema, xn as storefrontPublicProductVariantIdentifierSchema, Sn as storefrontPublicProductVariantSchema, De as storefrontReviewsModuleSchema, Oe as storefrontRichTextSchema, Ri as storefrontRoutes, ke as storefrontSettingsSchema, Ae as storefrontShopSchema, je as storefrontStatusSchema, Un as storefrontTimeSlotJourneySchema, Hn as storefrontTimeSlotSchema, Bn as storefrontTimeSlotsRequestSchema, Vn as storefrontTimeSlotsResponseSchema, Me as storefrontWorkspaceSchema, z as timeOfDaySchema, ht as toStorefrontAccessoryProducts, gt as toStorefrontBikeProducts, _t as toStorefrontBookingProducts, vt as toStorefrontBookingProductsCollections, hr as useBookingPeriod, Pr as useFormField, Zn as useOptionalStorefront, Qn as useStorefront, $n as useStorefrontBookingProducts, xt as useStorefrontCart, er as useStorefrontConfig, tr as useStorefrontItineraries, nr as useStorefrontProducts, rr as useStorefrontWorkspaceLanguage, lr as useWhatsAppFloatingButton, re as validateBookingDeliveryAddress, Xe as writeBookingSearchParamsToSessionStorage, Ze as writeBookingSearchParamsToStorage };
83
+ import { accessories as oi } from "./data/accessories.js";
84
+ import si from "./data/bikes.js";
85
+ import { contractSaleDocumentAcceptanceLevelSchema as ci, contractSaleDocumentAcceptanceRecordSchema as li, contractSaleDocumentAcceptanceSchema as ui, contractSaleDocumentAddressSchema as di, contractSaleDocumentAppendixKindSchema as fi, contractSaleDocumentAppendixSchema as pi, contractSaleDocumentContactSchema as mi, contractSaleDocumentKindSchema as hi, contractSaleDocumentLanguageCodeSchema as gi, contractSaleDocumentLanguageSchema as _i, contractSaleDocumentLineItemSchema as vi, contractSaleDocumentRentalSchema as yi, contractSaleDocumentSchema as bi, contractSaleDocumentSignatureSchema as xi } from "./lib/contractSaleDocument.js";
86
+ import { ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE as Si, DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE as Ci, GET_CONTRACT_SALE_DOCUMENT_ROUTE as wi, acceptContractSaleDocumentRequestSchema as Ti, acceptContractSaleDocumentResponseSchema as Ei, contractSaleDocumentAcceptanceInputSchema as Di, contractSaleDocumentAcceptanceRecordInputSchema as Oi, contractSaleDocumentApiAcceptanceRecordSchema as ki, contractSaleDocumentApiAcceptanceSchema as Ai, contractSaleDocumentApiSchema as ji, contractSaleDocumentApiSignatureSchema as Mi, contractSaleDocumentReferenceSchema as Ni, contractSaleDocumentReferenceTypeSchema as Pi, contractSaleDocumentSignatureInputSchema as Fi, downloadContractSaleDocumentPdfRequestSchema as Ii, getContractSaleDocumentRequestSchema as Li, getContractSaleDocumentResponseSchema as Ri } from "./lib/contractSaleDocumentApi.js";
87
+ import zi from "./routes.js";
88
+ import { loader as Bi } from "./StorefrontProvider.js";
89
+ import { Select as Vi, SelectContent as Hi, SelectGroup as Ui, SelectIcon as Wi, SelectItem as Gi, SelectItemIndicator as Ki, SelectItemText as qi, SelectLabel as Ji, SelectScrollDownButton as Yi, SelectScrollUpButton as Xi, SelectSeparator as Zi, SelectTrigger as Qi, SelectValue as $i } from "./ui/select.js";
90
+ export { Si as ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE, zr as AboutSection, Ne as BOOKING_SEARCH_KEYS, Kn as Badge, br as BookingEndDateField, xr as BookingEndTimeField, Tr as BookingFlowSteps, Cr as BookingMobileDateDrawer, hr as BookingPeriodProvider, wr as BookingPeriodSelector, vr as BookingStartDateField, yr as BookingStartTimeField, Sr as BookingTimeSlotsStatus, Jn as Button, Qe as CATALOG_PRODUCT_BASE_RATE_UNSET, Wr as Card, Gr as CardAction, Kr as CardContent, qr as CardDescription, Jr as CardFooter, Yr as CardHeader, Xr as CardTitle, Lr as ContactSection, ei as ContractSaleDocument, Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, Ci as DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE, pr as DelayedPlaceholder, mr as DelayedReveal, Dr as DeliveryAddressSelector, Gn as Footer, Or as Form, kr as FormControl, Ar as FormDescription, jr as FormField, Mr as FormItem, Nr as FormLabel, Pr as FormMessage, wi as GET_CONTRACT_SALE_DOCUMENT_ROUTE, ar as Header, Er as Input, ri as ItinerariesPage, Hr as ItinerariesSection, ii as ItineraryDetailsPage, Br as ItineraryListItem, Vr as ItineraryRouteMap, _r as Label, fr as Layout, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, lr as PlatformFooter, cr as PoweredByLoczerBadge, $r as ProductPriceBadge, Zr as ProductWarningNotice, Mt as ROUTE, ti as RadioGroup, ni as RadioGroupItem, wn as STOREFRONT_AVAILABILITY_ROUTE, sn as STOREFRONT_CHECKOUT_SUBMIT_ROUTE, ge as STOREFRONT_HERO_MODES, Ln as STOREFRONT_IMAGE_ROUTE, Rt as STOREFRONT_ITINERARIES_FEATURED_ROUTE, zt as STOREFRONT_ITINERARIES_LIST_ROUTE, Bt as STOREFRONT_ITINERARY_DETAIL_ROUTE, pn as STOREFRONT_PRODUCTS_ROUTE, Bn as STOREFRONT_TIME_SLOTS_ROUTE, Vi as Select, Hi as SelectContent, Ui as SelectGroup, Wi as SelectIcon, Gi as SelectItem, Ki as SelectItemIndicator, qi as SelectItemText, Ji as SelectLabel, Yi as SelectScrollDownButton, Xi as SelectScrollUpButton, Zi as SelectSeparator, Qi as SelectTrigger, $i as SelectValue, Ur as StepSectionTitle, Qr as StorefrontCartPanel, _t as StorefrontCartProvider, Zn as StorefrontContext, Pe as TIME_OPTIONS, Rr as TestimonialsSection, Ir as Textarea, dr as WhatsAppFloatingButton, Ti as acceptContractSaleDocumentRequestSchema, Ei as acceptContractSaleDocumentResponseSchema, oi as accessories, g as accessoryProductSchema, Fe as applyBookingParamsToSearch, ue as assetIdSchema, qn as badgeVariants, de as baseAssetSchema, fe as baseAssetStatusSchema, pe as baseBookingItemSchema, me as baseBookingSchema, he as baseBookingStateSchema, _ as bikeProductSchema, si as bikes, X as bookingCustomerInputSchema, Z as bookingDeliveryOptionSchema, ie as bookingInsuranceConsentSourceSchema, ae as bookingInsuranceItemSnapshotSchema, oe as bookingInsuranceSnapshotSchema, Q as bookingScheduleInputSchema, se as buildBookingInsuranceSnapshot, wt as buildPriceTierLabels, Tt as buildRentalPriceRows, Tn as buildStorefrontAvailabilityKey, jt as buildStorefrontCartSummary, Rn as buildStorefrontImageUrl, $e as buildStorefrontProductSlug, et as buildVariantStorefrontProductId, rn as buildWhatsAppHref, Yn as buttonVariants, Et as calculateBookingRentalUnitSummary, ce as calculateInsuranceCalendarDays, Dt as calculateRentalPriceForQuantity, H as cancellationPolicySchema, U as cancellationPolicyTierSchema, $ as cartItemInputSchema, bt as cn, tt as compareCatalogProducts, nt as compareStorefrontAccessoryProducts, rt as compareStorefrontBikeProducts, Di as contractSaleDocumentAcceptanceInputSchema, ci as contractSaleDocumentAcceptanceLevelSchema, Oi as contractSaleDocumentAcceptanceRecordInputSchema, li as contractSaleDocumentAcceptanceRecordSchema, ui as contractSaleDocumentAcceptanceSchema, di as contractSaleDocumentAddressSchema, ki as contractSaleDocumentApiAcceptanceRecordSchema, Ai as contractSaleDocumentApiAcceptanceSchema, ji as contractSaleDocumentApiSchema, Mi as contractSaleDocumentApiSignatureSchema, fi as contractSaleDocumentAppendixKindSchema, pi as contractSaleDocumentAppendixSchema, mi as contractSaleDocumentContactSchema, hi as contractSaleDocumentKindSchema, gi as contractSaleDocumentLanguageCodeSchema, _i as contractSaleDocumentLanguageSchema, vi as contractSaleDocumentLineItemSchema, Ni as contractSaleDocumentReferenceSchema, Pi as contractSaleDocumentReferenceTypeSchema, yi as contractSaleDocumentRentalSchema, bi as contractSaleDocumentSchema, Fi as contractSaleDocumentSignatureInputSchema, xi as contractSaleDocumentSignatureSchema, ee as createBookingInputBaseSchema, te as createBookingInputSchema, Ie as createBookingPeriodConfigFromBookingEngineConfiguration, Le as createBookingPeriodConfigFromShopConfiguration, Re as createBookingPeriodConfigFromStorefrontConfiguration, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, En as doesStorefrontAvailabilityDisplaySoldOut, Ii as downloadContractSaleDocumentPdfRequestSchema, v as eBikeProductSchema, it as findStorefrontProduct, at as findStorefrontProductBySlug, xt as formatPriceMinor, Ot as formatRentalUnitQuantity, Ft as formatStorefrontPhoneDisplay, kt as formatStorefrontPriceMinor, G as fulfillmentModeSchema, St as getAvailabilityVariant, ze as getBookingParamsFromSearch, Be as getBookingSessionStorageKey, ot as getCatalogProductBaseRateMinor, st as getCatalogProductPaginationSort, ct as getCatalogProductSortFieldForPriceUnit, Li as getContractSaleDocumentRequestSchema, Ri as getContractSaleDocumentResponseSchema, Ve as getDefaultBookingParams, He as getDefaultBookingParamsForStorefrontConfiguration, Xe as getLocalizedEntry, t as getLocalizedStringValue, Ze as getLocalizedValue, Ct as getMinDayPriceMinor, At as getPricingUnitLabel, Dn as getStorefrontAvailabilityIssue, On as getStorefrontAvailabilityStatus, lt as getStorefrontBaseDailyRateMinor, ut as getStorefrontCheckoutProductId, dt as getStorefrontProductSelectionDisplayName, ft as getStorefrontRepresentedVariantId, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, kn as isStorefrontAvailabilityInsufficient, j as isoDateSchema, ai as itineraryDetailsLoader, Bi as loader, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, W as paymentPoliciesSchema, Ue as pickBookingSearchParams, 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, An as publicAvailabilityDisplayModeSchema, K as publicBookingEngineConfigurationSchema, q as publicCheckoutConfigurationSchema, J as publicCheckoutDynamicOptionsSchema, We as readBookingSearchParamsFromSessionStorage, Ge as readBookingSearchParamsFromStorage, Nt as requestSchema, ne as resolveBookingDeliveryOption, Ke as resolveBookingSearchParams, qe as resolveBookingSearchParamsFromSessionStorage, vt as resolveStorefrontCartItemProduct, It as resolveStorefrontMapsHref, Lt as resolveStorefrontPhoneContact, an as resolveStorefrontWhatsAppContact, on as resolveStorefrontWhatsAppHref, Pt as responseSchema, 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, Nn as shouldBlockStorefrontUnavailableItem, u as signedMoneyMinorSchema, Pn as storefrontAvailabilityProductSchema, jn as storefrontAvailabilityRequestSchema, Mn as storefrontAvailabilityResponseSchema, Fn as storefrontAvailabilityScheduleSchema, Xn as storefrontButtonRadiusClassName, _e as storefrontCheckoutModeSchema, un as storefrontCheckoutSubmitDeliveryRefinement, ln as storefrontCheckoutSubmitItemSchema, cn as storefrontCheckoutSubmitRequestBaseSchema, dn as storefrontCheckoutSubmitRequestSchema, fn as storefrontCheckoutSubmitResponseSchema, ve as storefrontConfigurationSchema, ye as storefrontContentSchema, or as storefrontEn, be as storefrontFaqItemSchema, xe as storefrontFaqSchema, sr as storefrontFr, Se as storefrontFulfillmentModeSchema, Ce as storefrontHeroModeSchema, zn as storefrontImageRequestSchema, Vt as storefrontItinerariesFeaturedRequestSchema, Ht as storefrontItinerariesFeaturedResponseSchema, Ut as storefrontItinerariesListRequestSchema, Wt as storefrontItinerariesListResponseSchema, Gt as storefrontItineraryBoundsSchema, Kt as storefrontItineraryCoordinateSchema, qt as storefrontItineraryDetailRequestSchema, Jt as storefrontItineraryDetailResponseSchema, Yt as storefrontItineraryDetailSchema, Xt as storefrontItineraryDifficultySchema, Zt as storefrontItineraryLocalizedStringSchema, Qt as storefrontItineraryMetricsSchema, $t as storefrontItineraryPreviewSchema, en as storefrontItineraryStepSchema, tn as storefrontItinerarySummarySchema, nn as storefrontItineraryTripTypeSchema, we as storefrontLocalizedRichTextSchema, Te as storefrontModalMessageSchema, Ee as storefrontModulesSchema, mn as storefrontProductsRequestSchema, hn as storefrontProductsResponseSchema, gn as storefrontPublicAccessoryProductSchema, In as storefrontPublicAvailabilityRecordSchema, _n as storefrontPublicBikeAvailabilityStatusSchema, vn as storefrontPublicBikeProductSchema, yn as storefrontPublicProductDisplayModeSchema, bn as storefrontPublicProductPriceSchema, xn as storefrontPublicProductVariantAttributeSchema, Sn as storefrontPublicProductVariantIdentifierSchema, Cn as storefrontPublicProductVariantSchema, De as storefrontReviewsModuleSchema, Oe as storefrontRichTextSchema, zi as storefrontRoutes, ke as storefrontSettingsSchema, Ae as storefrontShopSchema, je as storefrontStatusSchema, Wn as storefrontTimeSlotJourneySchema, Un as storefrontTimeSlotSchema, Vn as storefrontTimeSlotsRequestSchema, Hn as storefrontTimeSlotsResponseSchema, Me as storefrontWorkspaceSchema, z as timeOfDaySchema, pt as toStorefrontAccessoryProducts, mt as toStorefrontBikeProducts, ht as toStorefrontBookingProducts, gt as toStorefrontBookingProductsCollections, gr as useBookingPeriod, Fr as useFormField, Qn as useOptionalStorefront, $n as useStorefront, er as useStorefrontBookingProducts, yt as useStorefrontCart, tr as useStorefrontConfig, nr as useStorefrontItineraries, rr as useStorefrontProducts, ir as useStorefrontWorkspaceLanguage, ur as useWhatsAppFloatingButton, re as validateBookingDeliveryAddress, Je as writeBookingSearchParamsToSessionStorage, Ye as writeBookingSearchParamsToStorage };
@@ -35,11 +35,5 @@ export declare const resolveBookingSearchParams: (searchParams: URLSearchParams,
35
35
  storeSlug?: string;
36
36
  }) => URLSearchParams;
37
37
  export declare const resolveBookingSearchParamsFromSessionStorage: (searchParams: URLSearchParams, storeSlug?: string) => URLSearchParams;
38
- export declare const getBookingDurationMinutes: (booking: StorefrontBookingParams) => number;
39
- export declare const getBookingDurationLabel: (booking: StorefrontBookingParams) => {
40
- hours: number;
41
- minutes: number;
42
- label: string;
43
- };
44
38
  export {};
45
39
  //# sourceMappingURL=booking.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../src/lib/booking.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,kBAAkB,CAAA;AAGzB,eAAO,MAAM,mBAAmB,8GAQtB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,KAAK,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;AAelG,eAAO,MAAM,YAAY,UAAqB,CAAA;AAE9C,eAAO,MAAM,uBAAuB,GAAI,MAAK,IAAiB,KAAG,uBAWhE,CAAA;AA6BD,eAAO,MAAM,8CAA8C,GACzD,MAAM,uBAAuB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EACtD,UAAS;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,KACvC,mBAmBF,CAAA;AAED,eAAO,MAAM,uDAAuD,GAClE,eAAe,uBAAuB,CAAC,eAAe,CAAC,EACvD,UAAS;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,KACvC,mBAKF,CAAA;AAED,eAAO,MAAM,oDAAoD,GAC/D,yBAAyB,uBAAuB,KAC/C,mBAIF,CAAA;AAED,eAAO,MAAM,iDAAiD,GAC5D,yBAAyB,uBAAuB,EAChD,MAAK,IAAiB,KACrB,uBAgBF,CAAA;AAQD,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,WAAW,OAAO,CAAC,uBAAuB,CAAC,KAC1C,uBA0BF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,KACxC,eAoBF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,cAAc,eAAe,KAAG,eAcvE,CAAA;AAuBD,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,KAAG,MAOhE,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,SAAS,oBAAoB,EAC7B,YAAY,MAAM,KACjB,eAiBF,CAAA;AAED,eAAO,MAAM,iCAAiC,GAC5C,SAAS,oBAAoB,EAC7B,WAAW,MAAM,GAAG,SAAS,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,GAAG,eAAe,KAC1D,IAkBF,CAAA;AAED,eAAO,MAAM,yCAAyC,GAAI,YAAY,MAAM,KAAG,eAE9E,CAAA;AAED,eAAO,MAAM,wCAAwC,GACnD,WAAW,MAAM,GAAG,SAAS,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,GAAG,eAAe,KAC1D,IAEF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,UAAU;IACR,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KACA,eAOF,CAAA;AAED,eAAO,MAAM,4CAA4C,GACvD,cAAc,eAAe,EAC7B,YAAY,MAAM,KACjB,eAKF,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,uBAAuB,KAAG,MAK5E,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,SAAS,uBAAuB,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAQzH,CAAA"}
1
+ {"version":3,"file":"booking.d.ts","sourceRoot":"","sources":["../../src/lib/booking.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,kBAAkB,CAAA;AAGzB,eAAO,MAAM,mBAAmB,8GAQtB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAID,KAAK,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,CAAA;AAelG,eAAO,MAAM,YAAY,UAAqB,CAAA;AAE9C,eAAO,MAAM,uBAAuB,GAAI,MAAK,IAAiB,KAAG,uBAWhE,CAAA;AA6BD,eAAO,MAAM,8CAA8C,GACzD,MAAM,uBAAuB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,EACtD,UAAS;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,KACvC,mBAmBF,CAAA;AAED,eAAO,MAAM,uDAAuD,GAClE,eAAe,uBAAuB,CAAC,eAAe,CAAC,EACvD,UAAS;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,KACvC,mBAKF,CAAA;AAED,eAAO,MAAM,oDAAoD,GAC/D,yBAAyB,uBAAuB,KAC/C,mBAIF,CAAA;AAED,eAAO,MAAM,iDAAiD,GAC5D,yBAAyB,uBAAuB,EAChD,MAAK,IAAiB,KACrB,uBAgBF,CAAA;AAQD,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,WAAW,OAAO,CAAC,uBAAuB,CAAC,KAC1C,uBA0BF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,KACxC,eAoBF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,cAAc,eAAe,KAAG,eAcvE,CAAA;AAuBD,eAAO,MAAM,2BAA2B,GAAI,YAAY,MAAM,KAAG,MAOhE,CAAA;AAED,eAAO,MAAM,kCAAkC,GAC7C,SAAS,oBAAoB,EAC7B,YAAY,MAAM,KACjB,eAiBF,CAAA;AAED,eAAO,MAAM,iCAAiC,GAC5C,SAAS,oBAAoB,EAC7B,WAAW,MAAM,GAAG,SAAS,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,GAAG,eAAe,KAC1D,IAkBF,CAAA;AAED,eAAO,MAAM,yCAAyC,GAAI,YAAY,MAAM,KAAG,eAE9E,CAAA;AAED,eAAO,MAAM,wCAAwC,GACnD,WAAW,MAAM,GAAG,SAAS,EAC7B,SAAS,OAAO,CAAC,uBAAuB,CAAC,GAAG,eAAe,KAC1D,IAEF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,UAAU;IACR,OAAO,CAAC,EAAE,oBAAoB,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KACA,eAOF,CAAA;AAED,eAAO,MAAM,4CAA4C,GACvD,cAAc,eAAe,EAC7B,YAAY,MAAM,KACjB,eAKF,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { DEFAULT_BOOKING_DELIVERY_OPTION as e } from "../chunks/pkg/booking-engine/dist/schemas/cart-inputs-D1_Wmkca.js";
2
2
  import "../chunks/pkg/booking-engine/dist/schemas-C2PdkXfm.js";
3
3
  import { getDefaultBookingPeriod as t, parseTimeToMinutes as n } from "./booking-period.js";
4
- import { differenceInMinutes as r, format as i } from "date-fns";
4
+ import { format as r } from "date-fns";
5
5
  //#region src/lib/booking.ts
6
- var a = [
6
+ var i = [
7
7
  "fulfillment",
8
8
  "start_date",
9
9
  "start_time",
@@ -11,78 +11,78 @@ var a = [
11
11
  "end_time",
12
12
  "start_address",
13
13
  "end_address"
14
- ], o = "loczer_storefront_booking:", s = (e) => i(e, "yyyy-MM-dd"), c = (() => {
14
+ ], a = "loczer_storefront_booking:", o = (e) => r(e, "yyyy-MM-dd"), s = (() => {
15
15
  let e = [];
16
16
  for (let t = 8; t <= 18; t += 1) for (let n of [0, 30]) t === 18 && n > 0 || e.push(`${String(t).padStart(2, "0")}:${String(n).padStart(2, "0")}`);
17
17
  return e;
18
- })(), l = (t = /* @__PURE__ */ new Date()) => {
19
- let n = s(t);
18
+ })(), c = (t = /* @__PURE__ */ new Date()) => {
19
+ let n = o(t);
20
20
  return {
21
21
  fulfillment: e,
22
22
  start_date: n,
23
- start_time: c[3] ?? "09:30",
23
+ start_time: s[3] ?? "09:30",
24
24
  end_date: n,
25
- end_time: c.at(-1) ?? "18:00",
25
+ end_time: s.at(-1) ?? "18:00",
26
26
  start_address: "",
27
27
  end_address: ""
28
28
  };
29
- }, u = 30, d = 15, f = 10, p = 960, m = (e) => n(e) ?? p, h = (e) => (Math.trunc(e) % 7 + 7) % 7, g = (e) => {
29
+ }, l = 30, u = 15, d = 10, f = 960, p = (e) => n(e) ?? f, m = (e) => (Math.trunc(e) % 7 + 7) % 7, h = (e) => {
30
30
  if (e?.length) return e.map((e) => ({
31
31
  minutesAfterClose: e.minutesAfterClose,
32
32
  extraAmount: e.extraAmount
33
33
  }));
34
- }, _ = (e, t = {}) => ({
34
+ }, g = (e, t = {}) => ({
35
35
  timing: {
36
- slotIntervalMinutes: u,
37
- autoFillCutoffMinutes: m(t.sameDayCutoff),
38
- pastToleranceMinutes: d,
39
- minBufferMinutes: f
36
+ slotIntervalMinutes: l,
37
+ autoFillCutoffMinutes: p(t.sameDayCutoff),
38
+ pastToleranceMinutes: u,
39
+ minBufferMinutes: d
40
40
  },
41
41
  openingHours: e.openingHours.map((e) => ({
42
42
  ...e,
43
43
  openingHours: e.openingHours.map((e) => ({
44
44
  ...e,
45
- day: h(e.day)
45
+ day: m(e.day)
46
46
  }))
47
47
  })),
48
48
  openingHoursOverrides: e.openingHoursOverrides ?? [],
49
49
  timeZone: e.timeZone,
50
- extraTimeSlots: g(e.extraTimeSlots)
51
- }), v = (e, t = {}) => {
50
+ extraTimeSlots: h(e.extraTimeSlots)
51
+ }), _ = (e, t = {}) => {
52
52
  let n = e.checkout.dynamicOptions?.sameDayCutoff;
53
- return _(e.shop, { sameDayCutoff: t.sameDayCutoff ?? n });
54
- }, y = (e) => v(e.bookingEngine, { sameDayCutoff: e.settings.sameDayCutoff }), b = (n, r = /* @__PURE__ */ new Date()) => {
53
+ return g(e.shop, { sameDayCutoff: t.sameDayCutoff ?? n });
54
+ }, v = (e) => _(e.bookingEngine, { sameDayCutoff: e.settings.sameDayCutoff }), y = (n, r = /* @__PURE__ */ new Date()) => {
55
55
  let i = t({
56
- config: y(n),
56
+ config: v(n),
57
57
  referenceDate: r
58
58
  });
59
59
  return {
60
60
  fulfillment: e,
61
- start_date: s(i.startDate),
61
+ start_date: o(i.startDate),
62
62
  start_time: i.startTime,
63
- end_date: s(i.endDate),
63
+ end_date: o(i.endDate),
64
64
  end_time: i.endTime,
65
65
  start_address: "",
66
66
  end_address: ""
67
67
  };
68
- }, x = (e, t, n) => {
68
+ }, b = (e, t, n) => {
69
69
  let r = e.get(t);
70
70
  return r == null || r.trim() === "" ? n : r;
71
- }, S = (e, t) => {
71
+ }, x = (e, t) => {
72
72
  let n = {
73
- ...l(),
73
+ ...c(),
74
74
  ...t
75
75
  };
76
76
  return {
77
77
  fulfillment: e.get("fulfillment") === "delivery" ? "delivery" : e.get("fulfillment") === "pickup" ? "pickup" : n.fulfillment,
78
- start_date: x(e, "start_date", n.start_date),
79
- start_time: x(e, "start_time", n.start_time),
80
- end_date: x(e, "end_date", n.end_date),
81
- end_time: x(e, "end_time", n.end_time),
82
- start_address: x(e, "start_address", n.start_address),
83
- end_address: x(e, "end_address", n.end_address)
78
+ start_date: b(e, "start_date", n.start_date),
79
+ start_time: b(e, "start_time", n.start_time),
80
+ end_date: b(e, "end_date", n.end_date),
81
+ end_time: b(e, "end_time", n.end_time),
82
+ start_address: b(e, "start_address", n.start_address),
83
+ end_address: b(e, "end_address", n.end_address)
84
84
  };
85
- }, C = (e, t) => {
85
+ }, S = (e, t) => {
86
86
  let n = new URLSearchParams(e), r = (e, t) => {
87
87
  if (t != null) {
88
88
  if (t.trim() === "") {
@@ -93,38 +93,38 @@ var a = [
93
93
  }
94
94
  };
95
95
  return r("fulfillment", t.fulfillment), r("start_date", t.start_date), r("start_time", t.start_time), r("end_date", t.end_date), r("end_time", t.end_time), r("start_address", t.start_address), r("end_address", t.end_address), n;
96
- }, w = (e) => {
96
+ }, C = (e) => {
97
97
  let t = new URLSearchParams();
98
- for (let n of a) {
98
+ for (let n of i) {
99
99
  let r = e.get(n);
100
100
  if (r == null) continue;
101
101
  let i = r.trim();
102
102
  i.length !== 0 && t.set(n, i);
103
103
  }
104
104
  return t;
105
- }, T = () => {
105
+ }, w = () => {
106
106
  if (typeof window > "u") return null;
107
107
  try {
108
108
  return window.sessionStorage;
109
109
  } catch {
110
110
  return null;
111
111
  }
112
- }, E = (e) => e instanceof URLSearchParams ? w(e) : C(new URLSearchParams(), e), D = (e) => {
112
+ }, T = (e) => e instanceof URLSearchParams ? C(e) : S(new URLSearchParams(), e), E = (e) => {
113
113
  let t = e?.trim() ?? "";
114
- return t ? `${o}${t}` : "";
115
- }, O = (e, t) => {
116
- let n = D(t);
114
+ return t ? `${a}${t}` : "";
115
+ }, D = (e, t) => {
116
+ let n = E(t);
117
117
  if (!n || !e) return new URLSearchParams();
118
118
  try {
119
119
  let t = e.getItem(n);
120
- return t ? w(new URLSearchParams(t)) : new URLSearchParams();
120
+ return t ? C(new URLSearchParams(t)) : new URLSearchParams();
121
121
  } catch {
122
122
  return new URLSearchParams();
123
123
  }
124
- }, k = (e, t, n) => {
125
- let r = D(t);
124
+ }, O = (e, t, n) => {
125
+ let r = E(t);
126
126
  if (!r || !e) return;
127
- let i = E(n).toString();
127
+ let i = T(n).toString();
128
128
  try {
129
129
  if (!i) {
130
130
  e.removeItem(r);
@@ -132,28 +132,14 @@ var a = [
132
132
  }
133
133
  e.setItem(r, i);
134
134
  } catch {}
135
- }, A = (e) => O(T(), e), j = (e, t) => {
136
- k(T(), e, t);
137
- }, M = (e, t) => {
138
- let n = w(e);
139
- return n.toString() ? n : O(t?.storage, t?.storeSlug);
140
- }, N = (e, t) => M(e, {
141
- storage: T(),
135
+ }, k = (e) => D(w(), e), A = (e, t) => {
136
+ O(w(), e, t);
137
+ }, j = (e, t) => {
138
+ let n = C(e);
139
+ return n.toString() ? n : D(t?.storage, t?.storeSlug);
140
+ }, M = (e, t) => j(e, {
141
+ storage: w(),
142
142
  storeSlug: t
143
- }), P = (e) => {
144
- let t = /* @__PURE__ */ new Date(`${e.start_date}T${e.start_time}:00`), n = /* @__PURE__ */ new Date(`${e.end_date}T${e.end_time}:00`);
145
- return Number.isNaN(t.getTime()) || Number.isNaN(n.getTime()) ? 0 : Math.max(0, r(n, t));
146
- }, F = (e) => {
147
- let t = P(e), n = Math.floor(t / 60), r = t % 60;
148
- return r === 0 ? {
149
- hours: n,
150
- minutes: r,
151
- label: `${n}h`
152
- } : {
153
- hours: n,
154
- minutes: r,
155
- label: `${n}h${String(r).padStart(2, "0")}`
156
- };
157
- };
143
+ });
158
144
  //#endregion
159
- export { a as BOOKING_SEARCH_KEYS, c as TIME_OPTIONS, C as applyBookingParamsToSearch, v as createBookingPeriodConfigFromBookingEngineConfiguration, _ as createBookingPeriodConfigFromShopConfiguration, y as createBookingPeriodConfigFromStorefrontConfiguration, F as getBookingDurationLabel, P as getBookingDurationMinutes, S as getBookingParamsFromSearch, D as getBookingSessionStorageKey, l as getDefaultBookingParams, b as getDefaultBookingParamsForStorefrontConfiguration, w as pickBookingSearchParams, A as readBookingSearchParamsFromSessionStorage, O as readBookingSearchParamsFromStorage, M as resolveBookingSearchParams, N as resolveBookingSearchParamsFromSessionStorage, j as writeBookingSearchParamsToSessionStorage, k as writeBookingSearchParamsToStorage };
145
+ export { i as BOOKING_SEARCH_KEYS, s as TIME_OPTIONS, S as applyBookingParamsToSearch, _ as createBookingPeriodConfigFromBookingEngineConfiguration, g as createBookingPeriodConfigFromShopConfiguration, v as createBookingPeriodConfigFromStorefrontConfiguration, x as getBookingParamsFromSearch, E as getBookingSessionStorageKey, c as getDefaultBookingParams, y as getDefaultBookingParamsForStorefrontConfiguration, C as pickBookingSearchParams, k as readBookingSearchParamsFromSessionStorage, D as readBookingSearchParamsFromStorage, j as resolveBookingSearchParams, M as resolveBookingSearchParamsFromSessionStorage, A as writeBookingSearchParamsToSessionStorage, O as writeBookingSearchParamsToStorage };
@@ -1,6 +1,7 @@
1
1
  import { StorefrontCartItem } from './cart';
2
2
  import { StorefrontAvailabilityIssue } from './storefrontAvailability';
3
3
  import { StorefrontProductsCollections } from './products';
4
+ import { StorefrontPublicProductPrice } from './storefrontProducts';
4
5
  export type StorefrontCartSummaryLine = StorefrontCartItem & {
5
6
  checkoutProductId: string;
6
7
  productName: string;
@@ -17,8 +18,8 @@ export type StorefrontCartSummaryLine = StorefrontCartItem & {
17
18
  };
18
19
  export type StorefrontCartSummary = {
19
20
  lines: StorefrontCartSummaryLine[];
20
- totalPerDayMinor: number;
21
- estimatedDays?: number;
21
+ totalPerBaseUnitMinor: number;
22
+ billableUnitCount?: number;
22
23
  estimatedTotalMinor?: number;
23
24
  };
24
25
  export declare const buildStorefrontCartSummary: (params: {
@@ -26,6 +27,7 @@ export declare const buildStorefrontCartSummary: (params: {
26
27
  language: string;
27
28
  fallbackLanguage?: string;
28
29
  products: StorefrontProductsCollections;
29
- estimatedDays?: number;
30
+ priceUnit: StorefrontPublicProductPrice["unit"];
31
+ billableUnitCount?: number;
30
32
  }) => StorefrontCartSummary;
31
33
  //# sourceMappingURL=cartSummary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cartSummary.d.ts","sourceRoot":"","sources":["../../src/lib/cartSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAClF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAkC,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAA;AAK/F,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,GAAG;IAC3D,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAA;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,yBAAyB,EAAE,CAAA;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,QAAQ;IACjD,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,6BAA6B,CAAA;IACvC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,KAAG,qBAoEH,CAAA"}
1
+ {"version":3,"file":"cartSummary.d.ts","sourceRoot":"","sources":["../../src/lib/cartSummary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAClF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAkC,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAA;AAE/F,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAIxE,MAAM,MAAM,yBAAyB,GAAG,kBAAkB,GAAG;IAC3D,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,oBAAoB,EAAE,OAAO,CAAA;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAA;IAC/D,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,iBAAiB,CAAC,EAAE,2BAA2B,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,yBAAyB,EAAE,CAAA;IAClC,qBAAqB,EAAE,MAAM,CAAA;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,QAAQ;IACjD,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,6BAA6B,CAAA;IACvC,SAAS,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAAA;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,KAAG,qBAuEH,CAAA"}
@@ -2,15 +2,15 @@ import { getProductVariantAttributeValue as e, getProductVariantDisplay as t } f
2
2
  import { getLocalizedValue as n } from "../localization.js";
3
3
  import { getStorefrontCheckoutProductId as r } from "./products.js";
4
4
  import { resolveStorefrontCartItemProduct as i } from "./cart.js";
5
- import { calculateDailyPriceForQuantity as a } from "./pricing.js";
5
+ import { calculateRentalPriceForQuantity as a } from "./pricing.js";
6
6
  //#region src/lib/cartSummary.ts
7
7
  var o = (o) => {
8
- let s = typeof o.estimatedDays == "number" && Number.isFinite(o.estimatedDays) && o.estimatedDays > 0 ? Math.max(1, Math.floor(o.estimatedDays)) : void 0, c = o.items.map((c) => {
8
+ let s = typeof o.billableUnitCount == "number" && Number.isFinite(o.billableUnitCount) && o.billableUnitCount > 0 ? o.billableUnitCount : void 0, c = o.items.map((c) => {
9
9
  let l = i(c, o.products);
10
10
  if (!l) return null;
11
11
  let u = c.productVariantId ? l.productVariants?.find((e) => e.id === c.productVariantId) : void 0;
12
12
  if (c.productVariantId && !u) return null;
13
- let d = u ? t(u) : void 0, f = l.prices ?? [], p = a(f, 1) ?? 0, m = n(l.name, o.language, o.fallbackLanguage), h = l.storefrontDisplayMode === "variants_as_products" && d?.label ? `${m} ${d.label}`.trim() : m, g = n(l.warning, o.language, o.fallbackLanguage).trim(), _ = u ? !!e(u, "size") : !1, v = typeof s == "number" ? a(f, s) ?? p * s : void 0, y = typeof v == "number" ? v * c.quantity : void 0;
13
+ let d = u ? t(u) : void 0, f = l.prices ?? [], p = a(f, 1, o.priceUnit) ?? 0, m = n(l.name, o.language, o.fallbackLanguage), h = l.storefrontDisplayMode === "variants_as_products" && d?.label ? `${m} ${d.label}`.trim() : m, g = n(l.warning, o.language, o.fallbackLanguage).trim(), _ = u ? !!e(u, "size") : !1, v = typeof s == "number" ? a(f, s, o.priceUnit) ?? Math.round(p * s) : void 0, y = typeof v == "number" ? v * c.quantity : void 0;
14
14
  return {
15
15
  ...c,
16
16
  checkoutProductId: r(l),
@@ -27,12 +27,12 @@ var o = (o) => {
27
27
  }).filter((e) => e !== null), l = c.reduce((e, t) => e + t.lineTotalMinor, 0);
28
28
  return typeof s == "number" ? {
29
29
  lines: c,
30
- totalPerDayMinor: l,
31
- estimatedDays: s,
32
- estimatedTotalMinor: c.reduce((e, t) => e + (t.estimatedLineTotalMinor ?? t.lineTotalMinor * s), 0)
30
+ totalPerBaseUnitMinor: l,
31
+ billableUnitCount: s,
32
+ estimatedTotalMinor: c.reduce((e, t) => e + (t.estimatedLineTotalMinor ?? Math.round(t.lineTotalMinor * s)), 0)
33
33
  } : {
34
34
  lines: c,
35
- totalPerDayMinor: l
35
+ totalPerBaseUnitMinor: l
36
36
  };
37
37
  };
38
38
  //#endregion
@@ -1,14 +1,26 @@
1
1
  import { TFunction } from 'i18next';
2
+ import { StorefrontConfiguration } from '../storefrontSchemas';
3
+ import { StorefrontBookingParams } from './booking';
2
4
  import { StorefrontPublicProductPrice } from './storefrontProducts';
3
- export type DailyPriceRow = {
4
- dayCount: number;
5
+ type PriceUnit = StorefrontPublicProductPrice["unit"];
6
+ type PricingConfiguration = StorefrontConfiguration["bookingEngine"]["pricing"];
7
+ export type RentalPriceRow = {
8
+ unitCount: number;
5
9
  totalPriceLabel: string;
6
- perDayPriceLabel: string;
10
+ perUnitPriceLabel: string;
7
11
  };
8
12
  export declare const formatStorefrontPriceMinor: (valueMinor: number, locale: string, { currency }?: {
9
13
  currency?: string;
10
14
  }) => string;
11
- export declare function calculateDailyPriceForQuantity(prices: StorefrontPublicProductPrice[] | undefined, dayCount: number): number | null;
12
- export declare function buildDailyPriceRows(prices: StorefrontPublicProductPrice[] | undefined, locale: string): DailyPriceRow[];
13
- export declare function buildPriceTierLabels(prices: StorefrontPublicProductPrice[] | undefined, locale: string, t: TFunction): string[];
15
+ export declare function getPricingUnitLabel(priceUnit: PriceUnit, t: TFunction, count?: number): string;
16
+ export declare function formatRentalUnitQuantity(quantity: number, priceUnit: PriceUnit, locale: string, t: TFunction): string;
17
+ export type BookingRentalUnitSummary = {
18
+ priceUnit: PriceUnit;
19
+ billableUnitCount: number;
20
+ };
21
+ export declare function calculateBookingRentalUnitSummary(booking: StorefrontBookingParams, pricing: PricingConfiguration, timeZone?: string): BookingRentalUnitSummary | null;
22
+ export declare function calculateRentalPriceForQuantity(prices: StorefrontPublicProductPrice[] | undefined, unitCount: number, priceUnit?: PriceUnit): number | null;
23
+ export declare function buildRentalPriceRows(prices: StorefrontPublicProductPrice[] | undefined, locale: string, priceUnit?: PriceUnit): RentalPriceRow[];
24
+ export declare function buildPriceTierLabels(prices: StorefrontPublicProductPrice[] | undefined, locale: string, t: TFunction, priceUnit?: PriceUnit): string[];
25
+ export {};
14
26
  //# sourceMappingURL=pricing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/lib/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAOxE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAoBD,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,eAAiC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,WAKzD,CAAA;AAoBJ,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,GACb,aAAa,EAAE,CAiBjB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,GACX,MAAM,EAAE,CAiBV"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../../src/lib/pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAOxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAQxE,KAAK,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAA;AACrD,KAAK,oBAAoB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAA;AAE/E,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAoBD,eAAO,MAAM,0BAA0B,GACrC,YAAY,MAAM,EAClB,QAAQ,MAAM,EACd,eAAiC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,WAKzD,CAAA;AAkBJ,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,CAAC,EAAE,SAAS,EACZ,KAAK,SAAI,GACR,MAAM,CAER;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,GACX,MAAM,CAER;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,SAAQ,GACf,wBAAwB,GAAG,IAAI,CAcjC;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,SAA8B,GACxC,MAAM,GAAG,IAAI,CAYf;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,SAA8B,GACxC,cAAc,EAAE,CAiBlB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,4BAA4B,EAAE,GAAG,SAAS,EAClD,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,SAAS,EACZ,SAAS,GAAE,SAA8B,GACxC,MAAM,EAAE,CAiBV"}