@riverbankcms/sdk 0.134.0 → 0.135.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 (258) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DfRhJPFQ.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-Dppxcr_g.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-8CyGCXir.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +5 -5
  7. package/dist/{SiteChromeCustomizeContext-DVMTMvqA.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4070 -8011
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +15 -15
  10. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
  12. package/dist/_dts/api/src/bookingOperations.d.ts +111 -161
  13. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
  14. package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
  15. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  16. package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
  17. package/dist/_dts/api/src/bookings.d.ts +5 -9
  18. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
  19. package/dist/_dts/api/src/communications.d.ts +1 -1
  20. package/dist/_dts/api/src/endpoints.d.ts +29 -109
  21. package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
  22. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
  23. package/dist/_dts/api/src/index.d.ts +3 -4
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  26. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
  27. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
  28. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +85 -5
  29. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -100
  31. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
  32. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
  33. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
  34. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  35. package/dist/_dts/api/src/siteOperations.d.ts +2 -2
  36. package/dist/_dts/api/src/types.d.ts +1 -1
  37. package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
  38. package/dist/_dts/blocks/src/client.d.ts +0 -5
  39. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  40. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +5 -94
  41. package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
  42. package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
  43. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
  44. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +10 -10
  45. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +3 -0
  46. package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
  47. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +3 -3
  48. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
  49. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
  51. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
  52. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
  53. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +99 -59
  56. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
  58. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
  61. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  63. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +20 -5
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
  88. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -6
  90. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
  91. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
  92. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
  93. package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  96. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -1
  98. package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
  99. package/dist/_dts/commerce/src/index.d.ts +16 -0
  100. package/dist/_dts/commerce/src/money.d.ts +122 -0
  101. package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
  102. package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
  103. package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
  104. package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
  105. package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
  106. package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
  107. package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
  108. package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
  109. package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
  110. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
  111. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
  112. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
  113. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
  114. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
  115. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
  116. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
  117. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
  118. package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
  119. package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
  120. package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
  121. package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
  122. package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
  123. package/dist/_dts/commerce/src/types/json.d.ts +3 -0
  124. package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
  125. package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
  126. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
  127. package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
  128. package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
  129. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
  130. package/dist/_dts/core/src/branded.d.ts +3 -3
  131. package/dist/_dts/core/src/event-pricing.d.ts +6 -6
  132. package/dist/_dts/core/src/participants.d.ts +17 -17
  133. package/dist/_dts/core/src/rectification.d.ts +1 -1
  134. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +890 -2154
  135. package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
  136. package/dist/_dts/sdk/src/bookings/types.d.ts +34 -4
  137. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
  138. package/dist/_dts/sdk/src/version.d.ts +1 -1
  139. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  142. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  143. package/dist/client/{usePolling-UN4WKnaM.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
  144. package/dist/client/{DiscountCodeDisclosure-CfuPOHD0.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
  145. package/dist/client/{EventCombined.client-DB8Qfzi-.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
  146. package/dist/client/{EventListing.client-DD4X8hp4.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
  147. package/dist/client/{LeafletStaticMap-QhgIBQbv.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
  148. package/dist/client/{accordion-DFXpLvwg.mjs → accordion-BA0j8Mpw.mjs} +1 -1
  149. package/dist/client/{bookingForm-sI05d3lk.mjs → bookingForm-Br2e41H0.mjs} +6 -7
  150. package/dist/client/bookings.mjs +912 -1906
  151. package/dist/client/{carousel-wjyWTZCh.mjs → carousel-B4dmwnpD.mjs} +1 -1
  152. package/dist/client/{cart-DCwdpA4i.mjs → cart-B_ckGW4b.mjs} +3 -3
  153. package/dist/client/{checkout-DTDW3l0R.mjs → checkout-DAyspHdf.mjs} +3 -3
  154. package/dist/client/{checkoutUrls-DQYC_Br-.mjs → checkoutUrls-BuseL0dw.mjs} +4 -2
  155. package/dist/client/client.mjs +5074 -9309
  156. package/dist/client/{context-TSK1CGx8.mjs → context-DljQn8L5.mjs} +15 -69
  157. package/dist/client/{eventCalendar-B0Zg-i_w.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
  158. package/dist/client/{eventCombined-B8Y2wizd.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
  159. package/dist/client/{eventDetails-DPDOwURJ.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
  160. package/dist/client/{eventListing-CjBcmSLn.mjs → eventListing-B9aXPO-I.mjs} +3 -3
  161. package/dist/client/{eventRegistration-CK30HsAq.mjs → eventRegistration-CBSovBkg.mjs} +4522 -3690
  162. package/dist/client/{form-CUXfsABE.mjs → form-Cm0tu_7o.mjs} +2 -2
  163. package/dist/client/{headerSection-N-mN3rjr.mjs → headerSection-OgRtHeKS.mjs} +2 -2
  164. package/dist/client/hooks.mjs +430 -692
  165. package/dist/client/{locationMap-oiIDQMBt.mjs → locationMap-DmjcYqNM.mjs} +2 -2
  166. package/dist/client/{newsletterForm-CkQ2tTrM.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
  167. package/dist/client/{productDetail-CnidyrsN.mjs → productDetail-BqZeu2P4.mjs} +3 -3
  168. package/dist/client/{productList-CttYcS_S.mjs → productList-mNyIF9FG.mjs} +3 -3
  169. package/dist/client/{propsDecoder-CeUMxI9a.mjs → propsDecoder-DwHXRm9X.mjs} +4656 -4419
  170. package/dist/client/rendering/client.mjs +59504 -62158
  171. package/dist/client/rendering/islands.mjs +17 -19
  172. package/dist/client/rendering.mjs +5354 -9683
  173. package/dist/client/{scrollToBlock-lPr1oqxB.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
  174. package/dist/client/{shop-DXQtMo2O.mjs → shop-CNjZK16F.mjs} +6 -6
  175. package/dist/client/{shop-commerce-quDL411J.mjs → shop-commerce-DkNNao1J.mjs} +6 -6
  176. package/dist/client/{shop-commerce-store-Dnu-8Iub.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
  177. package/dist/client/{shopShared-BWPUURvG.mjs → shopShared-CHCVfccY.mjs} +3 -3
  178. package/dist/client/{useEventFilters-DRhWp2_5.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
  179. package/dist/preview-next/before-render.mjs +40 -161
  180. package/dist/preview-next/client/runtime.mjs +4 -4
  181. package/dist/preview-next/keepAlive.mjs +40 -161
  182. package/dist/preview-next/middleware.mjs +40 -161
  183. package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
  184. package/dist/{sdk-runtime-Ca5RD78X.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
  185. package/dist/{separator-CMhj6BTi.mjs → separator-D3bCWYYb.mjs} +1 -1
  186. package/dist/server/components.mjs +535 -2950
  187. package/dist/server/config-validation.mjs +430 -692
  188. package/dist/server/config.mjs +430 -692
  189. package/dist/server/data.mjs +430 -692
  190. package/dist/server/index.mjs +41 -162
  191. package/dist/server/next.mjs +549 -2964
  192. package/dist/server/page-converter.mjs +331 -560
  193. package/dist/server/prebuild.mjs +1 -1
  194. package/dist/server/rendering/server.mjs +534 -2855
  195. package/dist/server/rendering.mjs +535 -2950
  196. package/dist/server/routing.mjs +574 -1065
  197. package/dist/server/server.mjs +444 -706
  198. package/dist/server/theme-bridge.mjs +41 -1524
  199. package/dist/styles/index.css +41 -1348
  200. package/package.json +1 -1
  201. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
  202. package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
  203. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
  204. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
  205. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  206. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
  207. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
  208. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
  209. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -135
  210. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
  211. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
  212. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
  213. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
  214. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
  215. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
  216. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
  217. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
  218. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
  219. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
  220. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
  221. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
  222. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
  223. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
  224. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
  225. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
  226. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
  227. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
  228. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
  229. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
  230. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
  231. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
  232. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
  233. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
  234. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -46
  235. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
  236. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
  237. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
  238. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
  239. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
  240. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
  241. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
  242. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
  243. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
  244. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
  245. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
  246. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
  247. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -325
  248. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
  249. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
  250. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
  251. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
  252. package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
  253. package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
  254. package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
  255. package/dist/client/BookingConsentAgreement-BxgpGEFD.mjs +0 -160
  256. package/dist/client/WholeSeriesRegistrationWizard-DwtC7bCs.mjs +0 -2546
  257. package/dist/client/courseRegistration-A-Tg7qw_.mjs +0 -52
  258. package/dist/client/pricing-Caa0QWzh.mjs +0 -195
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { ResolvedWholeSeriesPricingState } from '../../../blocks/events/whole-series';
3
+ type WholeSeriesPricingDisplayProps = {
4
+ pricing: ResolvedWholeSeriesPricingState;
5
+ acceptedItems: readonly string[];
6
+ };
7
+ export declare function WholeSeriesPricingDisplay({ pricing, acceptedItems, }: WholeSeriesPricingDisplayProps): React.JSX.Element;
8
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { RegistrationTicketType } from './types';
3
+ export declare function EventRegistrationBookingLayer(props: Readonly<{
4
+ registrationRootClassName: string;
5
+ portalRoot: HTMLElement | null;
6
+ overlayOpen: boolean;
7
+ isWizardStep: boolean;
8
+ priceLabel: string | null;
9
+ availabilityLabel: string | null;
10
+ ticketTypes: readonly RegistrationTicketType[];
11
+ ticketCurrency: string | null;
12
+ buttonClass: string;
13
+ formatTicketPrice: (ticketType: RegistrationTicketType) => string;
14
+ onOpen: () => void;
15
+ onClose: () => void;
16
+ overlaySurface: React.ReactNode;
17
+ }>): React.JSX.Element;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
+ export type EventPortalAuthCopy = Readonly<{
4
+ title: string;
5
+ description: string;
6
+ buttonText: string;
7
+ }>;
8
+ export declare function EventRegistrationSurface(props: Readonly<{
9
+ variant: 'inline' | 'overlay';
10
+ wizard: UseEventRegistrationWizardResult;
11
+ isWizardStep: boolean;
12
+ currentStepNumber: number;
13
+ totalSteps: number;
14
+ stepLabels: string[];
15
+ showPortalAuthPrompt: boolean;
16
+ portalAuthCopy: EventPortalAuthCopy;
17
+ showVenue: boolean;
18
+ showCapacity: boolean;
19
+ showSpamProtection: boolean;
20
+ buttonText: string;
21
+ buttonClass: string;
22
+ supportEmail?: string;
23
+ successMessage: string;
24
+ }>): React.JSX.Element;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { EligibilityData, PaymentStepState } from './types';
3
+ export declare function resolvePaymentStepStatus(input: Readonly<{
4
+ loading: boolean;
5
+ error: string | null;
6
+ eligibility: EligibilityData | null;
7
+ }>): PaymentStepState['status'];
8
+ export declare function shouldPromptForLogin(status: PaymentStepState['status'], isAuthenticated: boolean, eligibility: EligibilityData | null): boolean;
9
+ export declare function PaymentBlockingPanel(props: Readonly<{
10
+ eligibility: EligibilityData | null;
11
+ eligibilityLoading: boolean;
12
+ eligibilityError: string | null;
13
+ occurrenceId: string;
14
+ email: string;
15
+ ticketsCount: number;
16
+ isAuthenticated: boolean;
17
+ onRequestLogin?: () => void;
18
+ }>): React.JSX.Element | null;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
2
  import type { EventTicketSelectionLine, OccurrenceContext, RegistrationAttendanceMode, RegistrationEvent } from './types';
3
3
  import { getVisibleTicketTypes } from './utils';
4
+ export type TicketSelectionBookingUnit = Readonly<{
5
+ kind: 'ticket' | 'place';
6
+ includedSessionCount?: number;
7
+ }>;
4
8
  type TicketSelectionStepProps = {
5
9
  event: RegistrationEvent | null;
6
10
  occurrenceContext?: OccurrenceContext | null;
@@ -20,6 +24,7 @@ type TicketSelectionStepProps = {
20
24
  slidingScaleSelectionMessage?: string | null;
21
25
  onSlidingAmountChange?: (amount: string) => void;
22
26
  onTicketsChange: (count: number) => void;
27
+ bookingUnit?: TicketSelectionBookingUnit;
23
28
  };
24
29
  /**
25
30
  * Ticket Selection Step
@@ -1 +1,2 @@
1
1
  export declare const EVENT_REGISTRATION_ANCHOR_ID = "event-registration";
2
+ export declare const EVENT_REGISTRATION_CHECKOUT_ATTEMPT_PARAM = "registration_attempt";
@@ -127,7 +127,7 @@ export type EventRegistrationPaymentSelection = Readonly<{
127
127
  method: 'free';
128
128
  }> | Readonly<{
129
129
  method: 'stripe';
130
- collectionOptionKind?: DirectCheckoutCollectionOptionKind;
130
+ collectionOptionKind: DirectCheckoutCollectionOptionKind;
131
131
  }> | Readonly<{
132
132
  method: 'pass';
133
133
  passId: string;
@@ -239,7 +239,6 @@ export type EventRegistrationOverridePropsLike = Readonly<{
239
239
  showVenue: boolean | null;
240
240
  showCapacity: boolean | null;
241
241
  successMessage: string | null;
242
- waitlistMessage: string | null;
243
242
  buttonVariant: BlockButtonRole | null;
244
243
  buttonText: string | null;
245
244
  spamProtectionEnabled: boolean | null;
@@ -268,7 +267,6 @@ export type EventRegistrationOverrideInput = Readonly<{
268
267
  showVenue?: boolean;
269
268
  showCapacity?: boolean;
270
269
  successMessage?: string;
271
- waitlistMessage?: string;
272
270
  buttonText?: string | null;
273
271
  buttonVariant?: BlockButtonRole;
274
272
  spamProtectionEnabled?: boolean;
@@ -1,12 +1,14 @@
1
1
  import type { DirectCheckoutCollectionOptionKind } from '../../api/types';
2
2
  import type { BlockBookingPaymentCollectionOption, BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
3
+ import type { EventRegistrationAvailablePaymentOption } from '../../../blocks/event-registration';
3
4
  import { type BookingPaymentOptionViewModel } from '../../shared/bookingPaymentOptions';
4
5
  import type { PaymentSelection } from './types';
5
- type SupportedEventDirectPaymentOption = Extract<BlockBookingPaymentCollectionOption, {
6
- kind: 'upfront' | 'flexible_balance';
6
+ type EventDirectPaymentOption = Extract<BlockBookingPaymentCollectionOption, {
7
+ kind: 'upfront' | 'deferred_manual' | 'instalment_plan' | 'flexible_balance';
7
8
  }>;
9
+ export declare function getApprovedDirectPaymentCollectionOptionKinds(paymentOptions: readonly EventRegistrationAvailablePaymentOption[]): readonly DirectCheckoutCollectionOptionKind[];
8
10
  export type EventRegistrationDirectPaymentOption = Omit<BookingPaymentOptionViewModel, 'kind' | 'title'> & Readonly<{
9
- kind: Extract<DirectCheckoutCollectionOptionKind, SupportedEventDirectPaymentOption['kind']>;
11
+ kind: Extract<DirectCheckoutCollectionOptionKind, EventDirectPaymentOption['kind']>;
10
12
  label: string;
11
13
  totalCents: number;
12
14
  configuredPaymentDueNowCents: number;
@@ -33,7 +35,8 @@ export type EventRegistrationDirectPaymentSelectionState = Readonly<{
33
35
  }>;
34
36
  export declare function buildEventRegistrationPaymentOptionsViewModel(input: Readonly<{
35
37
  eventTitle: string;
36
- paymentTerms?: BlockBookingPaymentTerms | null;
38
+ approvedPaymentOptions: readonly EventRegistrationAvailablePaymentOption[];
39
+ paymentTerms: BlockBookingPaymentTerms;
37
40
  totalPriceCents: number;
38
41
  currency: string;
39
42
  startsAt?: string | null;
@@ -36,5 +36,4 @@ export declare const eventRegistrationPageSurfaceSubjectSchema: z.ZodType<EventR
36
36
  export declare function parseEventRegistrationPageSurfaceSubject(value: unknown): Result<EventPageSurfaceSubject, EventRegistrationPageSurfaceSubjectParseError>;
37
37
  export declare function normalizeEventRegistrationPageSurfaceSubject(value: unknown): EventRegistrationPageSurfaceSubject | null;
38
38
  export declare function resolveEventRegistrationScope(context: EventRegistrationScopeContext): EventRegistrationScope;
39
- export declare function applyEventRegistrationScope<TEvent extends EventRegistrationScopeableEvent>(events: readonly TEvent[], scope: EventRegistrationScope): TEvent[];
40
39
  export declare function resolveEventRegistrationScopedEvents<TEvent extends EventRegistrationScopeableEvent>(events: readonly TEvent[], context: EventRegistrationScopeContext): TEvent[];
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { useBlockApi } from '../../api';
8
8
  import type { PortalCredit } from '../../api';
9
- import type { EventTicketSelectionLine } from './types';
9
+ import type { EventTicketSelectionLine, RegistrationSubject } from './types';
10
10
  import { type EligibilityLookupState, type ExistingRegistrationLookupState } from './hooks.state';
11
11
  export type PortalAuthState = 'checking' | 'authenticated' | 'unauthenticated';
12
12
  export type PortalProfile = {
@@ -37,8 +37,6 @@ export type UsePortalAuthResult = {
37
37
  isChecking: boolean;
38
38
  /** Portal profile data (only available when authenticated) */
39
39
  profile: PortalProfile | null;
40
- /** Site credit loaded for the same authenticated portal identity. */
41
- creditState: PortalCreditState;
42
40
  /** Logout function */
43
41
  logout: () => void;
44
42
  };
@@ -58,22 +56,23 @@ export type UseEligibilityResult = {
58
56
  eligibility: EligibilityLookupState['eligibility'];
59
57
  isLoading: boolean;
60
58
  error: EligibilityLookupState['error'];
59
+ creditState: PortalCreditState;
61
60
  };
62
61
  export declare function useEligibility(params: {
63
62
  enabled: boolean;
64
- occurrenceId: string;
63
+ subject: RegistrationSubject | null;
65
64
  attendanceMode?: 'in_person' | 'online' | null;
66
65
  ticketSelections: readonly EventTicketSelectionLine[];
67
66
  selectedSlidingAmount?: number | null;
68
- email: string;
67
+ subjectEmail: string | null;
69
68
  }): UseEligibilityResult;
70
69
  export declare function useEligibilityWithDeps(params: {
71
70
  enabled: boolean;
72
- occurrenceId: string;
71
+ subject: RegistrationSubject | null;
73
72
  attendanceMode?: 'in_person' | 'online' | null;
74
73
  ticketSelections: readonly EventTicketSelectionLine[];
75
74
  selectedSlidingAmount?: number | null;
76
- email: string;
75
+ subjectEmail: string | null;
77
76
  }, deps: EventRegistrationHooksDeps): UseEligibilityResult;
78
77
  export type UseExistingEventRegistrationResult = {
79
78
  state: ExistingRegistrationLookupState;
@@ -85,5 +84,5 @@ type UseExistingEventRegistrationParams = {
85
84
  occurrenceId: string;
86
85
  };
87
86
  export declare function useExistingEventRegistration({ isAuthenticated, occurrenceId, }: UseExistingEventRegistrationParams): UseExistingEventRegistrationResult;
88
- export declare function useExistingEventRegistrationWithDeps({ isAuthenticated, occurrenceId, }: UseExistingEventRegistrationParams, deps: EventRegistrationHooksDeps): UseExistingEventRegistrationResult;
87
+ export declare function useExistingEventRegistrationWithDeps({ isAuthenticated, occurrenceId }: UseExistingEventRegistrationParams, deps: EventRegistrationHooksDeps): UseExistingEventRegistrationResult;
89
88
  export {};
@@ -9,7 +9,7 @@ export { AttendeeDetailsStep } from './AttendeeDetailsStep';
9
9
  export { MembershipHero } from './MembershipHero';
10
10
  export { PaymentSelectionStep } from './PaymentSelectionStep';
11
11
  export type { PaymentMethod } from './PaymentSelectionStep';
12
- export type { EligibilityCheckResponse, EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, } from '../../api/types';
12
+ export type { EligiblePass, EligibleMembership, AvailablePass, AvailableMembership, } from '../../api/types';
13
13
  export { SuccessStep } from './SuccessStep';
14
14
  export { ErrorStep } from './ErrorStep';
15
15
  export { VerifyingPaymentStep } from './VerifyingPaymentStep';
@@ -1,10 +1,10 @@
1
1
  import type { DiscountContext } from '../../api/types';
2
- import type { EligibilityData, EligibilityEventTicketType, OccurrenceContext, PaymentSelection, PublicEventTicketType, RegistrationEvent } from './types';
2
+ import type { EligibilityData, EligibilityEventTicketType, OccurrenceContext, PaymentSelection, PublicEventTicketType, RegistrationEvent, RegistrationSubject } from './types';
3
3
  export type RegistrationTarget = Readonly<{
4
- occurrenceId: string;
4
+ subject: RegistrationSubject;
5
5
  selectedEventId: string | null;
6
6
  }>;
7
- export declare function eventMatchesOccurrenceId(event: Pick<RegistrationEvent, 'publicEventId' | 'registrationOccurrenceId'>, occurrenceId: string): boolean;
7
+ export declare function eventMatchesOccurrenceId(event: Pick<RegistrationEvent, 'selectionId' | 'registrationSubject'>, occurrenceId: string): boolean;
8
8
  export declare function findEventByOccurrenceId(events: readonly RegistrationEvent[], occurrenceId: string): RegistrationEvent | null;
9
9
  export declare function findPreSelectedEvent(input: Readonly<{
10
10
  scopedEvents: readonly RegistrationEvent[];
@@ -12,7 +12,7 @@ export declare function findPreSelectedEvent(input: Readonly<{
12
12
  }>): RegistrationEvent | null;
13
13
  export declare function resolveRegistrationTarget(input: Readonly<{
14
14
  occurrenceContext: Pick<NonNullable<OccurrenceContext>, 'id'> | null | undefined;
15
- selectedEvent: Pick<RegistrationEvent, 'publicEventId' | 'registrationOccurrenceId'> | null;
15
+ selectedEvent: Pick<RegistrationEvent, 'selectionId' | 'registrationSubject'> | null;
16
16
  }>): RegistrationTarget | null;
17
17
  export declare function resolveEventRequiresPayment(input: Readonly<{
18
18
  eligibility: Pick<EligibilityData, 'requiresPayment'> | null;
@@ -1,3 +1,6 @@
1
+ import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
1
2
  import type { PublicEvent, RegistrationEvent } from './types';
2
3
  export declare function toRegistrationEvent(event: PublicEvent): RegistrationEvent;
3
4
  export declare function toRegistrationEvents(events: readonly PublicEvent[]): RegistrationEvent[];
5
+ export declare function toWholeSeriesRegistrationEvent(offering: PublicWholeSeriesOffering): RegistrationEvent;
6
+ export declare function toWholeSeriesRegistrationEvents(offerings: readonly PublicWholeSeriesOffering[]): RegistrationEvent[];
@@ -33,6 +33,11 @@ export type RegistrationFlowAction = {
33
33
  type: 'reset';
34
34
  hasPreSelectedContext: boolean;
35
35
  };
36
+ export declare function hasBlockingExistingRegistration(input: Readonly<{
37
+ isAuthenticated: boolean;
38
+ registration: EligibilityData['registration'];
39
+ hasWaitlistClaim: boolean;
40
+ }>): boolean;
36
41
  export declare function createInitialRegistrationFlowState(hasPreSelectedContext: boolean): RegistrationFlowState;
37
42
  export declare function registrationFlowReducer(state: RegistrationFlowState, action: RegistrationFlowAction): RegistrationFlowState;
38
43
  export declare function isEntitlementSelection(selection: PaymentSelection): boolean;
@@ -0,0 +1,28 @@
1
+ import type { EligibilityData, PaymentSelection, RegistrationEvent, RegistrationStep, RegistrationSubject } from './types';
2
+ type PortalAuthState = 'checking' | 'authenticated' | 'unauthenticated';
3
+ export declare function parseCurrencyInputToCents(value: string): number | null;
4
+ export declare function formatCentsAsCurrencyInput(amount: number): string;
5
+ export declare function getSlidingScaleForEvent(event: RegistrationEvent | null): Readonly<{
6
+ minAmount: number;
7
+ maxAmount: number;
8
+ suggestedAmount: number | null;
9
+ }> | null;
10
+ export declare function getSlidingScaleSelectionMessage(input: Readonly<{
11
+ slidingScale: ReturnType<typeof getSlidingScaleForEvent>;
12
+ selectedAmount: number | null;
13
+ }>): string | null;
14
+ export declare function getRegistrationOccurrenceId(target: Readonly<{
15
+ subject: RegistrationSubject;
16
+ }> | null): string;
17
+ export declare function shouldLoadRegistrationOptions(authState: PortalAuthState, step: RegistrationStep): boolean;
18
+ export declare function getEligibilityFlowFlags(input: Readonly<{
19
+ eligibility: EligibilityData | null;
20
+ portalAuthState: PortalAuthState;
21
+ ticketsCount: number;
22
+ paymentMethod: PaymentSelection['method'];
23
+ }>): {
24
+ hasEligibility: boolean;
25
+ hasMembershipEligibility: boolean;
26
+ isMembershipFastTrack: boolean;
27
+ };
28
+ export {};
@@ -6,13 +6,14 @@
6
6
  */
7
7
  import type { FormData } from './types';
8
8
  import type { EventTicketSelectionLine, PaymentSelection } from './types';
9
+ import type { EventRegistrationStatusReference } from '../../api/types';
9
10
  /**
10
11
  * Schema for pending registration data stored in sessionStorage.
11
12
  * Version field allows future migrations if schema changes.
12
13
  */
13
- type PendingRegistrationV4 = {
14
- version: 4;
15
- attendeeId: string;
14
+ type PendingRegistrationV5 = {
15
+ version: 5;
16
+ reference: EventRegistrationStatusReference;
16
17
  formData: FormData;
17
18
  ticketSelections: EventTicketSelectionLine[];
18
19
  selectedEventId: string | null;
@@ -22,36 +23,36 @@ type PendingRegistrationV4 = {
22
23
  };
23
24
  timestamp: number;
24
25
  };
25
- export type PendingRegistration = PendingRegistrationV4;
26
+ export type PendingRegistration = PendingRegistrationV5;
26
27
  /**
27
28
  * Save pending registration data before Stripe redirect.
28
29
  *
29
30
  * @param siteId - Site ID
30
- * @param occurrenceId - Event occurrence ID
31
+ * @param checkoutAttemptId - Correlation ID included in the checkout return URL
31
32
  * @param data - Registration data to save (excluding version and timestamp)
32
33
  */
33
- export declare function savePendingRegistration(siteId: string, occurrenceId: string, data: Omit<PendingRegistration, 'version' | 'timestamp'>): void;
34
+ export declare function savePendingRegistration(siteId: string, checkoutAttemptId: string, data: Omit<PendingRegistration, 'version' | 'timestamp'>): void;
34
35
  /**
35
36
  * Get pending registration data after returning from Stripe.
36
37
  *
37
38
  * Returns null if:
38
- * - No entry exists for this site/occurrence
39
+ * - No entry exists for this checkout attempt
39
40
  * - Entry is stale (> 24 hours old)
40
41
  * - Entry is corrupt or wrong version
41
42
  * - Storage is unavailable
42
43
  *
43
44
  * @param siteId - Site ID
44
- * @param occurrenceId - Optional event occurrence ID. If missing, scans for any entry for this site.
45
+ * @param checkoutAttemptId - Correlation ID returned from checkout.
45
46
  * @returns Pending registration data or null
46
47
  */
47
- export declare function getPendingRegistration(siteId: string, occurrenceId?: string): PendingRegistration | null;
48
+ export declare function getPendingRegistration(siteId: string, checkoutAttemptId: string): PendingRegistration | null;
48
49
  /**
49
50
  * Clear pending registration data after successful verification.
50
51
  *
51
52
  * @param siteId - Site ID
52
- * @param occurrenceId - Event occurrence ID
53
+ * @param checkoutAttemptId - Checkout return correlation ID
53
54
  */
54
- export declare function clearPendingRegistration(siteId: string, occurrenceId: string): void;
55
+ export declare function clearPendingRegistration(siteId: string, checkoutAttemptId: string): void;
55
56
  /**
56
57
  * Clean up all stale registration entries from sessionStorage.
57
58
  * Should be called on component mount to prevent accumulation.
@@ -1,10 +1,13 @@
1
+ import type { PublicEventPricing } from '../../../../../../core/src/index';
1
2
  import type { PublicEvent, PublicEventTicketType, PublicEventTicketTypeAvailability } from '../../../blocks/events/shared/types';
2
3
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
3
4
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
4
5
  import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
5
6
  import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EventTicketLineSummary, EligibilityEventTicketType } from '../../api/types';
7
+ import type { BlockBookingPaymentTerms } from '../../../blocks/shared/bookingPaymentTerms';
6
8
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
7
9
  import type { BlockButtonRole } from '../../../constants/buttonRoles';
10
+ import type { EventRegistrationAvailablePaymentOption, EventRegistrationOptionsResponse } from '../../../blocks/event-registration';
8
11
  export type { PublicEvent, OccurrenceContext };
9
12
  export type { FormData } from '../../shared';
10
13
  /**
@@ -43,14 +46,24 @@ export type EventTicketSelectionLine = Readonly<{
43
46
  * Transformed from API response for component use.
44
47
  */
45
48
  export type EligibilityData = {
49
+ /** Canonical server-owned availability for this exact selection. */
50
+ availability: EventRegistrationOptionsResponse['availability'];
51
+ /** Existing registration state for the authenticated customer. */
52
+ registration: EventRegistrationOptionsResponse['registration'];
53
+ /** Payment choices approved by the canonical server planner. */
54
+ paymentOptions: readonly EventRegistrationAvailablePaymentOption[];
46
55
  /** Whether the event is free (no payment required) */
47
56
  isFree: boolean;
57
+ /** Site credit for the authenticated registration subject, if available. */
58
+ credit?: import('../../api').PortalCredit | null;
48
59
  /** Whether the user has any payment/registration options available */
49
60
  eligible: boolean;
50
61
  /** Whether the selected event/ticket type currently requires payment. */
51
62
  requiresPayment: boolean;
52
63
  /** Persisted pricing mode for the underlying event series. */
53
64
  pricingMode?: 'single' | 'ticket_types' | 'sliding_scale';
65
+ /** Canonical collection terms for the selected registration. */
66
+ paymentTerms: BlockBookingPaymentTerms;
54
67
  /** Selected ticket type echoed back from the eligibility API, if any. */
55
68
  selectedTicketTypeId?: string | null;
56
69
  /** Selected ticket-line pricing echoed back from the eligibility API. */
@@ -94,39 +107,56 @@ export type EligibilityData = {
94
107
  availableMemberships: AvailableMembership[];
95
108
  };
96
109
  export type { EligibilityEventTicketType, PublicEventTicketType, PublicEventTicketTypeAvailability, };
97
- export type RegistrationEvent = Omit<PublicEvent, 'id' | 'occurrenceId'> & {
98
- publicEventId: string;
99
- registrationOccurrenceId: string;
100
- };
110
+ export type RegistrationTicketType = Pick<PublicEventTicketType, 'id' | 'name' | 'description' | 'priceAmount' | 'isActive' | 'sortOrder' | 'capacityMode' | 'capacityLimit' | 'attendanceScope' | 'saleStartsAt' | 'saleEndsAt' | 'availability'>;
111
+ export type RegistrationSubject = Readonly<{
112
+ kind: 'occurrence';
113
+ occurrenceId: string;
114
+ }> | Readonly<{
115
+ kind: 'wholeSeries';
116
+ eventSeriesId: string;
117
+ sessions: PublicWholeSeriesOffering['sessions'];
118
+ }>;
119
+ export type RegistrationEvent = Pick<PublicEvent, 'seriesId' | 'title' | 'startsAt' | 'endsAt' | 'bookingAvailability' | 'deliveryMode' | 'attendanceModes' | 'capacity' | 'registeredCount' | 'availableSpots' | 'waitlistEnabled' | 'venue' | 'eventCategory' | 'teamMembers' | 'status' | 'timeZone' | 'paymentTerms' | 'consent' | 'requireGuestDetails' | 'acceptsPasses' | 'acceptsMemberships'> & Readonly<{
120
+ selectionId: string;
121
+ registrationSubject: RegistrationSubject;
122
+ pricing: PublicEventPricing<RegistrationTicketType>;
123
+ }>;
101
124
  /**
102
125
  * Payment selection state for the summary bar.
103
126
  * Used to show product info (pass/membership) in the summary.
104
127
  * Set by the registration flow state machine and updated by PaymentSelectionStep.
105
128
  */
106
- export type PaymentSelection = {
107
- /** Selected payment method (null if not yet selected) */
108
- method: 'free' | 'pass' | 'membership' | 'stripe' | 'pass_bundle' | 'membership_bundle' | null;
109
- /** Pass ID if method is 'pass' */
110
- passId?: string;
111
- /** Membership ID if method is 'membership' */
112
- membershipId?: string;
113
- /** Bundle pass ID if method is 'pass_bundle' */
114
- bundlePassId?: string;
115
- /** Bundle membership ID if method is 'membership_bundle' */
116
- bundleMembershipId?: string;
117
- /** Product name for summary bar display */
129
+ export type PaymentSelection = Readonly<{
130
+ method: null;
131
+ }> | Readonly<{
132
+ method: 'free';
133
+ }> | Readonly<{
134
+ method: 'stripe';
135
+ collectionOptionKind: DirectCheckoutCollectionOptionKind;
136
+ }> | Readonly<{
137
+ method: 'pass';
138
+ passId: string;
139
+ productName?: string;
140
+ }> | Readonly<{
141
+ method: 'membership';
142
+ membershipId: string;
143
+ productName?: string;
144
+ }> | Readonly<{
145
+ method: 'pass_bundle';
146
+ bundlePassId: string;
147
+ productName?: string;
148
+ productDescription?: string;
149
+ productPrice?: number;
150
+ productCurrency?: string;
151
+ }> | Readonly<{
152
+ method: 'membership_bundle';
153
+ bundleMembershipId: string;
118
154
  productName?: string;
119
- /** Product description for summary bar display */
120
155
  productDescription?: string;
121
- /** Product price in cents (for bundles) */
122
156
  productPrice?: number;
123
- /** Product currency code */
124
157
  productCurrency?: string;
125
- /** Payment interval for memberships (e.g., 'month', 'year') */
126
158
  productInterval?: string;
127
- /** Direct-payment collection option chosen for this registration. */
128
- collectionOptionKind?: DirectCheckoutCollectionOptionKind;
129
- };
159
+ }>;
130
160
  /**
131
161
  * State reported by PaymentSelectionStep for parent to render footer actions.
132
162
  */
@@ -141,8 +171,6 @@ export type PaymentStepState = {
141
171
  showLoginPrompt: boolean;
142
172
  };
143
173
  export type EventRegistrationClientProps = {
144
- /** @deprecated Site ID is now provided by BlockApiProvider context */
145
- siteId?: string;
146
174
  occurrenceContext?: OccurrenceContext | null;
147
175
  subject?: EventRegistrationPageSurfaceSubject | null;
148
176
  events?: PublicEvent[] | null;
@@ -153,33 +181,13 @@ export type EventRegistrationClientProps = {
153
181
  maxTickets?: string;
154
182
  showVenue?: boolean;
155
183
  showCapacity?: boolean;
156
- showSessions?: boolean;
157
- showPrice?: boolean;
158
184
  successMessage?: string;
159
- waitlistMessage?: string;
160
- membershipMessage?: string;
161
185
  buttonText?: string;
162
186
  buttonVariant?: BlockButtonRole;
163
187
  overlayEnabled?: boolean;
164
188
  className?: string;
165
- /**
166
- * @deprecated Custom endpoints no longer supported - API client handles routing
167
- */
168
- registrationEndpoint?: string;
169
- /**
170
- * @deprecated Custom endpoints no longer supported - API client handles routing
171
- */
172
- eligibilityEndpoint?: string;
173
- /**
174
- * @deprecated Custom endpoints no longer supported - API client handles routing
175
- */
176
- checkoutEndpoint?: string;
177
189
  /** Server-passed spam protection flag. Falls back to NEXT_PUBLIC_SPAM_PROTECTION_ENABLED. */
178
190
  spamProtectionEnabled?: boolean;
179
- /**
180
- * @deprecated Stage is now controlled by BlockApiProvider's isPreview config
181
- */
182
- stage?: 'preview' | 'published';
183
191
  /** Support email to display on timeout step */
184
192
  supportEmail?: string;
185
193
  /** Site-wide public pass products; filtered against the selected event before prompting. */
@@ -1,28 +1,32 @@
1
1
  import { usePaymentVerification } from '../../hooks/usePaymentVerification';
2
2
  import type { BlockApiClient } from '../../api';
3
- import { consumeSearchParam, scrollToBlock } from '../../shared';
3
+ import type { EventRegistrationStatusReference } from '../../api/types';
4
+ import { scrollToBlock } from '../../shared';
4
5
  import { cleanupStaleRegistrations, clearPendingRegistration, getPendingRegistration } from './sessionStorage';
5
- import type { EventTicketSelectionLine, FormData, PaymentSelection, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
6
+ import type { EventTicketSelectionLine, FormData, PaymentSelection, RegistrationEvent, RegistrationResult, RegistrationStep, RegistrationSubject } from './types';
6
7
  type EventRegistrationStripeReturnOptions = {
7
8
  api: BlockApiClient;
8
9
  events: RegistrationEvent[];
9
- occurrenceId: string;
10
+ registrationSubject: RegistrationSubject | null;
10
11
  step: RegistrationStep;
11
- pendingAttendeeId: string | null;
12
+ pendingRegistrationReference: EventRegistrationStatusReference | null;
12
13
  setFormData: (data: FormData) => void;
13
14
  setTicketsCount: (count: number) => void;
14
15
  setTicketSelections: (lines: readonly EventTicketSelectionLine[]) => void;
15
16
  setSelectedEvent: (event: RegistrationEvent | null) => void;
16
17
  setSelectedAttendanceMode: (attendanceMode: 'in_person' | 'online' | null) => void;
17
18
  setPaymentSelection: (selection: PaymentSelection) => void;
18
- setPendingAttendeeId: (id: string | null) => void;
19
+ setPendingRegistrationReference: (reference: EventRegistrationStatusReference | null) => void;
19
20
  setStep: (step: RegistrationStep) => void;
20
21
  setRegistrationResult: (result: RegistrationResult) => void;
21
22
  setErrorMessage: (message: string) => void;
22
23
  };
23
24
  export type EventRegistrationStripeReturnDeps = Readonly<{
24
25
  usePaymentVerification: typeof usePaymentVerification;
25
- consumeSearchParam: typeof consumeSearchParam;
26
+ consumeReturnParams: () => Readonly<{
27
+ registration: string | null;
28
+ registration_attempt: string | null;
29
+ }>;
26
30
  scrollToBlock: typeof scrollToBlock;
27
31
  cleanupStaleRegistrations: typeof cleanupStaleRegistrations;
28
32
  clearPendingRegistration: typeof clearPendingRegistration;
@@ -2,6 +2,7 @@ import type { BlockApiClient } from '../../api';
2
2
  import { savePendingRegistration } from './sessionStorage';
3
3
  import type { EventTicketSelectionLine, FormData, Guest, RegistrationResult, RegistrationStep, PaymentSelection } from './types';
4
4
  import type { PaymentMethod } from '../../api/types';
5
+ import type { EventRegistrationStatusReference } from '../../api/types';
5
6
  import type { RegistrationTarget } from './registrationDerivations';
6
7
  export type EventRegistrationSubmitOptions = Readonly<{
7
8
  redirect?: 'auto' | 'manual';
@@ -34,13 +35,20 @@ export type UseEventRegistrationSubmitInput = {
34
35
  guests: Guest[];
35
36
  discountCode: string;
36
37
  claimToken: string | null;
37
- setPendingAttendeeId: (id: string) => void;
38
+ setPendingRegistrationReference: (reference: EventRegistrationStatusReference) => void;
38
39
  setStep: (step: RegistrationStep) => void;
39
40
  setRegistrationResult: (result: RegistrationResult) => void;
40
41
  setErrorMessage: (message: string) => void;
41
42
  };
42
43
  export type EventRegistrationSubmitDeps = Readonly<{
43
44
  savePendingRegistration: typeof savePendingRegistration;
45
+ createCheckoutAttemptId: () => string;
44
46
  }>;
47
+ type CheckoutAttemptCryptoSource = Readonly<{
48
+ randomUUID?: () => string;
49
+ getRandomValues: (bytes: Uint8Array<ArrayBuffer>) => Uint8Array<ArrayBuffer>;
50
+ }>;
51
+ export declare function createCheckoutAttemptId(cryptoSource?: CheckoutAttemptCryptoSource): string;
45
52
  export declare function useEventRegistrationSubmit(options: UseEventRegistrationSubmitInput): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
46
53
  export declare function useEventRegistrationSubmitWithDeps(options: UseEventRegistrationSubmitInput, deps: EventRegistrationSubmitDeps): (method: PaymentMethod, passId?: string, membershipId?: string, selection?: PaymentSelection, submitOptions?: EventRegistrationSubmitOptions) => Promise<EventRegistrationSubmitResult>;
54
+ export {};