@riverbankcms/sdk 0.132.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 (328) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +48 -17
  7. package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4351 -7964
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +549 -549
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +234 -234
  10. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  11. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
  12. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  13. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
  14. package/dist/_dts/api/src/bookingOperations.d.ts +111 -173
  15. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
  17. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  18. package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
  19. package/dist/_dts/api/src/bookings.d.ts +7 -11
  20. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
  21. package/dist/_dts/api/src/communications.d.ts +1 -1
  22. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  23. package/dist/_dts/api/src/endpoints.d.ts +30 -110
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
  25. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
  26. package/dist/_dts/api/src/index.d.ts +3 -4
  27. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
  29. package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
  30. package/dist/_dts/api/src/navigation/types.d.ts +23 -6
  31. package/dist/_dts/api/src/navigation.d.ts +1 -1
  32. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  33. package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
  34. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
  35. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
  36. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +88 -6
  37. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
  38. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -98
  39. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
  40. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
  41. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
  44. package/dist/_dts/api/src/siteBanner.d.ts +4 -2
  45. package/dist/_dts/api/src/siteOperations.d.ts +2 -2
  46. package/dist/_dts/api/src/types.d.ts +2 -2
  47. package/dist/_dts/api/src/webhooks.d.ts +12 -12
  48. package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
  49. package/dist/_dts/blocks/src/client.d.ts +1 -6
  50. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  51. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +33 -166
  52. package/dist/_dts/blocks/src/index.d.ts +3 -2
  53. package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
  54. package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
  55. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
  56. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  57. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
  58. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +46 -24
  59. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
  61. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +6 -0
  62. package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
  63. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
  64. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
  65. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +5 -4
  66. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
  67. package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
  68. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
  70. package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
  71. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
  72. package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
  73. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
  74. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
  75. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
  77. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
  78. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +100 -59
  79. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
  81. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
  82. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
  84. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
  85. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
  86. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  87. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
  88. package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
  94. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
  95. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +24 -9
  118. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
  121. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +40 -18
  125. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
  126. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
  127. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
  128. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
  129. package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
  133. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  134. package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
  135. package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
  136. package/dist/_dts/commerce/src/index.d.ts +16 -0
  137. package/dist/_dts/commerce/src/money.d.ts +122 -0
  138. package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
  139. package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
  140. package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
  141. package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
  142. package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
  143. package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
  144. package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
  145. package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
  146. package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
  147. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
  148. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
  149. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
  150. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
  151. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
  152. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
  153. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
  154. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
  155. package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
  156. package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
  157. package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
  158. package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
  159. package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
  160. package/dist/_dts/commerce/src/types/json.d.ts +3 -0
  161. package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
  162. package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
  163. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
  164. package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
  165. package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
  166. package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
  167. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
  168. package/dist/_dts/core/src/booking-consent.d.ts +8 -0
  169. package/dist/_dts/core/src/branded.d.ts +3 -3
  170. package/dist/_dts/core/src/event-pricing.d.ts +6 -6
  171. package/dist/_dts/core/src/index.d.ts +1 -0
  172. package/dist/_dts/core/src/participants.d.ts +17 -17
  173. package/dist/_dts/core/src/rectification.d.ts +1 -1
  174. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +899 -2157
  175. package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
  176. package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
  177. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
  178. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
  179. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
  180. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
  181. package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
  182. package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
  183. package/dist/_dts/sdk/src/bookings/types.d.ts +8 -60
  184. package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
  185. package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
  186. package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
  187. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
  188. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
  189. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
  190. package/dist/_dts/sdk/src/version.d.ts +1 -1
  191. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  192. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
  193. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
  194. package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
  195. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
  197. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  198. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  199. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
  200. package/dist/_dts/theme-core/src/schema.d.ts +82 -82
  201. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  202. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  203. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
  204. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  205. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  206. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  207. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  208. package/dist/_dts/ui/src/badge.d.ts +1 -1
  209. package/dist/_dts/ui/src/button.d.ts +1 -1
  210. package/dist/_dts/ui/src/callout.d.ts +1 -1
  211. package/dist/_dts/ui/src/card.d.ts +1 -1
  212. package/dist/client/{usePolling-M5jG675x.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
  213. package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
  214. package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
  215. package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
  216. package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
  217. package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-BA0j8Mpw.mjs} +1 -1
  218. package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-Br2e41H0.mjs} +72 -47
  219. package/dist/client/bookings.mjs +1987 -2132
  220. package/dist/client/{carousel-BvBwkUzx.mjs → carousel-B4dmwnpD.mjs} +1 -1
  221. package/dist/client/{cart-DiZENT2E.mjs → cart-B_ckGW4b.mjs} +3 -3
  222. package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DAyspHdf.mjs} +3 -3
  223. package/dist/client/checkoutUrls-BuseL0dw.mjs +189 -0
  224. package/dist/client/client.mjs +5627 -9543
  225. package/dist/client/{context-B83PiNzm.mjs → context-DljQn8L5.mjs} +15 -82
  226. package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
  227. package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
  228. package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
  229. package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-B9aXPO-I.mjs} +3 -3
  230. package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CBSovBkg.mjs} +4550 -3671
  231. package/dist/client/{form-C17H1c_H.mjs → form-Cm0tu_7o.mjs} +2 -2
  232. package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-OgRtHeKS.mjs} +2 -2
  233. package/dist/client/hooks.mjs +535 -694
  234. package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-DmjcYqNM.mjs} +2 -2
  235. package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
  236. package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-BqZeu2P4.mjs} +3 -3
  237. package/dist/client/{productList-qq-55DNk.mjs → productList-mNyIF9FG.mjs} +3 -3
  238. package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-DwHXRm9X.mjs} +4850 -4502
  239. package/dist/client/rendering/client.mjs +59921 -62298
  240. package/dist/client/rendering/islands.mjs +17 -19
  241. package/dist/client/rendering.mjs +6226 -10236
  242. package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
  243. package/dist/client/{shop-DNWJPut5.mjs → shop-CNjZK16F.mjs} +6 -6
  244. package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-DkNNao1J.mjs} +7 -164
  245. package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
  246. package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-CHCVfccY.mjs} +3 -3
  247. package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
  248. package/dist/preview-next/before-render.mjs +40 -161
  249. package/dist/preview-next/client/runtime.mjs +4 -4
  250. package/dist/preview-next/keepAlive.mjs +40 -161
  251. package/dist/preview-next/middleware.mjs +40 -161
  252. package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
  253. package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
  254. package/dist/{separator-DGMuip1D.mjs → separator-D3bCWYYb.mjs} +1 -1
  255. package/dist/server/components.mjs +634 -2969
  256. package/dist/server/config-validation.mjs +535 -694
  257. package/dist/server/config.mjs +535 -694
  258. package/dist/server/data.mjs +535 -694
  259. package/dist/server/index.mjs +41 -162
  260. package/dist/server/next.mjs +644 -2979
  261. package/dist/server/page-converter.mjs +435 -561
  262. package/dist/server/prebuild.mjs +1 -1
  263. package/dist/server/rendering/server.mjs +635 -2874
  264. package/dist/server/rendering.mjs +634 -2969
  265. package/dist/server/routing.mjs +706 -1138
  266. package/dist/server/server.mjs +549 -708
  267. package/dist/server/theme-bridge.mjs +152 -1635
  268. package/dist/styles/index.css +41 -1348
  269. package/package.json +2 -2
  270. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
  271. package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
  272. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
  273. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
  274. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  275. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
  276. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
  277. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
  278. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -133
  279. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
  280. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
  281. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
  282. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
  283. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
  284. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
  285. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
  286. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
  287. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
  288. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
  289. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
  290. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
  291. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
  292. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
  293. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
  294. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
  295. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
  296. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
  297. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
  298. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
  299. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
  300. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
  301. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
  302. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
  303. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -45
  304. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
  305. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
  306. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
  307. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
  308. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
  309. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
  310. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
  311. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
  312. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
  313. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
  314. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
  315. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
  316. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -323
  317. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
  318. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
  319. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
  320. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
  321. package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
  322. package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
  323. package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
  324. package/dist/client/StepIndicator-CGixP_LW.mjs +0 -138
  325. package/dist/client/WholeSeriesRegistrationWizard-BEjzSiOA.mjs +0 -2496
  326. package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
  327. package/dist/client/courseRegistration-CKC5NmyH.mjs +0 -52
  328. package/dist/client/pricing-CVdvbopJ.mjs +0 -195
@@ -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;
@@ -1,6 +1,6 @@
1
1
  import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
2
2
  import type { PublicEvent } from '../../../blocks/events/shared/types';
3
- import { type EventRegistrationPageSurfaceSubject } from './eventScope';
3
+ import { type EventRegistrationScopeContext, type EventRegistrationScopeableEvent, type EventRegistrationPageSurfaceSubject } from './eventScope';
4
4
  export type EventRegistrationSurfacePlan = Readonly<{
5
5
  kind: 'occurrence';
6
6
  events: readonly PublicEvent[];
@@ -12,9 +12,25 @@ export type EventRegistrationSurfacePlan = Readonly<{
12
12
  }> | Readonly<{
13
13
  kind: 'mixedBookingScopes';
14
14
  }>;
15
+ type EventRegistrationSurfaceScopeInput<TEvent extends EventRegistrationScopeableEvent> = EventRegistrationScopeContext & Readonly<{
16
+ events: readonly TEvent[];
17
+ wholeSeriesOffering?: PublicWholeSeriesOffering | null;
18
+ }>;
19
+ export type EventRegistrationSurfaceScopePlan<TEvent extends EventRegistrationScopeableEvent> = Readonly<{
20
+ kind: 'selectedRun';
21
+ events: readonly TEvent[];
22
+ offering: PublicWholeSeriesOffering;
23
+ }> | Readonly<{
24
+ kind: 'context';
25
+ events: readonly TEvent[];
26
+ }> | Readonly<{
27
+ kind: 'invalidSelectedRun';
28
+ }>;
29
+ export declare function planEventRegistrationScope<TEvent extends EventRegistrationScopeableEvent>(input: EventRegistrationSurfaceScopeInput<TEvent>): EventRegistrationSurfaceScopePlan<TEvent>;
15
30
  export declare function planEventRegistrationSurface(input: Readonly<{
16
31
  events: readonly PublicEvent[];
17
32
  wholeSeriesOfferings: readonly PublicWholeSeriesOffering[];
33
+ wholeSeriesOffering?: PublicWholeSeriesOffering | null;
18
34
  occurrenceContext?: Readonly<{
19
35
  id: string;
20
36
  seriesId: string;
@@ -24,3 +40,4 @@ export declare function planEventRegistrationSurface(input: Readonly<{
24
40
  }> | null;
25
41
  subject?: EventRegistrationPageSurfaceSubject | null;
26
42
  }>): EventRegistrationSurfacePlan;
43
+ export {};
@@ -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 {};
@@ -1,5 +1,5 @@
1
1
  import type { DiscountContext } from '../../api/types';
2
- import type { EventTicketSelectionLine, EventRegistrationClientProps, FormData, Guest, GuestErrors, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
2
+ import type { EventTicketSelectionLine, EventRegistrationClientProps, EligibilityData, FormData, Guest, GuestErrors, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult, RegistrationStep } from './types';
3
3
  import { usePortalAuth, useEligibility, useExistingEventRegistration } from './hooks';
4
4
  import { useWaitlistClaim } from '../../shared/useWaitlistClaim';
5
5
  import { useEventRegistrationStripeReturn } from './useEventRegistrationStripeReturn';
@@ -18,6 +18,7 @@ export type UseEventRegistrationWizardOptions = Readonly<{
18
18
  occurrenceContext: EventRegistrationClientProps['occurrenceContext'];
19
19
  subject?: EventRegistrationClientProps['subject'];
20
20
  events: PublicEvent[];
21
+ wholeSeriesOfferings?: EventRegistrationClientProps['wholeSeriesOfferings'];
21
22
  maxTicketsNum: number;
22
23
  }>;
23
24
  export type EventRegistrationWizardDeps = Readonly<{
@@ -42,7 +43,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
42
43
  overrides?: Record<string, unknown> | null | undefined;
43
44
  } | null | undefined;
44
45
  registrationTarget: Readonly<{
45
- occurrenceId: string;
46
+ subject: import("./types").RegistrationSubject;
46
47
  selectedEventId: string | null;
47
48
  }> | null;
48
49
  subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
@@ -57,8 +58,8 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
57
58
  setSelectedEvent: import("react").Dispatch<import("react").SetStateAction<RegistrationEvent | null>>;
58
59
  ticketsCount: number;
59
60
  setTicketsCount: (nextTicketsCount: number) => void;
60
- selectedAttendanceMode: "in_person" | "online" | null;
61
- setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"in_person" | "online" | null>>;
61
+ selectedAttendanceMode: "online" | "in_person" | null;
62
+ setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"online" | "in_person" | null>>;
62
63
  ticketSelections: Readonly<{
63
64
  ticketTypeId: string | null;
64
65
  quantity: number;
@@ -114,12 +115,19 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
114
115
  paymentSelection: PaymentSelection;
115
116
  isMembershipFastTrack: boolean;
116
117
  waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
117
- eligibility: import("./types").EligibilityData | null;
118
+ eligibility: EligibilityData | null;
118
119
  eligibilityLoading: boolean;
119
120
  eligibilityError: string | null;
120
121
  existingRegistration: import("../../api").CustomerEventRegistration | null;
121
122
  existingRegistrationLoading: boolean;
122
123
  existingRegistrationState: import("./hooks.state").ExistingRegistrationLookupState;
124
+ registrationState: Readonly<{
125
+ kind: "none";
126
+ }> | Readonly<{
127
+ kind: "booked";
128
+ }> | Readonly<{
129
+ kind: "waitlisted";
130
+ }>;
123
131
  hasEligibility: boolean;
124
132
  hasMembershipEligibility: boolean;
125
133
  requireGuestDetails: boolean;
@@ -155,7 +163,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
155
163
  overrides?: Record<string, unknown> | null | undefined;
156
164
  } | null | undefined;
157
165
  registrationTarget: Readonly<{
158
- occurrenceId: string;
166
+ subject: import("./types").RegistrationSubject;
159
167
  selectedEventId: string | null;
160
168
  }> | null;
161
169
  subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
@@ -170,8 +178,8 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
170
178
  setSelectedEvent: import("react").Dispatch<import("react").SetStateAction<RegistrationEvent | null>>;
171
179
  ticketsCount: number;
172
180
  setTicketsCount: (nextTicketsCount: number) => void;
173
- selectedAttendanceMode: "in_person" | "online" | null;
174
- setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"in_person" | "online" | null>>;
181
+ selectedAttendanceMode: "online" | "in_person" | null;
182
+ setSelectedAttendanceMode: import("react").Dispatch<import("react").SetStateAction<"online" | "in_person" | null>>;
175
183
  ticketSelections: Readonly<{
176
184
  ticketTypeId: string | null;
177
185
  quantity: number;
@@ -227,12 +235,19 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
227
235
  paymentSelection: PaymentSelection;
228
236
  isMembershipFastTrack: boolean;
229
237
  waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
230
- eligibility: import("./types").EligibilityData | null;
238
+ eligibility: EligibilityData | null;
231
239
  eligibilityLoading: boolean;
232
240
  eligibilityError: string | null;
233
241
  existingRegistration: import("../../api").CustomerEventRegistration | null;
234
242
  existingRegistrationLoading: boolean;
235
243
  existingRegistrationState: import("./hooks.state").ExistingRegistrationLookupState;
244
+ registrationState: Readonly<{
245
+ kind: "none";
246
+ }> | Readonly<{
247
+ kind: "booked";
248
+ }> | Readonly<{
249
+ kind: "waitlisted";
250
+ }>;
236
251
  hasEligibility: boolean;
237
252
  hasMembershipEligibility: boolean;
238
253
  requireGuestDetails: boolean;
@@ -0,0 +1,20 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { ResolveWaitlistClaimResponse } from '../../api/types';
3
+ import type { EventTicketSelectionLine, FormData, Guest, RegistrationEvent, RegistrationStep } from './types';
4
+ export type WaitlistClaimRestorationSetters = Readonly<{
5
+ setErrorMessage: Dispatch<SetStateAction<string>>;
6
+ setStep: (step: RegistrationStep) => void;
7
+ setSelectedEvent: Dispatch<SetStateAction<RegistrationEvent | null>>;
8
+ setAttendanceMode: Dispatch<SetStateAction<'in_person' | 'online' | null>>;
9
+ setTicketSelections: Dispatch<SetStateAction<EventTicketSelectionLine[]>>;
10
+ setSlidingAmountInput: Dispatch<SetStateAction<string>>;
11
+ setTicketsCount: (count: number) => void;
12
+ setFormData: Dispatch<SetStateAction<FormData>>;
13
+ setGuests: Dispatch<SetStateAction<Guest[]>>;
14
+ }>;
15
+ export declare function useWaitlistClaimRestoration(input: Readonly<{
16
+ claim: ResolveWaitlistClaimResponse | null;
17
+ scopedEvents: readonly RegistrationEvent[];
18
+ occurrenceContextId?: string;
19
+ setters: WaitlistClaimRestorationSetters;
20
+ }>): void;
@@ -1,6 +1,9 @@
1
- import type { EligibilityCheckResponse } from '../../api/types';
1
+ import type { RegistrationOptionsResponse } from '../../api/types';
2
2
  import type { EligibilityData, EligibilityEventTicketType, PublicEvent, PublicEventTicketType, RegistrationEvent } from './types';
3
3
  export declare const DEFAULT_EVENT_CURRENCY = "usd";
4
+ export declare function getPortalSubjectEmail(profile: Readonly<{
5
+ email: string;
6
+ }> | null): string | null;
4
7
  export type SelectableEventTicketType = EligibilityEventTicketType | PublicEventTicketType;
5
8
  type TicketTypeSourceEvent = PublicEvent | RegistrationEvent;
6
9
  /**
@@ -24,15 +27,6 @@ export declare function formatEventDateTime(isoTimestamp: string, options?: {
24
27
  timeZone?: string | null;
25
28
  locale?: string;
26
29
  }): string;
27
- /**
28
- * Build the registration API endpoint URL
29
- *
30
- * @param apiBaseUrl - The dashboard API base URL (e.g., "http://localhost:4000/api")
31
- * @param siteId - The site ID
32
- * @param customEndpoint - Optional custom endpoint override
33
- * @returns The full API endpoint URL
34
- */
35
- export declare function buildRegistrationEndpoint(apiBaseUrl: string, siteId: string, customEndpoint?: string): string;
36
30
  export { formatPrice } from '../../shared';
37
31
  /** Tooltip text shown when pass/membership redemptions are unavailable for multi-ticket bookings. */
38
32
  export declare const ENTITLEMENT_SINGLE_TICKET_TOOLTIP = "Only available for single-ticket bookings";
@@ -51,31 +45,7 @@ export declare function areEntitlementsDisabledForTicketCount(ticketsCount: numb
51
45
  * @param creditsRemaining - Credits on the pass before this booking, if known
52
46
  */
53
47
  export declare function formatPassCreditUsageLabel(creditsRemaining: number | null | undefined): string;
54
- /**
55
- * Build the eligibility check endpoint URL
56
- *
57
- * @param apiBaseUrl - The dashboard API base URL (e.g., "http://localhost:4000/api")
58
- * @param siteId - The site ID
59
- * @param customEndpoint - Optional custom endpoint override
60
- * @returns The full API endpoint URL
61
- */
62
- export declare function buildEligibilityEndpoint(apiBaseUrl: string, siteId: string, customEndpoint?: string): string;
63
- /**
64
- * Build the checkout endpoint URL
65
- *
66
- * @param apiBaseUrl - The dashboard API base URL (e.g., "http://localhost:4000/api")
67
- * @param siteId - The site ID
68
- * @param customEndpoint - Optional custom endpoint override
69
- * @returns The full API endpoint URL
70
- */
71
- export declare function buildCheckoutEndpoint(apiBaseUrl: string, siteId: string, customEndpoint?: string): string;
72
- /**
73
- * Transform API eligibility response to internal eligibility data.
74
- *
75
- * @param response - The raw API response from checkEligibility
76
- * @returns Transformed eligibility data for component use
77
- */
78
- export declare function transformEligibilityResponse(response: EligibilityCheckResponse): EligibilityData;
48
+ export declare function transformRegistrationOptionsResponse(response: RegistrationOptionsResponse): EligibilityData;
79
49
  export declare function getTicketTypeAvailabilityLabel(ticketType: Pick<SelectableEventTicketType, 'availability'>): string | null;
80
50
  export declare function getVisibleTicketTypes(input: {
81
51
  event: TicketTypeSourceEvent | null;
@@ -89,24 +59,3 @@ export declare function findSelectedTicketType(input: {
89
59
  selectedTicketTypeId: string | null;
90
60
  selectedAttendanceMode?: 'in_person' | 'online' | null;
91
61
  }): SelectableEventTicketType | null;
92
- /**
93
- * Check if card payment is the only available option.
94
- *
95
- * Returns true when:
96
- * - Event requires payment (not free)
97
- * - User can pay directly (card payment enabled)
98
- * - User has no eligible passes
99
- * - User has no eligible memberships
100
- * - No passes are available for purchase (upsells)
101
- * - No memberships are available for purchase (upsells)
102
- *
103
- * Used to pre-select stripe in PaymentSelectionStep when there's only one option.
104
- */
105
- export declare function isOnlyCardPaymentAvailable(eligibility: EligibilityData | null): boolean;
106
- /**
107
- * Like `isOnlyCardPaymentAvailable`, but accounts for ticket-count rules.
108
- *
109
- * Passes/memberships (and pass/membership bundles) are disabled for multi-ticket bookings,
110
- * so they shouldn't prevent us auto-selecting card when they're visible-but-disabled.
111
- */
112
- export declare function isOnlyCardPaymentAvailableForTicketCount(eligibility: EligibilityData | null, ticketsCount: number): boolean;
@@ -1,2 +1,3 @@
1
1
  import type { FormData } from './types';
2
- export declare function validateFormData(formData: FormData): Partial<Record<keyof FormData, string>>;
2
+ export declare function createInitialRegistrationFormData(): FormData;
3
+ export declare function validateFormData(formData: FormData, requiresConsent?: boolean): Partial<Record<keyof FormData, string>>;
@@ -0,0 +1,20 @@
1
+ import type { ResolveWaitlistClaimResponse } from '../../api/types';
2
+ import type { EventTicketSelectionLine, RegistrationEvent } from './types';
3
+ export type WaitlistClaimRestoration = Readonly<{
4
+ ok: false;
5
+ message: string;
6
+ }> | Readonly<{
7
+ ok: true;
8
+ event: RegistrationEvent | null;
9
+ attendanceMode: 'in_person' | 'online';
10
+ ticketSelections: readonly EventTicketSelectionLine[];
11
+ ticketsCount: number;
12
+ slidingAmountInput: string | null;
13
+ }>;
14
+ export declare function resolveWaitlistClaimRestoration(input: Readonly<{
15
+ claim: ResolveWaitlistClaimResponse;
16
+ scopedEvents: readonly RegistrationEvent[];
17
+ occurrenceContextId?: string;
18
+ }>): WaitlistClaimRestoration;
19
+ export declare function resolveClaimedTicketSelections(claim: ResolveWaitlistClaimResponse | null): readonly EventTicketSelectionLine[] | null;
20
+ export declare function resolveClaimTicketCount(claim: ResolveWaitlistClaimResponse | null, fallback: number): number;