@loczer/storefront-sdk 0.218.0 → 0.220.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 (59) hide show
  1. package/dist/components/BookingFlowPageLayout/index.d.ts +13 -0
  2. package/dist/components/BookingFlowPageLayout/index.d.ts.map +1 -0
  3. package/dist/components/BookingFlowPageLayout/index.js +35 -0
  4. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.d.ts.map +1 -1
  5. package/dist/components/BookingPeriodSelector/components/BookingEndDateField.js +10 -33
  6. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.d.ts.map +1 -1
  7. package/dist/components/BookingPeriodSelector/components/BookingStartDateField.js +1 -4
  8. package/dist/components/BookingPeriodSelector/index.d.ts +1 -1
  9. package/dist/components/BookingPeriodSelector/index.d.ts.map +1 -1
  10. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts +0 -5
  11. package/dist/components/BookingPeriodSelector/useBookingPeriodController.d.ts.map +1 -1
  12. package/dist/components/BookingPeriodSelector/useBookingPeriodController.js +150 -159
  13. package/dist/components/Footer/BusinessHours.d.ts +2 -1
  14. package/dist/components/Footer/BusinessHours.d.ts.map +1 -1
  15. package/dist/components/Footer/BusinessHours.js +19 -18
  16. package/dist/components/Footer/businessHoursStatus.d.ts +25 -0
  17. package/dist/components/Footer/businessHoursStatus.d.ts.map +1 -0
  18. package/dist/components/Footer/businessHoursStatus.js +99 -0
  19. package/dist/components/Footer/businessHoursUtils.d.ts +2 -1
  20. package/dist/components/Footer/businessHoursUtils.d.ts.map +1 -1
  21. package/dist/components/Footer/businessHoursUtils.js +52 -45
  22. package/dist/components/Footer/index.d.ts +2 -1
  23. package/dist/components/Footer/index.d.ts.map +1 -1
  24. package/dist/components/Footer/index.js +26 -25
  25. package/dist/components/Layout/index.d.ts.map +1 -1
  26. package/dist/components/Layout/index.js +2 -1
  27. package/dist/components/StorefrontCancellationPolicyNotice/index.d.ts.map +1 -1
  28. package/dist/components/StorefrontCancellationPolicyNotice/index.js +89 -86
  29. package/dist/components/StorefrontCartPanel/index.js +4 -4
  30. package/dist/components/StorefrontInsuranceNotice/index.d.ts +2 -1
  31. package/dist/components/StorefrontInsuranceNotice/index.d.ts.map +1 -1
  32. package/dist/components/StorefrontInsuranceNotice/index.js +155 -162
  33. package/dist/i18n/en.d.ts +7 -1
  34. package/dist/i18n/en.d.ts.map +1 -1
  35. package/dist/i18n/en.js +8 -2
  36. package/dist/i18n/fr.d.ts +7 -1
  37. package/dist/i18n/fr.d.ts.map +1 -1
  38. package/dist/i18n/fr.js +8 -2
  39. package/dist/index.d.ts +24 -10
  40. package/dist/index.js +66 -66
  41. package/dist/lib/checkoutPaymentDecision.d.ts +2 -6
  42. package/dist/lib/checkoutPaymentDecision.d.ts.map +1 -1
  43. package/dist/lib/checkoutPaymentDecision.js +3 -4
  44. package/dist/lib/checkoutSubmit.d.ts +0 -3
  45. package/dist/lib/checkoutSubmit.d.ts.map +1 -1
  46. package/dist/lib/checkoutSubmit.js +41 -43
  47. package/dist/lib/pricing.d.ts.map +1 -1
  48. package/dist/lib/pricing.js +3 -1
  49. package/dist/lib/products.d.ts +6 -0
  50. package/dist/lib/products.d.ts.map +1 -1
  51. package/dist/lib/products.js +36 -32
  52. package/dist/pages/BookingPage.d.ts.map +1 -1
  53. package/dist/pages/BookingPage.js +306 -335
  54. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  55. package/dist/pages/CheckoutPage.js +172 -186
  56. package/dist/pages/HomePage.d.ts.map +1 -1
  57. package/dist/pages/HomePage.js +435 -378
  58. package/dist/storefront.css +1 -1
  59. package/package.json +1 -1
@@ -2,69 +2,67 @@ import { productKindSchema as e } from "../chunks/pkg/booking-engine/dist/models
2
2
  import { DEFAULT_BOOKING_DELIVERY_OPTION as t, bookingScheduleInputSchema as n } from "../chunks/pkg/booking-engine/dist/schemas/cart-inputs-epi7FXIk.js";
3
3
  import "../chunks/pkg/booking-engine/dist/schemas-DGn2a1my.js";
4
4
  import { storefrontFulfillmentModeSchema as r } from "../storefrontSchemas.js";
5
- import { MISSING_ONLINE_PAYMENT_PROVIDER_ERROR_CODE as i, checkoutPaymentErrorCodeSchema as a } from "./checkoutPaymentDecision.js";
6
- import { z as o } from "zod";
5
+ import { z as i } from "zod";
7
6
  //#region src/lib/checkoutSubmit.ts
8
- var s = "/api/public/storefront/checkout/submit", c = o.object({
7
+ var a = "/api/public/storefront/checkout/submit", o = i.object({
9
8
  kind: e,
10
- productId: o.string().trim().min(1),
11
- productVariantId: o.string().trim().min(1).optional(),
12
- quantity: o.number().int().positive()
13
- }), l = o.object({
14
- storeSlug: o.string().trim().min(1).toLowerCase(),
15
- checkoutSessionId: o.string().trim().min(1).max(256).optional(),
16
- replacesCheckoutSessionId: o.string().trim().min(1).max(256).optional(),
9
+ productId: i.string().trim().min(1),
10
+ productVariantId: i.string().trim().min(1).optional(),
11
+ quantity: i.number().int().positive()
12
+ }), s = i.object({
13
+ storeSlug: i.string().trim().min(1).toLowerCase(),
14
+ checkoutSessionId: i.string().trim().min(1).max(256).optional(),
15
+ replacesCheckoutSessionId: i.string().trim().min(1).max(256).optional(),
17
16
  schedule: n,
18
17
  fulfillment: r.default(t),
19
- startAddress: o.string().trim().max(500).optional(),
20
- endAddress: o.string().trim().max(500).optional(),
21
- couponCode: o.string().trim().max(64).optional().or(o.literal("")),
22
- couponAutoApplied: o.boolean().optional(),
23
- insuranceAccepted: o.boolean().optional(),
24
- customer: o.object({
25
- firstName: o.string().trim().min(1).optional(),
26
- lastName: o.string().trim().min(1).optional(),
27
- fullName: o.string().trim().min(2).optional(),
28
- email: o.string().trim().email(),
29
- phone: o.string().trim().min(6),
30
- notes: o.string().trim().max(2e3).optional().or(o.literal(""))
18
+ startAddress: i.string().trim().max(500).optional(),
19
+ endAddress: i.string().trim().max(500).optional(),
20
+ couponCode: i.string().trim().max(64).optional().or(i.literal("")),
21
+ couponAutoApplied: i.boolean().optional(),
22
+ insuranceAccepted: i.boolean().optional(),
23
+ customer: i.object({
24
+ firstName: i.string().trim().min(1).optional(),
25
+ lastName: i.string().trim().min(1).optional(),
26
+ fullName: i.string().trim().min(2).optional(),
27
+ email: i.string().trim().email(),
28
+ phone: i.string().trim().min(6),
29
+ notes: i.string().trim().max(2e3).optional().or(i.literal(""))
31
30
  }).superRefine((e, t) => {
32
31
  e.firstName && e.lastName || e.fullName || t.addIssue({
33
- code: o.ZodIssueCode.custom,
32
+ code: i.ZodIssueCode.custom,
34
33
  path: ["firstName"],
35
34
  message: "Customer first and last names are required."
36
35
  });
37
36
  }),
38
- items: o.array(c).min(1),
39
- nowIso: o.string().datetime({ offset: !0 }).optional()
40
- }), u = (e, t) => {
37
+ items: i.array(o).min(1),
38
+ nowIso: i.string().datetime({ offset: !0 }).optional()
39
+ }), c = (e, t) => {
41
40
  e.fulfillment === "delivery" && (e.startAddress?.trim() || t.addIssue({
42
- code: o.ZodIssueCode.custom,
41
+ code: i.ZodIssueCode.custom,
43
42
  message: "Delivery start address is required.",
44
43
  path: ["startAddress"]
45
44
  }));
46
- }, d = l.superRefine((e, t) => {
47
- u(e, t), e.replacesCheckoutSessionId && !e.checkoutSessionId && t.addIssue({
48
- code: o.ZodIssueCode.custom,
45
+ }, l = s.superRefine((e, t) => {
46
+ c(e, t), e.replacesCheckoutSessionId && !e.checkoutSessionId && t.addIssue({
47
+ code: i.ZodIssueCode.custom,
49
48
  message: "A replacement checkout session requires a new checkout session id.",
50
49
  path: ["checkoutSessionId"]
51
50
  }), e.checkoutSessionId && e.replacesCheckoutSessionId === e.checkoutSessionId && t.addIssue({
52
- code: o.ZodIssueCode.custom,
51
+ code: i.ZodIssueCode.custom,
53
52
  message: "The new and replaced checkout session ids must differ.",
54
53
  path: ["replacesCheckoutSessionId"]
55
54
  });
56
- }), f = o.object({
57
- success: o.boolean(),
58
- message: o.string().optional(),
59
- errorCode: a.optional(),
60
- checkout: o.object({
61
- bookingExternalId: o.string().trim().min(1),
62
- saleId: o.string().trim().min(1),
63
- nextPath: o.string().trim().min(1),
64
- successPath: o.string().trim().min(1),
65
- requiresPayment: o.boolean(),
66
- checkoutSessionId: o.string().trim().min(1).max(256).optional()
55
+ }), u = i.object({
56
+ success: i.boolean(),
57
+ message: i.string().optional(),
58
+ checkout: i.object({
59
+ bookingExternalId: i.string().trim().min(1),
60
+ saleId: i.string().trim().min(1),
61
+ nextPath: i.string().trim().min(1),
62
+ successPath: i.string().trim().min(1),
63
+ requiresPayment: i.boolean(),
64
+ checkoutSessionId: i.string().trim().min(1).max(256).optional()
67
65
  }).optional()
68
66
  });
69
67
  //#endregion
70
- export { i as MISSING_ONLINE_PAYMENT_PROVIDER_ERROR_CODE, s as ROUTE, l as requestBaseSchema, c as requestCheckoutItemSchema, u as requestDeliveryRefinement, d as requestSchema, f as responseSchema };
68
+ export { a as ROUTE, s as requestBaseSchema, o as requestCheckoutItemSchema, c as requestDeliveryRefinement, l as requestSchema, u as responseSchema };
@@ -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;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"}
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,CAqBV"}
@@ -54,7 +54,9 @@ function v(e, t, n, r = a) {
54
54
  let i = d(e, r), o = c(i);
55
55
  return i.map((e, a) => {
56
56
  let s = a > 0 ? i[a - 1] : void 0, c = s?.quantity ?? 0, l = s?.value ?? 0, d = e.quantity - c, f = e.value - l;
57
- return d <= 0 || f < 0 ? u(e.value, t, { currency: o }) : `${u(f, t, { currency: o })} / ${m(d, r, t, n)}`;
57
+ if (d <= 0 || f < 0) return u(e.value, t, { currency: o });
58
+ let h = d === 1 ? p(r, n) : m(d, r, t, n);
59
+ return `${u(f, t, { currency: o })} / ${h}`;
58
60
  });
59
61
  }
60
62
  //#endregion
@@ -43,6 +43,12 @@ export type StorefrontProductsCollections = {
43
43
  accessories: AccessoryProduct[];
44
44
  };
45
45
  export type StorefrontBookingProductsCollections = StorefrontProductsCollections;
46
+ type StorefrontInsuranceCandidate = Pick<BikeProduct, "kind"> & {
47
+ insurance?: {
48
+ enabled: boolean;
49
+ };
50
+ };
51
+ export declare function findStorefrontInsurancePricingBike<T extends StorefrontInsuranceCandidate>(bikes: readonly T[], kind: BikeProduct["kind"]): T | undefined;
46
52
  export declare const buildStorefrontProductSlug: ({ id, productShortCode, name, }: {
47
53
  id: string;
48
54
  productShortCode?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/lib/products.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/lib/products.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,17 @@ import { getLocalizedValue as t } from "../localization.js";
4
4
  var n = ({ product: n, productVariantId: r, language: i, fallbackLanguage: a }) => {
5
5
  let o = t(n.name, i, a), s = r ? n.productVariants?.find((e) => e.id === r) : void 0, c = s ? e(s).label : "", l = n.storefrontDisplayMode === "variants_as_products" && n.representedVariantId === r;
6
6
  return !c || l ? o : `${o} ${c}`.trim();
7
- }, r = -1, i = {
7
+ }, r = -1;
8
+ function i(e, t) {
9
+ return e.find((e) => e.kind === t && e.insurance?.enabled);
10
+ }
11
+ var a = {
8
12
  hour: "baseHourlyRateMinor",
9
13
  half_day: "baseHalfDayRateMinor",
10
14
  day: "baseDailyRateMinor",
11
15
  week: "baseWeeklyRateMinor",
12
16
  month: "baseMonthlyRateMinor"
13
- }, a = /[\u0300-\u036f]/g, o = /[^a-z0-9]+/g, s = /^-+|-+$/g, c = (e) => e.normalize("NFKD").replace(a, "").toLowerCase().replace(o, "-").replace(s, ""), l = (e) => e?.en?.value.trim() || (Object.values(e ?? {}).find((e) => e.value.trim().length > 0)?.value.trim() ?? ""), u = (e, t) => {
17
+ }, o = /[\u0300-\u036f]/g, s = /[^a-z0-9]+/g, c = /^-+|-+$/g, l = (e) => e.normalize("NFKD").replace(o, "").toLowerCase().replace(s, "-").replace(c, ""), u = (e) => e?.en?.value.trim() || (Object.values(e ?? {}).find((e) => e.value.trim().length > 0)?.value.trim() ?? ""), d = (e, t) => {
14
18
  let n = t.trim();
15
19
  return n ? Object.fromEntries(Object.entries(e).map(([e, t]) => {
16
20
  let r = t.value.trim();
@@ -19,31 +23,31 @@ var n = ({ product: n, productVariantId: r, language: i, fallbackLanguage: a })
19
23
  value: r ? `${r} ${n}`.trim() : t.value
20
24
  }];
21
25
  })) : e;
22
- }, d = ({ id: e, productShortCode: t, name: n }) => {
23
- let r = c(typeof t == "string" ? t.trim() : ""), i = c(l(n)), a = c(e);
26
+ }, f = ({ id: e, productShortCode: t, name: n }) => {
27
+ let r = l(typeof t == "string" ? t.trim() : ""), i = l(u(n)), a = l(e);
24
28
  return `product-${[r, i].filter((e) => e.length > 0).join("-") || a || "item"}`;
25
- }, f = (e, t) => `${e}__variant__${t}`, p = (t, n) => {
29
+ }, p = (e, t) => `${e}__variant__${t}`, m = (t, n) => {
26
30
  let r = t.checkoutProductId?.trim() || t.id, i = n.id.trim(), { label: a } = e(n);
27
31
  return {
28
32
  ...t,
29
- id: f(r, i),
33
+ id: p(r, i),
30
34
  checkoutProductId: r,
31
35
  representedVariantId: i,
32
- name: u(t.name, a),
36
+ name: d(t.name, a),
33
37
  productVariants: [n]
34
38
  };
35
- }, m = (e) => e.flatMap((e) => {
39
+ }, h = (e) => e.flatMap((e) => {
36
40
  if (e.storefrontDisplayMode !== "variants_as_products") return [e];
37
41
  let t = e.productVariants ?? [];
38
- return t.length === 0 ? [e] : t.map((t) => p(e, t));
39
- }), h = (e) => ({
40
- bikes: m(e.bikes),
41
- accessories: m(e.accessories)
42
- }), g = (e) => e === "e-bike" ? 0 : e === "bike" ? 1 : e === "accessory" ? 2 : 3, _ = (e) => e.externalId?.trim() || e.id?.trim() || "";
43
- function v(e) {
44
- return i[e];
45
- }
42
+ return t.length === 0 ? [e] : t.map((t) => m(e, t));
43
+ }), g = (e) => ({
44
+ bikes: h(e.bikes),
45
+ accessories: h(e.accessories)
46
+ }), _ = (e) => e === "e-bike" ? 0 : e === "bike" ? 1 : e === "accessory" ? 2 : 3, v = (e) => e.externalId?.trim() || e.id?.trim() || "";
46
47
  function y(e) {
48
+ return a[e];
49
+ }
50
+ function b(e) {
47
51
  return [
48
52
  {
49
53
  field: "kind",
@@ -54,7 +58,7 @@ function y(e) {
54
58
  order: "desc"
55
59
  },
56
60
  {
57
- field: v(e),
61
+ field: y(e),
58
62
  order: "desc"
59
63
  },
60
64
  {
@@ -63,23 +67,23 @@ function y(e) {
63
67
  }
64
68
  ];
65
69
  }
66
- function b(e, t = "day") {
70
+ function x(e, t = "day") {
67
71
  let n = e?.find((e) => e.unit === t && e.quantity === 1);
68
72
  return n ? n.value : -1;
69
73
  }
70
- function x(e) {
71
- return b(e, "day");
74
+ function S(e) {
75
+ return x(e, "day");
72
76
  }
73
- function S(e, t, n = {}) {
74
- let r = g(e.kind), i = g(t.kind);
77
+ function C(e, t, n = {}) {
78
+ let r = _(e.kind), i = _(t.kind);
75
79
  if (r !== i) return r - i;
76
80
  let a = (t.assetRelScore ?? 0) - (e.assetRelScore ?? 0);
77
81
  if (a !== 0) return a;
78
- let o = n.priceUnit ?? "day", s = b(t.prices, o) - b(e.prices, o);
79
- return s === 0 ? _(e).localeCompare(_(t)) : s;
82
+ let o = n.priceUnit ?? "day", s = x(t.prices, o) - x(e.prices, o);
83
+ return s === 0 ? v(e).localeCompare(v(t)) : s;
80
84
  }
81
- function C(e, t, n = {}) {
82
- return S({
85
+ function w(e, t, n = {}) {
86
+ return C({
83
87
  ...e,
84
88
  kind: e.kind === "e-bike" ? "e-bike" : "bike"
85
89
  }, {
@@ -87,8 +91,8 @@ function C(e, t, n = {}) {
87
91
  kind: t.kind === "e-bike" ? "e-bike" : "bike"
88
92
  }, n);
89
93
  }
90
- function w(e, t, n = {}) {
91
- return S({
94
+ function T(e, t, n = {}) {
95
+ return C({
92
96
  ...e,
93
97
  kind: "accessory"
94
98
  }, {
@@ -96,12 +100,12 @@ function w(e, t, n = {}) {
96
100
  kind: "accessory"
97
101
  }, n);
98
102
  }
99
- var T = (e) => e.map((e) => ({
103
+ var E = (e) => e.map((e) => ({
100
104
  ...e,
101
105
  kind: e.kind === "e-bike" ? "e-bike" : "bike"
102
- })), E = (e) => e.map((e) => ({
106
+ })), D = (e) => e.map((e) => ({
103
107
  ...e,
104
108
  kind: "accessory"
105
- })), D = (e, t) => t.bikes.find((t) => t.id === e) || (t.accessories.find((t) => t.id === e) ?? null), O = (e, t) => t.bikes.find((t) => t.slug === e) || (t.accessories.find((t) => t.slug === e) ?? null), k = (e) => e.checkoutProductId?.trim() || e.id, A = (e) => e.representedVariantId?.trim() || void 0;
109
+ })), O = (e, t) => t.bikes.find((t) => t.id === e) || (t.accessories.find((t) => t.id === e) ?? null), k = (e, t) => t.bikes.find((t) => t.slug === e) || (t.accessories.find((t) => t.slug === e) ?? null), A = (e) => e.checkoutProductId?.trim() || e.id, j = (e) => e.representedVariantId?.trim() || void 0;
106
110
  //#endregion
107
- export { r as CATALOG_PRODUCT_BASE_RATE_UNSET, d as buildStorefrontProductSlug, f as buildVariantStorefrontProductId, S as compareCatalogProducts, w as compareStorefrontAccessoryProducts, C as compareStorefrontBikeProducts, D as findStorefrontProduct, O as findStorefrontProductBySlug, b as getCatalogProductBaseRateMinor, y as getCatalogProductPaginationSort, v as getCatalogProductSortFieldForPriceUnit, x as getStorefrontBaseDailyRateMinor, k as getStorefrontCheckoutProductId, n as getStorefrontProductSelectionDisplayName, A as getStorefrontRepresentedVariantId, E as toStorefrontAccessoryProducts, T as toStorefrontBikeProducts, m as toStorefrontBookingProducts, h as toStorefrontBookingProductsCollections };
111
+ export { r as CATALOG_PRODUCT_BASE_RATE_UNSET, f as buildStorefrontProductSlug, p as buildVariantStorefrontProductId, C as compareCatalogProducts, T as compareStorefrontAccessoryProducts, w as compareStorefrontBikeProducts, i as findStorefrontInsurancePricingBike, O as findStorefrontProduct, k as findStorefrontProductBySlug, x as getCatalogProductBaseRateMinor, b as getCatalogProductPaginationSort, y as getCatalogProductSortFieldForPriceUnit, S as getStorefrontBaseDailyRateMinor, A as getStorefrontCheckoutProductId, n as getStorefrontProductSelectionDisplayName, j as getStorefrontRepresentedVariantId, D as toStorefrontAccessoryProducts, E as toStorefrontBikeProducts, h as toStorefrontBookingProducts, g as toStorefrontBookingProductsCollections };
@@ -1 +1 @@
1
- {"version":3,"file":"BookingPage.d.ts","sourceRoot":"","sources":["../../src/pages/BookingPage.tsx"],"names":[],"mappings":"AA6MA,MAAM,CAAC,OAAO,UAAU,WAAW,4CAsrBlC"}
1
+ {"version":3,"file":"BookingPage.d.ts","sourceRoot":"","sources":["../../src/pages/BookingPage.tsx"],"names":[],"mappings":"AA6MA,MAAM,CAAC,OAAO,UAAU,WAAW,4CAoqBlC"}