@riverbankcms/sdk 0.141.0 → 0.143.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 (123) hide show
  1. package/dist/{PreviewEditorSidebar-Q-fy9GYw.mjs → PreviewEditorSidebar-DROGfMKi.mjs} +24 -15
  2. package/dist/{PreviewEditorUI-LYGzgk85.mjs → PreviewEditorUI-BaRjhFu-.mjs} +3 -3
  3. package/dist/{PreviewQueryProvider-CN0ewic5.mjs → PreviewQueryProvider-BCYICImX.mjs} +1 -1
  4. package/dist/{SdkPreviewModeRuntime-CoPYI5Jq.mjs → SdkPreviewModeRuntime-OIABYLES.mjs} +16 -11
  5. package/dist/{SiteChromeCustomizeContext-D8LePX8x.mjs → SiteChromeCustomizeContext-ohjTvZbc.mjs} +607 -545
  6. package/dist/_dts/api/src/billing.d.ts +6 -1
  7. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
  9. package/dist/_dts/api/src/endpoints.d.ts +7 -27
  10. package/dist/_dts/api/src/index.d.ts +1 -1
  11. package/dist/_dts/api/src/publicBookingService.d.ts +1 -0
  12. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
  13. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +48 -41
  14. package/dist/_dts/api/src/sdkConfig/layout.d.ts +13 -0
  15. package/dist/_dts/api/src/sdkContracts.d.ts +3 -8
  16. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -31
  17. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
  18. package/dist/_dts/billing/src/site-arrangements.d.ts +9 -5
  19. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +56 -0
  20. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +8 -0
  21. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
  22. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
  23. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +95 -35
  24. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +10 -0
  25. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +0 -2
  26. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +12 -1
  27. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  28. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +1 -4
  29. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +12 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ticketSelectionLines.d.ts +4 -5
  33. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +9 -11
  34. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +56 -2
  35. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -4
  36. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +23 -0
  37. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +56 -0
  39. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -4
  40. package/dist/_dts/commerce/src/purchase/eventCheckoutRecoveryWindow.d.ts +8 -0
  41. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -1
  42. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +1 -13
  43. package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +1 -2
  44. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +58 -45
  45. package/dist/_dts/editor-blocks/src/block-editor/ColourFieldOptionsProvider.d.ts +7 -0
  46. package/dist/_dts/editor-blocks/src/block-editor/colourFieldVisibility.d.ts +7 -0
  47. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -0
  48. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  49. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -2
  50. package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +3 -6
  51. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -2
  52. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -2
  53. package/dist/_dts/preview-next/src/client/preview/footerInspection.d.ts +16 -0
  54. package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +6 -0
  55. package/dist/_dts/sdk/src/config/types.d.ts +2 -18
  56. package/dist/_dts/sdk/src/config/validation.d.ts +6 -0
  57. package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -0
  58. package/dist/_dts/sdk/src/version.d.ts +1 -1
  59. package/dist/_dts/theme-core/src/footer/mode.d.ts +10 -1
  60. package/dist/_dts/theme-core/src/schema.d.ts +1 -7
  61. package/dist/_dts/theme-core/src/site-styles/effectivePageDesign.d.ts +32 -0
  62. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  63. package/dist/client/{BookingConsentAgreement-xJeYNdnb.mjs → BookingConsentAgreement-BoCtvzzu.mjs} +2 -2
  64. package/dist/client/{DiscountCodeDisclosure-DdT6uzl9.mjs → DiscountCodeDisclosure-B5S30nZk.mjs} +1 -1
  65. package/dist/client/{EventCombined.client-Cp28uYuM.mjs → EventCombined.client-CeZ2-zSt.mjs} +5 -5
  66. package/dist/client/{EventListing.client-CD6AJsMr.mjs → EventListing.client-DJN3j8B3.mjs} +2 -2
  67. package/dist/client/{LeafletStaticMap-DBsAi9-e.mjs → LeafletStaticMap-RjtGzDQT.mjs} +1 -1
  68. package/dist/client/{accordion-6dwbOKYR.mjs → accordion-DOmnDoyg.mjs} +1 -1
  69. package/dist/client/{bookingForm-CZE9_qPQ.mjs → bookingForm-C0vk7pgS.mjs} +5 -5
  70. package/dist/client/bookings.mjs +468 -534
  71. package/dist/client/{carousel-7VHGQARz.mjs → carousel-BZJ7pno3.mjs} +1 -1
  72. package/dist/client/{cart-Qg_mvQhh.mjs → cart-CaeVAHJl.mjs} +3 -3
  73. package/dist/client/{checkout-D84rpgdr.mjs → checkout-7wmoNDtG.mjs} +3 -3
  74. package/dist/client/client.mjs +559 -593
  75. package/dist/client/{context-Ctp3T0Wr.mjs → context-BOimxE3U.mjs} +12 -1
  76. package/dist/client/{dates-DJKFcI_N.mjs → dates-BnzVksi4.mjs} +2 -2
  77. package/dist/client/{eventCalendar-CK31z3vs.mjs → eventCalendar-l-fpaslC.mjs} +7 -7
  78. package/dist/client/{eventCombined-DiXd-ewn.mjs → eventCombined-DGGvssK6.mjs} +3 -3
  79. package/dist/client/{eventDetails-CTRgt2DK.mjs → eventDetails-DRiCm_hL.mjs} +4 -4
  80. package/dist/client/{eventListing-Dy9vi_j_.mjs → eventListing-dph8loYX.mjs} +3 -3
  81. package/dist/client/{eventRegistration-CnalYMr2.mjs → eventRegistration-ClBohmbY.mjs} +472 -531
  82. package/dist/client/{form-eUiMveTT.mjs → form-BLVVAnd3.mjs} +2 -2
  83. package/dist/client/{headerSection-Dy9kQpB1.mjs → headerSection-DHy4C8Ix.mjs} +2 -2
  84. package/dist/client/hooks.mjs +39 -13
  85. package/dist/client/{locationMap-DalCmWU0.mjs → locationMap-6HuS28ck.mjs} +2 -2
  86. package/dist/client/{newsletterForm-SDDPvhS0.mjs → newsletterForm-xOdcOhZP.mjs} +2 -2
  87. package/dist/client/{pricing-OcMz4SnX.mjs → pricing-ChinRYFt.mjs} +1 -1
  88. package/dist/client/{productDetail-BQrgHElM.mjs → productDetail-0chA5gbK.mjs} +3 -3
  89. package/dist/client/{productList-OnPn_UJj.mjs → productList-OoINA0h1.mjs} +3 -3
  90. package/dist/client/{propsDecoder-zBdsnS-N.mjs → propsDecoder-CIZ-hbIG.mjs} +33 -9
  91. package/dist/client/rendering/client.mjs +536 -550
  92. package/dist/client/rendering/islands.mjs +17 -17
  93. package/dist/client/rendering.mjs +602 -596
  94. package/dist/client/{scrollToBlock-BNM4Ob2Y.mjs → scrollToBlock-BPZl0gPZ.mjs} +1 -1
  95. package/dist/client/{shop-Bv1fPTwQ.mjs → shop-CLJFqNIq.mjs} +6 -6
  96. package/dist/client/{shop-commerce-D4KNGaW8.mjs → shop-commerce-PpANg5wB.mjs} +5 -5
  97. package/dist/client/{shop-commerce-store-2N5EV0Rc.mjs → shop-commerce-store-TA_Kz2ku.mjs} +1 -1
  98. package/dist/client/{shopShared-DvJGdHTV.mjs → shopShared-DzcFcA5g.mjs} +3 -3
  99. package/dist/client/{useEventFilters-BBBvGDHQ.mjs → useEventFilters-CFU21QZo.mjs} +5 -5
  100. package/dist/preview-next/before-render.mjs +11 -37
  101. package/dist/preview-next/client/runtime.mjs +4 -4
  102. package/dist/preview-next/keepAlive.mjs +11 -37
  103. package/dist/preview-next/middleware.mjs +11 -37
  104. package/dist/{previewAuthStore-Gjb6r6vz.mjs → previewAuthStore-JA6-I_sL.mjs} +11 -37
  105. package/dist/{sdk-runtime-Defnbfzw.mjs → sdk-runtime-CDKl0Fr7.mjs} +2 -2
  106. package/dist/{separator-CZXO3Sb0.mjs → separator-BTp96X32.mjs} +1 -1
  107. package/dist/server/components.mjs +80 -51
  108. package/dist/server/config-validation.mjs +43 -14
  109. package/dist/server/config.mjs +43 -14
  110. package/dist/server/data.mjs +39 -13
  111. package/dist/server/index.mjs +12 -38
  112. package/dist/server/next.mjs +40 -53
  113. package/dist/server/page-converter.mjs +20 -8
  114. package/dist/server/prebuild.mjs +1 -1
  115. package/dist/server/rendering/server.mjs +80 -51
  116. package/dist/server/rendering.mjs +80 -51
  117. package/dist/server/routing.mjs +52 -17
  118. package/dist/server/server.mjs +40 -51
  119. package/dist/server/theme-bridge.mjs +10 -8
  120. package/dist/server/theme.mjs +10 -8
  121. package/package.json +1 -1
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +0 -14
  123. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { It as err, Lt as ok, Pt as assertNever, dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { n as useBlockApi, t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
3
+ import { Ft as assertNever, Lt as err, Rt as ok, ft as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
4
+ import { n as useBlockApi, t as BlockApiProvider } from "./context-BOimxE3U.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { O as staticHeaderChromeRuntime, dt as themeButtonClassName, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
+ import { ft as themeButtonClassName, k as staticHeaderChromeRuntime, r as buildCartDisplay, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
3
3
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
4
- import { n as useCommerceCart } from "./shop-commerce-store-2N5EV0Rc.mjs";
4
+ import { n as useCommerceCart } from "./shop-commerce-store-TA_Kz2ku.mjs";
5
5
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
6
6
  import * as React$1 from "react";
7
7
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1439,6 +1439,14 @@ function walkAndCollectImageAttrs(value, out, location = "") {
1439
1439
  for (const [key, child] of Object.entries(value)) walkAndCollectImageAttrs(child, out, location ? `${location}.${key}` : key);
1440
1440
  }
1441
1441
  //#endregion
1442
+ //#region ../theme-core/src/footer/mode.ts
1443
+ const footerModeSchema = z.enum([
1444
+ "default",
1445
+ "blocks",
1446
+ "default+blocks",
1447
+ "none"
1448
+ ]);
1449
+ //#endregion
1442
1450
  //#region ../theme-core/src/lib/media.ts
1443
1451
  const hotspotSchema = z.object({
1444
1452
  x: z.number().min(0).max(1),
@@ -7480,12 +7488,6 @@ const footerVariant = z.enum([
7480
7488
  "split"
7481
7489
  ]);
7482
7490
  const footerMaxWidth = z.enum(["container", "full"]);
7483
- const footerMode = z.enum([
7484
- "default",
7485
- "blocks",
7486
- "default+blocks",
7487
- "none"
7488
- ]);
7489
7491
  const footerNavLayoutMode = z.enum([
7490
7492
  "stack",
7491
7493
  "inline",
@@ -7574,9 +7576,9 @@ const footerSchema = z.object({
7574
7576
  /**
7575
7577
  * SDK-only footer rendering mode.
7576
7578
  *
7577
- * Backwards compatible: missing/undefined behaves as 'default'.
7579
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
7578
7580
  */
7579
- mode: footerMode.optional(),
7581
+ mode: footerModeSchema.optional(),
7580
7582
  variant: footerVariant,
7581
7583
  maxWidth: footerMaxWidth,
7582
7584
  showLogoText: z.boolean().optional(),
@@ -8177,6 +8179,15 @@ const publicEventBaseSchema = z.object({
8177
8179
  timeZone: z.string(),
8178
8180
  pricing: publicEventPricingSchema,
8179
8181
  paymentTerms: blockBookingPaymentTermsSchema,
8182
+ cancellationPolicy: z.object({ refunds: z.object({
8183
+ mode: z.enum([
8184
+ "never",
8185
+ "always",
8186
+ "cutoff"
8187
+ ]),
8188
+ cutoffHours: z.number(),
8189
+ method: z.enum(["original_payment_method", "site_credit"])
8190
+ }) }),
8180
8191
  consent: blockBookingConsentSchema.nullable(),
8181
8192
  accessRestriction: accessRestrictionSchema,
8182
8193
  allowedCategoryIds: z.array(z.string()),
@@ -9688,6 +9699,17 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
9688
9699
  //#endregion
9689
9700
  //#region ../api/src/publicEventEndpointDefinitions.ts
9690
9701
  const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
9702
+ checkPublicEventRegistrationNextStep: {
9703
+ path: "/public/sites/{siteId}/events/registration-next-step",
9704
+ method: "POST",
9705
+ auth: "public",
9706
+ responseKind: "json",
9707
+ errors: [
9708
+ "validation:invalid_input",
9709
+ "auth:forbidden",
9710
+ "server:internal_error"
9711
+ ]
9712
+ },
9691
9713
  listPublicEventCalendarWindow: {
9692
9714
  path: "/public/sites/{siteId}/events/calendar-window",
9693
9715
  method: "GET",
@@ -30561,6 +30583,7 @@ function shellLabelForRegistrationStep(step, events) {
30561
30583
  case "redirecting":
30562
30584
  case "verifying-payment":
30563
30585
  case "verifying-timeout":
30586
+ case "payment-status":
30564
30587
  case "payment-failed": return "Details";
30565
30588
  }
30566
30589
  }
@@ -40556,11 +40579,14 @@ const sdkSiteStyleConfigSchema = z.object({
40556
40579
  sectionOptions: sdkSectionOptionsConfigSchema.optional(),
40557
40580
  containerOptions: sdkContainerOptionsConfigSchema.optional()
40558
40581
  });
40559
- const sdkSiteLayoutConfigSchema = z.object({ footerBlocks: z.array(z.object({
40560
- id: z.string().min(1).optional(),
40561
- kind: z.string().min(1),
40562
- content: z.record(z.string(), z.unknown()).optional()
40563
- })).optional() });
40582
+ const sdkSiteLayoutConfigSchema = z.object({
40583
+ footerMode: footerModeSchema.optional(),
40584
+ footerBlocks: z.array(z.object({
40585
+ id: z.string().min(1).optional(),
40586
+ kind: z.string().min(1),
40587
+ content: z.record(z.string(), z.unknown()).optional()
40588
+ })).optional()
40589
+ });
40564
40590
  const sdkFieldSelectOptionSchema = z.object({
40565
40591
  value: z.string(),
40566
40592
  label: z.string()
@@ -1,7 +1,7 @@
1
1
  import { i as textColorStyle } from "./colorStyles-3013aRAY.mjs";
2
- import { dt as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
+ import { ft as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
- import { t as LeafletStaticMap } from "./LeafletStaticMap-DBsAi9-e.mjs";
4
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-RjtGzDQT.mjs";
5
5
  import "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
  //#region ../core/src/location.ts
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { O as clsx } from "./colorStyles-3013aRAY.mjs";
3
- import { Pt as assertNever, Ut as parseMailingListVisitorSelection, dt as themeButtonClassName, mn as assertNever$1, t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
4
- import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-Ctp3T0Wr.mjs";
3
+ import { Ft as assertNever, Wt as parseMailingListVisitorSelection, ft as themeButtonClassName, hn as assertNever$1, t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
4
+ import { n as useBlockApi, r as BlockApiError, t as BlockApiProvider } from "./context-BOimxE3U.mjs";
5
5
  import { n as isSpamProtectionEnabled, r as AltchaWidget, t as getChallengeUrl } from "./src-B833rYRr.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { n as getFieldValidationControlProps, t as FieldValidationMessage } from "./FieldValidationMessage-AYanWFb-.mjs";
@@ -1,4 +1,4 @@
1
- import { an as formatEventPricing, cn as publicEventPricingDisplay, in as formatBookingPriceDisplay } from "./propsDecoder-zBdsnS-N.mjs";
1
+ import { an as formatBookingPriceDisplay, ln as publicEventPricingDisplay, on as formatEventPricing } from "./propsDecoder-CIZ-hbIG.mjs";
2
2
  //#region ../blocks/src/system/runtime/nodes/events/domain/capacity.ts
3
3
  /**
4
4
  * Compute remaining spots for an event from `availableSpots` with a fallback
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { r as ProductDetailController } from "./shop-commerce-D4KNGaW8.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-DvJGdHTV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
2
+ import { r as ProductDetailController } from "./shop-commerce-PpANg5wB.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-DzcFcA5g.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-detail.client.tsx
@@ -1,6 +1,6 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-zBdsnS-N.mjs";
2
- import { i as ProductListController } from "./shop-commerce-D4KNGaW8.mjs";
3
- import { t as mountShopBlockIsland } from "./shopShared-DvJGdHTV.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CIZ-hbIG.mjs";
2
+ import { i as ProductListController } from "./shop-commerce-PpANg5wB.mjs";
3
+ import { t as mountShopBlockIsland } from "./shopShared-DzcFcA5g.mjs";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region ../blocks/src/system/runtime/nodes/product-list.client.tsx
@@ -2533,6 +2533,14 @@ function validateUniqueDeclaredCardVariantRoles(system, ctx) {
2533
2533
  }
2534
2534
  const cardSystemSchema = z.object({ variants: z.array(cardVariantSchema).min(1).max(3) }).superRefine(validateUniqueDeclaredCardVariantRoles).transform((system) => ({ variants: withInferredRoles(system.variants) }));
2535
2535
  //#endregion
2536
+ //#region ../theme-core/src/footer/mode.ts
2537
+ const footerModeSchema = z.enum([
2538
+ "default",
2539
+ "blocks",
2540
+ "default+blocks",
2541
+ "none"
2542
+ ]);
2543
+ //#endregion
2536
2544
  //#region ../theme-core/src/lib/media.ts
2537
2545
  const hotspotSchema = z.object({
2538
2546
  x: z.number().min(0).max(1),
@@ -6416,12 +6424,6 @@ const footerVariant = z.enum([
6416
6424
  "split"
6417
6425
  ]);
6418
6426
  const footerMaxWidth = z.enum(["container", "full"]);
6419
- const footerMode = z.enum([
6420
- "default",
6421
- "blocks",
6422
- "default+blocks",
6423
- "none"
6424
- ]);
6425
6427
  const footerNavLayoutMode = z.enum([
6426
6428
  "stack",
6427
6429
  "inline",
@@ -6510,9 +6512,9 @@ const footerSchema = z.object({
6510
6512
  /**
6511
6513
  * SDK-only footer rendering mode.
6512
6514
  *
6513
- * Backwards compatible: missing/undefined behaves as 'default'.
6515
+ * Historical persisted field; SDK rendering mode now lives in layout.footerMode.
6514
6516
  */
6515
- mode: footerMode.optional(),
6517
+ mode: footerModeSchema.optional(),
6516
6518
  variant: footerVariant,
6517
6519
  maxWidth: footerMaxWidth,
6518
6520
  showLogoText: z.boolean().optional(),
@@ -6928,6 +6930,15 @@ const publicEventBaseSchema = z.object({
6928
6930
  timeZone: z.string(),
6929
6931
  pricing: publicEventPricingSchema,
6930
6932
  paymentTerms: blockBookingPaymentTermsSchema,
6933
+ cancellationPolicy: z.object({ refunds: z.object({
6934
+ mode: z.enum([
6935
+ "never",
6936
+ "always",
6937
+ "cutoff"
6938
+ ]),
6939
+ cutoffHours: z.number(),
6940
+ method: z.enum(["original_payment_method", "site_credit"])
6941
+ }) }),
6931
6942
  consent: blockBookingConsentSchema.nullable(),
6932
6943
  accessRestriction: accessRestrictionSchema,
6933
6944
  allowedCategoryIds: z.array(z.string()),
@@ -10797,6 +10808,18 @@ function getStepNumber(step, wizardSteps) {
10797
10808
  }
10798
10809
  //#endregion
10799
10810
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
10811
+ /** Public requests share subject identity without copying the run's display sessions. */
10812
+ function toRegistrationRequestSubject(subject, attendanceMode) {
10813
+ return subject.kind === "occurrence" ? {
10814
+ kind: "occurrence",
10815
+ occurrenceId: subject.occurrenceId,
10816
+ attendanceMode: attendanceMode ?? void 0
10817
+ } : {
10818
+ kind: "wholeSeries",
10819
+ eventSeriesId: subject.eventSeriesId,
10820
+ attendanceMode: attendanceMode ?? void 0
10821
+ };
10822
+ }
10800
10823
  function eventMatchesOccurrenceId(event, occurrenceId) {
10801
10824
  return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
10802
10825
  }
@@ -11093,6 +11116,7 @@ function shellLabelForRegistrationStep(step, events) {
11093
11116
  case "redirecting":
11094
11117
  case "verifying-payment":
11095
11118
  case "verifying-timeout":
11119
+ case "payment-status":
11096
11120
  case "payment-failed": return "Details";
11097
11121
  }
11098
11122
  }
@@ -12651,4 +12675,4 @@ function defineIslandPropsDecoder(kind) {
12651
12675
  };
12652
12676
  }
12653
12677
  //#endregion
12654
- export { getDayOfWeek as $, parseBookingLocalDate as $t, SEMANTIC_SPACING_VALUES as A, BOOKING_FORM_DATA_RESERVED_KEYS as At, resolveCalendarReadProfile as B, reportWorkflowSuccess as Bt, resolveRegistrationTarget as C, resolveAppointmentCheckoutVerificationState as Ct, buildEventCalendarListingRender as D, toSelectedCollectionOptionKind as Dt, getWizardStepsForContext as E, resolveDefaultBookingServiceId as Et, calendarQueryKey as F, clearWorkflowFeedback as Ft, normalizeOptionalId as G, formatBookingDate as Gt, getEventRuntimeFiltersKey as H, resolveWholeSeriesBookingPhase as Ht, calendarWindowBounds as I, err as It, MONTH_NAMES as J, formatBookingInstant as Jt, getCardOrientation as K, formatBookingDateParts as Kt, calendarWindowMonths as L, ok as Lt, resolveSpacing as M, RichTextDocSchema as Mt, calendarMonthDate as N, isRecord$4 as Nt, staticHeaderChromeRuntime as O, projectSelectedAppointmentConsentIntoForm as Ot, calendarPageResponseError as P, assertNever$1 as Pt, formatDateKey as Q, getLocalScheduleDate as Qt, calendarWindowPageSchema as R, okWith as Rt, resolveEventRequiresPayment as S, prepareBookingSubmission as St, getStepNumber as T, resolveBookingSiteId as Tt, normalizeCsvIds as U, parseMailingListVisitorSelection as Ut, buildEventRuntimeFilters as V, CANCELLED_SESSION_STATUS as Vt, normalizeCsvString as W, addLocalScheduleDays as Wt, addMonths as X, formatLocalScheduleDate as Xt, addDays as Y, formatBookingTime as Yt, buildCalendarViewport as Z, getBookingLocalDateKey as Zt, toRegistrationEvents as _, getBookingRedirectStateFromLocation as _t, buildProductDetailDisplay as a, formatEventPricing as an, resolveRuntimeEventDestination as at, findPreSelectedEvent as b, isBookingServiceSlidingAmountInRange as bt, EMPTY_COMMERCE_CART_STATE as c, publicEventPricingDisplay as cn, isCssColorLiteral as ct, deriveCommerceCheckoutState as d, publicEventPricingType as dn, themeButtonClassName as dt, resolveBookingTimeZoneId as en, getOrderedDayNames as et, parseStoredCommerceCartState as f, formatCurrencyAmount as fn, normalizeCardRole as ft, getRegistrationStartAt as g, formatBookingSubmissionPreparationError as gt, buildEventRegistrationDisplayFromScopedEvents as h, formatBookingCentsAsCurrencyInput as ht, buildProductCardDisplay as i, formatBookingPriceDisplay as in, shiftCalendarAnchorDate as it, isSemanticSpacing as j, isBookingRequirementConsentFieldId as jt, resolveEventRegistrationScopedEvents as k, resolveSelectedAppointmentConsent as kt, buildPassCartItem as l, publicEventPricingOptions as ln, resolveOnColorForThemeToken as lt, reduceCommerceCart as m, assertNever$2 as mn, deriveBookingFormViewState as mt, getShopDisplayForItems as n, toScheduledBookingDateRange as nn, isSameCalendarDay as nt, formatCommercePrice as o, isPublicEventPricingOptionDisplayable as on, groupPublicEventsByRun as ot, productItemKey as p, parseCurrencyCode as pn, logger as pt, getContainerClass as q, formatBookingDateTime as qt, buildCartDisplay as r, toScheduledBookingDateTime as rn, isToday as rt, formatInterval as s, publicEventPricingCurrency as sn, boxBackgroundSchema as st, defineIslandPropsDecoder as t, toBookingTimeZone as tn, getWeekCalendarDays as tt, buildProductCartItem as u, publicEventPricingStrategy as un, resolveTokenOrCssColorValue as ut, toWholeSeriesRegistrationEvents as v, getBookingServiceSlidingScale as vt, WIZARD_STEPS as w, resolveBookingPaymentStep as wt, resolveDiscountContext as x, parseBookingCurrencyInputToCents as xt, findEventByOccurrenceId as y, getBookingSuccessMessage as yt, planCalendarMonthRanges as z, reportWorkflowError as zt };
12678
+ export { formatDateKey as $, getLocalScheduleDate as $t, resolveEventRegistrationScopedEvents as A, resolveSelectedAppointmentConsent as At, planCalendarMonthRanges as B, reportWorkflowError as Bt, resolveRegistrationTarget as C, prepareBookingSubmission as Ct, getWizardStepsForContext as D, resolveDefaultBookingServiceId as Dt, getStepNumber as E, resolveBookingSiteId as Et, calendarPageResponseError as F, assertNever$1 as Ft, normalizeCsvString as G, addLocalScheduleDays as Gt, buildEventRuntimeFilters as H, CANCELLED_SESSION_STATUS as Ht, calendarQueryKey as I, clearWorkflowFeedback as It, getContainerClass as J, formatBookingDateTime as Jt, normalizeOptionalId as K, formatBookingDate as Kt, calendarWindowBounds as L, err as Lt, isSemanticSpacing as M, isBookingRequirementConsentFieldId as Mt, resolveSpacing as N, RichTextDocSchema as Nt, buildEventCalendarListingRender as O, toSelectedCollectionOptionKind as Ot, calendarMonthDate as P, isRecord$4 as Pt, buildCalendarViewport as Q, getBookingLocalDateKey as Qt, calendarWindowMonths as R, ok as Rt, resolveEventRequiresPayment as S, parseBookingCurrencyInputToCents as St, WIZARD_STEPS as T, resolveBookingPaymentStep as Tt, getEventRuntimeFiltersKey as U, resolveWholeSeriesBookingPhase as Ut, resolveCalendarReadProfile as V, reportWorkflowSuccess as Vt, normalizeCsvIds as W, parseMailingListVisitorSelection as Wt, addDays as X, formatBookingTime as Xt, MONTH_NAMES as Y, formatBookingInstant as Yt, addMonths as Z, formatLocalScheduleDate as Zt, toRegistrationEvents as _, formatBookingSubmissionPreparationError as _t, buildProductDetailDisplay as a, formatBookingPriceDisplay as an, shiftCalendarAnchorDate as at, findPreSelectedEvent as b, getBookingSuccessMessage as bt, EMPTY_COMMERCE_CART_STATE as c, publicEventPricingCurrency as cn, boxBackgroundSchema as ct, deriveCommerceCheckoutState as d, publicEventPricingStrategy as dn, resolveTokenOrCssColorValue as dt, parseBookingLocalDate as en, getDayOfWeek as et, parseStoredCommerceCartState as f, publicEventPricingType as fn, themeButtonClassName as ft, getRegistrationStartAt as g, formatBookingCentsAsCurrencyInput as gt, buildEventRegistrationDisplayFromScopedEvents as h, assertNever$2 as hn, deriveBookingFormViewState as ht, buildProductCardDisplay as i, toScheduledBookingDateTime as in, isToday as it, SEMANTIC_SPACING_VALUES as j, BOOKING_FORM_DATA_RESERVED_KEYS as jt, staticHeaderChromeRuntime as k, projectSelectedAppointmentConsentIntoForm as kt, buildPassCartItem as l, publicEventPricingDisplay as ln, isCssColorLiteral as lt, reduceCommerceCart as m, parseCurrencyCode as mn, logger as mt, getShopDisplayForItems as n, toBookingTimeZone as nn, getWeekCalendarDays as nt, formatCommercePrice as o, formatEventPricing as on, resolveRuntimeEventDestination as ot, productItemKey as p, formatCurrencyAmount as pn, normalizeCardRole as pt, getCardOrientation as q, formatBookingDateParts as qt, buildCartDisplay as r, toScheduledBookingDateRange as rn, isSameCalendarDay as rt, formatInterval as s, isPublicEventPricingOptionDisplayable as sn, groupPublicEventsByRun as st, defineIslandPropsDecoder as t, resolveBookingTimeZoneId as tn, getOrderedDayNames as tt, buildProductCartItem as u, publicEventPricingOptions as un, resolveOnColorForThemeToken as ut, toWholeSeriesRegistrationEvents as v, getBookingRedirectStateFromLocation as vt, toRegistrationRequestSubject as w, resolveAppointmentCheckoutVerificationState as wt, resolveDiscountContext as x, isBookingServiceSlidingAmountInRange as xt, findEventByOccurrenceId as y, getBookingServiceSlidingScale as yt, calendarWindowPageSchema as z, okWith as zt };