@loczer/storefront-sdk 0.239.0 → 0.241.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 (42) hide show
  1. package/dist/StorefrontContext.d.ts +54 -0
  2. package/dist/StorefrontContext.d.ts.map +1 -1
  3. package/dist/StorefrontProvider.d.ts +27 -0
  4. package/dist/StorefrontProvider.d.ts.map +1 -1
  5. package/dist/chunks/pkg/booking-engine/dist/models/{Product.shared-C_HehlKK.js → Product.shared-VisFafx-.js} +6 -1
  6. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-asset-CFAxfmRW.js → base-asset-BuqI-BM_.js} +2 -1
  7. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-booking-CZOR9kya.js → base-booking-gCY-ZP5p.js} +2 -2
  8. package/dist/chunks/pkg/booking-engine/dist/schemas/{base-product-QYQBl0fQ.js → base-product-r04ZJglB.js} +1 -1
  9. package/dist/chunks/pkg/booking-engine/dist/schemas/{cart-inputs-D1KobIdr.js → cart-inputs-ps94yuAR.js} +1 -1
  10. package/dist/chunks/pkg/booking-engine/dist/schemas/{insurance-B-Vmdlxo.js → insurance-XwIj1m3Z.js} +1 -1
  11. package/dist/chunks/pkg/booking-engine/dist/{schemas-lb2iTDMd.js → schemas-7yx45S2o.js} +6 -6
  12. package/dist/components/ContractSaleDocument/InvoiceDetails.js +1 -1
  13. package/dist/components/ContractSaleDocument/SignatureModal.d.ts.map +1 -1
  14. package/dist/components/ContractSaleDocument/SignatureModal.js +79 -54
  15. package/dist/components/FaqSection/index.d.ts.map +1 -1
  16. package/dist/components/FaqSection/index.js +44 -26
  17. package/dist/components/Footer/businessHoursStatus.js +1 -1
  18. package/dist/components/SignatureInput/index.js +2 -1
  19. package/dist/components/SignatureInput.d.ts.map +1 -1
  20. package/dist/components/StorefrontInformationDocument/index.d.ts +4 -0
  21. package/dist/components/StorefrontInformationDocument/index.d.ts.map +1 -1
  22. package/dist/components/StorefrontInformationDocument/index.js +20 -11
  23. package/dist/i18n/en.js +1 -1
  24. package/dist/i18n/fr.js +1 -1
  25. package/dist/index.d.ts +185 -6
  26. package/dist/index.js +79 -79
  27. package/dist/lib/booking-period.d.ts.map +1 -1
  28. package/dist/lib/booking-period.js +12 -12
  29. package/dist/lib/booking.js +2 -2
  30. package/dist/lib/checkoutSubmit.js +3 -3
  31. package/dist/pages/CheckoutPage.d.ts.map +1 -1
  32. package/dist/pages/CheckoutPage.js +152 -151
  33. package/dist/pages/InsuranceTermsPage.d.ts.map +1 -1
  34. package/dist/pages/InsuranceTermsPage.js +18 -16
  35. package/dist/pages/checkout/components/CheckoutDetailsCard.d.ts +2 -1
  36. package/dist/pages/checkout/components/CheckoutDetailsCard.d.ts.map +1 -1
  37. package/dist/pages/checkout/components/CheckoutDetailsCard.js +17 -14
  38. package/dist/storefront.css +1 -1
  39. package/dist/storefrontSchemas.d.ts +89 -0
  40. package/dist/storefrontSchemas.d.ts.map +1 -1
  41. package/dist/storefrontSchemas.js +20 -16
  42. package/package.json +1 -1
@@ -176,6 +176,15 @@ export declare function useStorefrontConfig(): {
176
176
  updatedAt: Date;
177
177
  autoTranslated?: boolean | undefined;
178
178
  }>;
179
+ additionalLink?: {
180
+ label: Record<string, {
181
+ [x: string]: unknown;
182
+ value: string;
183
+ updatedAt: Date;
184
+ autoTranslated?: boolean | undefined;
185
+ }>;
186
+ href: string;
187
+ } | undefined;
179
188
  }[];
180
189
  deliveries: {
181
190
  id: string;
@@ -191,6 +200,15 @@ export declare function useStorefrontConfig(): {
191
200
  updatedAt: Date;
192
201
  autoTranslated?: boolean | undefined;
193
202
  }>;
203
+ additionalLink?: {
204
+ label: Record<string, {
205
+ [x: string]: unknown;
206
+ value: string;
207
+ updatedAt: Date;
208
+ autoTranslated?: boolean | undefined;
209
+ }>;
210
+ href: string;
211
+ } | undefined;
194
212
  }[];
195
213
  booking: {
196
214
  id: string;
@@ -206,6 +224,15 @@ export declare function useStorefrontConfig(): {
206
224
  updatedAt: Date;
207
225
  autoTranslated?: boolean | undefined;
208
226
  }>;
227
+ additionalLink?: {
228
+ label: Record<string, {
229
+ [x: string]: unknown;
230
+ value: string;
231
+ updatedAt: Date;
232
+ autoTranslated?: boolean | undefined;
233
+ }>;
234
+ href: string;
235
+ } | undefined;
209
236
  }[];
210
237
  };
211
238
  tagline?: Record<string, {
@@ -418,6 +445,15 @@ export declare function useStorefrontConfig(): {
418
445
  updatedAt: Date;
419
446
  autoTranslated?: boolean | undefined;
420
447
  }>;
448
+ additionalLink?: {
449
+ label: Record<string, {
450
+ [x: string]: unknown;
451
+ value: string;
452
+ updatedAt: Date;
453
+ autoTranslated?: boolean | undefined;
454
+ }>;
455
+ href: string;
456
+ } | undefined;
421
457
  }[];
422
458
  deliveries: {
423
459
  id: string;
@@ -433,6 +469,15 @@ export declare function useStorefrontConfig(): {
433
469
  updatedAt: Date;
434
470
  autoTranslated?: boolean | undefined;
435
471
  }>;
472
+ additionalLink?: {
473
+ label: Record<string, {
474
+ [x: string]: unknown;
475
+ value: string;
476
+ updatedAt: Date;
477
+ autoTranslated?: boolean | undefined;
478
+ }>;
479
+ href: string;
480
+ } | undefined;
436
481
  }[];
437
482
  booking: {
438
483
  id: string;
@@ -448,6 +493,15 @@ export declare function useStorefrontConfig(): {
448
493
  updatedAt: Date;
449
494
  autoTranslated?: boolean | undefined;
450
495
  }>;
496
+ additionalLink?: {
497
+ label: Record<string, {
498
+ [x: string]: unknown;
499
+ value: string;
500
+ updatedAt: Date;
501
+ autoTranslated?: boolean | undefined;
502
+ }>;
503
+ href: string;
504
+ } | undefined;
451
505
  }[];
452
506
  };
453
507
  tagline?: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"StorefrontContext.d.ts","sourceRoot":"","sources":["../src/StorefrontContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGzG,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,WAAW,EAAE,0BAA0B,EAAE,CAAA;IACzC,mBAAmB,EAAE,0BAA0B,EAAE,CAAA;CAClD,CAAA;AAUD,eAAO,MAAM,iBAAiB,6CAEmC,CAAA;AAKjE,wBAAgB,aAAa,2BAQ5B;AAED,wBAAgB,qBAAqB,uCAEpC;AAED,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlC;AAED,wBAAgB,8BAA8B,IAAI,sBAAsB,CAGvE;AAED,wBAAgB,qBAAqB;;;EAGpC;AAED,wBAAgB,4BAA4B;;;EAG3C;AAED,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC"}
1
+ {"version":3,"file":"StorefrontContext.d.ts","sourceRoot":"","sources":["../src/StorefrontContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAGzG,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,uBAAuB,EAAE,uBAAuB,CAAA;IAChD,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,YAAY,EAAE,WAAW,EAAE,CAAA;IAC3B,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,sBAAsB,CAAA;IAChC,WAAW,EAAE,0BAA0B,EAAE,CAAA;IACzC,mBAAmB,EAAE,0BAA0B,EAAE,CAAA;CAClD,CAAA;AAUD,eAAO,MAAM,iBAAiB,6CAEmC,CAAA;AAKjE,wBAAgB,aAAa,2BAQ5B;AAED,wBAAgB,qBAAqB,uCAEpC;AAED,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMlC;AAED,wBAAgB,8BAA8B,IAAI,sBAAsB,CAGvE;AAED,wBAAgB,qBAAqB;;;EAGpC;AAED,wBAAgB,4BAA4B;;;EAG3C;AAED,wBAAgB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC"}
@@ -157,6 +157,15 @@ export declare const loader: ({ ctx, params }: import('@rpcbase/client').LoaderA
157
157
  updatedAt: Date;
158
158
  autoTranslated?: boolean | undefined;
159
159
  }>;
160
+ additionalLink?: {
161
+ label: Record<string, {
162
+ [x: string]: unknown;
163
+ value: string;
164
+ updatedAt: Date;
165
+ autoTranslated?: boolean | undefined;
166
+ }>;
167
+ href: string;
168
+ } | undefined;
160
169
  }[];
161
170
  deliveries: {
162
171
  id: string;
@@ -172,6 +181,15 @@ export declare const loader: ({ ctx, params }: import('@rpcbase/client').LoaderA
172
181
  updatedAt: Date;
173
182
  autoTranslated?: boolean | undefined;
174
183
  }>;
184
+ additionalLink?: {
185
+ label: Record<string, {
186
+ [x: string]: unknown;
187
+ value: string;
188
+ updatedAt: Date;
189
+ autoTranslated?: boolean | undefined;
190
+ }>;
191
+ href: string;
192
+ } | undefined;
175
193
  }[];
176
194
  booking: {
177
195
  id: string;
@@ -187,6 +205,15 @@ export declare const loader: ({ ctx, params }: import('@rpcbase/client').LoaderA
187
205
  updatedAt: Date;
188
206
  autoTranslated?: boolean | undefined;
189
207
  }>;
208
+ additionalLink?: {
209
+ label: Record<string, {
210
+ [x: string]: unknown;
211
+ value: string;
212
+ updatedAt: Date;
213
+ autoTranslated?: boolean | undefined;
214
+ }>;
215
+ href: string;
216
+ } | undefined;
190
217
  }[];
191
218
  };
192
219
  tagline?: Record<string, {
@@ -1 +1 @@
1
- {"version":3,"file":"StorefrontProvider.d.ts","sourceRoot":"","sources":["../src/StorefrontProvider.tsx"],"names":[],"mappings":"AA8BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFA,CAAA;AAGnB,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAqBzC;AAED,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"StorefrontProvider.d.ts","sourceRoot":"","sources":["../src/StorefrontProvider.tsx"],"names":[],"mappings":"AA8BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFA,CAAA;AAGnB,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAqBzC;AAED,cAAc,qBAAqB,CAAA"}
@@ -9,7 +9,11 @@ var c = s.enum([
9
9
  "bike",
10
10
  "e-bike",
11
11
  "accessory"
12
- ]), l = "bike", u = s.enum(["variant_selector", "variants_as_products"]), d = s.union([s.string().trim().url(), s.string().trim().regex(/^[a-f0-9]{24}$/i)]), f = "variant_code", p = 3, m = s.string().trim().min(1, "Variant code is required").max(3, "Variant code must be 3 characters or less");
12
+ ]), l = "bike", u = s.enum(["variant_selector", "variants_as_products"]), d = s.union([
13
+ s.string().trim().url(),
14
+ s.string().trim().regex(/^[a-f0-9]{24}$/i),
15
+ s.string().trim().regex(/^\/catalog-demo\/[a-z0-9-]+\.svg$/)
16
+ ]), f = "variant_code", p = 3, m = s.string().trim().min(1, "Variant code is required").max(3, "Variant code must be 3 characters or less");
13
17
  function h(e) {
14
18
  return e.trim().toLowerCase() === f;
15
19
  }
@@ -40,6 +44,7 @@ var g = s.object({
40
44
  insuredValueMinor: i.default(0)
41
45
  }), b = s.object({
42
46
  _id: o,
47
+ catalogDemoBatchId: e.optional(),
43
48
  kind: c,
44
49
  name: r,
45
50
  description: r.optional(),
@@ -1,6 +1,6 @@
1
1
  import { booleanNumberRecordSchema as e, identifierSchema as t, isoDateTimeSchema as n, objectIdStringSchema as r } from "../models/types-ynW5hdp8.js";
2
2
  import { productIdSchema as i } from "./product-id-ChdStzgp.js";
3
- import { productVariantIdentifierSchema as a } from "../models/Product.shared-C_HehlKK.js";
3
+ import { productVariantIdentifierSchema as a } from "../models/Product.shared-VisFafx-.js";
4
4
  import { z as o } from "zod";
5
5
  //#region ../booking-engine/dist/schemas/base-asset.js
6
6
  var s = o.enum([
@@ -10,6 +10,7 @@ var s = o.enum([
10
10
  "blocked"
11
11
  ]), c = r.transform((e) => e.toLowerCase()), l = o.object({
12
12
  _id: c,
13
+ catalogDemoBatchId: t.optional(),
13
14
  productId: i,
14
15
  shopId: t,
15
16
  status: s,
@@ -1,11 +1,11 @@
1
1
  import { identifierSchema as e, isoDateTimeSchema as t, objectIdStringSchema as n } from "../models/types-ynW5hdp8.js";
2
2
  import { moneyMinorSchema as r } from "./money-CVoCY4of.js";
3
3
  import { productIdSchema as i } from "./product-id-ChdStzgp.js";
4
- import { productKindSchema as a } from "../models/Product.shared-C_HehlKK.js";
4
+ import { productKindSchema as a } from "../models/Product.shared-VisFafx-.js";
5
5
  import { bookingReferenceSchema as o } from "./booking-reference-DLKcpIa4.js";
6
6
  import { richTextSchema as s } from "./rich-text-DTRh7U3z.js";
7
7
  import { cancellationPolicySchema as c } from "./booking-engine-configuration-CxKlxKCo.js";
8
- import { bookingInsuranceSnapshotSchema as l } from "./insurance-B-Vmdlxo.js";
8
+ import { bookingInsuranceSnapshotSchema as l } from "./insurance-XwIj1m3Z.js";
9
9
  import { z as u } from "zod";
10
10
  //#region ../booking-engine/dist/schemas/base-booking.js
11
11
  var d = u.enum([
@@ -1,4 +1,4 @@
1
1
  import "../models/LocalizedString-JmOX62C3.js";
2
2
  import "../models/Price-DCAgqkKh.js";
3
3
  import "./product-id-ChdStzgp.js";
4
- import "../models/Product.shared-C_HehlKK.js";
4
+ import "../models/Product.shared-VisFafx-.js";
@@ -1,7 +1,7 @@
1
1
  import { identifierSchema as e } from "../models/types-ynW5hdp8.js";
2
2
  import { moneyMinorSchema as t } from "./money-CVoCY4of.js";
3
3
  import { productIdSchema as n } from "./product-id-ChdStzgp.js";
4
- import "../models/Product.shared-C_HehlKK.js";
4
+ import "../models/Product.shared-VisFafx-.js";
5
5
  import { richTextSchema as r } from "./rich-text-DTRh7U3z.js";
6
6
  import { isoDateSchema as i, timeOfDaySchema as a } from "./shop-opening-hours-BlLD1gfz.js";
7
7
  import { fulfillmentModeSchema as o } from "./public-booking-engine-configuration-BwWn9aK0.js";
@@ -1,7 +1,7 @@
1
1
  import { identifierSchema as e, isoDateTimeSchema as t } from "../models/types-ynW5hdp8.js";
2
2
  import { moneyMinorSchema as n } from "./money-CVoCY4of.js";
3
3
  import { productIdSchema as r } from "./product-id-ChdStzgp.js";
4
- import { productKindSchema as i } from "../models/Product.shared-C_HehlKK.js";
4
+ import { productKindSchema as i } from "../models/Product.shared-VisFafx-.js";
5
5
  import { z as a } from "zod";
6
6
  //#region ../booking-engine/dist/schemas/insurance.js
7
7
  var o = a.enum(["sharelock", "morio"]), s = a.enum(["storefront", "staff"]), c = a.object({
@@ -2,16 +2,16 @@ import { createLocalizedStringEntry as e, getLocalizedStringValue as t, localize
2
2
  import { currencyCodeSchema as a, currencyMinorUnitDigits as o, majorToMinor as s, minorToMajor as c, moneyMinorSchema as l, signedMoneyMinorSchema as u } from "./schemas/money-CVoCY4of.js";
3
3
  import { priceSchema as d, priceUnitSchema as f } from "./models/Price-DCAgqkKh.js";
4
4
  import { productIdSchema as p } from "./schemas/product-id-ChdStzgp.js";
5
- import { DEFAULT_PRODUCT_KIND as m, PRODUCT_VARIANT_CODE_IDENTIFIER_KIND as h, PRODUCT_VARIANT_CODE_MAX_LENGTH as g, accessoryProductSchema as _, bikeProductSchema as v, eBikeProductSchema as y, isProductVariantCodeIdentifierKind as b, productInsuranceSchema as x, productKindSchema as S, productSchema as C, productStorefrontDisplayModeSchema as w, productVariantAttributeSchema as T, productVariantCodeSchema as E, productVariantIdentifierSchema as D, productVariantSchema as O } from "./models/Product.shared-C_HehlKK.js";
5
+ import { DEFAULT_PRODUCT_KIND as m, PRODUCT_VARIANT_CODE_IDENTIFIER_KIND as h, PRODUCT_VARIANT_CODE_MAX_LENGTH as g, accessoryProductSchema as _, bikeProductSchema as v, eBikeProductSchema as y, isProductVariantCodeIdentifierKind as b, productInsuranceSchema as x, productKindSchema as S, productSchema as C, productStorefrontDisplayModeSchema as w, productVariantAttributeSchema as T, productVariantCodeSchema as E, productVariantIdentifierSchema as D, productVariantSchema as O } from "./models/Product.shared-VisFafx-.js";
6
6
  import { BOOKING_REFERENCE_COUNTER_MIN_DIGITS as k, BOOKING_REFERENCE_REGEX as A, BOOKING_REFERENCE_YEAR_MONTH_REGEX as j, bookingReferenceSchema as M, bookingReferenceYearMonthSchema as N, formatBookingReference as P, formatBookingReferenceYearMonth as F } from "./schemas/booking-reference-DLKcpIa4.js";
7
7
  import { richTextJsonDocSchema as I, richTextSchema as L, richTextVersionSchema as R } from "./schemas/rich-text-DTRh7U3z.js";
8
8
  import { isoDateSchema as z, shopConfigurationSchema as B, shopExtraTimeSlotRuleSchema as V, shopOpeningDayIndexSchema as H, shopOpeningDaySchema as U, shopOpeningHoursOverrideSchema as W, shopOpeningHoursPeriodSchema as G, shopOpeningSlotSchema as K, timeOfDaySchema as q } from "./schemas/shop-opening-hours-BlLD1gfz.js";
9
9
  import { DEFAULT_CANCELLATION_POLICY as J, DEFAULT_PAYMENT_POLICIES as Y, cancellationPolicySchema as X, cancellationPolicyTierSchema as Z, paymentPoliciesSchema as Q } from "./schemas/booking-engine-configuration-CxKlxKCo.js";
10
10
  import { fulfillmentModeSchema as $, publicBookingEngineConfigurationSchema as ee, publicCheckoutConfigurationSchema as te, publicCheckoutDynamicOptionsSchema as ne } from "./schemas/public-booking-engine-configuration-BwWn9aK0.js";
11
- import { DEFAULT_BOOKING_DELIVERY_OPTION as re, bookingCustomerInputSchema as ie, bookingDeliveryOptionSchema as ae, bookingScheduleInputSchema as oe, cartItemInputSchema as se, createBookingInputBaseSchema as ce, createBookingInputSchema as le, resolveBookingDeliveryOption as ue, validateBookingDeliveryAddress as de } from "./schemas/cart-inputs-D1KobIdr.js";
12
- import { bookingInsuranceConsentSourceSchema as fe, bookingInsuranceItemSnapshotSchema as pe, bookingInsuranceSnapshotSchema as me, buildBookingInsuranceSnapshot as he, calculateInsuranceCalendarDays as ge, insuranceProviderSchema as _e } from "./schemas/insurance-B-Vmdlxo.js";
11
+ import { DEFAULT_BOOKING_DELIVERY_OPTION as re, bookingCustomerInputSchema as ie, bookingDeliveryOptionSchema as ae, bookingScheduleInputSchema as oe, cartItemInputSchema as se, createBookingInputBaseSchema as ce, createBookingInputSchema as le, resolveBookingDeliveryOption as ue, validateBookingDeliveryAddress as de } from "./schemas/cart-inputs-ps94yuAR.js";
12
+ import { bookingInsuranceConsentSourceSchema as fe, bookingInsuranceItemSnapshotSchema as pe, bookingInsuranceSnapshotSchema as me, buildBookingInsuranceSnapshot as he, calculateInsuranceCalendarDays as ge, insuranceProviderSchema as _e } from "./schemas/insurance-XwIj1m3Z.js";
13
13
  import { resolveOpeningHoursForDate as ve, resolveOpeningHoursPeriodForDate as ye } from "./utils/opening-hours-period-TCyLhzZw.js";
14
- import "./schemas/base-product-QYQBl0fQ.js";
15
- import { assetIdSchema as be, baseAssetSchema as xe, baseAssetStatusSchema as Se } from "./schemas/base-asset-CFAxfmRW.js";
16
- import { baseBookingItemSchema as Ce, baseBookingSchema as we, baseBookingStateSchema as Te } from "./schemas/base-booking-CZOR9kya.js";
14
+ import "./schemas/base-product-r04ZJglB.js";
15
+ import { assetIdSchema as be, baseAssetSchema as xe, baseAssetStatusSchema as Se } from "./schemas/base-asset-BuqI-BM_.js";
16
+ import { baseBookingItemSchema as Ce, baseBookingSchema as we, baseBookingStateSchema as Te } from "./schemas/base-booking-gCY-ZP5p.js";
17
17
  export { k as BOOKING_REFERENCE_COUNTER_MIN_DIGITS, A as BOOKING_REFERENCE_REGEX, j as BOOKING_REFERENCE_YEAR_MONTH_REGEX, re as DEFAULT_BOOKING_DELIVERY_OPTION, J as DEFAULT_CANCELLATION_POLICY, Y as DEFAULT_PAYMENT_POLICIES, m as DEFAULT_PRODUCT_KIND, h as PRODUCT_VARIANT_CODE_IDENTIFIER_KIND, g as PRODUCT_VARIANT_CODE_MAX_LENGTH, _ as accessoryProductSchema, be as assetIdSchema, xe as baseAssetSchema, Se as baseAssetStatusSchema, Ce as baseBookingItemSchema, we as baseBookingSchema, Te as baseBookingStateSchema, v as bikeProductSchema, ie as bookingCustomerInputSchema, ae as bookingDeliveryOptionSchema, fe as bookingInsuranceConsentSourceSchema, pe as bookingInsuranceItemSnapshotSchema, me as bookingInsuranceSnapshotSchema, M as bookingReferenceSchema, N as bookingReferenceYearMonthSchema, oe as bookingScheduleInputSchema, he as buildBookingInsuranceSnapshot, ge as calculateInsuranceCalendarDays, X as cancellationPolicySchema, Z as cancellationPolicyTierSchema, se as cartItemInputSchema, ce as createBookingInputBaseSchema, le as createBookingInputSchema, e as createLocalizedStringEntry, a as currencyCodeSchema, o as currencyMinorUnitDigits, y as eBikeProductSchema, P as formatBookingReference, F as formatBookingReferenceYearMonth, $ as fulfillmentModeSchema, t as getLocalizedStringValue, _e as insuranceProviderSchema, b as isProductVariantCodeIdentifierKind, z as isoDateSchema, n as localizedStringArraySchema, r as localizedStringEntrySchema, i as localizedStringSchema, s as majorToMinor, c as minorToMajor, l as moneyMinorSchema, Q as paymentPoliciesSchema, d as priceSchema, f as priceUnitSchema, p as productIdSchema, x as productInsuranceSchema, S as productKindSchema, C as productSchema, w as productStorefrontDisplayModeSchema, T as productVariantAttributeSchema, E as productVariantCodeSchema, D as productVariantIdentifierSchema, O as productVariantSchema, ee as publicBookingEngineConfigurationSchema, te as publicCheckoutConfigurationSchema, ne as publicCheckoutDynamicOptionsSchema, ue as resolveBookingDeliveryOption, ve as resolveOpeningHoursForDate, ye as resolveOpeningHoursPeriodForDate, I as richTextJsonDocSchema, L as richTextSchema, R as richTextVersionSchema, B as shopConfigurationSchema, V as shopExtraTimeSlotRuleSchema, H as shopOpeningDayIndexSchema, U as shopOpeningDaySchema, W as shopOpeningHoursOverrideSchema, G as shopOpeningHoursPeriodSchema, K as shopOpeningSlotSchema, u as signedMoneyMinorSchema, q as timeOfDaySchema, de as validateBookingDeliveryAddress };
@@ -56,7 +56,7 @@ function d({ saleDocument: d, items: f, subtotal: p, tax: m, total: h, formatDat
56
56
  className: "flex flex-grow flex-col px-4 md:px-8",
57
57
  children: [
58
58
  v && /* @__PURE__ */ i("header", {
59
- className: o("grid", C ? "mb-4 gap-3" : "mb-8 gap-6"),
59
+ className: o("grid", C ? "mb-2 gap-3" : "mb-3 gap-6"),
60
60
  children: [/* @__PURE__ */ i("div", {
61
61
  className: o("grid md:grid-cols-2", C ? "gap-3 md:gap-4" : "gap-6 md:gap-8"),
62
62
  children: [/* @__PURE__ */ i("div", { children: [/* @__PURE__ */ i("h1", {
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureModal.d.ts","sourceRoot":"","sources":["../../../src/components/ContractSaleDocument/SignatureModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAOnF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,SAAS,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3E,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CAmG9E"}
1
+ {"version":3,"file":"SignatureModal.d.ts","sourceRoot":"","sources":["../../../src/components/ContractSaleDocument/SignatureModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAOnF,KAAK,mBAAmB,GAAG;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,MAAM,EAAE,CAAC,SAAS,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3E,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB,2CA+H9E"}
@@ -2,99 +2,124 @@ import { Button as e } from "../../ui/button.js";
2
2
  import { Label as t } from "../../ui/label.js";
3
3
  import { Input as n } from "../../ui/input.js";
4
4
  import { SignatureInput as r } from "../SignatureInput/index.js";
5
- import { useState as i } from "react";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
7
- import { useTranslation as s } from "react-i18next";
5
+ import { useEffect as i, useState as a } from "react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ import { useTranslation as c } from "react-i18next";
8
8
  //#region src/components/ContractSaleDocument/SignatureModal.tsx
9
- function c({ isOpen: c, onClose: l, onSave: u }) {
10
- let { t: d } = s(), [f, p] = i(""), [m, h] = i(""), [g, _] = i(null), [v, y] = i(!1), b = async () => {
11
- if (!g) {
12
- window.alert(d("docs_contract_sale_signature_validation_signature"));
9
+ function l({ isOpen: l, onClose: u, onSave: d }) {
10
+ let { t: f } = c(), [p, m] = a(""), [h, g] = a(""), [_, v] = a(null), [y, b] = a(!1), x = !p || !h || !_ || y, S = async () => {
11
+ if (!_) {
12
+ window.alert(f("docs_contract_sale_signature_validation_signature"));
13
13
  return;
14
14
  }
15
- if (!f || !m) {
16
- window.alert(d("docs_contract_sale_signature_validation_identity"));
15
+ if (!p || !h) {
16
+ window.alert(f("docs_contract_sale_signature_validation_identity"));
17
17
  return;
18
18
  }
19
- y(!0);
19
+ b(!0);
20
20
  try {
21
- await u({
21
+ await d({
22
22
  mode: "signature",
23
- name: f,
24
- phone: m,
25
- signature: g,
23
+ name: p,
24
+ phone: h,
25
+ signature: _,
26
26
  date: /* @__PURE__ */ new Date()
27
- }), l();
27
+ }), u();
28
28
  } catch (e) {
29
29
  console.error("Failed to save contract document signature", e);
30
- let t = e instanceof Error && e.message.trim().length > 0 ? e.message : d("docs_contract_sale_signature_submit_error");
30
+ let t = e instanceof Error && e.message.trim().length > 0 ? e.message : f("docs_contract_sale_signature_submit_error");
31
31
  window.alert(t);
32
32
  } finally {
33
- y(!1);
33
+ b(!1);
34
34
  }
35
35
  };
36
- return /* @__PURE__ */ a("div", {
37
- className: `fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4 transition-opacity ${c ? "pointer-events-auto opacity-100 visible" : "pointer-events-none opacity-0 invisible"}`,
38
- "aria-hidden": !c,
39
- children: /* @__PURE__ */ o("div", {
36
+ return i(() => {
37
+ if (!l) return;
38
+ let e = (e) => {
39
+ x || e.key !== "Enter" || !e.metaKey && !e.ctrlKey || (e.preventDefault(), S());
40
+ };
41
+ return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
42
+ }, [
43
+ S,
44
+ l,
45
+ x
46
+ ]), /* @__PURE__ */ o("div", {
47
+ className: `fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4 transition-opacity ${l ? "pointer-events-auto opacity-100 visible" : "pointer-events-none opacity-0 invisible"}`,
48
+ "aria-hidden": !l,
49
+ children: /* @__PURE__ */ s("div", {
40
50
  className: "w-full max-w-lg rounded-xl border border-border bg-card p-6 shadow-xl",
41
51
  children: [
42
- /* @__PURE__ */ a("h2", {
52
+ /* @__PURE__ */ o("h2", {
43
53
  className: "mb-4 text-2xl font-bold text-card-foreground",
44
- children: d("docs_contract_sale_signature_modal_title")
54
+ children: f("docs_contract_sale_signature_modal_title")
45
55
  }),
46
- /* @__PURE__ */ o("div", {
56
+ /* @__PURE__ */ s("div", {
47
57
  className: "space-y-4",
48
58
  children: [
49
- /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a(t, {
59
+ /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o(t, {
50
60
  htmlFor: "signature-name",
51
61
  className: "text-card-foreground",
52
- children: d("docs_contract_sale_signature_name_label")
53
- }), /* @__PURE__ */ a(n, {
62
+ children: f("docs_contract_sale_signature_name_label")
63
+ }), /* @__PURE__ */ o(n, {
54
64
  type: "text",
55
65
  id: "signature-name",
56
- value: f,
57
- onChange: (e) => p(e.target.value),
66
+ value: p,
67
+ onChange: (e) => m(e.target.value),
58
68
  className: "mt-1",
59
- disabled: v
69
+ disabled: y
60
70
  })] }),
61
- /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a(t, {
71
+ /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o(t, {
62
72
  htmlFor: "signature-phone",
63
73
  className: "text-card-foreground",
64
- children: d("docs_contract_sale_signature_phone_label")
65
- }), /* @__PURE__ */ a(n, {
74
+ children: f("docs_contract_sale_signature_phone_label")
75
+ }), /* @__PURE__ */ o(n, {
66
76
  type: "tel",
67
77
  id: "signature-phone",
68
- value: m,
69
- onChange: (e) => h(e.target.value),
78
+ value: h,
79
+ onChange: (e) => g(e.target.value),
70
80
  className: "mt-1",
71
- disabled: v
81
+ disabled: y
72
82
  })] }),
73
- /* @__PURE__ */ o("div", { children: [/* @__PURE__ */ a(t, {
83
+ /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o(t, {
74
84
  htmlFor: "signature-canvas",
75
85
  className: "mb-1 text-card-foreground",
76
- children: /* @__PURE__ */ a("span", { children: d("docs_contract_sale_signature_canvas_label") })
77
- }), /* @__PURE__ */ a(r, {
78
- value: g,
79
- onChange: _,
80
- clearLabel: d("docs_contract_sale_signature_clear"),
81
- ariaLabel: d("docs_contract_sale_signature_canvas_label"),
86
+ children: /* @__PURE__ */ o("span", { children: f("docs_contract_sale_signature_canvas_label") })
87
+ }), /* @__PURE__ */ o(r, {
88
+ value: _,
89
+ onChange: v,
90
+ clearLabel: f("docs_contract_sale_signature_clear"),
91
+ ariaLabel: f("docs_contract_sale_signature_canvas_label"),
82
92
  id: "signature-canvas",
83
- disabled: v
93
+ disabled: y
84
94
  })] })
85
95
  ]
86
96
  }),
87
- /* @__PURE__ */ o("div", {
97
+ /* @__PURE__ */ s("div", {
88
98
  className: "mt-6 flex justify-end gap-4",
89
- children: [/* @__PURE__ */ a(e, {
90
- onClick: l,
99
+ children: [/* @__PURE__ */ o(e, {
100
+ onClick: u,
91
101
  variant: "secondary",
92
- disabled: v,
93
- children: d("docs_contract_sale_modal_cancel")
94
- }), /* @__PURE__ */ a(e, {
95
- onClick: () => void b(),
96
- disabled: !f || !m || !g || v,
97
- children: d(v ? "docs_contract_sale_signature_modal_saving" : "docs_contract_sale_signature_modal_submit")
102
+ disabled: y,
103
+ children: f("docs_contract_sale_modal_cancel")
104
+ }), /* @__PURE__ */ s(e, {
105
+ onClick: () => void S(),
106
+ disabled: x,
107
+ "aria-keyshortcuts": "Meta+Enter Control+Enter",
108
+ children: [/* @__PURE__ */ o("span", { children: f(y ? "docs_contract_sale_signature_modal_saving" : "docs_contract_sale_signature_modal_submit") }), /* @__PURE__ */ s("kbd", {
109
+ "aria-hidden": "true",
110
+ className: "hidden h-5 shrink-0 select-none items-center gap-1 rounded border border-current/35 px-1.5 font-mono text-[10px] font-medium opacity-90 sm:inline-flex",
111
+ children: [
112
+ /* @__PURE__ */ o("span", {
113
+ className: "text-xs",
114
+ children: "⌘"
115
+ }),
116
+ /* @__PURE__ */ o("span", { children: "+" }),
117
+ /* @__PURE__ */ o("span", {
118
+ className: "-mt-[2px] inline-block",
119
+ children: "↵"
120
+ })
121
+ ]
122
+ })]
98
123
  })]
99
124
  })
100
125
  ]
@@ -102,4 +127,4 @@ function c({ isOpen: c, onClose: l, onSave: u }) {
102
127
  });
103
128
  }
104
129
  //#endregion
105
- export { c as SignatureModal };
130
+ export { l as SignatureModal };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FaqSection/index.tsx"],"names":[],"mappings":"AAuDA,wBAAgB,UAAU,mDAuCzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FaqSection/index.tsx"],"names":[],"mappings":"AAyEA,wBAAgB,UAAU,mDAkDzB"}
@@ -2,53 +2,71 @@ import { getLocalizedValue as e } from "../../localization.js";
2
2
  import { useStorefront as t } from "../../StorefrontContext.js";
3
3
  import { useState as n } from "react";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { useTranslation as a } from "react-i18next";
6
- import { ChevronDown as o } from "lucide-react";
7
- import { Accordion as s } from "@base-ui/react/accordion";
5
+ import { Link as a } from "@rpcbase/router";
6
+ import { useTranslation as o } from "react-i18next";
7
+ import { ArrowRight as s, ChevronDown as c } from "lucide-react";
8
+ import { Accordion as l } from "@base-ui/react/accordion";
8
9
  //#region src/components/FaqSection/index.tsx
9
- var c = [
10
+ var u = [
10
11
  "general",
11
12
  "deliveries",
12
13
  "booking"
13
14
  ];
14
- function l({ items: e }) {
15
- let [t, a] = n([]);
16
- return /* @__PURE__ */ r(s.Root, {
15
+ function d({ items: e }) {
16
+ let [t, o] = n([]);
17
+ return /* @__PURE__ */ r(l.Root, {
17
18
  className: "w-full",
18
19
  value: t,
19
- onValueChange: a,
20
+ onValueChange: o,
20
21
  keepMounted: !0,
21
22
  "data-testid": "storefront-faq-column",
22
- children: e.map((e) => /* @__PURE__ */ i(s.Item, {
23
+ children: e.map((e) => /* @__PURE__ */ i(l.Item, {
23
24
  value: e.id,
24
25
  className: "border-b border-slate-200",
25
- children: [/* @__PURE__ */ r(s.Header, {
26
+ children: [/* @__PURE__ */ r(l.Header, {
26
27
  className: "flex",
27
- children: /* @__PURE__ */ i(s.Trigger, {
28
- className: "flex w-full flex-1 items-center justify-between gap-4 py-4 text-left text-lg font-medium text-slate-700 transition-colors hover:text-slate-950 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[panel-open]:[&>svg]:rotate-180",
29
- children: [/* @__PURE__ */ r("span", { children: e.question }), /* @__PURE__ */ r(o, {
30
- className: "h-4 w-4 shrink-0 transition-transform duration-200",
31
- "aria-hidden": "true"
28
+ children: /* @__PURE__ */ i(l.Trigger, {
29
+ className: "group flex w-full flex-1 items-center justify-between gap-4 py-4 text-left text-base font-semibold text-slate-950 transition-colors hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 data-[panel-open]:text-primary",
30
+ children: [/* @__PURE__ */ r("span", { children: e.question }), /* @__PURE__ */ r("span", {
31
+ className: "grid size-7 shrink-0 place-items-center rounded-full border border-slate-200 bg-white text-slate-500 transition-colors group-hover:border-primary/30 group-hover:text-primary group-data-[panel-open]:border-primary/30 group-data-[panel-open]:text-primary",
32
+ children: /* @__PURE__ */ r(c, {
33
+ className: "size-4 transition-transform duration-200 group-data-[panel-open]:rotate-180",
34
+ "aria-hidden": "true"
35
+ })
32
36
  })]
33
37
  })
34
- }), /* @__PURE__ */ r(s.Panel, {
38
+ }), /* @__PURE__ */ r(l.Panel, {
35
39
  keepMounted: !0,
36
40
  className: "h-[var(--accordion-panel-height)] overflow-hidden transition-[height,opacity] duration-200 ease-out data-[ending-style]:h-0 data-[ending-style]:opacity-0 data-[starting-style]:h-0 data-[starting-style]:opacity-0",
37
- children: /* @__PURE__ */ r("p", {
38
- className: "whitespace-pre-line pb-4 text-base leading-7 text-slate-600",
39
- children: /* @__PURE__ */ r("span", { children: e.answer })
41
+ children: /* @__PURE__ */ i("div", {
42
+ className: "pb-4",
43
+ children: [/* @__PURE__ */ r("p", {
44
+ className: "whitespace-pre-line text-sm leading-6 text-slate-700 sm:text-base sm:leading-7",
45
+ children: /* @__PURE__ */ r("span", { children: e.answer })
46
+ }), e.additionalLink ? /* @__PURE__ */ i(a, {
47
+ to: e.additionalLink.href,
48
+ className: "mt-3 flex w-fit items-center gap-1.5 text-sm font-medium text-primary underline decoration-primary/30 underline-offset-4 transition-colors hover:decoration-primary",
49
+ children: [/* @__PURE__ */ r("span", { children: e.additionalLink.label }), /* @__PURE__ */ r(s, {
50
+ className: "size-4",
51
+ "aria-hidden": "true"
52
+ })]
53
+ }) : null]
40
54
  })
41
55
  })]
42
56
  }, e.id))
43
57
  });
44
58
  }
45
- function u() {
46
- let { i18n: n, t: o } = a(), { storefrontConfiguration: s } = t(), u = s.workspace?.workspaceLanguage, d = s.content?.faq, f = c.flatMap((t) => (d?.[t] ?? []).flatMap((r) => {
47
- let i = e(r.question, n.language, u).trim(), a = e(r.answer, n.language, u).trim();
59
+ function f() {
60
+ let { i18n: n, t: a } = o(), { storefrontConfiguration: s } = t(), c = s.workspace?.workspaceLanguage, l = s.content?.faq, f = u.flatMap((t) => (l?.[t] ?? []).flatMap((r) => {
61
+ let i = e(r.question, n.language, c).trim(), a = e(r.answer, n.language, c).trim(), o = r.additionalLink ? e(r.additionalLink.label, n.language, c).trim() : "", s = r.additionalLink?.href.trim() ?? "";
48
62
  return i && a ? [{
49
63
  id: `${t}-${r.id}`,
50
64
  question: i,
51
- answer: a
65
+ answer: a,
66
+ ...o && s ? { additionalLink: {
67
+ label: o,
68
+ href: s
69
+ } } : {}
52
70
  }] : [];
53
71
  }));
54
72
  if (f.length === 0) return null;
@@ -63,14 +81,14 @@ function u() {
63
81
  className: "text-center",
64
82
  children: /* @__PURE__ */ r("h2", {
65
83
  className: "text-3xl font-semibold tracking-tight text-slate-950",
66
- children: /* @__PURE__ */ r("span", { children: o("faq_section_title") })
84
+ children: /* @__PURE__ */ r("span", { children: a("faq_section_title") })
67
85
  })
68
86
  }), /* @__PURE__ */ i("div", {
69
87
  className: "mx-auto mt-8 grid max-w-6xl grid-cols-1 gap-x-8 gap-y-0 lg:grid-cols-2",
70
- children: [/* @__PURE__ */ r(l, { items: f.slice(0, p) }), /* @__PURE__ */ r(l, { items: f.slice(p) })]
88
+ children: [/* @__PURE__ */ r(d, { items: f.slice(0, p) }), /* @__PURE__ */ r(d, { items: f.slice(p) })]
71
89
  })]
72
90
  })
73
91
  });
74
92
  }
75
93
  //#endregion
76
- export { u as FaqSection };
94
+ export { f as FaqSection };
@@ -1,5 +1,5 @@
1
1
  import { resolveOpeningHoursForDate as e } from "../../chunks/pkg/booking-engine/dist/utils/opening-hours-period-TCyLhzZw.js";
2
- import "../../chunks/pkg/booking-engine/dist/schemas-lb2iTDMd.js";
2
+ import "../../chunks/pkg/booking-engine/dist/schemas-7yx45S2o.js";
3
3
  import { businessDateStringToDate as t, calendarDateToBusinessDateString as n, instantToBusinessDateTimeParts as r, normalizeBusinessDateString as i, parseTimeToMinutes as a } from "../../lib/booking-period.js";
4
4
  //#region src/components/Footer/businessHoursStatus.ts
5
5
  var o = 370, s = (e, r) => {
@@ -14,7 +14,7 @@ function d({ value: d, onChange: f, clearLabel: p, ariaLabel: m, id: h, disabled
14
14
  let e = y.current?.getCanvas();
15
15
  if (!e || typeof PointerEvent > "u") return;
16
16
  let t = (t) => {
17
- t.isPrimary && e.setPointerCapture(t.pointerId);
17
+ t.isPrimary && (e.focus({ preventScroll: !0 }), e.setPointerCapture(t.pointerId));
18
18
  }, n = (t) => {
19
19
  e.hasPointerCapture(t.pointerId) && e.releasePointerCapture(t.pointerId);
20
20
  };
@@ -36,6 +36,7 @@ function d({ value: d, onChange: f, clearLabel: p, ariaLabel: m, id: h, disabled
36
36
  id: h,
37
37
  "aria-label": m,
38
38
  "aria-disabled": g,
39
+ tabIndex: g ? void 0 : -1,
39
40
  className: o("absolute inset-0 h-full w-full touch-none", g && "pointer-events-none")
40
41
  },
41
42
  onEnd: () => {
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureInput.d.ts","sourceRoot":"","sources":["../../src/components/SignatureInput.tsx"],"names":[],"mappings":"AAYA,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,EAAE,EACF,QAAgB,EAChB,SAAS,EACT,MAAM,GACP,EAAE,mBAAmB,2CA+GrB"}
1
+ {"version":3,"file":"SignatureInput.d.ts","sourceRoot":"","sources":["../../src/components/SignatureInput.tsx"],"names":[],"mappings":"AAYA,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,EAAE,EACF,QAAgB,EAChB,SAAS,EACT,MAAM,GACP,EAAE,mBAAmB,2CAiHrB"}