@loczer/storefront-sdk 0.208.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 (88) hide show
  1. package/dist/StorefrontContext.d.ts +89 -0
  2. package/dist/StorefrontContext.d.ts.map +1 -1
  3. package/dist/StorefrontContext.js +8 -1
  4. package/dist/StorefrontProvider.d.ts +84 -0
  5. package/dist/StorefrontProvider.d.ts.map +1 -1
  6. package/dist/StorefrontProvider.js +55 -41
  7. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/index-DAbcklF5.js +1 -0
  8. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/date/mini-CSEBo1ZP.js +60 -0
  9. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/index--u3Qf-qy.js +4 -0
  10. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tz/index-CEcibV-H.js +1 -0
  11. package/dist/chunks/pkg/booking-engine/dist/node_modules/@date-fns/tz/tzOffset/index-COlDDdap.js +22 -0
  12. package/dist/chunks/pkg/booking-engine/dist/pricing-BJaynUu_.js +3 -0
  13. package/dist/chunks/pkg/booking-engine/dist/utils/schedule-ssRov9xe.js +39 -0
  14. package/dist/chunks/pkg/booking-engine/dist/utils/timezone-B6XIbBPz.js +79 -0
  15. package/dist/chunks/pkg/ui/dist/Map/{MapContent-CDeWtwKa.js → MapContent-TzYCv8ji.js} +109 -108
  16. package/dist/chunks/pkg/ui/dist/Map/constants-dF2KdJZy.js +8 -0
  17. package/dist/chunks/pkg/ui/dist/{Map-Cs7wgtH9.js → Map-ZM-ZOU9P.js} +1 -1
  18. package/dist/components/BookingBikeVariantDialog/index.js +15 -15
  19. package/dist/components/ContactSection/index.js +9 -9
  20. package/dist/components/Header/index.d.ts.map +1 -1
  21. package/dist/components/Header/index.js +72 -66
  22. package/dist/components/Itineraries/ItinerariesSection.d.ts +2 -0
  23. package/dist/components/Itineraries/ItinerariesSection.d.ts.map +1 -0
  24. package/dist/components/Itineraries/ItinerariesSection.js +81 -0
  25. package/dist/components/Itineraries/ItineraryListItem.d.ts +9 -0
  26. package/dist/components/Itineraries/ItineraryListItem.d.ts.map +1 -0
  27. package/dist/components/Itineraries/ItineraryListItem.js +100 -0
  28. package/dist/components/Itineraries/ItineraryRouteMap.d.ts +10 -0
  29. package/dist/components/Itineraries/ItineraryRouteMap.d.ts.map +1 -0
  30. package/dist/components/Itineraries/ItineraryRouteMap.js +67 -0
  31. package/dist/components/Itineraries/index.d.ts +4 -0
  32. package/dist/components/Itineraries/index.d.ts.map +1 -0
  33. package/dist/components/Itineraries/index.js +4 -0
  34. package/dist/components/Map/index.d.ts +12 -0
  35. package/dist/components/Map/index.d.ts.map +1 -1
  36. package/dist/components/Map/index.js +1 -1
  37. package/dist/components/ProductPriceBadge/index.d.ts.map +1 -1
  38. package/dist/components/ProductPriceBadge/index.js +86 -80
  39. package/dist/components/StorefrontCartPanel/index.d.ts +4 -4
  40. package/dist/components/StorefrontCartPanel/index.d.ts.map +1 -1
  41. package/dist/components/StorefrontCartPanel/index.js +10 -9
  42. package/dist/i18n/en.d.ts +42 -6
  43. package/dist/i18n/en.d.ts.map +1 -1
  44. package/dist/i18n/en.js +44 -8
  45. package/dist/i18n/fr.d.ts +42 -6
  46. package/dist/i18n/fr.d.ts.map +1 -1
  47. package/dist/i18n/fr.js +44 -8
  48. package/dist/index.d.ts +817 -36
  49. package/dist/index.js +67 -60
  50. package/dist/lib/booking.d.ts +0 -6
  51. package/dist/lib/booking.d.ts.map +1 -1
  52. package/dist/lib/booking.js +51 -65
  53. package/dist/lib/cartSummary.d.ts +5 -3
  54. package/dist/lib/cartSummary.d.ts.map +1 -1
  55. package/dist/lib/cartSummary.js +7 -7
  56. package/dist/lib/itineraryPresentation.d.ts +14 -0
  57. package/dist/lib/itineraryPresentation.d.ts.map +1 -0
  58. package/dist/lib/itineraryPresentation.js +26 -0
  59. package/dist/lib/pricing.d.ts +18 -6
  60. package/dist/lib/pricing.d.ts.map +1 -1
  61. package/dist/lib/pricing.js +45 -29
  62. package/dist/lib/storefrontItineraries.d.ts +418 -0
  63. package/dist/lib/storefrontItineraries.d.ts.map +1 -0
  64. package/dist/lib/storefrontItineraries.js +81 -0
  65. package/dist/pages/BookingPage.d.ts.map +1 -1
  66. package/dist/pages/BookingPage.js +205 -201
  67. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  68. package/dist/pages/CheckoutPage.js +276 -273
  69. package/dist/pages/HomePage.d.ts.map +1 -1
  70. package/dist/pages/HomePage.js +111 -108
  71. package/dist/pages/ItinerariesPage.d.ts +2 -0
  72. package/dist/pages/ItinerariesPage.d.ts.map +1 -0
  73. package/dist/pages/ItinerariesPage.js +76 -0
  74. package/dist/pages/ItineraryDetailsPage.d.ts +66 -0
  75. package/dist/pages/ItineraryDetailsPage.d.ts.map +1 -0
  76. package/dist/pages/ItineraryDetailsPage.js +223 -0
  77. package/dist/pages/ProductPage.js +6 -6
  78. package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts +2 -2
  79. package/dist/pages/checkout/components/CheckoutSummaryColumn.d.ts.map +1 -1
  80. package/dist/pages/checkout/components/CheckoutSummaryColumn.js +4 -4
  81. package/dist/pages/itineraries/ElevationProfile.d.ts +5 -0
  82. package/dist/pages/itineraries/ElevationProfile.d.ts.map +1 -0
  83. package/dist/pages/itineraries/ElevationProfile.js +59 -0
  84. package/dist/routes.d.ts.map +1 -1
  85. package/dist/routes.js +18 -10
  86. package/dist/storefront.css +1 -1
  87. package/package.json +1 -1
  88. package/dist/chunks/pkg/ui/dist/Map/constants-BNmiJXfg.js +0 -4
package/dist/index.js CHANGED
@@ -13,71 +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 { buildWhatsAppHref as Lt, resolveStorefrontWhatsAppContact as Rt, resolveStorefrontWhatsAppHref as zt } from "./lib/whatsapp.js";
26
- import { ROUTE as Bt, requestBaseSchema as Vt, requestCheckoutItemSchema as Ht, requestDeliveryRefinement as Ut, requestSchema as Wt, responseSchema as Gt } from "./lib/checkoutSubmit.js";
27
- import { ROUTE as Kt, requestSchema as qt, responseSchema as Jt, storefrontPublicAccessoryProductSchema as Yt, storefrontPublicBikeAvailabilityStatusSchema as Xt, storefrontPublicBikeProductSchema as Zt, storefrontPublicProductDisplayModeSchema as Qt, storefrontPublicProductPriceSchema as $t, storefrontPublicProductVariantAttributeSchema as en, storefrontPublicProductVariantIdentifierSchema as tn, storefrontPublicProductVariantSchema as nn } from "./lib/storefrontProducts.js";
28
- import { ROUTE as rn, buildStorefrontAvailabilityKey as an, doesStorefrontAvailabilityDisplaySoldOut as on, getStorefrontAvailabilityIssue as sn, getStorefrontAvailabilityStatus as cn, isStorefrontAvailabilityInsufficient as ln, publicAvailabilityDisplayModeSchema as un, requestSchema as dn, responseSchema as fn, shouldBlockStorefrontUnavailableItem as pn, storefrontAvailabilityProductSchema as mn, storefrontAvailabilityScheduleSchema as hn, storefrontPublicAvailabilityRecordSchema as gn } from "./lib/storefrontAvailability.js";
29
- import { ROUTE as _n, buildStorefrontImageUrl as vn, requestSchema as yn } from "./lib/storefrontImage.js";
30
- import { ROUTE as bn, requestSchema as xn, responseSchema as Sn, storefrontTimeSlotSchema as Cn, timeSlotJourneySchema as wn } from "./lib/storefrontTimeSlots.js";
31
- import { Footer as Tn } from "./components/Footer/index.js";
32
- import { Badge as En, badgeVariants as Dn } from "./ui/badge.js";
33
- import { Button as On, buttonVariants as kn, storefrontButtonRadiusClassName as An } from "./ui/button.js";
34
- import { Header as jn } from "./components/Header/index.js";
35
- import { storefront as Mn } from "./i18n/en.js";
36
- import { storefront as Nn } from "./i18n/fr.js";
37
- import { PoweredByLoczerBadge as Pn } from "./components/PoweredByLoczerBadge/index.js";
38
- import { PlatformFooter as Fn } from "./components/PlatformFooter/index.js";
39
- import { useWhatsAppFloatingButton as In } from "./components/WhatsAppFloatingButton/useWhatsAppFloatingButton.js";
40
- import { WhatsAppFloatingButton as Ln } 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";
41
43
  import "./components/WhatsAppFloatingButton/index.js";
42
- import { Layout as Rn } from "./components/Layout/index.js";
43
- import { DelayedPlaceholder as zn, DelayedReveal as Bn } from "./components/DelayedReveal/index.js";
44
- import { BookingPeriodProvider as Vn, useBookingPeriod as Hn } from "./components/BookingPeriodSelector/BookingPeriodContext.js";
45
- import { Label as Un } from "./ui/label.js";
46
- import { BookingStartDateField as Wn } from "./components/BookingPeriodSelector/components/BookingStartDateField.js";
47
- import { BookingStartTimeField as Gn } from "./components/BookingPeriodSelector/components/BookingStartTimeField.js";
48
- import { BookingEndDateField as Kn } from "./components/BookingPeriodSelector/components/BookingEndDateField.js";
49
- import { BookingEndTimeField as qn } from "./components/BookingPeriodSelector/components/BookingEndTimeField.js";
50
- import { BookingTimeSlotsStatus as Jn } from "./components/BookingPeriodSelector/components/BookingTimeSlotsStatus.js";
51
- import { BookingMobileDateDrawer as Yn } from "./components/BookingPeriodSelector/components/BookingMobileDateDrawer.js";
52
- import { BookingPeriodSelector as Xn } from "./components/BookingPeriodSelector/index.js";
53
- import { BookingFlowSteps as Zn } from "./components/BookingFlowSteps/index.js";
54
- import { Input as Qn } from "./ui/input.js";
55
- import { DeliveryAddressSelector as $n } from "./components/DeliveryAddressSelector/index.js";
56
- import { StorefrontContext as er, useOptionalStorefront as tr, useStorefront as nr, useStorefrontBookingProducts as rr, useStorefrontConfig as ir, useStorefrontProducts as ar, useStorefrontWorkspaceLanguage as or } from "./StorefrontContext.js";
57
- import { Form as sr, FormControl as cr, FormDescription as lr, FormField as ur, FormItem as dr, FormLabel as fr, FormMessage as pr, useFormField as mr } from "./ui/form.js";
58
- import { Textarea as hr } from "./ui/textarea.js";
59
- import { ContactSection as gr } from "./components/ContactSection/index.js";
60
- import { TestimonialsSection as _r } from "./components/TestimonialsSection/index.js";
61
- import { AboutSection as vr } from "./components/AboutSection/index.js";
62
- import { StepSectionTitle as yr } from "./components/StepSectionTitle/index.js";
63
- import { Card as br, CardAction as xr, CardContent as Sr, CardDescription as Cr, CardFooter as wr, CardHeader as Tr, CardTitle as Er } from "./ui/card.js";
64
- import { ProductWarningNotice as Dr } from "./components/ProductWarningNotice/index.js";
65
- import { StorefrontCartPanel as Or } from "./components/StorefrontCartPanel/index.js";
66
- import { ProductPriceBadge as kr } from "./components/ProductPriceBadge/index.js";
67
- import { ContractSaleDocument as Ar } from "./components/ContractSaleDocument/Invoice.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
+ import "./components/Itineraries/index.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";
68
73
  import "./components/ContractSaleDocument/index.js";
69
- import { RadioGroup as jr, RadioGroupItem as Mr } from "./ui/radio-group.js";
74
+ import { RadioGroup as ti, RadioGroupItem as ni } from "./ui/radio-group.js";
70
75
  import "./pages/HomePage.js";
71
76
  import "./pages/BookingPage.js";
72
77
  import "./pages/ProductPage.js";
78
+ import ri from "./pages/ItinerariesPage.js";
79
+ import ii, { loader as ai } from "./pages/ItineraryDetailsPage.js";
73
80
  import "./pages/CheckoutPage.js";
74
81
  import "./pages/CheckoutSuccessPage.js";
75
82
  import "./pages/NotFoundPage.js";
76
- import { accessories as Nr } from "./data/accessories.js";
77
- import Pr from "./data/bikes.js";
78
- import { contractSaleDocumentAcceptanceLevelSchema as Fr, contractSaleDocumentAcceptanceRecordSchema as Ir, contractSaleDocumentAcceptanceSchema as Lr, contractSaleDocumentAddressSchema as Rr, contractSaleDocumentAppendixKindSchema as zr, contractSaleDocumentAppendixSchema as Br, contractSaleDocumentContactSchema as Vr, contractSaleDocumentKindSchema as Hr, contractSaleDocumentLanguageCodeSchema as Ur, contractSaleDocumentLanguageSchema as Wr, contractSaleDocumentLineItemSchema as Gr, contractSaleDocumentRentalSchema as Kr, contractSaleDocumentSchema as qr, contractSaleDocumentSignatureSchema as Jr } from "./lib/contractSaleDocument.js";
79
- import { ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE as Yr, DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE as Xr, GET_CONTRACT_SALE_DOCUMENT_ROUTE as Zr, acceptContractSaleDocumentRequestSchema as Qr, acceptContractSaleDocumentResponseSchema as $r, contractSaleDocumentAcceptanceInputSchema as ei, contractSaleDocumentAcceptanceRecordInputSchema as ti, contractSaleDocumentApiAcceptanceRecordSchema as ni, contractSaleDocumentApiAcceptanceSchema as ri, contractSaleDocumentApiSchema as ii, contractSaleDocumentApiSignatureSchema as ai, contractSaleDocumentReferenceSchema as oi, contractSaleDocumentReferenceTypeSchema as si, contractSaleDocumentSignatureInputSchema as ci, downloadContractSaleDocumentPdfRequestSchema as li, getContractSaleDocumentRequestSchema as ui, getContractSaleDocumentResponseSchema as di } from "./lib/contractSaleDocumentApi.js";
80
- import fi from "./routes.js";
81
- import { loader as pi } from "./StorefrontProvider.js";
82
- import { Select as mi, SelectContent as hi, SelectGroup as gi, SelectIcon as _i, SelectItem as vi, SelectItemIndicator as yi, SelectItemText as bi, SelectLabel as xi, SelectScrollDownButton as Si, SelectScrollUpButton as Ci, SelectSeparator as wi, SelectTrigger as Ti, SelectValue as Ei } from "./ui/select.js";
83
- export { Yr as ACCEPT_CONTRACT_SALE_DOCUMENT_ROUTE, vr as AboutSection, Ne as BOOKING_SEARCH_KEYS, En as Badge, Kn as BookingEndDateField, qn as BookingEndTimeField, Zn as BookingFlowSteps, Yn as BookingMobileDateDrawer, Vn as BookingPeriodProvider, Xn as BookingPeriodSelector, Wn as BookingStartDateField, Gn as BookingStartTimeField, Jn as BookingTimeSlotsStatus, On as Button, et as CATALOG_PRODUCT_BASE_RATE_UNSET, br as Card, xr as CardAction, Sr as CardContent, Cr as CardDescription, wr as CardFooter, Tr as CardHeader, Er as CardTitle, gr as ContactSection, Ar as ContractSaleDocument, Y as DEFAULT_BOOKING_DELIVERY_OPTION, B as DEFAULT_CANCELLATION_POLICY, V as DEFAULT_PAYMENT_POLICIES, p as DEFAULT_PRODUCT_KIND, Xr as DOWNLOAD_CONTRACT_SALE_DOCUMENT_PDF_ROUTE, zn as DelayedPlaceholder, Bn as DelayedReveal, $n as DeliveryAddressSelector, Tn as Footer, sr as Form, cr as FormControl, lr as FormDescription, ur as FormField, dr as FormItem, fr as FormLabel, pr as FormMessage, Zr as GET_CONTRACT_SALE_DOCUMENT_ROUTE, jn as Header, Qn as Input, Un as Label, Rn as Layout, m as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, h as PRODUCT_VARIANT_CODE_MAX_LENGTH, Fn as PlatformFooter, Pn as PoweredByLoczerBadge, kr as ProductPriceBadge, Dr as ProductWarningNotice, jt as ROUTE, jr as RadioGroup, Mr as RadioGroupItem, rn as STOREFRONT_AVAILABILITY_ROUTE, Bt as STOREFRONT_CHECKOUT_SUBMIT_ROUTE, ge as STOREFRONT_HERO_MODES, _n as STOREFRONT_IMAGE_ROUTE, Kt as STOREFRONT_PRODUCTS_ROUTE, bn as STOREFRONT_TIME_SLOTS_ROUTE, mi as Select, hi as SelectContent, gi as SelectGroup, _i as SelectIcon, vi as SelectItem, yi as SelectItemIndicator, bi as SelectItemText, xi as SelectLabel, Si as SelectScrollDownButton, Ci as SelectScrollUpButton, wi as SelectSeparator, Ti as SelectTrigger, Ei as SelectValue, yr as StepSectionTitle, Or as StorefrontCartPanel, yt as StorefrontCartProvider, er as StorefrontContext, Pe as TIME_OPTIONS, _r as TestimonialsSection, hr as Textarea, Ln as WhatsAppFloatingButton, Qr as acceptContractSaleDocumentRequestSchema, $r as acceptContractSaleDocumentResponseSchema, Nr as accessories, g as accessoryProductSchema, Fe as applyBookingParamsToSearch, ue as assetIdSchema, Dn as badgeVariants, de as baseAssetSchema, fe as baseAssetStatusSchema, pe as baseBookingItemSchema, me as baseBookingSchema, he as baseBookingStateSchema, _ as bikeProductSchema, Pr 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, an as buildStorefrontAvailabilityKey, At as buildStorefrontCartSummary, vn as buildStorefrontImageUrl, tt as buildStorefrontProductSlug, nt as buildVariantStorefrontProductId, Lt as buildWhatsAppHref, kn 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, Fr as contractSaleDocumentAcceptanceLevelSchema, ti as contractSaleDocumentAcceptanceRecordInputSchema, Ir as contractSaleDocumentAcceptanceRecordSchema, Lr as contractSaleDocumentAcceptanceSchema, Rr as contractSaleDocumentAddressSchema, ni as contractSaleDocumentApiAcceptanceRecordSchema, ri as contractSaleDocumentApiAcceptanceSchema, ii as contractSaleDocumentApiSchema, ai as contractSaleDocumentApiSignatureSchema, zr as contractSaleDocumentAppendixKindSchema, Br as contractSaleDocumentAppendixSchema, Vr as contractSaleDocumentContactSchema, Hr as contractSaleDocumentKindSchema, Ur as contractSaleDocumentLanguageCodeSchema, Wr as contractSaleDocumentLanguageSchema, Gr as contractSaleDocumentLineItemSchema, oi as contractSaleDocumentReferenceSchema, si as contractSaleDocumentReferenceTypeSchema, Kr as contractSaleDocumentRentalSchema, qr as contractSaleDocumentSchema, ci as contractSaleDocumentSignatureInputSchema, Jr 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, on as doesStorefrontAvailabilityDisplaySoldOut, li 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, ui as getContractSaleDocumentRequestSchema, di as getContractSaleDocumentResponseSchema, Ue as getDefaultBookingParams, We as getDefaultBookingParamsForStorefrontConfiguration, Qe as getLocalizedEntry, t as getLocalizedStringValue, $e as getLocalizedValue, Tt as getMinDayPriceMinor, sn as getStorefrontAvailabilityIssue, cn as getStorefrontAvailabilityStatus, dt as getStorefrontBaseDailyRateMinor, ft as getStorefrontCheckoutProductId, pt as getStorefrontProductSelectionDisplayName, mt as getStorefrontRepresentedVariantId, le as insuranceProviderSchema, y as isProductVariantCodeIdentifierKind, ln as isStorefrontAvailabilityInsufficient, j as isoDateSchema, pi 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, un 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, Rt as resolveStorefrontWhatsAppContact, zt 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, pn as shouldBlockStorefrontUnavailableItem, u as signedMoneyMinorSchema, mn as storefrontAvailabilityProductSchema, dn as storefrontAvailabilityRequestSchema, fn as storefrontAvailabilityResponseSchema, hn as storefrontAvailabilityScheduleSchema, An as storefrontButtonRadiusClassName, _e as storefrontCheckoutModeSchema, Ut as storefrontCheckoutSubmitDeliveryRefinement, Ht as storefrontCheckoutSubmitItemSchema, Vt as storefrontCheckoutSubmitRequestBaseSchema, Wt as storefrontCheckoutSubmitRequestSchema, Gt as storefrontCheckoutSubmitResponseSchema, ve as storefrontConfigurationSchema, ye as storefrontContentSchema, Mn as storefrontEn, be as storefrontFaqItemSchema, xe as storefrontFaqSchema, Nn as storefrontFr, Se as storefrontFulfillmentModeSchema, Ce as storefrontHeroModeSchema, yn as storefrontImageRequestSchema, we as storefrontLocalizedRichTextSchema, Te as storefrontModalMessageSchema, Ee as storefrontModulesSchema, qt as storefrontProductsRequestSchema, Jt as storefrontProductsResponseSchema, Yt as storefrontPublicAccessoryProductSchema, gn as storefrontPublicAvailabilityRecordSchema, Xt as storefrontPublicBikeAvailabilityStatusSchema, Zt as storefrontPublicBikeProductSchema, Qt as storefrontPublicProductDisplayModeSchema, $t as storefrontPublicProductPriceSchema, en as storefrontPublicProductVariantAttributeSchema, tn as storefrontPublicProductVariantIdentifierSchema, nn as storefrontPublicProductVariantSchema, De as storefrontReviewsModuleSchema, Oe as storefrontRichTextSchema, fi as storefrontRoutes, ke as storefrontSettingsSchema, Ae as storefrontShopSchema, je as storefrontStatusSchema, wn as storefrontTimeSlotJourneySchema, Cn as storefrontTimeSlotSchema, xn as storefrontTimeSlotsRequestSchema, Sn as storefrontTimeSlotsResponseSchema, Me as storefrontWorkspaceSchema, z as timeOfDaySchema, ht as toStorefrontAccessoryProducts, gt as toStorefrontBikeProducts, _t as toStorefrontBookingProducts, vt as toStorefrontBookingProductsCollections, Hn as useBookingPeriod, mr as useFormField, tr as useOptionalStorefront, nr as useStorefront, rr as useStorefrontBookingProducts, xt as useStorefrontCart, ir as useStorefrontConfig, ar as useStorefrontProducts, or as useStorefrontWorkspaceLanguage, In 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
@@ -0,0 +1,14 @@
1
+ import { StorefrontItineraryCoordinate, StorefrontItineraryLocalizedString } from './storefrontItineraries';
2
+ export declare const resolveItineraryText: (value: StorefrontItineraryLocalizedString | undefined, language: string, fallbackLanguage: string) => string;
3
+ export declare const formatItineraryDistance: (distanceMeters: number, locale: string) => string;
4
+ export declare const formatItineraryDuration: (durationSeconds: number) => string;
5
+ export declare const buildItineraryGeoJson: (coordinates: readonly StorefrontItineraryCoordinate[]) => {
6
+ type: "Feature";
7
+ properties: {};
8
+ geometry: {
9
+ type: "LineString";
10
+ coordinates: readonly ([number, number] | [number, number, number])[];
11
+ };
12
+ };
13
+ export declare const getItineraryBounds: (coordinates: readonly StorefrontItineraryCoordinate[]) => readonly [readonly [number, number], readonly [number, number]];
14
+ //# sourceMappingURL=itineraryPresentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"itineraryPresentation.d.ts","sourceRoot":"","sources":["../../src/lib/itineraryPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAA;AAGhH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,kCAAkC,GAAG,SAAS,EACrD,UAAU,MAAM,EAChB,kBAAkB,MAAM,KACvB,MASF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,gBAAgB,MAAM,EAAE,QAAQ,MAAM,KAAG,MAEhF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,iBAAiB,MAAM,KAAG,MAQjE,CAAA;AAED,eAAO,MAAM,qBAAqB,GAAI,aAAa,SAAS,6BAA6B,EAAE;;;;;;;CAOzF,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAC7B,aAAa,SAAS,6BAA6B,EAAE,KACpD,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAahE,CAAA"}
@@ -0,0 +1,26 @@
1
+ //#region src/lib/itineraryPresentation.ts
2
+ var e = (e, t, n) => {
3
+ let r = e?.[t]?.value;
4
+ if (typeof r == "string" && r.trim()) return r.trim();
5
+ let i = t.split("-")[0], a = i ? e?.[i]?.value : void 0;
6
+ if (typeof a == "string" && a.trim()) return a.trim();
7
+ let o = e?.[n]?.value;
8
+ return typeof o == "string" && o.trim() ? o.trim() : Object.values(e ?? {}).find((e) => e.value.trim())?.value.trim() ?? "";
9
+ }, t = (e, t) => `${new Intl.NumberFormat(t, { maximumFractionDigits: 1 }).format(e / 1e3)} km`, n = (e) => {
10
+ if (e <= 0) return "—";
11
+ let t = Math.max(1, Math.round(e / 60)), n = Math.floor(t / 60), r = t % 60;
12
+ return n === 0 ? `${r} min` : r === 0 ? `${n} h` : `${n} h ${String(r).padStart(2, "0")}`;
13
+ }, r = (e) => ({
14
+ type: "Feature",
15
+ properties: {},
16
+ geometry: {
17
+ type: "LineString",
18
+ coordinates: e
19
+ }
20
+ }), i = (e) => {
21
+ let t = e[0] ?? [0, 0], n = t[0], r = t[0], i = t[1], a = t[1];
22
+ for (let t of e) n = Math.min(n, t[0]), r = Math.max(r, t[0]), i = Math.min(i, t[1]), a = Math.max(a, t[1]);
23
+ return [[n, i], [r, a]];
24
+ };
25
+ //#endregion
26
+ export { r as buildItineraryGeoJson, t as formatItineraryDistance, n as formatItineraryDuration, i as getItineraryBounds, e as resolveItineraryText };
@@ -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