@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
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ /** Decode once before invitation restoration or admission consumes the response. */
3
+ export declare const waitlistClaimResponseSchema: z.ZodObject<{
4
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ kind: z.ZodLiteral<"event_occurrence">;
6
+ occurrenceId: z.ZodString;
7
+ attendanceMode: z.ZodEnum<{
8
+ in_person: "in_person";
9
+ online: "online";
10
+ }>;
11
+ }, z.core.$strict>, z.ZodObject<{
12
+ kind: z.ZodLiteral<"whole_series">;
13
+ eventSeriesId: z.ZodString;
14
+ attendanceMode: z.ZodEnum<{
15
+ in_person: "in_person";
16
+ online: "online";
17
+ }>;
18
+ ticketSelections: z.ZodReadonly<z.ZodArray<z.ZodObject<{
19
+ pricingOptionId: z.ZodNullable<z.ZodString>;
20
+ quantity: z.ZodNumber;
21
+ }, z.core.$strict>>>;
22
+ seatCount: z.ZodNumber;
23
+ selectedSlidingAmount: z.ZodNullable<z.ZodNumber>;
24
+ }, z.core.$strict>], "kind">;
25
+ expiresAt: z.ZodString;
26
+ customer: z.ZodObject<{
27
+ email: z.ZodString;
28
+ name: z.ZodString;
29
+ phone: z.ZodNullable<z.ZodString>;
30
+ }, z.core.$strict>;
31
+ prefill: z.ZodObject<{
32
+ notes: z.ZodNullable<z.ZodString>;
33
+ guests: z.ZodReadonly<z.ZodArray<z.ZodObject<{
34
+ name: z.ZodString;
35
+ email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
+ phone: z.ZodNullable<z.ZodString>;
37
+ }, z.core.$strict>>>;
38
+ email: z.ZodString;
39
+ name: z.ZodString;
40
+ phone: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strict>;
42
+ }, z.core.$strict>;
@@ -1,4 +1,4 @@
1
- import type { BookingMailingListNote as BookingSignupNote, BookingPaymentCollectionOptionKind } from '../../../../../../core/src/index';
1
+ import type { BookingMailingListNote as BookingSignupNote, BookingPaymentCollectionOptionKind, AppointmentBookingTerms, AppointmentBookingReview } from '../../../../../../core/src/index';
2
2
  /**
3
3
  * Appointment booking, availability, service and resource types
4
4
  *
@@ -7,6 +7,7 @@ import type { BookingMailingListNote as BookingSignupNote, BookingPaymentCollect
7
7
  import type { AppointmentResourceId } from "../../../../../../core/src/index";
8
8
  import type { BookingFormService } from "../../nodes/booking-form.state";
9
9
  export interface BookingSubmitRequest {
10
+ shownTerms: AppointmentBookingTerms;
10
11
  formId: string;
11
12
  serviceId: string;
12
13
  resourceId?: string | null;
@@ -22,7 +23,7 @@ export interface BookingSubmitRequest {
22
23
  successUrl?: string;
23
24
  cancelUrl?: string;
24
25
  }
25
- export type BookingPackageSubmitRequest = Omit<BookingSubmitRequest, "altchaSolution" | "cancelUrl" | "discountCode" | "selectedCollectionOptionKind" | "successUrl"> & {
26
+ export type BookingPackageSubmitRequest = Omit<BookingSubmitRequest, "shownTerms" | "altchaSolution" | "cancelUrl" | "discountCode" | "selectedCollectionOptionKind" | "successUrl"> & {
26
27
  customerPassId: string;
27
28
  };
28
29
  export type BookingAppointmentSummary = {
@@ -39,7 +40,14 @@ export type BookingCustomerSummary = {
39
40
  name: string | null;
40
41
  phone: string | null;
41
42
  };
43
+ export type BookingPaymentChoices = Pick<BookingFormService, "id" | "priceAmount" | "priceCurrency" | "pricing" | "paymentTerms" | "paymentTermsAvailability">;
42
44
  export type BookingSubmitResponse = {
45
+ type: "review_required";
46
+ review: AppointmentBookingReview;
47
+ } | {
48
+ type: "payment_choice_required";
49
+ paymentChoices: BookingPaymentChoices;
50
+ } | {
43
51
  type: "booked";
44
52
  orderId: string;
45
53
  orderNumber: string;
@@ -1,5 +1,6 @@
1
+ import type { z } from 'zod';
2
+ import type { confirmedBookingIdentitySchema, eventBookingOutcomeSchema, eventRegisterResponseSchema, eventCheckoutResponseSchema, eventCheckoutStatusOutcomeSchema, eventCheckoutReturnResponseSchema, eventRegistrationSummarySchema } from '../schemas/events';
1
3
  import type { CheckoutSessionHandle, EmbeddedCheckoutBrowserContext } from '../../../../../../commerce/src/purchase/index';
2
- import type { BookingMailingListNote as BookingSignupNote } from '../../../../../../core/src/index';
3
4
  /**
4
5
  * Public event, registration, checkout and eligibility types
5
6
  *
@@ -145,62 +146,14 @@ export type EventRegistrationPaymentSubject = {
145
146
  scope: 'wholeSeries';
146
147
  submissionId: string;
147
148
  };
148
- export type EventRegistrationSummary = {
149
- paymentMethod: PaymentMethod;
150
- ticketLines?: readonly EventTicketLineSummary[];
151
- message: string;
152
- passCreditsUsed?: number;
153
- passCreditsRemaining?: number;
154
- };
149
+ export type ConfirmedBookingIdentity = z.infer<typeof confirmedBookingIdentitySchema>;
150
+ export type EventBookingOutcome = z.infer<typeof eventBookingOutcomeSchema>;
151
+ export type EventRegistrationSummary = z.infer<typeof eventRegistrationSummarySchema>;
155
152
  export type EventEmbeddedCheckout = CheckoutSessionHandle<'embedded'> & Readonly<{
156
153
  browser: EmbeddedCheckoutBrowserContext;
157
154
  expiresAt: string;
158
155
  }>;
159
- export type EventRegisterResponse = {
160
- kind: 'bookingComplete';
161
- reference: EventRegistrationStatusReference;
162
- summary: EventRegistrationSummary;
163
- mailingListSignupNote?: BookingSignupNote;
164
- demoBookingPass?: string;
165
- } | {
166
- kind: 'paymentDeferred';
167
- reference: EventRegistrationStatusReference;
168
- summary: EventRegistrationSummary;
169
- balance: {
170
- amountCents: number;
171
- currency: string;
172
- };
173
- mailingListSignupNote?: BookingSignupNote;
174
- demoBookingPass?: string;
175
- } | {
176
- kind: 'checkoutRequired';
177
- reference: EventRegistrationStatusReference;
178
- checkout: EventEmbeddedCheckout;
179
- submissionId: string;
180
- mailingListSignupNote?: BookingSignupNote;
181
- demoBookingPass?: string;
182
- } | {
183
- kind: 'paymentStatusRequired';
184
- subject: EventRegistrationPaymentSubject;
185
- mailingListSignupNote?: BookingSignupNote;
186
- demoBookingPass?: string;
187
- } | {
188
- kind: 'waitlisted';
189
- mailingListSignupNote?: BookingSignupNote;
190
- demoBookingPass?: string;
191
- waitlist: {
192
- reference: {
193
- scope: 'occurrence';
194
- attendeeId: string;
195
- } | {
196
- scope: 'occurrence' | 'wholeSeries';
197
- waitlistEntryId: string;
198
- };
199
- position: number | null;
200
- message: string;
201
- emailFollowupMessage?: string;
202
- };
203
- };
156
+ export type EventRegisterResponse = z.infer<typeof eventRegisterResponseSchema>;
204
157
  /** Type of checkout for event payment */
205
158
  export type EventCheckoutType = 'event' | 'pass_bundle' | 'membership_bundle';
206
159
  type EventCheckoutRequestCommon = {
@@ -238,44 +191,7 @@ export type EventCheckoutRequest = EventCheckoutRequestCommon & ({
238
191
  checkoutAttemptId: string;
239
192
  collectionOptionKind: DirectCheckoutCollectionOptionKind;
240
193
  });
241
- type CheckoutOutcome = Readonly<{
242
- kind: 'checkoutRequired';
243
- checkout: EventEmbeddedCheckout;
244
- }> | Readonly<{
245
- kind: 'completed';
246
- deferredBalance?: {
247
- amountCents: number;
248
- currency: string;
249
- };
250
- }>;
251
- type OccurrenceCheckoutResponse = CheckoutOutcome & Readonly<{
252
- scope: 'occurrence';
253
- attendeeId: string;
254
- mailingListSignupNote?: BookingSignupNote;
255
- }>;
256
- type WholeSeriesCheckoutResponse = CheckoutOutcome & Readonly<{
257
- scope: 'wholeSeries';
258
- registrationId: string;
259
- checkoutAttemptId: string;
260
- recoverableUntil?: string;
261
- mailingListSignupNote?: BookingSignupNote;
262
- }>;
263
- type WholeSeriesPaymentStatusRequired = Readonly<{
264
- scope: 'wholeSeries';
265
- status: 'paymentStatusRequired';
266
- checkoutAttemptId: string;
267
- recoverableUntil?: string;
268
- mailingListSignupNote?: BookingSignupNote;
269
- }>;
270
- type WholeSeriesWaitlistResponse = Readonly<{
271
- scope: 'wholeSeries';
272
- status: 'waitlist';
273
- waitlistEntryId: string;
274
- waitlistPosition: number | null;
275
- alreadyRegistered?: boolean;
276
- mailingListSignupNote?: BookingSignupNote;
277
- }>;
278
- export type EventCheckoutResponse = OccurrenceCheckoutResponse | WholeSeriesCheckoutResponse | WholeSeriesPaymentStatusRequired | WholeSeriesWaitlistResponse;
194
+ export type EventCheckoutResponse = z.infer<typeof eventCheckoutResponseSchema>;
279
195
  export interface EligiblePass {
280
196
  customerPassId: string;
281
197
  passName: string;
@@ -351,49 +267,7 @@ export type EventCheckoutReturnRequest = {
351
267
  kind: 'checkStatus';
352
268
  subject: EventRegistrationPaymentSubject;
353
269
  };
354
- export type EventCheckoutStatusOutcome = {
355
- kind: 'resolved';
356
- reference: EventRegistrationStatusReference;
357
- deferredBalance?: {
358
- amountCents: number;
359
- currency: string;
360
- };
361
- } | {
362
- kind: 'abandoned';
363
- } | {
364
- kind: 'notFound';
365
- } | {
366
- kind: 'reconciliationRequired';
367
- } | {
368
- kind: 'paymentProcessing';
369
- recoverableUntil?: string;
370
- } | {
371
- kind: 'paymentAvailable';
372
- checkout: EventEmbeddedCheckout;
373
- recoverableUntil?: string;
374
- }
375
- /** The customer may book again. `held`: their place is still reserved, so a
376
- * fresh submission replaces the unpaid attempt on it. `released`: the place
377
- * went back to availability and must be won again. */
378
- | {
379
- kind: 'paymentRetryAvailable';
380
- place: 'held' | 'released';
381
- } | {
382
- kind: 'paymentCheckUnavailable';
383
- recoverableUntil?: string;
384
- } | {
385
- kind: 'paymentAssistanceRequired';
386
- };
387
- /** A subject is returned only after the server verifies the exact checkout binding. */
388
- export type EventCheckoutReturnResponse = {
389
- kind: 'checkout';
390
- subject: EventRegistrationPaymentSubject;
391
- outcome: Exclude<EventCheckoutStatusOutcome, {
392
- kind: 'notFound';
393
- }>;
394
- } | {
395
- kind: 'notFound';
396
- } | {
397
- kind: 'reconciliationRequired';
398
- };
270
+ export type EventCheckoutStatusOutcome = z.infer<typeof eventCheckoutStatusOutcomeSchema>;
271
+ /** Returned only after verifying the exact checkout binding. */
272
+ export type EventCheckoutReturnResponse = z.infer<typeof eventCheckoutReturnResponseSchema>;
399
273
  export {};
@@ -1471,7 +1471,7 @@ export declare const runtimeBackedBlockClientEntries: {
1471
1471
  showCapacity?: boolean;
1472
1472
  successMessage?: string;
1473
1473
  buttonVariant?: import("../../..").BlockButtonRole;
1474
- overlayEnabled?: boolean;
1474
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1475
1475
  spamProtectionEnabled?: boolean;
1476
1476
  stage?: "preview" | "published";
1477
1477
  supportEmail?: string;
@@ -1483,6 +1483,13 @@ export declare const runtimeBackedBlockClientEntries: {
1483
1483
  }> | null;
1484
1484
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1485
1485
  siteName?: string;
1486
+ bookingOfferingPresets?: readonly Readonly<{
1487
+ id: string;
1488
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1489
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1490
+ label: string;
1491
+ pluralLabel: string;
1492
+ }>[] | null;
1486
1493
  }>) => Readonly<{
1487
1494
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
1488
1495
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "events" | "className" | "buttonText"> & {
@@ -1510,7 +1517,7 @@ export declare const runtimeBackedBlockClientEntries: {
1510
1517
  showCapacity?: boolean;
1511
1518
  successMessage?: string;
1512
1519
  buttonVariant?: import("../../..").BlockButtonRole;
1513
- overlayEnabled?: boolean;
1520
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1514
1521
  spamProtectionEnabled?: boolean;
1515
1522
  stage?: "preview" | "published";
1516
1523
  supportEmail?: string;
@@ -1522,6 +1529,13 @@ export declare const runtimeBackedBlockClientEntries: {
1522
1529
  }> | null;
1523
1530
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1524
1531
  siteName?: string;
1532
+ bookingOfferingPresets?: readonly Readonly<{
1533
+ id: string;
1534
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1535
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1536
+ label: string;
1537
+ pluralLabel: string;
1538
+ }>[] | null;
1525
1539
  }>) => unknown;
1526
1540
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
1527
1541
  siteId?: string;
@@ -1542,7 +1556,7 @@ export declare const runtimeBackedBlockClientEntries: {
1542
1556
  showCapacity?: boolean;
1543
1557
  successMessage?: string;
1544
1558
  buttonVariant?: import("../../..").BlockButtonRole;
1545
- overlayEnabled?: boolean;
1559
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1546
1560
  spamProtectionEnabled?: boolean;
1547
1561
  stage?: "preview" | "published";
1548
1562
  supportEmail?: string;
@@ -1554,6 +1568,13 @@ export declare const runtimeBackedBlockClientEntries: {
1554
1568
  }> | null;
1555
1569
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1556
1570
  siteName?: string;
1571
+ bookingOfferingPresets?: readonly Readonly<{
1572
+ id: string;
1573
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1574
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1575
+ label: string;
1576
+ pluralLabel: string;
1577
+ }>[] | null;
1557
1578
  }>>;
1558
1579
  }>;
1559
1580
  render: Readonly<{
@@ -1596,7 +1617,7 @@ export declare const runtimeBackedBlockClientEntries: {
1596
1617
  showCapacity?: boolean;
1597
1618
  successMessage?: string;
1598
1619
  buttonVariant?: import("../../..").BlockButtonRole;
1599
- overlayEnabled?: boolean;
1620
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1600
1621
  spamProtectionEnabled?: boolean;
1601
1622
  stage?: "preview" | "published";
1602
1623
  supportEmail?: string;
@@ -1608,6 +1629,13 @@ export declare const runtimeBackedBlockClientEntries: {
1608
1629
  }> | null;
1609
1630
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1610
1631
  siteName?: string;
1632
+ bookingOfferingPresets?: readonly Readonly<{
1633
+ id: string;
1634
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1635
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1636
+ label: string;
1637
+ pluralLabel: string;
1638
+ }>[] | null;
1611
1639
  }>) => Readonly<{
1612
1640
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
1613
1641
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "events" | "className" | "buttonText"> & {
@@ -1635,7 +1663,7 @@ export declare const runtimeBackedBlockClientEntries: {
1635
1663
  showCapacity?: boolean;
1636
1664
  successMessage?: string;
1637
1665
  buttonVariant?: import("../../..").BlockButtonRole;
1638
- overlayEnabled?: boolean;
1666
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1639
1667
  spamProtectionEnabled?: boolean;
1640
1668
  stage?: "preview" | "published";
1641
1669
  supportEmail?: string;
@@ -1647,6 +1675,13 @@ export declare const runtimeBackedBlockClientEntries: {
1647
1675
  }> | null;
1648
1676
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1649
1677
  siteName?: string;
1678
+ bookingOfferingPresets?: readonly Readonly<{
1679
+ id: string;
1680
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1681
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1682
+ label: string;
1683
+ pluralLabel: string;
1684
+ }>[] | null;
1650
1685
  }>) => unknown;
1651
1686
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
1652
1687
  siteId?: string;
@@ -1667,7 +1702,7 @@ export declare const runtimeBackedBlockClientEntries: {
1667
1702
  showCapacity?: boolean;
1668
1703
  successMessage?: string;
1669
1704
  buttonVariant?: import("../../..").BlockButtonRole;
1670
- overlayEnabled?: boolean;
1705
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
1671
1706
  spamProtectionEnabled?: boolean;
1672
1707
  stage?: "preview" | "published";
1673
1708
  supportEmail?: string;
@@ -1679,6 +1714,13 @@ export declare const runtimeBackedBlockClientEntries: {
1679
1714
  }> | null;
1680
1715
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
1681
1716
  siteName?: string;
1717
+ bookingOfferingPresets?: readonly Readonly<{
1718
+ id: string;
1719
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
1720
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
1721
+ label: string;
1722
+ pluralLabel: string;
1723
+ }>[] | null;
1682
1724
  }>>;
1683
1725
  }>;
1684
1726
  render: Readonly<{
@@ -745,7 +745,7 @@ export declare const runtimeBackedBlockServerEntries: {
745
745
  showCapacity?: boolean;
746
746
  successMessage?: string;
747
747
  buttonVariant?: import("../../..").BlockButtonRole;
748
- overlayEnabled?: boolean;
748
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
749
749
  spamProtectionEnabled?: boolean;
750
750
  stage?: "preview" | "published";
751
751
  supportEmail?: string;
@@ -757,6 +757,13 @@ export declare const runtimeBackedBlockServerEntries: {
757
757
  }> | null;
758
758
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
759
759
  siteName?: string;
760
+ bookingOfferingPresets?: readonly Readonly<{
761
+ id: string;
762
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
763
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
764
+ label: string;
765
+ pluralLabel: string;
766
+ }>[] | null;
760
767
  }>) => Readonly<{
761
768
  display: import("../nodes/event-registration.interactive").EventRegistrationDisplay;
762
769
  hydration: Readonly<Omit<import("../nodes/event-registration").EventRegistrationClientProps, "stage" | "siteId" | "events" | "className" | "buttonText"> & {
@@ -784,7 +791,7 @@ export declare const runtimeBackedBlockServerEntries: {
784
791
  showCapacity?: boolean;
785
792
  successMessage?: string;
786
793
  buttonVariant?: import("../../..").BlockButtonRole;
787
- overlayEnabled?: boolean;
794
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
788
795
  spamProtectionEnabled?: boolean;
789
796
  stage?: "preview" | "published";
790
797
  supportEmail?: string;
@@ -796,6 +803,13 @@ export declare const runtimeBackedBlockServerEntries: {
796
803
  }> | null;
797
804
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
798
805
  siteName?: string;
806
+ bookingOfferingPresets?: readonly Readonly<{
807
+ id: string;
808
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
809
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
810
+ label: string;
811
+ pluralLabel: string;
812
+ }>[] | null;
799
813
  }>) => unknown;
800
814
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
801
815
  siteId?: string;
@@ -816,7 +830,7 @@ export declare const runtimeBackedBlockServerEntries: {
816
830
  showCapacity?: boolean;
817
831
  successMessage?: string;
818
832
  buttonVariant?: import("../../..").BlockButtonRole;
819
- overlayEnabled?: boolean;
833
+ host?: import("../nodes/event-registration/bookingCardDisplay").BookingHost;
820
834
  spamProtectionEnabled?: boolean;
821
835
  stage?: "preview" | "published";
822
836
  supportEmail?: string;
@@ -828,6 +842,13 @@ export declare const runtimeBackedBlockServerEntries: {
828
842
  }> | null;
829
843
  mailingList?: import("../../../../../core/src/index").MailingListRuntimeContext;
830
844
  siteName?: string;
845
+ bookingOfferingPresets?: readonly Readonly<{
846
+ id: string;
847
+ canonicalBehaviour: import("../../blocks/offerings-preview/model").BookingOfferingCanonicalBehaviour;
848
+ engine: import("../../blocks/offerings-preview/model").BookingOfferingEngine;
849
+ label: string;
850
+ pluralLabel: string;
851
+ }>[] | null;
831
852
  }>>;
832
853
  }>;
833
854
  render: Readonly<{
@@ -10,6 +10,8 @@ export type BookingSubmissionState = {
10
10
  };
11
11
  export type BookingSubmissionAction = {
12
12
  type: 'submission-started';
13
+ } | {
14
+ type: 'submission-reviewed';
13
15
  } | {
14
16
  type: 'submission-succeeded';
15
17
  message: string;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { MailingListRuntimeContext } from "../../../../../core/src/index";
2
+ import type { AppointmentBookingReview, MailingListRuntimeContext } from "../../../../../core/src/index";
3
3
  import { type BlockApiConfig } from "../api";
4
4
  import type { AutoAppliedDiscountPreview } from "../api/types";
5
5
  import type { BookingFormConfig, BookingFormData, BookingFormService, BookingFormServiceCategory, BookingSelectedCollectionOptionKind } from "../nodes/booking-form.state";
@@ -141,6 +141,8 @@ export type HeadlessBookingFlow = Readonly<{
141
141
  mailingList: Readonly<{
142
142
  siteName: string;
143
143
  }> | null;
144
+ review: AppointmentBookingReview | null;
145
+ paymentAnchorAt: string;
144
146
  mailingListOptIn: boolean;
145
147
  status: BookingFlowStatus;
146
148
  view: BookingFlowView;
@@ -1,4 +1,4 @@
1
- export { unsafeAsBookingFieldId, bookingFlowReducer, bookingSlidingAmountDefault, planBookingNavigation, planBookingFlowReset, planBookingSubmissionStart, buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createBookingBlockApiConfig, createInitialBookingFlowReducerState, deriveBookingSlotDisplayOptions, describeUnknownError, deriveBookingFieldViews, deriveBookingFlowSteps, getAppointmentBookingOverrideInput, resolveAppointmentPackagesModel, resolveAvailabilitySelectionInvalidation, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, toOptionalAppointmentResourceId, toOptionalAppointmentServiceId, validateBookingField, validateBookingFields, validateBookingStep, } from "../nodes/booking-form.headless.state";
1
+ export { unsafeAsBookingFieldId, bookingFlowReducer, applyBookingPaymentChoices, bookingSlidingAmountDefault, planBookingNavigation, planBookingFlowReset, planBookingSubmissionStart, buildBookingAvailabilityQuery, buildBookingStepPlan, buildBookingSubmitPlan, createBookingBlockApiConfig, createInitialBookingFlowReducerState, deriveBookingSlotDisplayOptions, describeUnknownError, deriveBookingFieldViews, deriveBookingFlowSteps, getAppointmentBookingOverrideInput, resolveAppointmentPackagesModel, resolveAvailabilitySelectionInvalidation, resolveHeadlessBookingStatus, resolveHeadlessBookingView, toBookingFormData, toBookingSlotView, toBookingSlotViews, toOptionalAppointmentResourceId, toOptionalAppointmentServiceId, validateBookingField, validateBookingFields, validateBookingStep, } from "../nodes/booking-form.headless.state";
2
2
  export type { BookingValidationErrors } from "../nodes/booking-form.validationErrors";
3
3
  export { createEmptyBookingValidationErrors, createFieldBookingValidationErrors, createFormBookingValidationError, hasBookingValidationErrors, } from "../nodes/booking-form.validationErrors";
4
4
  export { formatBookingCentsAsCurrencyInput, getBookingServiceSlidingScale, parseBookingCurrencyInputToCents, } from "../nodes/booking-form.state";
@@ -1,3 +1,5 @@
1
+ import type { AppointmentBookingReview } from "../../../../../core/src/index";
2
+ import type { BookingPaymentChoices } from "../api/types/appointments";
1
3
  import type { BookingMailingListNote as BookingSignupNote } from '../../../../../core/src/index';
2
4
  import type { AppointmentResourceId, AppointmentServiceId, Brand, CustomerPassId, FormId, PassId, SiteId } from "../../../../../core/src/index";
3
5
  import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
@@ -132,6 +134,14 @@ export type BookingSubmitOptions = Readonly<{
132
134
  cancelUrl?: string;
133
135
  }>;
134
136
  export type BookingSubmitActionResult = Readonly<{
137
+ ok: false;
138
+ reason: "review-required";
139
+ review: AppointmentBookingReview;
140
+ }> | Readonly<{
141
+ ok: false;
142
+ reason: "payment-choice-required";
143
+ paymentChoices: BookingPaymentChoices;
144
+ }> | Readonly<{
135
145
  ok: true;
136
146
  outcome: {
137
147
  kind: "booked";
@@ -171,6 +181,8 @@ export type BookingFieldView = Readonly<{
171
181
  ariaInvalid: boolean;
172
182
  }>;
173
183
  export type BookingFlowReducerState = Readonly<{
184
+ review: AppointmentBookingReview | null;
185
+ paymentChoices?: BookingPaymentChoices;
174
186
  phase: BookingFlowPhase;
175
187
  currentStepId: BookingFlowStepId;
176
188
  selectedServiceId?: AppointmentServiceId;
@@ -196,6 +208,12 @@ export type BookingFlowReducerState = Readonly<{
196
208
  feedback: BookingFlowFeedback;
197
209
  }>;
198
210
  export type BookingFlowEvent = Readonly<{
211
+ type: "review-required";
212
+ review: AppointmentBookingReview;
213
+ }> | Readonly<{
214
+ type: "payment-choice-required";
215
+ paymentChoices: BookingPaymentChoices;
216
+ }> | Readonly<{
199
217
  type: 'resources-received';
200
218
  resources: readonly BookingResourceView[];
201
219
  autoSelect: boolean;
@@ -276,6 +294,7 @@ export type BuildBookingStepPlanInput = Readonly<{
276
294
  data: Partial<BookingFormData>;
277
295
  defaultServiceId?: AppointmentServiceId;
278
296
  defaultResourceId?: AppointmentResourceId;
297
+ forcePaymentSelection?: boolean;
279
298
  requiresServiceSelection?: boolean;
280
299
  requiresResourceSelection?: boolean;
281
300
  enableAppointmentPackages?: boolean;
@@ -299,6 +318,7 @@ export type BookingStepValidationResult = Readonly<{
299
318
  errors: BookingValidationErrors;
300
319
  }>;
301
320
  export type DeriveBookingFlowStepsInput = Readonly<{
321
+ forcePaymentSelection?: boolean;
302
322
  nowIso: string;
303
323
  form: BookingFormConfig | null;
304
324
  services: readonly BookingFormService[];
@@ -531,6 +551,7 @@ export declare function buildBookingSubmitPlan(input: Readonly<{
531
551
  successUrl?: string;
532
552
  cancelUrl?: string;
533
553
  mailingListEligible?: boolean;
554
+ promisedDiscountId?: string | null;
534
555
  }>): BookingSubmitPlan;
535
556
  export declare function getAppointmentBookingOverrideInput(props: AppointmentBookingOverridePropsLike): AppointmentBookingOverrideInputResult;
536
557
  export declare function createBookingBlockApiConfig(input: Readonly<{
@@ -641,3 +662,5 @@ export declare function planBookingPackageAcceptance(input: Readonly<{
641
662
  state: BookingFlowReducerState;
642
663
  packages: readonly EligibleAppointmentPackage[];
643
664
  }>): readonly BookingFlowEvent[];
665
+ /** Applies server-owned recovery facts to the existing catalogue model. */
666
+ export declare function applyBookingPaymentChoices(services: readonly BookingFormService[], choices: BookingPaymentChoices | undefined): readonly BookingFormService[];
@@ -1,3 +1,4 @@
1
+ import type { AppointmentBookingTerms } from "../../../../../core/src/index";
1
2
  import type { BookingPaymentCollectionOptionKind } from "../../../../../core/src/index";
2
3
  import { type ResolvedBookingCollectionOption } from "../../../../../commerce/src/purchase/index";
3
4
  import type { BlockBookingPaymentTerms } from "../../blocks/shared/bookingPaymentTerms";
@@ -100,6 +101,7 @@ type BookingSubmissionCommon = Readonly<{
100
101
  }>;
101
102
  export type BookingSubmissionData = (BookingSubmissionCommon & Readonly<{
102
103
  kind: "standard";
104
+ shownTerms: AppointmentBookingTerms;
103
105
  discountCode?: string;
104
106
  selectedSlidingAmount?: number;
105
107
  selectedCollectionOptionKind?: BookingSelectedCollectionOptionKind;
@@ -269,6 +271,8 @@ type BookingSubmissionInput = Readonly<{
269
271
  defaultResourceId?: string | null;
270
272
  altchaSolution?: string | null;
271
273
  viewerTimeZone?: string | null;
274
+ shownTerms?: AppointmentBookingTerms;
275
+ promisedDiscountId?: string | null;
272
276
  }>;
273
277
  export declare function prepareBookingSubmission(input: BookingSubmissionInput): BookingSubmissionPreparationResult;
274
278
  export declare function formatBookingSubmissionPreparationError(error: BookingSubmissionPreparationError): string;
@@ -278,9 +282,9 @@ export type BookingSuccessCopy = Readonly<{
278
282
  }>;
279
283
  export declare function getBookingSuccessCopy(successMessage: string | null | undefined): BookingSuccessCopy;
280
284
  export declare function getRegistrationSuccessCopy(result: Readonly<{
281
- status?: 'confirmed' | 'waitlist';
285
+ status: 'confirmed' | 'waitlist';
282
286
  variant?: 'success' | 'info';
283
287
  message?: string | null;
284
288
  emailFollowupMessage?: string | null;
285
- }> | null, fallback: string | null | undefined): BookingSuccessCopy;
289
+ }>, fallback: string | null | undefined): BookingSuccessCopy;
286
290
  export declare function getShopSuccessCopy(outcome: 'success' | 'cancelled'): BookingSuccessCopy;
@@ -0,0 +1,6 @@
1
+ import type { UseEmblaCarouselType } from "embla-carousel-react";
2
+ import { type CarouselSelection } from "./carousel.client.state";
3
+ type CarouselApi = UseEmblaCarouselType[1];
4
+ export declare function useCarouselSelection(api: CarouselApi): CarouselSelection;
5
+ export declare function useAutoplayVisibility(api: CarouselApi, enabled: boolean): void;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ export type CarouselSelection = Readonly<{
2
+ selectedIndex: number;
3
+ scrollSnaps: readonly number[];
4
+ canScrollPrev: boolean;
5
+ canScrollNext: boolean;
6
+ }>;
7
+ export declare const INITIAL_CAROUSEL_SELECTION: CarouselSelection;