@riverbankcms/sdk 0.151.0 → 0.152.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 (226) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{EventEmbeddedCheckoutStep-BBHbM22D.mjs → EventEmbeddedCheckoutStep-DVQXWFm6.mjs} +10 -9
  3. package/dist/{PreviewEditorSidebar-BHplI9HE.mjs → PreviewEditorSidebar-Dr4NJi3Q.mjs} +4 -3
  4. package/dist/{PreviewEditorUI-DuyN8nsD.mjs → PreviewEditorUI-DSZXQbyh.mjs} +5 -4
  5. package/dist/{SdkPreviewModeRuntime-CR5ypwxJ.mjs → SdkPreviewModeRuntime-Dl4GyMc3.mjs} +124 -53
  6. package/dist/{SiteChromeCustomizeContext-D5t6joF_.mjs → SiteChromeCustomizeContext-DgBe-FlM.mjs} +20418 -32298
  7. package/dist/ThemedButton-B8ViBnLK.mjs +16350 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +5 -3
  9. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +4 -0
  10. package/dist/_dts/api/src/endpoints.d.ts +7 -0
  11. package/dist/_dts/api/src/index.d.ts +1 -1
  12. package/dist/_dts/api/src/navigation/types.d.ts +7 -0
  13. package/dist/_dts/api/src/navigation.d.ts +1 -1
  14. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +10 -1
  15. package/dist/_dts/api/src/siteAssets.d.ts +1 -0
  16. package/dist/_dts/blocks/src/definitions.d.ts +1 -1
  17. package/dist/_dts/blocks/src/index.d.ts +1 -0
  18. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +1 -0
  19. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +1 -1
  20. package/dist/_dts/blocks/src/primitives/content/utils/sanitizeHref.d.ts +1 -1
  21. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +4 -4
  22. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +16 -0
  23. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  24. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -0
  25. package/dist/_dts/blocks/src/system/helpers/normalizeMailingListBlockContent.d.ts +2 -0
  26. package/dist/_dts/blocks/src/system/registry.d.ts +14 -2
  27. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +0 -5
  28. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/runtime/api/schemas/events.d.ts +971 -0
  30. package/dist/_dts/blocks/src/system/runtime/api/schemas/waitlist-claims.d.ts +42 -0
  31. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +10 -2
  32. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +10 -136
  33. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  34. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  35. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingSubmission.state.d.ts +2 -0
  36. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +3 -1
  37. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -1
  38. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +23 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +6 -2
  40. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.hooks.d.ts +6 -0
  41. package/dist/_dts/blocks/src/system/runtime/nodes/carousel.client.state.d.ts +7 -0
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/BookingEntryViews.d.ts +42 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventEmbeddedCheckoutStep.d.ts +4 -1
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +19 -9
  45. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationPayment.d.ts +4 -2
  46. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -9
  47. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardContent.d.ts +4 -2
  48. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventSelectionStep.d.ts +5 -4
  49. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/GuestDetailsSection.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +2 -0
  51. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SingleTicketEntitlementNote.d.ts +11 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +4 -0
  53. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  54. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/VerifyingTimeoutStep.d.ts +2 -0
  55. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingCardDisplay.d.ts +31 -0
  56. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingEntry.d.ts +154 -0
  57. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/bookingFocus.d.ts +12 -0
  58. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +2 -2
  59. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
  60. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +9 -0
  61. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/finishedBooking.d.ts +77 -0
  62. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +0 -1
  63. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/offeringNoun.d.ts +12 -0
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/paymentResponse.d.ts +2 -1
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +33 -1
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +11 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDisplay.d.ts +31 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDraft.state.d.ts +60 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +58 -10
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +17 -0
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +23 -7
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useBookingBarFacts.d.ts +12 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationRecoveryRequest.d.ts +3 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +4 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +4 -11
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +1563 -31
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventSourceRecovery.d.ts +2 -12
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +147 -4
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +50 -2
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +6 -5
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/wizardSteps.d.ts +85 -15
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +53 -8
  85. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/MonthLookView.d.ts +10 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +16 -0
  87. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptionCopy.d.ts +5 -1
  88. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +37 -1
  89. package/dist/_dts/blocks/src/system/runtime/shared/components/ModalShell.d.ts +9 -2
  90. package/dist/_dts/blocks/src/system/runtime/shared/components/PaymentChoiceRows.d.ts +28 -0
  91. package/dist/_dts/blocks/src/system/runtime/shared/components/StepIndicator.d.ts +6 -8
  92. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +2 -2
  93. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  94. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +9 -12
  95. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.state.d.ts +15 -0
  96. package/dist/_dts/blocks/src/system/runtime/shared/utils/themePortalRoot.d.ts +10 -15
  97. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  98. package/dist/_dts/blocks/src/system/transforms/registry/links.d.ts +3 -1
  99. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +2 -0
  100. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +6 -0
  101. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +14 -14
  102. package/dist/_dts/commerce/src/purchase/confirmationPayment.d.ts +65 -0
  103. package/dist/_dts/commerce/src/purchase/confirmationPaymentSchema.d.ts +66 -0
  104. package/dist/_dts/commerce/src/purchase/index.d.ts +2 -0
  105. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +8 -0
  106. package/dist/_dts/content-model/src/templates/defaults.d.ts +2 -2
  107. package/dist/_dts/core/src/appointment-booking-terms.d.ts +20 -0
  108. package/dist/_dts/core/src/booking-payment-schemas.d.ts +70 -0
  109. package/dist/_dts/core/src/branded.d.ts +0 -2
  110. package/dist/_dts/core/src/demo-claim-access.d.ts +1 -1
  111. package/dist/_dts/core/src/demo-claim-readiness.d.ts +18 -0
  112. package/dist/_dts/core/src/demo-lifecycle-status.d.ts +1 -1
  113. package/dist/_dts/core/src/demo-warm-pool-target.d.ts +1 -1
  114. package/dist/_dts/core/src/index.d.ts +4 -0
  115. package/dist/_dts/core/src/mailing-list-targeting-availability.d.ts +68 -0
  116. package/dist/_dts/core/src/mailing-list-targeting.d.ts +2 -0
  117. package/dist/_dts/core/src/ticket-quantity.d.ts +13 -0
  118. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +51 -32
  119. package/dist/_dts/editor/src/chrome/chromeLayers.d.ts +7 -0
  120. package/dist/_dts/editor/src/index.d.ts +1 -0
  121. package/dist/_dts/editor-blocks/src/widgets/link/LinkAddressInput.d.ts +8 -0
  122. package/dist/_dts/editor-blocks/src/widgets/link/LinkContentList.d.ts +12 -0
  123. package/dist/_dts/editor-blocks/src/widgets/link/LinkPicker.d.ts +5 -1
  124. package/dist/_dts/editor-blocks/src/widgets/link/LinkPickerDialog.d.ts +3 -3
  125. package/dist/_dts/editor-blocks/src/widgets/link/LinkSummary.d.ts +8 -2
  126. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +4 -3
  127. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidgetContext.d.ts +2 -1
  128. package/dist/_dts/editor-blocks/src/widgets/link/draft.d.ts +44 -0
  129. package/dist/_dts/editor-blocks/src/widgets/link/presentation.d.ts +13 -0
  130. package/dist/_dts/editor-blocks/src/widgets/link/types.d.ts +14 -0
  131. package/dist/_dts/editor-blocks/src/widgets/link/useRoutableContent.d.ts +2 -0
  132. package/dist/_dts/editor-blocks/src/widgets/link/utils.d.ts +5 -4
  133. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/MailingListTargetingField.d.ts +1 -1
  134. package/dist/_dts/editor-blocks/src/widgets/mailing-list-targeting/targetingState.d.ts +13 -8
  135. package/dist/_dts/media-core/src/fileStorage.d.ts +4 -3
  136. package/dist/_dts/media-core/src/index.d.ts +1 -0
  137. package/dist/_dts/media-core/src/storageObjectKey.d.ts +12 -0
  138. package/dist/_dts/media-react/src/hooks/useSupabaseMediaUploader.d.ts +1 -1
  139. package/dist/_dts/media-react/src/internal/supabaseResumableUpload.d.ts +13 -0
  140. package/dist/_dts/preview-next/src/client/preview/previewModeRootAttribute.d.ts +11 -0
  141. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +0 -1
  142. package/dist/_dts/sdk/src/rendering/image.d.ts +10 -0
  143. package/dist/_dts/sdk/src/rendering/index.d.ts +3 -1
  144. package/dist/_dts/sdk/src/rendering/link.d.ts +9 -0
  145. package/dist/_dts/sdk/src/rendering/overrides.d.ts +1 -0
  146. package/dist/_dts/sdk/src/version.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/blocks/opaquePanels.d.ts +3 -3
  148. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  149. package/dist/client/BookingMailingListNote-CBuMKN0w.mjs +386 -0
  150. package/dist/client/{CardListItem-ZDLYh6dL.mjs → CardListItem-Dc9XTXhB.mjs} +3 -4
  151. package/dist/client/CheckIcon-CpyXr-Kg.mjs +35 -0
  152. package/dist/client/{CheckboxChoice-M-3HycLw.mjs → CheckboxChoice-CIqx_o0E.mjs} +1 -1
  153. package/dist/client/{DemoBookingPortalAccess-BMtvPTWE.mjs → DemoBookingPortalAccess-D3VQ_kLj.mjs} +85 -85
  154. package/dist/client/{EventCombined.client-DUm_DOxW.mjs → EventCombined.client-BHGEKise.mjs} +8 -9
  155. package/dist/client/{EventEmbeddedCheckoutStep-DsNNzgRm.mjs → EventEmbeddedCheckoutStep-Bo1Cm23R.mjs} +11 -10
  156. package/dist/client/{EventListing.client-DjNYGUVm.mjs → EventListing.client-D5OQgVPr.mjs} +2 -2
  157. package/dist/client/{LeafletStaticMap-DuFiOHq_.mjs → LeafletStaticMap-CLL5cWrr.mjs} +1 -1
  158. package/dist/client/{ModalShell-CqkBvBIC.mjs → ModalShell-BXzucfR6.mjs} +83 -12
  159. package/dist/client/{RichText-LjPCUGGi.mjs → RichText-BoDmnopf.mjs} +6 -3
  160. package/dist/client/{ThemedButton-DZKjtaDD.mjs → ThemedButton-Ciltp0IK.mjs} +2 -2
  161. package/dist/client/{accordion-Qe--SILD.mjs → accordion-DOkRS64-.mjs} +1 -1
  162. package/dist/client/aspectTransforms-D-TnDdq4.mjs +93 -0
  163. package/dist/client/{bookingForm-3BCl4g_f.mjs → bookingForm-wlMVwo9h.mjs} +289 -149
  164. package/dist/client/bookings.mjs +12212 -10832
  165. package/dist/client/{carousel-h2YjKOS2.mjs → carousel-CGWk-Z0u.mjs} +2 -2
  166. package/dist/client/{carousel.client-BLrd4hmY.mjs → carousel.client-kX5mN1Eg.mjs} +46 -41
  167. package/dist/client/{cart-5NeiigVd.mjs → cart-OBBPlaH4.mjs} +3 -3
  168. package/dist/client/{checkout-G4UWjOEw.mjs → checkout-Bmw2WjQX.mjs} +3 -3
  169. package/dist/client/client.mjs +9541 -6039
  170. package/dist/client/{colorStyles-DTunOThj.mjs → colorStyles-ECDNPE_P.mjs} +23 -86
  171. package/dist/client/{context-GK4-AVAh.mjs → context-BI77UFAn.mjs} +275 -10
  172. package/dist/client/{eventCalendar-Prw3Yo_L.mjs → eventCalendar-qkej2Edn.mjs} +19 -17
  173. package/dist/client/{eventCombined-BUugi6__.mjs → eventCombined-DApKHvat.mjs} +4 -4
  174. package/dist/client/{eventDetails-CBHUda-R.mjs → eventDetails-BQyUDPH0.mjs} +3 -4
  175. package/dist/client/{eventListing-CQeG45Dg.mjs → eventListing-CeAnshlZ.mjs} +4 -4
  176. package/dist/client/{eventRegistration-Dif3p3oJ.mjs → eventRegistration-C3A3NyBO.mjs} +2209 -2144
  177. package/dist/client/{form-Cf0WMtfG.mjs → form-DW8rU7jO.mjs} +6 -6
  178. package/dist/client/{headerSection-Bqdr3JWp.mjs → headerSection-CkIhsoNm.mjs} +9 -9
  179. package/dist/client/hooks.mjs +1289 -380
  180. package/dist/client/{locationMap-BVvPou4O.mjs → locationMap-D4O8wbli.mjs} +4 -4
  181. package/dist/client/{media-47fcnhzD.mjs → media-C5K_0xPd.mjs} +2 -2
  182. package/dist/client/{newsletterForm-Cx-1dnic.mjs → newsletterForm-B7IxSPuz.mjs} +5 -5
  183. package/dist/client/{productDetail-DaUMaJYk.mjs → productDetail-Bqxpwy5N.mjs} +3 -3
  184. package/dist/client/{productList-BKQlWEKE.mjs → productList-u9Lz8V15.mjs} +3 -3
  185. package/dist/client/{propsDecoder-DO5iXphQ.mjs → propsDecoder-Bf1jucUp.mjs} +17333 -14489
  186. package/dist/client/rendering/client.mjs +58216 -55133
  187. package/dist/client/rendering/islands.mjs +19 -19
  188. package/dist/client/rendering.mjs +9099 -5636
  189. package/dist/client/{routeIslandApiConfig-BNm0Z3-g.mjs → routeIslandApiConfig-BgP-aPMl.mjs} +1 -1
  190. package/dist/client/{shop-D7ytcFBC.mjs → shop-B_eykR-_.mjs} +16 -14
  191. package/dist/client/{shop-commerce-D68-hHy2.mjs → shop-commerce-CT0APkFV.mjs} +9 -9
  192. package/dist/client/{shop-commerce-store-Cu7X2lyu.mjs → shop-commerce-store-DcvZxdEK.mjs} +1 -1
  193. package/dist/client/{shopShared-D12rxE69.mjs → shopShared-BVJOiUiJ.mjs} +5 -5
  194. package/dist/client/themePortalRoot-DS92SRVZ.mjs +47 -0
  195. package/dist/client/{TerminalPanel-DOTSUCO0.mjs → useDiscountCodeUi-DPmYDunz.mjs} +60 -77
  196. package/dist/client/{useEventPagination-jgKa67KV.mjs → useEventPagination-8-U55vH5.mjs} +7 -8
  197. package/dist/preview-next/before-render.mjs +7 -0
  198. package/dist/preview-next/client/runtime.mjs +3 -3
  199. package/dist/preview-next/keepAlive.mjs +7 -0
  200. package/dist/preview-next/middleware.mjs +7 -0
  201. package/dist/{sdk-runtime-4cCWO_3i.mjs → sdk-runtime-C5jPdSrk.mjs} +1 -1
  202. package/dist/server/components.mjs +3138 -1373
  203. package/dist/server/config-validation.mjs +1395 -486
  204. package/dist/server/config.mjs +1395 -486
  205. package/dist/server/data.mjs +1289 -380
  206. package/dist/server/index.mjs +8 -1
  207. package/dist/server/next.mjs +3362 -1538
  208. package/dist/server/page-converter.mjs +1357 -453
  209. package/dist/server/prebuild.mjs +1 -1
  210. package/dist/server/rendering/server.mjs +2335 -1044
  211. package/dist/server/rendering.mjs +3152 -1370
  212. package/dist/server/routing.mjs +1437 -490
  213. package/dist/server/server.mjs +1297 -381
  214. package/dist/server/theme-bridge.mjs +1135 -795
  215. package/dist/{spinner-tSdG9YvG.mjs → spinner-B-ab2rJp.mjs} +1 -1
  216. package/dist/styles/index.css +1088 -721
  217. package/package.json +1 -1
  218. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/OrderSummary.d.ts +0 -15
  219. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +0 -22
  220. package/dist/_dts/blocks/src/system/runtime/shared/components/SelectableOptionCard.d.ts +0 -30
  221. package/dist/client/BookingMailingListNote-DlDSs5Vm.mjs +0 -567
  222. package/dist/client/pricing-CMD0kADd.mjs +0 -314
  223. package/dist/client/result-DRW7JWXz.mjs +0 -30
  224. package/dist/client/scrollToBlock-C86BYkyV.mjs +0 -17
  225. package/dist/client/themePortalRoot-AGs4cE7t.mjs +0 -30
  226. package/dist/spinner-BL3kW9Uh.mjs +0 -803
@@ -1,18 +1,8 @@
1
1
  import { useBlockApi } from '../../api';
2
- import type { PublicEvent } from '../../../blocks/events/shared/types';
3
- import type { EventRegistrationEventSource } from './eventSourceRecovery';
4
- export type EventSourceRecovery = Readonly<{
5
- kind: 'ready';
6
- events: PublicEvent[];
7
- }> | Readonly<{
8
- kind: 'loading';
9
- }> | Readonly<{
10
- kind: 'exhausted';
11
- retry: () => void;
12
- }>;
2
+ import type { EventRegistrationEventSource, EventSourceRecovery } from './eventSourceRecovery';
3
+ export type { EventSourceRecovery } from './eventSourceRecovery';
13
4
  type RecoveryDeps = Readonly<{
14
5
  useApi: typeof useBlockApi;
15
6
  wait: (milliseconds: number, signal: AbortSignal) => Promise<void>;
16
7
  }>;
17
8
  export declare function useEventSourceRecovery(source: EventRegistrationEventSource, deps?: RecoveryDeps): EventSourceRecovery;
18
- export {};
@@ -1,13 +1,13 @@
1
1
  import { type Dispatch, type SetStateAction } from 'react';
2
2
  import type { BlockApiClient } from '../../api/client';
3
- import type { EventCheckoutReturnRequest, EventCheckoutReturnResponse, EventEmbeddedCheckout, EventRegistrationPaymentSubject } from '../../api/types';
3
+ import type { EventCheckoutReturnRequest, EventEmbeddedCheckout, EventRegistrationPaymentSubject } from '../../api/types';
4
4
  import type { EventPaymentState, PaymentStatusRecoveryState, RegistrationResult, RegistrationStep } from './types';
5
5
  type Options = Readonly<{
6
6
  api: BlockApiClient;
7
7
  beginNewSubmission: () => void;
8
- setRegistrationResult: Dispatch<SetStateAction<RegistrationResult | null>>;
8
+ complete: (result: RegistrationResult) => void;
9
9
  setOptionsRefreshKey: Dispatch<SetStateAction<number>>;
10
- setStep: (step: RegistrationStep) => void;
10
+ setStep: (step: Exclude<RegistrationStep, 'success'>) => void;
11
11
  /** Whether this page still holds the booker's details; a restored page after a reload does not. */
12
12
  detailsInPage: () => boolean;
13
13
  }>;
@@ -24,7 +24,150 @@ export declare function usePaymentStatusRecovery(options: Options): {
24
24
  retry: () => void;
25
25
  retryReturn: () => void;
26
26
  status: "idle" | "polling" | "completed" | "failed" | "timeout";
27
- result: EventCheckoutReturnResponse | null;
27
+ result: {
28
+ kind: "checkout";
29
+ subject: {
30
+ scope: "occurrence";
31
+ submissionId: string;
32
+ attendeeId: string;
33
+ } | {
34
+ scope: "wholeSeries";
35
+ submissionId: string;
36
+ };
37
+ outcome: {
38
+ kind: "resolved";
39
+ outcome: {
40
+ kind: "detailsAvailable";
41
+ identity: {
42
+ submissionId: string;
43
+ seriesId: string;
44
+ attendanceMode: "in_person" | "online";
45
+ scope: "occurrence";
46
+ attendeeId: string;
47
+ occurrenceId: string;
48
+ } | {
49
+ submissionId: string;
50
+ seriesId: string;
51
+ attendanceMode: "in_person" | "online";
52
+ scope: "wholeSeries";
53
+ registrationId: string;
54
+ };
55
+ ticketLines: readonly [{
56
+ label: string;
57
+ quantity: number;
58
+ }, ...{
59
+ label: string;
60
+ quantity: number;
61
+ }[]];
62
+ payment: {
63
+ kind: "free";
64
+ balance: {
65
+ kind: "settled";
66
+ };
67
+ } | {
68
+ kind: "waived";
69
+ balance: {
70
+ kind: "settled";
71
+ };
72
+ } | {
73
+ kind: "pass";
74
+ passName: string | null;
75
+ passCreditsUsed: number | null;
76
+ balance: {
77
+ kind: "settled";
78
+ };
79
+ } | {
80
+ kind: "membership";
81
+ membershipName: string | null;
82
+ balance: {
83
+ kind: "settled";
84
+ };
85
+ } | {
86
+ kind: "manual_due";
87
+ currency: import("../../../../../../commerce/src/purchase/index").CurrencyCode;
88
+ balance: {
89
+ kind: "due";
90
+ amountCents: import("../../../../../../core/src/index").PositiveCents;
91
+ dueAt: string | null;
92
+ };
93
+ } | {
94
+ balance: {
95
+ kind: "due";
96
+ amountCents: import("../../../../../../core/src/index").PositiveCents;
97
+ dueAt: string | null;
98
+ };
99
+ amountPaidCents: import("../../../../../../core/src/index").NonNegativeCents;
100
+ currency: import("../../../../../../commerce/src/purchase/index").CurrencyCode;
101
+ kind: "managed_balance_due";
102
+ } | {
103
+ paymentMethod: "mixed" | "manual" | "stripe" | "store_credit";
104
+ balance: {
105
+ kind: "settled";
106
+ } | {
107
+ kind: "due";
108
+ amountCents: import("../../../../../../core/src/index").PositiveCents;
109
+ dueAt: string | null;
110
+ };
111
+ amountPaidCents: import("../../../../../../core/src/index").NonNegativeCents;
112
+ currency: import("../../../../../../commerce/src/purchase/index").CurrencyCode;
113
+ kind: "monetary";
114
+ };
115
+ } | {
116
+ kind: "detailsUnavailable";
117
+ identity: {
118
+ submissionId: string;
119
+ seriesId: string;
120
+ attendanceMode: "in_person" | "online";
121
+ scope: "occurrence";
122
+ attendeeId: string;
123
+ occurrenceId: string;
124
+ } | {
125
+ submissionId: string;
126
+ seriesId: string;
127
+ attendanceMode: "in_person" | "online";
128
+ scope: "wholeSeries";
129
+ registrationId: string;
130
+ };
131
+ };
132
+ } | {
133
+ kind: "abandoned";
134
+ } | {
135
+ kind: "reconciliationRequired";
136
+ } | {
137
+ kind: "paymentProcessing";
138
+ recoverableUntil?: string | undefined;
139
+ } | {
140
+ kind: "paymentAvailable";
141
+ checkout: {
142
+ kind: "embedded";
143
+ sessionId: string;
144
+ clientSecret: string;
145
+ livemode: boolean;
146
+ expiresAt: string;
147
+ browser: {
148
+ kind: "connect";
149
+ publishableKey: string;
150
+ accountId: string;
151
+ } | {
152
+ kind: "direct";
153
+ publishableKey: string;
154
+ };
155
+ };
156
+ recoverableUntil?: string | undefined;
157
+ } | {
158
+ kind: "paymentRetryAvailable";
159
+ place: "released" | "held";
160
+ } | {
161
+ kind: "paymentCheckUnavailable";
162
+ recoverableUntil?: string | undefined;
163
+ } | {
164
+ kind: "paymentAssistanceRequired";
165
+ };
166
+ } | {
167
+ kind: "notFound";
168
+ } | {
169
+ kind: "reconciliationRequired";
170
+ } | null;
28
171
  error: Error | null;
29
172
  };
30
173
  state: EventPaymentState;
@@ -28,12 +28,60 @@ export declare function formatTime(isoTimestamp: string, options?: {
28
28
  locale?: string;
29
29
  }): string;
30
30
  /**
31
- * Format date and time in short form for compact displays (e.g., order summary)
31
+ * How a booking date is written (issue 1581). One owner, explicit variants:
32
+ * - `long`: the card and panel header, "Mon 5 Oct · 7:00pm – 8:15pm"
33
+ * - `short`: the bar and the confirmation's When row, "Mon 5 Oct, 7:00pm"
34
+ * - `day`: the date chips and "next" dates, "Mon 5 Oct"
35
+ * - `dayLong`: the date step's rows, "Friday 2 October"
36
+ * - `timeRange`: under them, "7:00pm – 8:15pm"
37
+ * - `time`: the stored schedule start, "7:00pm"
38
+ * - `month`: the date step's month labels, "October"
39
+ * - `monthYear`: which month a date falls in, "October 2026" (grouping key)
32
40
  */
41
+ export type BookingDateVariant = 'long' | 'short' | 'day' | 'dayLong' | 'timeRange' | 'time' | 'month' | 'monthYear';
42
+ export type BookingDateInput = Readonly<{
43
+ startsAt: string;
44
+ /** Only the long form writes an end time. */
45
+ endsAt?: string | null;
46
+ timeZone?: string | null;
47
+ /** The site's own zone decides the locale (day or month first). */
48
+ siteTimeZone?: string | null;
49
+ }>;
50
+ /**
51
+ * The locale a site's booking dates are written in: the one the site's time
52
+ * zone places it in (`eventDateLocale`, shared with event cards), or British
53
+ * English when the site names no zone.
54
+ */
55
+ export declare function bookingDateLocale(siteTimeZone: string | null | undefined): string;
56
+ /** A stored local clock has no date or DST offset; UTC preserves its digits. */
57
+ export declare function formatBookingScheduleSummary(event: Pick<RegistrationEvent, 'scheduleSummary' | 'siteTimeZone'>): string | null;
58
+ /** The one booking date formatter; every variant derives from it. */
59
+ export declare function formatBookingWhen(input: BookingDateInput, variant: BookingDateVariant): string;
60
+ /** A single instant in the short form, e.g. "Mon 5 Oct, 7:00pm". */
33
61
  export declare function formatEventDateTime(isoTimestamp: string, options?: {
34
62
  timeZone?: string | null;
35
- locale?: string;
63
+ siteTimeZone?: string | null;
36
64
  }): string;
65
+ /** The title an occurrence was given on its own, when it overrides the event's. */
66
+ export declare function occurrenceTitleOverride(occurrence: Readonly<{
67
+ overrides?: Readonly<Record<string, unknown>> | null;
68
+ }> | null | undefined): string | null;
69
+ /** The event as this page names it: an occurrence's own title wins. */
70
+ export declare function withOccurrenceTitle<T extends Readonly<{
71
+ title: string;
72
+ }>>(event: T | null, occurrence: Parameters<typeof occurrenceTitleOverride>[0]): T | null;
73
+ type ScheduleEvent = Pick<RegistrationEvent, 'startsAt' | 'endsAt' | 'timeZone' | 'siteTimeZone' | 'registrationSubject'>;
74
+ type ScheduleOccurrence = Readonly<{
75
+ startsAt?: string | null;
76
+ endsAt?: string | null;
77
+ timeZone?: string | null;
78
+ }> | null;
79
+ /**
80
+ * When a booking happens, in one line: the occurrence's date and time, or a
81
+ * course's session count and first and last dates. `short` by default (bar,
82
+ * confirmation); `long` adds the end time (card, panel header).
83
+ */
84
+ export declare function formatRegistrationSchedule(event: ScheduleEvent, occurrence?: ScheduleOccurrence, variant?: Extract<BookingDateVariant, 'long' | 'short'>): string | null;
37
85
  export { formatPrice } from '../../shared';
38
86
  /** Tooltip text shown when pass/membership redemptions are unavailable for multi-ticket bookings. */
39
87
  export declare const ENTITLEMENT_SINGLE_TICKET_TOOLTIP = "Only available for single-ticket bookings";
@@ -1,10 +1,13 @@
1
+ import type { EventSourceRecovery } from './eventSourceRecovery';
1
2
  import type { ResolveWaitlistClaimResponse } from '../../api/types';
2
3
  import type { EventTicketSelectionLine, RegistrationEvent } from './types';
3
4
  export type WaitlistClaimRestoration = Readonly<{
4
- ok: false;
5
+ kind: 'awaitingEvents';
6
+ }> | Readonly<{
7
+ kind: 'different-event';
5
8
  message: string;
6
9
  }> | Readonly<{
7
- ok: true;
10
+ kind: 'ready';
8
11
  event: RegistrationEvent | null;
9
12
  attendanceMode: 'in_person' | 'online';
10
13
  ticketSelections: readonly EventTicketSelectionLine[];
@@ -13,8 +16,6 @@ export type WaitlistClaimRestoration = Readonly<{
13
16
  }>;
14
17
  export declare function resolveWaitlistClaimRestoration(input: Readonly<{
15
18
  claim: ResolveWaitlistClaimResponse;
16
- scopedEvents: readonly RegistrationEvent[];
19
+ events: EventSourceRecovery<RegistrationEvent>;
17
20
  occurrenceContextId?: string;
18
21
  }>): WaitlistClaimRestoration;
19
- export declare function resolveClaimedTicketSelections(claim: ResolveWaitlistClaimResponse | null): readonly EventTicketSelectionLine[] | null;
20
- export declare function resolveClaimTicketCount(claim: ResolveWaitlistClaimResponse | null, fallback: number): number;
@@ -1,22 +1,92 @@
1
- import type { RegistrationStep } from './types';
1
+ import type { PaymentSelection, RegistrationResult, RegistrationStep } from './types';
2
+ import type { RegistrationAdmission } from './registrationCompletion';
3
+ /** The steps that can be counted in the visitor's route through the wizard. */
4
+ export type RegistrationRouteStep = Extract<RegistrationStep, 'select-event' | 'select-tickets' | 'enter-details' | 'select-payment' | 'payment'>;
5
+ /** The ordered steps the visitor is on course to take, as far as we know now. */
6
+ export type RegistrationRoute = readonly RegistrationRouteStep[];
2
7
  /**
3
- * Steps that are part of the main wizard and should show the step indicator
8
+ * Which payment steps the route counts.
9
+ * - `none`: free, a paid waitlist, or an entitlement chosen before the payment options step.
10
+ * - `options`: an entitlement chosen on the payment options step, so only Payment drops.
11
+ * - `optionsAndPayment`: card payment is expected, so both are counted up front.
4
12
  */
5
- export declare const WIZARD_STEPS: RegistrationStep[];
6
- /** Recovery uses the form surface without adding a progress step. */
7
- export declare function getRegistrationStepPresentation(step: RegistrationStep, progressSteps: readonly RegistrationStep[]): Readonly<{
8
- isWizardStep: boolean;
9
- totalSteps: number;
13
+ export type RegistrationPaymentRoute = 'none' | 'options' | 'optionsAndPayment';
14
+ export type RegistrationProgress = Readonly<{
15
+ steps: RegistrationRoute;
16
+ /** 1-based position of the current step in `steps`. */
17
+ current: number;
10
18
  }>;
19
+ export type RegistrationScreen = 'processing' | 'confirmed' | 'waitlisted' | 'error' | 'verifying' | 'verifyingTimeout' | 'paymentStatus' | 'paymentFailed';
11
20
  /**
12
- * Determine which wizard steps to show based on context and payment requirements.
13
- *
14
- * @param hasPreSelectedContext - Whether event is pre-selected (skips event selection)
15
- * @param needsPaymentStep - Whether user must complete payment method selection
16
- * @returns Array of wizard steps to display
21
+ * What the booking surface renders: the step layout (with progress only when
22
+ * the step is part of the route), or one whole-panel screen. Never both.
17
23
  */
18
- export declare function getWizardStepsForContext(hasPreSelectedContext: boolean, needsPaymentStep: boolean, paymentActive?: boolean): readonly RegistrationStep[];
24
+ export type RegistrationPresentation = Readonly<{
25
+ layout: 'steps';
26
+ progress: RegistrationProgress | null;
27
+ }> | Readonly<{
28
+ layout: 'whole';
29
+ screen: Exclude<RegistrationScreen, 'confirmed' | 'waitlisted'>;
30
+ }> | Readonly<{
31
+ layout: 'whole';
32
+ screen: 'confirmed';
33
+ result: Extract<RegistrationResult, {
34
+ status: 'confirmed';
35
+ }>;
36
+ }> | Readonly<{
37
+ layout: 'whole';
38
+ screen: 'waitlisted';
39
+ result: Extract<RegistrationResult, {
40
+ status: 'waitlist';
41
+ }>;
42
+ }>;
43
+ export type RegistrationOutcome = RegistrationResult['status'] | null;
44
+ /**
45
+ * The payment part of the route, from facts the wizard already has.
46
+ * The count follows the current route: picking a pass drops Payment, and
47
+ * "Pay by card instead" adds it back.
48
+ */
49
+ export declare function registrationPaymentRoute(facts: Readonly<{
50
+ step: RegistrationStep;
51
+ admission: RegistrationAdmission;
52
+ eventRequiresPayment: boolean;
53
+ paymentSelection: PaymentSelection;
54
+ }>): RegistrationPaymentRoute;
55
+ export declare function registrationRoute(input: Readonly<{
56
+ chooseEvent: boolean;
57
+ payment: RegistrationPaymentRoute;
58
+ }>): RegistrationRoute;
59
+ /** One presentation decision for every registration step. */
60
+ export declare function registrationPresentation(state: Readonly<{
61
+ step: Exclude<RegistrationStep, 'success'>;
62
+ }> | Readonly<{
63
+ step: 'success';
64
+ result: RegistrationResult;
65
+ }>, route: RegistrationRoute): RegistrationPresentation;
19
66
  /**
20
- * Map wizard step to step number based on the active wizard steps
67
+ * Payment-return and recovery states the visitor must see, so entering one
68
+ * opens the booking panel. `payment` covers "Return to payment".
21
69
  */
22
- export declare function getStepNumber(step: RegistrationStep, wizardSteps: readonly RegistrationStep[]): number;
70
+ export declare function panelShouldOpen(step: RegistrationStep): boolean;
71
+ export declare const REGISTRATION_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Places", "Your details", "How you’ll pay", "Payment"];
72
+ export type RegistrationStepLabel = (typeof REGISTRATION_STEP_LABELS)[number];
73
+ export type RegistrationEventSelectionMode = 'event' | 'date';
74
+ /** Several dates of one series are a date choice; anything else is an event choice. */
75
+ export declare function getEventSelectionMode(events: readonly Readonly<{
76
+ seriesId: string;
77
+ }>[]): RegistrationEventSelectionMode;
78
+ export type RegistrationStepLabelContext = Readonly<{
79
+ eventSelection: RegistrationEventSelectionMode;
80
+ /** Whole-series (course) bookings count places rather than tickets. */
81
+ booksWholeSeries: boolean;
82
+ }>;
83
+ /** The label facts for a surface: what the visitor chooses from, and what they book. */
84
+ export declare function registrationStepLabelContext(scopedEvents: readonly Readonly<{
85
+ seriesId: string;
86
+ }>[], bookedEvent: Readonly<{
87
+ registrationSubject: Readonly<{
88
+ kind: string;
89
+ }>;
90
+ }> | null): RegistrationStepLabelContext;
91
+ /** One label owner for the live progress and the server placeholder. */
92
+ export declare function registrationStepLabel(step: RegistrationRouteStep, context: RegistrationStepLabelContext): RegistrationStepLabel;
@@ -1,3 +1,4 @@
1
+ import { type RegistrationDisplay } from './event-registration/registrationDisplay';
1
2
  import { type MailingListRuntimeContext } from '../../../../../core/src/index';
2
3
  import type { BrowserReadAuthority } from '../api/types';
3
4
  import type { BlockButtonRole } from '../../constants/buttonRoles';
@@ -5,13 +6,15 @@ import type { PublicEvent } from '../../blocks/events/shared/types';
5
6
  import { type PublicMembershipProductCollection, type PublicPassProductCollection } from '../../blocks/shop.shared';
6
7
  import type { OccurrenceContext } from '../../blocks/event-registration.shared';
7
8
  import type { EventRegistrationClientProps as InternalEventRegistrationClientProps } from './event-registration/types';
9
+ import type { BookingOfferingPresetSummary } from '../../blocks/offerings-preview/model';
10
+ import { type BookingHost, type IdleBookingEntry } from './event-registration/bookingCardDisplay';
8
11
  import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
9
12
  import { type InteractiveIslandProps } from '../../../contracts/islands';
13
+ import { type RegistrationStepLabel } from './event-registration/wizardSteps';
10
14
  import { type EventRegistrationEventSource } from './event-registration/eventSourceRecovery';
11
- export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Details"];
12
- declare const EVENT_REGISTRATION_SHELL_STEP_LABELS: readonly ["Event", "Date", "Tickets", "Details", "Payment options", "Payment"];
15
+ export declare const EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS: readonly ["Date", "Tickets", "Your details"];
13
16
  export type EventRegistrationGenericShellStepLabels = typeof EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
14
- type EventRegistrationShellStepLabel = (typeof EVENT_REGISTRATION_SHELL_STEP_LABELS)[number];
17
+ type EventRegistrationShellStepLabel = RegistrationStepLabel;
15
18
  export type EventRegistrationSourceProps = Readonly<{
16
19
  siteId?: string;
17
20
  demoEmailSuppressed?: boolean;
@@ -32,7 +35,8 @@ export type EventRegistrationSourceProps = Readonly<{
32
35
  showCapacity?: boolean;
33
36
  successMessage?: string;
34
37
  buttonVariant?: BlockButtonRole;
35
- overlayEnabled?: boolean;
38
+ /** Pages built around booking pass 'inPlace'; editor-placed blocks use the overlay. */
39
+ host?: BookingHost;
36
40
  spamProtectionEnabled?: boolean;
37
41
  stage?: 'preview' | 'published';
38
42
  supportEmail?: string;
@@ -40,6 +44,8 @@ export type EventRegistrationSourceProps = Readonly<{
40
44
  siteMemberships?: PublicMembershipProductCollection | null;
41
45
  mailingList?: MailingListRuntimeContext;
42
46
  siteName?: string;
47
+ /** The site's booking preset rows; the server resolves the offering noun from them. */
48
+ bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
43
49
  }>;
44
50
  export type EventRegistrationDisplay = Readonly<{
45
51
  kind: 'event-registration';
@@ -55,7 +61,19 @@ export type EventRegistrationDisplay = Readonly<{
55
61
  className: string | null;
56
62
  titleText: string;
57
63
  bodyText: string;
64
+ }> | Readonly<{
65
+ kind: 'event-registration';
66
+ state: 'booking-card';
67
+ className: string | null;
68
+ entry: IdleBookingEntry;
69
+ buttonVariant: BlockButtonRole | null;
70
+ /** The block's own button text, carried to the wizard's final submit. */
71
+ buttonText: string;
58
72
  }>;
73
+ /** The block's button text, whichever state the server rendered. */
74
+ export declare function displayButtonText(display: Exclude<EventRegistrationDisplay, {
75
+ state: 'registration-closed';
76
+ }>): string | undefined;
59
77
  export type EventRegistrationHydration = Readonly<Omit<InternalEventRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className' | 'events'> & {
60
78
  eventSource: EventRegistrationEventSource;
61
79
  }>;
@@ -67,7 +85,7 @@ type EventRegistrationIslandMeta = Readonly<{
67
85
  readAuthority?: BrowserReadAuthority;
68
86
  stage?: 'preview' | 'published';
69
87
  }>;
70
- export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[]): EventRegistrationDisplay;
88
+ export declare function buildEventRegistrationDisplayFromScopedEvents(source: EventRegistrationSourceProps, scopedSourceEvents: readonly PublicEvent[], display: RegistrationDisplay): EventRegistrationDisplay;
71
89
  export type EventRegistrationInteractiveIslandProps = InteractiveIslandProps<EventRegistrationIslandMeta, 'event-registration', typeof eventRegistrationBlockRuntime>;
72
90
  export declare const eventRegistrationBlockRuntime: Readonly<{
73
91
  kind: "client-owned";
@@ -91,7 +109,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
91
109
  showCapacity?: boolean;
92
110
  successMessage?: string;
93
111
  buttonVariant?: BlockButtonRole;
94
- overlayEnabled?: boolean;
112
+ /** Pages built around booking pass 'inPlace'; editor-placed blocks use the overlay. */
113
+ host?: BookingHost;
95
114
  spamProtectionEnabled?: boolean;
96
115
  stage?: "preview" | "published";
97
116
  supportEmail?: string;
@@ -103,6 +122,14 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
103
122
  }> | null;
104
123
  mailingList?: MailingListRuntimeContext;
105
124
  siteName?: string;
125
+ /** The site's booking preset rows; the server resolves the offering noun from them. */
126
+ bookingOfferingPresets?: readonly Readonly<{
127
+ id: string;
128
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
129
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
130
+ label: string;
131
+ pluralLabel: string;
132
+ }>[] | null;
106
133
  }>) => Readonly<{
107
134
  display: EventRegistrationDisplay;
108
135
  hydration: Readonly<Omit<InternalEventRegistrationClientProps, "stage" | "siteId" | "events" | "className" | "buttonText"> & {
@@ -131,7 +158,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
131
158
  showCapacity?: boolean;
132
159
  successMessage?: string;
133
160
  buttonVariant?: BlockButtonRole;
134
- overlayEnabled?: boolean;
161
+ /** Pages built around booking pass 'inPlace'; editor-placed blocks use the overlay. */
162
+ host?: BookingHost;
135
163
  spamProtectionEnabled?: boolean;
136
164
  stage?: "preview" | "published";
137
165
  supportEmail?: string;
@@ -143,6 +171,14 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
143
171
  }> | null;
144
172
  mailingList?: MailingListRuntimeContext;
145
173
  siteName?: string;
174
+ /** The site's booking preset rows; the server resolves the offering noun from them. */
175
+ bookingOfferingPresets?: readonly Readonly<{
176
+ id: string;
177
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
178
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
179
+ label: string;
180
+ pluralLabel: string;
181
+ }>[] | null;
146
182
  }>) => unknown;
147
183
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
148
184
  siteId?: string;
@@ -164,7 +200,8 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
164
200
  showCapacity?: boolean;
165
201
  successMessage?: string;
166
202
  buttonVariant?: BlockButtonRole;
167
- overlayEnabled?: boolean;
203
+ /** Pages built around booking pass 'inPlace'; editor-placed blocks use the overlay. */
204
+ host?: BookingHost;
168
205
  spamProtectionEnabled?: boolean;
169
206
  stage?: "preview" | "published";
170
207
  supportEmail?: string;
@@ -176,6 +213,14 @@ export declare const eventRegistrationBlockRuntime: Readonly<{
176
213
  }> | null;
177
214
  mailingList?: MailingListRuntimeContext;
178
215
  siteName?: string;
216
+ /** The site's booking preset rows; the server resolves the offering noun from them. */
217
+ bookingOfferingPresets?: readonly Readonly<{
218
+ id: string;
219
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
220
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
221
+ label: string;
222
+ pluralLabel: string;
223
+ }>[] | null;
179
224
  }>>;
180
225
  }>;
181
226
  render: Readonly<{
@@ -9,12 +9,19 @@ export type MonthLookViewProps = LookListPresentation & Pick<EventItemProps, 'sh
9
9
  dayNames: readonly string[];
10
10
  eventsByDate: ReadonlyMap<string, readonly PublicEvent[]>;
11
11
  selectedDay: string;
12
- onSelectDay?: (day: string) => void;
13
- onOpenDay?: (date: CalendarDate, events: readonly PublicEvent[]) => void;
14
12
  viewDate: CalendarDate;
15
13
  today: CalendarDate;
16
14
  timeZone: string;
17
15
  emptyMessage: string;
18
16
  }>;
17
+ /** The server view has no controls; the client supplies both calendar actions. */
18
+ type MonthLookControls = Readonly<{
19
+ selectDay: (day: string) => void;
20
+ openDay: (date: CalendarDate, events: readonly PublicEvent[]) => void;
21
+ }>;
22
+ type MonthLookPresentationProps = MonthLookViewProps & Readonly<{
23
+ controls?: MonthLookControls;
24
+ }>;
19
25
  /** Both Looks and the legacy month grid consume the same per-day model. */
20
- export declare function MonthLookView(props: MonthLookViewProps): React.JSX.Element;
26
+ export declare function MonthLookView(props: MonthLookPresentationProps): React.JSX.Element;
27
+ export {};
@@ -191,6 +191,10 @@ export declare const eventCollectionSourceSchemaShape: {
191
191
  }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
192
192
  kind: z.ZodLiteral<"other">;
193
193
  }, z.core.$strip>>], "kind">>;
194
+ scheduleSummary: z.ZodOptional<z.ZodNullable<z.ZodObject<{
195
+ recurrenceDescription: z.ZodString;
196
+ startTime: z.ZodNullable<z.ZodString>;
197
+ }, z.core.$strip>>>;
194
198
  id: z.ZodString;
195
199
  occurrenceId: z.ZodString;
196
200
  seriesId: z.ZodString;
@@ -680,6 +684,10 @@ export declare const eventCollectionSourceSchemaShape: {
680
684
  }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
681
685
  kind: z.ZodLiteral<"other">;
682
686
  }, z.core.$strip>>], "kind">>;
687
+ scheduleSummary: z.ZodOptional<z.ZodNullable<z.ZodObject<{
688
+ recurrenceDescription: z.ZodString;
689
+ startTime: z.ZodNullable<z.ZodString>;
690
+ }, z.core.$strip>>>;
683
691
  id: z.ZodString;
684
692
  occurrenceId: z.ZodString;
685
693
  seriesId: z.ZodString;
@@ -1424,6 +1432,10 @@ export declare const eventCollectionDisplaySchemaShape: {
1424
1432
  }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
1425
1433
  kind: z.ZodLiteral<"other">;
1426
1434
  }, z.core.$strip>>], "kind">>;
1435
+ scheduleSummary: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1436
+ recurrenceDescription: z.ZodString;
1437
+ startTime: z.ZodNullable<z.ZodString>;
1438
+ }, z.core.$strip>>>;
1427
1439
  id: z.ZodString;
1428
1440
  occurrenceId: z.ZodString;
1429
1441
  seriesId: z.ZodString;
@@ -1913,6 +1925,10 @@ export declare const eventCollectionDisplaySchemaShape: {
1913
1925
  }, z.core.$strip>>, z.ZodReadonly<z.ZodObject<{
1914
1926
  kind: z.ZodLiteral<"other">;
1915
1927
  }, z.core.$strip>>], "kind">>;
1928
+ scheduleSummary: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1929
+ recurrenceDescription: z.ZodString;
1930
+ startTime: z.ZodNullable<z.ZodString>;
1931
+ }, z.core.$strip>>>;
1916
1932
  id: z.ZodString;
1917
1933
  occurrenceId: z.ZodString;
1918
1934
  seriesId: z.ZodString;
@@ -1,4 +1,4 @@
1
- import type { BookingDepositRefundPolicy } from '../../../../../core/src/index';
1
+ import { type BookingDepositRefundPolicy, type BookingInstalmentPlanConfig } from '../../../../../core/src/index';
2
2
  export type BookingPaymentOptionCopy = Readonly<{
3
3
  title: string;
4
4
  description: string;
@@ -6,6 +6,8 @@ export type BookingPaymentOptionCopy = Readonly<{
6
6
  ctaLabel: string;
7
7
  }>;
8
8
  export declare function buildUpfrontBookingPaymentOptionCopy(formattedTotal: string): BookingPaymentOptionCopy;
9
+ /** Reused after booking; payment remains outside the platform. */
10
+ export declare const OFFLINE_BOOKING_PAYMENT_INSTRUCTIONS = "Pay the business later, outside the platform.";
9
11
  export declare function buildDeferredManualBookingPaymentOptionCopy(): BookingPaymentOptionCopy;
10
12
  export declare function buildInstalmentBookingPaymentOptionCopy(input: Readonly<{
11
13
  formattedDueToday: string;
@@ -19,3 +21,5 @@ export declare function buildFlexibleBalanceBookingPaymentOptionCopy(input: Read
19
21
  dueDateLabel: string;
20
22
  depositRefundability: BookingDepositRefundPolicy;
21
23
  }>): BookingPaymentOptionCopy;
24
+ /** Configured cadence for the existing instalment description. */
25
+ export declare function buildBookingInstalmentCadenceLabel(plan: BookingInstalmentPlanConfig): string;