@riverbankcms/sdk 0.130.0 → 0.132.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 (468) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DiEpbOdw.mjs → PreviewEditorSidebar-DKQ5eFK9.mjs} +365 -106
  4. package/dist/{PreviewEditorUI-C6MvxnIa.mjs → PreviewEditorUI-CNTcOjCC.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-C2rnoPz6.mjs → PreviewQueryProvider-D51gQaG3.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DRXA_m5L.mjs → SdkPreviewModeRuntime-DJu3qu33.mjs} +91 -25
  7. package/dist/{SiteChromeCustomizeContext-BTHdv5_-.mjs → SiteChromeCustomizeContext-2TzT3vbj.mjs} +12577 -9240
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +991 -142
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1092 -148
  10. package/dist/_dts/api/src/accountApi.d.ts +213 -0
  11. package/dist/_dts/api/src/accountEndpointDefinitions.d.ts +30 -0
  12. package/dist/_dts/api/src/accountEndpoints.d.ts +254 -0
  13. package/dist/_dts/api/src/apiCallParams.d.ts +60 -0
  14. package/dist/_dts/api/src/bookingConfig.d.ts +18 -24
  15. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +12 -24
  16. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +44 -0
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +9 -0
  18. package/dist/_dts/api/src/bookingVerticals.d.ts +1 -140
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +47 -12
  20. package/dist/_dts/api/src/contentRuntime.d.ts +2 -1
  21. package/dist/_dts/api/src/courses.d.ts +1 -19
  22. package/dist/_dts/api/src/endpoints.d.ts +885 -721
  23. package/dist/_dts/api/src/event-destination-policy.d.ts +2 -2
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +173 -7
  25. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +58 -0
  26. package/dist/_dts/api/src/giftingDashboard.d.ts +117 -0
  27. package/dist/_dts/api/src/giftingEndpointDefinitions.d.ts +124 -0
  28. package/dist/_dts/api/src/index.d.ts +12 -4
  29. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -0
  30. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -0
  31. package/dist/_dts/api/src/media.d.ts +1 -0
  32. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +3 -4
  33. package/dist/_dts/api/src/oauth.d.ts +8 -0
  34. package/dist/_dts/api/src/preview-auth.d.ts +26 -0
  35. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +11 -0
  36. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +29 -16
  37. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +2 -0
  38. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +1 -1
  39. package/dist/_dts/api/src/sdk-event-upsert.d.ts +3 -1
  40. package/dist/_dts/api/src/sdkBlockUpsertContracts.d.ts +48 -0
  41. package/dist/_dts/api/src/sdkBookingVerticalContracts.d.ts +29 -0
  42. package/dist/_dts/api/src/sdkContracts.d.ts +14 -45
  43. package/dist/_dts/api/src/sdkEndpointDefinitions.d.ts +23 -0
  44. package/dist/_dts/api/src/sdkEventCategoryContracts.d.ts +9 -0
  45. package/dist/_dts/api/src/sdkSettingsContracts.d.ts +25 -0
  46. package/dist/_dts/api/src/sdkThemeCatalogContracts.d.ts +20 -0
  47. package/dist/_dts/api/src/sdkThemeWire.d.ts +54 -12
  48. package/dist/_dts/api/src/settings/permissions.d.ts +2 -2
  49. package/dist/_dts/api/src/siteApiKeyEndpointDefinitions.d.ts +66 -0
  50. package/dist/_dts/api/src/siteInfrastructure.d.ts +3 -3
  51. package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
  52. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  53. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +16 -14
  54. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +0 -3
  55. package/dist/_dts/api/src/types.d.ts +8 -61
  56. package/dist/_dts/block-form/src/client/index.d.ts +15 -23
  57. package/dist/_dts/block-form/src/index.d.ts +23 -22
  58. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -13
  59. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +9 -0
  60. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +26 -44
  61. package/dist/_dts/blocks/src/index.d.ts +1 -1
  62. package/dist/_dts/blocks/src/primitives/layout/Grid.d.ts +18 -1
  63. package/dist/_dts/blocks/src/subroutes/fold.d.ts +2 -1
  64. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -0
  65. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  66. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +2 -50
  67. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +1 -929
  68. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +1 -97
  69. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +39 -6
  70. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +2 -1
  71. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +3 -3
  72. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -3
  73. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +2 -2
  74. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +64 -3
  75. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +26 -31
  76. package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +3 -0
  77. package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +50 -0
  78. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +135 -0
  79. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +81 -0
  80. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +25 -1
  81. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +16 -39
  82. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/blocks/site-header.d.ts +0 -1
  84. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +4 -63
  85. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +1 -3
  86. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +13 -2
  87. package/dist/_dts/blocks/src/system/fields/gridLayout.d.ts +20 -0
  88. package/dist/_dts/blocks/src/system/node/fragments/classNameBinding.d.ts +6 -1
  89. package/dist/_dts/blocks/src/system/node/fragments/styledCard.d.ts +31 -0
  90. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  91. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +4 -0
  92. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -1
  93. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +0 -1
  94. package/dist/_dts/blocks/src/system/runtime/blockComposition.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +45 -72
  96. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -36
  97. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +4 -2
  98. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +6 -6
  99. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +24 -8
  100. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +8 -0
  101. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.validationErrors.d.ts +17 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +2 -5
  103. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +4 -2
  104. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +19 -7
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +25 -4
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +75 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +5 -2
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +5 -2
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +4 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/RegistrationClosedState.d.ts +5 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SiteCreditPreviewPanel.d.ts +6 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +2 -0
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +17 -0
  117. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +3 -3
  118. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +51 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +3 -3
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +2 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/BookingModeStep.d.ts +1 -1
  122. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/CheckIcon.d.ts +1 -1
  123. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/ErrorStep.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/MembershipHero.d.ts +3 -3
  125. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PaymentFailedStep.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +6 -0
  127. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/VerifyingTimeoutStep.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +9 -0
  129. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/CourseRegistrationErrorBoundary.d.ts → event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts} +5 -2
  130. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +8 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +8 -0
  132. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +45 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/index.d.ts +4 -4
  134. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +7 -0
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +14 -0
  136. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/types.d.ts +18 -16
  137. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseEligibility.d.ts → event-registration/whole-series/useWholeSeriesEligibility.d.ts} +6 -6
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +10 -0
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +35 -0
  140. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseRegistrationPortal.d.ts → event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts} +2 -2
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +35 -0
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +185 -0
  143. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/useCourseWaitlistSelection.d.ts → event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts} +5 -5
  144. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/utils.d.ts +4 -4
  145. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.contract.d.ts +5 -7
  146. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/whole-series-registration.headless.planning.d.ts +2 -2
  147. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +17 -0
  148. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration/courseRegistrationViewState.d.ts → event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts} +7 -7
  149. package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/wizardSteps.d.ts +4 -4
  150. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +24 -54
  151. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  152. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +2 -0
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +3 -0
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +12 -11
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +3 -2
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +3 -2
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +3 -2
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +4 -3
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModalCloseButton.d.ts +7 -0
  160. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +4 -3
  161. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +14 -0
  162. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +59 -2
  163. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +4 -1
  164. package/dist/_dts/blocks/src/system/runtime/nodes/shared/MagicLinkForm.d.ts +1 -1
  165. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +12 -12
  166. package/dist/_dts/blocks/src/system/runtime/shared/components/FeedbackMessage.d.ts +17 -1
  167. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -1
  168. package/dist/_dts/blocks/src/system/runtime/shared/useWaitlistClaim.d.ts +1 -0
  169. package/dist/_dts/blocks/src/system/spacing.d.ts +1 -1
  170. package/dist/_dts/blocks/src/system/transforms/registry/_utils/boxStyleClassNames.d.ts +109 -0
  171. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +4 -0
  172. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +40 -3
  173. package/dist/_dts/blocks/src/system/transforms/registry/index.d.ts +1 -0
  174. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +4 -37
  175. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +1 -4
  176. package/dist/_dts/commerce/src/purchase/bookingInstalmentSchedule.d.ts +13 -0
  177. package/dist/_dts/commerce/src/purchase/cancellationPolicy.d.ts +7 -0
  178. package/dist/_dts/commerce/src/purchase/canonicalRefundPlanner.d.ts +48 -0
  179. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +39 -0
  180. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +40 -0
  181. package/dist/_dts/commerce/src/purchase/checkoutDiscountContextPlanning.d.ts +80 -0
  182. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -0
  183. package/dist/_dts/commerce/src/purchase/checkoutOrderItemProjection.d.ts +22 -0
  184. package/dist/_dts/commerce/src/purchase/checkoutPaymentFlow.d.ts +50 -0
  185. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +30 -0
  186. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +10 -0
  187. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +53 -0
  188. package/dist/_dts/commerce/src/purchase/checkoutQuantity.d.ts +8 -0
  189. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +76 -0
  190. package/dist/_dts/commerce/src/purchase/checkoutSettlement.d.ts +46 -0
  191. package/dist/_dts/commerce/src/purchase/checkoutStripeFinalizationPlanning.d.ts +12 -0
  192. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +125 -0
  193. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +55 -0
  194. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +91 -0
  195. package/dist/_dts/commerce/src/purchase/discountApplication.d.ts +74 -0
  196. package/dist/_dts/commerce/src/purchase/index.d.ts +55 -0
  197. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +86 -0
  198. package/dist/_dts/commerce/src/purchase/order-number.d.ts +33 -0
  199. package/dist/_dts/commerce/src/purchase/orderCancellationPlan.d.ts +19 -0
  200. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +71 -0
  201. package/dist/_dts/commerce/src/purchase/orderConfirmationPlanning.d.ts +120 -0
  202. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +81 -0
  203. package/dist/_dts/commerce/src/purchase/orderFulfillmentResult.d.ts +8 -0
  204. package/dist/_dts/commerce/src/purchase/orderHistoryLedgerFilters.d.ts +1 -0
  205. package/dist/_dts/commerce/src/purchase/orderHistorySource.d.ts +11 -0
  206. package/dist/_dts/commerce/src/purchase/orderInstalmentAdminSettlement.d.ts +43 -0
  207. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +29 -0
  208. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +44 -0
  209. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +24 -0
  210. package/dist/_dts/commerce/src/purchase/orderInstalmentPlan.d.ts +40 -0
  211. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +151 -0
  212. package/dist/_dts/commerce/src/purchase/orderItemSupport.d.ts +14 -0
  213. package/dist/_dts/commerce/src/purchase/orderListFilters.d.ts +3 -0
  214. package/dist/_dts/commerce/src/purchase/orderPaymentLinkPlanning.d.ts +60 -0
  215. package/dist/_dts/commerce/src/purchase/orderPaymentReceipt.d.ts +184 -0
  216. package/dist/_dts/commerce/src/purchase/orderPaymentState.d.ts +135 -0
  217. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +102 -0
  218. package/dist/_dts/commerce/src/purchase/orderRefundPlanning.d.ts +50 -0
  219. package/dist/_dts/commerce/src/purchase/orderRefundPolicy.d.ts +36 -0
  220. package/dist/_dts/commerce/src/purchase/orderTotals.d.ts +23 -0
  221. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +39 -0
  222. package/dist/_dts/commerce/src/purchase/pendingCheckoutSessionClaim.d.ts +1 -0
  223. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +27 -0
  224. package/dist/_dts/commerce/src/purchase/protectedDepositRefundPolicy.d.ts +86 -0
  225. package/dist/_dts/commerce/src/purchase/refundPolicy.d.ts +8 -0
  226. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +40 -0
  227. package/dist/_dts/commerce/src/purchase/result.d.ts +2 -0
  228. package/dist/_dts/commerce/src/purchase/settlement.d.ts +97 -0
  229. package/dist/_dts/commerce/src/purchase/shopRefundPlanning.d.ts +43 -0
  230. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +31 -0
  231. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +10 -0
  232. package/dist/_dts/commerce/src/purchase/types.d.ts +168 -0
  233. package/dist/_dts/commerce/src/shop/shipmentEligibility.d.ts +14 -0
  234. package/dist/_dts/commerce/src/utils/assertNever.d.ts +1 -0
  235. package/dist/_dts/content-editor/src/components/ContentFieldsForm.d.ts +2 -2
  236. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +10 -6
  237. package/dist/_dts/content-model/src/content-types/builtins.d.ts +10 -6
  238. package/dist/_dts/core/src/booking-vertical-catalog.d.ts +741 -0
  239. package/dist/_dts/core/src/booking-vertical-config.d.ts +66 -0
  240. package/dist/_dts/core/src/booking-vertical-definitions.d.ts +68 -0
  241. package/dist/_dts/{api/src/bookingVerticalPreset.d.ts → core/src/booking-vertical-preset.d.ts} +1 -1
  242. package/dist/_dts/core/src/booking-verticals.d.ts +98 -0
  243. package/dist/_dts/core/src/branded.d.ts +4 -0
  244. package/dist/_dts/core/src/event-page-selection.d.ts +22 -0
  245. package/dist/_dts/core/src/event-page-surface-subject.d.ts +25 -4
  246. package/dist/_dts/core/src/event-pricing.d.ts +5 -0
  247. package/dist/_dts/core/src/event-series-behaviour.d.ts +16 -0
  248. package/dist/_dts/core/src/index.d.ts +6 -0
  249. package/dist/_dts/core/src/public-event-booking-availability.d.ts +8 -0
  250. package/dist/_dts/core/src/secret.d.ts +44 -0
  251. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +413 -0
  252. package/dist/_dts/db/src/schemas/forms.d.ts +4 -4
  253. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -1
  254. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -2
  255. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +2 -2
  256. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +1 -1
  257. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +1 -1
  258. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +1 -1
  259. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -1
  260. package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +1 -1
  261. package/dist/_dts/editor-blocks/src/blockPayload.d.ts +1 -1
  262. package/dist/_dts/editor-blocks/src/index.d.ts +2 -2
  263. package/dist/_dts/editor-blocks/src/media/MediaField.d.ts +2 -2
  264. package/dist/_dts/editor-blocks/src/widgets/button/ButtonField.d.ts +1 -1
  265. package/dist/_dts/editor-blocks/src/widgets/button/ButtonVariantField.d.ts +1 -1
  266. package/dist/_dts/editor-blocks/src/widgets/button/index.d.ts +1 -1
  267. package/dist/_dts/editor-blocks/src/widgets/content-type-select/ContentTypeSelectField.d.ts +1 -1
  268. package/dist/_dts/editor-blocks/src/widgets/entry-picker/EntryPickerField.d.ts +1 -1
  269. package/dist/_dts/editor-blocks/src/widgets/entry-picker/index.d.ts +1 -1
  270. package/dist/_dts/editor-blocks/src/widgets/icon-picker/IconPickerField.d.ts +1 -1
  271. package/dist/_dts/editor-blocks/src/widgets/inline-text/InlineTextField.d.ts +1 -1
  272. package/dist/_dts/editor-blocks/src/widgets/link/LinkField.d.ts +2 -2
  273. package/dist/_dts/editor-blocks/src/widgets/offerings-preview/OfferingsPreviewGroupOrderField.d.ts +1 -1
  274. package/dist/_dts/editor-blocks/src/widgets/reference/ReferenceField.d.ts +2 -2
  275. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextField.d.ts +2 -2
  276. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +1 -1
  277. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +1 -1
  278. package/dist/_dts/media-core/src/fileUploadCompletion.d.ts +3 -0
  279. package/dist/_dts/media-core/src/fileUploadDurableFinalization.d.ts +2 -0
  280. package/dist/_dts/media-core/src/identifiers.d.ts +10 -0
  281. package/dist/_dts/media-core/src/mediaWriteNormalizer.d.ts +2 -6
  282. package/dist/_dts/media-core/src/types.d.ts +2 -1
  283. package/dist/_dts/media-editor/src/index.d.ts +2 -2
  284. package/dist/_dts/media-editor/src/mediaSelection.d.ts +1 -22
  285. package/dist/_dts/media-editor/src/useMediaSelection.d.ts +0 -9
  286. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +1 -1
  287. package/dist/_dts/preview-next/src/client/preview/ButtonHoverRoleControls.d.ts +10 -0
  288. package/dist/_dts/preview-next/src/client/preview/ButtonStylePicker.d.ts +3 -2
  289. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +1 -1
  290. package/dist/_dts/preview-next/src/client/preview/EntrySlotBlockEditorPanel.d.ts +1 -1
  291. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -1
  292. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +4 -1
  293. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  294. package/dist/_dts/preview-next/src/client/preview/PreviewSiteFontStorageContext.d.ts +6 -0
  295. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  296. package/dist/_dts/preview-next/src/client/preview/StyleConfiguratorWarningNotice.d.ts +7 -0
  297. package/dist/_dts/preview-next/src/client/preview/siteFontPreview.d.ts +5 -0
  298. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +1 -1
  299. package/dist/_dts/preview-next/src/client/sdk/contentStorage.d.ts +10 -0
  300. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +1 -1
  301. package/dist/_dts/preview-next/src/index.d.ts +1 -0
  302. package/dist/_dts/preview-next/src/keepAlive.d.ts +3 -5
  303. package/dist/_dts/preview-next/src/refresh-contract.d.ts +1 -0
  304. package/dist/_dts/preview-next/src/route-contract.d.ts +7 -0
  305. package/dist/_dts/sdk/src/client/eventSubrouteReadOperations.d.ts +11 -0
  306. package/dist/_dts/sdk/src/client/types.d.ts +12 -5
  307. package/dist/_dts/sdk/src/components.d.ts +1 -1
  308. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  309. package/dist/_dts/sdk/src/contracts/page.d.ts +2 -13
  310. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +64 -54
  311. package/dist/_dts/sdk/src/next/pageMetadataProjection.d.ts +7 -0
  312. package/dist/_dts/sdk/src/next/resolveEventPageSubroute.d.ts +12 -0
  313. package/dist/_dts/sdk/src/preview-next/keep-alive.d.ts +1 -1
  314. package/dist/_dts/sdk/src/public-api/contracts.d.ts +5 -19
  315. package/dist/_dts/sdk/src/public-api/eventSubrouteContracts.d.ts +12 -0
  316. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  317. package/dist/_dts/sdk/src/rendering/client.d.ts +44 -0
  318. package/dist/_dts/sdk/src/rendering/components/Layout.d.ts +1 -1
  319. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  320. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +9 -1
  321. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +1 -1
  322. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +4 -3
  323. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +7 -3
  324. package/dist/_dts/sdk/src/theme-bridge/types.d.ts +4 -2
  325. package/dist/_dts/sdk/src/version.d.ts +1 -1
  326. package/dist/_dts/theme-core/src/buttons/buttonSurfaceContext.d.ts +1 -1
  327. package/dist/_dts/theme-core/src/buttons/contextualHover.d.ts +41 -0
  328. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  329. package/dist/_dts/theme-core/src/buttons/resolveButtonColourStates.d.ts +3 -0
  330. package/dist/_dts/theme-core/src/buttons/resolveButtonHoverTreatment.d.ts +14 -0
  331. package/dist/_dts/theme-core/src/buttons/styles/domain.d.ts +21 -4
  332. package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +92 -0
  333. package/dist/_dts/theme-core/src/buttons/styles/recipes/staticRecipes.d.ts +10 -150
  334. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +57 -102
  335. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +50 -2
  336. package/dist/_dts/theme-core/src/buttons/types.d.ts +29 -0
  337. package/dist/_dts/theme-core/src/cards/core.d.ts +54 -10
  338. package/dist/_dts/theme-core/src/cards/decorations.d.ts +33 -0
  339. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +7 -2
  340. package/dist/_dts/theme-core/src/cards/index.d.ts +3 -0
  341. package/dist/_dts/theme-core/src/cards/openCardVariant.d.ts +24 -0
  342. package/dist/_dts/theme-core/src/cards/roles.d.ts +38 -0
  343. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +53 -8
  344. package/dist/_dts/theme-core/src/cards/types.d.ts +474 -28
  345. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  346. package/dist/_dts/theme-core/src/header/legacyHeaderVariant.d.ts +59 -0
  347. package/dist/_dts/theme-core/src/header/paintTargets.d.ts +2 -2
  348. package/dist/_dts/theme-core/src/header/scrollTreatment.d.ts +3 -2
  349. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +30 -138
  350. package/dist/_dts/theme-core/src/palette/utils/contrast.d.ts +1 -0
  351. package/dist/_dts/theme-core/src/palette/utils/opaqueSurfaceColor.d.ts +6 -0
  352. package/dist/_dts/theme-core/src/runtime/buildThemeRuntimeFromBridge.d.ts +1 -1
  353. package/dist/_dts/theme-core/src/schema.d.ts +302 -107
  354. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +111 -102
  355. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +12 -1
  356. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +9 -4
  357. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +0 -20
  358. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +111 -102
  359. package/dist/_dts/theme-core/src/site-styles/buttonSelectionCompiler.d.ts +18 -0
  360. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +48 -0
  361. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +21 -0
  362. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +21 -385
  363. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -18
  364. package/dist/_dts/theme-core/src/site-styles/headerLayoutTypes.d.ts +2 -4
  365. package/dist/_dts/theme-core/src/site-styles/headerOpeningForeground.d.ts +2 -9
  366. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +0 -2
  367. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  368. package/dist/_dts/theme-core/src/site-styles/pageDesignAppearanceAvailability.d.ts +3 -0
  369. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorCapabilities.d.ts +22 -0
  370. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +9 -8
  371. package/dist/_dts/theme-core/src/site-styles/pageDesignIntentEquality.d.ts +3 -0
  372. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -11
  373. package/dist/_dts/theme-core/src/site-styles/previewRuntimeCapabilities.d.ts +19 -0
  374. package/dist/_dts/theme-core/src/site-styles/runtimeBackgroundResolution.d.ts +9 -0
  375. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +1 -62
  376. package/dist/_dts/theme-core/src/site-styles/selectionFallbackWarning.d.ts +15 -0
  377. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +13 -12
  378. package/dist/_dts/theme-core/src/site-styles/types.d.ts +62 -39
  379. package/dist/_dts/theme-core/src/siteChromePlanning.d.ts +9 -9
  380. package/dist/_dts/theme-core/src/status/generateStatusCss.d.ts +1 -0
  381. package/dist/_dts/theme-core/src/surfaces/index.d.ts +1 -0
  382. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +39 -0
  383. package/dist/_dts/ui/src/navigation-tabs.d.ts +5 -2
  384. package/dist/client/{DiscountCodeDisclosure-Ur-Xx1U_.mjs → DiscountCodeDisclosure-DO7llLxm.mjs} +12 -12
  385. package/dist/client/{EventCombined.client-EhscD4U6.mjs → EventCombined.client-xID7zN__.mjs} +38 -50
  386. package/dist/client/{EventListing.client-Bn26cFTY.mjs → EventListing.client-CriBslp0.mjs} +2 -2
  387. package/dist/client/{FeedbackMessage-ByMrs3cr.mjs → FeedbackMessage-CtLvvS_d.mjs} +15 -3
  388. package/dist/client/{LeafletStaticMap-BUw9Ntzr.mjs → LeafletStaticMap-DYmHnM8g.mjs} +1 -1
  389. package/dist/client/{StepIndicator-BfbdiVQI.mjs → StepIndicator-CGixP_LW.mjs} +3 -3
  390. package/dist/client/{CourseRegistrationWizard-Bvtz9G9g.mjs → WholeSeriesRegistrationWizard-BEjzSiOA.mjs} +1410 -1247
  391. package/dist/client/{accordion-CjIeof73.mjs → accordion-CgFbnnnQ.mjs} +1 -1
  392. package/dist/client/{bookingForm-DwEeovf_.mjs → bookingForm-dUyGpbxc.mjs} +56 -39
  393. package/dist/client/bookings.mjs +1096 -731
  394. package/dist/client/{carousel-BMrfgOba.mjs → carousel-BvBwkUzx.mjs} +2 -2
  395. package/dist/client/{carousel.client-CpwTUhIo.mjs → carousel.client-59G_WMr4.mjs} +1 -1
  396. package/dist/client/{cart-rXEdxTdb.mjs → cart-DiZENT2E.mjs} +3 -3
  397. package/dist/client/{checkout-D3JlSzh3.mjs → checkout-Dq13KIgR.mjs} +3 -3
  398. package/dist/client/client.mjs +10645 -6794
  399. package/dist/client/{colorStyles-BWpj_h4C.mjs → colorStyles-CrxJrPjJ.mjs} +277 -1
  400. package/dist/client/{context-CJz1Vlsz.mjs → context-B83PiNzm.mjs} +6 -21
  401. package/dist/client/{courseRegistration-DO5XvMAA.mjs → courseRegistration-CKC5NmyH.mjs} +11 -5
  402. package/dist/client/{eventCalendar-DO6rTqCn.mjs → eventCalendar-BF0Jatfw.mjs} +42 -45
  403. package/dist/client/{eventCombined-bJ3i_ovU.mjs → eventCombined-BuoCF8je.mjs} +3 -3
  404. package/dist/client/{eventDetails-CCbrXE7o.mjs → eventDetails-CKwh0S9s.mjs} +276 -94
  405. package/dist/client/{eventListing-Bdlt9YTm.mjs → eventListing-eUxaWFaB.mjs} +3 -3
  406. package/dist/client/{eventRegistration-B02lt6iY.mjs → eventRegistration-CfkNOkPb.mjs} +630 -138
  407. package/dist/client/{form-DrUBAAox.mjs → form-C17H1c_H.mjs} +4 -4
  408. package/dist/client/{headerSection-MzqvHL6T.mjs → headerSection-DEwUmrtt.mjs} +2 -2
  409. package/dist/client/hooks.mjs +3224 -2485
  410. package/dist/client/{locationMap-DG8BxTBm.mjs → locationMap-Pf2QwuvW.mjs} +3 -3
  411. package/dist/client/{media-CNE1Z-wb.mjs → media-BOHuueS5.mjs} +16 -4
  412. package/dist/client/{newsletterForm-BzO-Td3p.mjs → newsletterForm-BWQAH5Sv.mjs} +4 -4
  413. package/dist/client/pricing-CVdvbopJ.mjs +195 -0
  414. package/dist/client/{productDetail-CfQ7rhVK.mjs → productDetail-BZi1Fa_G.mjs} +3 -3
  415. package/dist/client/{productList-C23rOLUi.mjs → productList-qq-55DNk.mjs} +3 -3
  416. package/dist/client/{propsDecoder-CAZdhwjs.mjs → propsDecoder-BxmqPKdP.mjs} +859 -650
  417. package/dist/client/rendering/client.mjs +8658 -7862
  418. package/dist/client/rendering/islands.mjs +20 -20
  419. package/dist/client/rendering.mjs +11437 -7446
  420. package/dist/client/{scrollToBlock-DSSqVQr1.mjs → scrollToBlock-B3CcKdtG.mjs} +1 -1
  421. package/dist/client/{shop-BMToKLK7.mjs → shop-DNWJPut5.mjs} +7 -7
  422. package/dist/client/{shop-commerce-DB4JRKmp.mjs → shop-commerce-BhvQCosS.mjs} +8 -8
  423. package/dist/client/{shop-commerce-store-BOqSIOuc.mjs → shop-commerce-store-B04sCNnW.mjs} +1 -1
  424. package/dist/client/{shopShared-B6SK9DZv.mjs → shopShared-DNNgZlmW.mjs} +5 -5
  425. package/dist/client/{useEventFilters-CULOa4nB.mjs → useEventFilters-CUmhE24_.mjs} +329 -84
  426. package/dist/client/{usePolling-BGG_8-jl.mjs → usePolling-M5jG675x.mjs} +3 -3
  427. package/dist/preview-next/before-render.mjs +439 -168
  428. package/dist/preview-next/client/runtime.mjs +4 -4
  429. package/dist/preview-next/keepAlive.mjs +7593 -29
  430. package/dist/preview-next/middleware.mjs +433 -167
  431. package/dist/{previewAuthStore-_GXFRg2W.mjs → previewAuthStore-BFKd4LrN.mjs} +432 -167
  432. package/dist/{sdk-runtime-hhSOMShR.mjs → sdk-runtime-BEXb1wqo.mjs} +2 -2
  433. package/dist/{separator-flRaFc14.mjs → separator-DGMuip1D.mjs} +1 -1
  434. package/dist/server/components.mjs +9596 -6347
  435. package/dist/server/config-validation.mjs +3224 -2486
  436. package/dist/server/config.mjs +3224 -2486
  437. package/dist/server/data.mjs +3224 -2485
  438. package/dist/server/index.mjs +486 -200
  439. package/dist/server/manifest.mjs +0 -1
  440. package/dist/server/next.mjs +10343 -7188
  441. package/dist/server/page-converter.mjs +1828 -2094
  442. package/dist/server/prebuild.mjs +1 -1
  443. package/dist/server/rendering/server.mjs +6750 -4519
  444. package/dist/server/rendering.mjs +9591 -6342
  445. package/dist/server/routing.mjs +3403 -1594
  446. package/dist/server/server.mjs +3274 -2671
  447. package/dist/server/theme-bridge.mjs +2979 -1639
  448. package/dist/server/theme.mjs +590 -176
  449. package/dist/styles/index.css +1896 -1129
  450. package/package.json +3 -2
  451. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +0 -746
  452. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +0 -1
  453. package/dist/_dts/block-form/src/widgets/index.d.ts +0 -20
  454. package/dist/_dts/blocks/src/system/runtime/api/requestBody.d.ts +0 -7
  455. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/CourseRegistrationWizard.d.ts +0 -3
  456. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/StepIndicator.d.ts +0 -6
  457. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +0 -45
  458. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +0 -14
  459. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +0 -9
  460. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +0 -35
  461. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +0 -31
  462. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +0 -102
  463. package/dist/client/clsx-DgIEfj3H.mjs +0 -16
  464. package/dist/client/eventProductEligibility-AVxyCB1u.mjs +0 -50
  465. package/dist/client/pricing-NgK7ozkg.mjs +0 -174
  466. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/PortalAuthSidebar.d.ts +0 -0
  467. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/SuccessStep.d.ts +0 -0
  468. /package/dist/_dts/blocks/src/system/runtime/nodes/{course-registration → event-registration/whole-series}/WaitlistStep.d.ts +0 -0
@@ -2,6 +2,7 @@ import type { AppointmentResourceId, AppointmentServiceId, Brand, CustomerPassId
2
2
  import type { BlockApiConfig, EligibleAppointmentPackage } from "../api/types";
3
3
  import type { TimeSlot } from "../api/types";
4
4
  import type { BookingFormConfig, BookingFormData, BookingFormField, BookingPaymentStepResolution, BookingFormServicesSource, BookingFormService, BookingSelectedCollectionOptionKind, BookingSubmissionData } from "./booking-form.state";
5
+ import type { BookingValidationErrors } from "./booking-form.validationErrors";
5
6
  export type LoadState<T> = Readonly<{
6
7
  tag: "idle";
7
8
  }> | Readonly<{
@@ -25,10 +26,6 @@ export type BookingFlowStep = Readonly<{
25
26
  canEnter: boolean;
26
27
  canLeave: boolean;
27
28
  }>;
28
- export type BookingValidationErrors = Readonly<{
29
- formError: string | null;
30
- fieldErrors: Readonly<Record<string, string>>;
31
- }>;
32
29
  export type BookingFieldId = Brand<string, "BookingFieldId">;
33
30
  export declare const unsafeAsBookingFieldId: (id: string) => BookingFieldId;
34
31
  export type BookingFieldValue = string | number | boolean | readonly string[] | null;
@@ -173,6 +170,13 @@ export type BookingFlowReducerState = Readonly<{
173
170
  selectedSlot: BookingSlotView | null;
174
171
  fieldValues: Readonly<Record<string, BookingFieldValue>>;
175
172
  touchedFields: Readonly<Record<string, boolean>>;
173
+ /**
174
+ * Steps the user has tried to advance past. Step validation is derived
175
+ * continuously (it gates `canLeave`), but a step's errors are only ever
176
+ * *shown* once the step has been attempted — so a freshly mounted form is
177
+ * never scolded for input it has not had the chance to give yet.
178
+ */
179
+ attemptedStepIds: BookingAttemptedStepIds;
176
180
  discountCode: string;
177
181
  selectedSlidingAmountInput: string;
178
182
  selectedCollectionOptionKind?: BookingSelectedCollectionOptionKind;
@@ -200,6 +204,9 @@ export type BookingFlowEvent = Readonly<{
200
204
  }> | Readonly<{
201
205
  type: "field-touched";
202
206
  fieldId: BookingFieldId;
207
+ }> | Readonly<{
208
+ type: "step-advance-attempted";
209
+ stepId: BookingFlowStepId;
203
210
  }> | Readonly<{
204
211
  type: "payment-option-selected";
205
212
  kind: BookingSelectedCollectionOptionKind | null;
@@ -256,6 +263,13 @@ export type BookingStepPlanItem = Readonly<{
256
263
  label: string;
257
264
  visible: boolean;
258
265
  }>;
266
+ /**
267
+ * Steps the user has actually tried to advance past. Step validation is derived
268
+ * continuously (it gates whether a step can be left), but a step's errors are
269
+ * only ever *shown* once the step has been attempted — so a freshly mounted
270
+ * form is never scolded for input it has not had the chance to give yet.
271
+ */
272
+ export type BookingAttemptedStepIds = Readonly<Partial<Record<BookingFlowStepId, boolean>>>;
259
273
  export type BookingStepValidationResult = Readonly<{
260
274
  ok: true;
261
275
  }> | Readonly<{
@@ -272,6 +286,12 @@ export type DeriveBookingFlowStepsInput = Readonly<{
272
286
  requiresServiceSelection?: boolean;
273
287
  requiresResourceSelection?: boolean;
274
288
  enableAppointmentPackages?: boolean;
289
+ /**
290
+ * Steps whose validation messaging has been earned by an advance attempt.
291
+ * Omitted means "none attempted yet", so callers that only need gating can
292
+ * keep ignoring it.
293
+ */
294
+ attemptedStepIds?: BookingAttemptedStepIds;
275
295
  }>;
276
296
  export type DerivedBookingFlowSteps = Readonly<{
277
297
  steps: readonly BookingFlowStep[];
@@ -416,10 +436,6 @@ export type AppointmentBookingOverrideInputResult = Readonly<{
416
436
  reason: "missing-site-id" | "missing-api-base-url" | "missing-form" | "missing-form-id" | "missing-services";
417
437
  message: string;
418
438
  }>;
419
- export declare function createEmptyBookingValidationErrors(): BookingValidationErrors;
420
- export declare function createFormBookingValidationError(formError: string): BookingValidationErrors;
421
- export declare function createFieldBookingValidationErrors(fieldErrors: Readonly<Record<string, string>>): BookingValidationErrors;
422
- export declare function hasBookingValidationErrors(errors: BookingValidationErrors): boolean;
423
439
  export declare function createInitialBookingFlowReducerState(input: Readonly<{
424
440
  defaultServiceId?: string;
425
441
  defaultResourceId?: string;
@@ -8,6 +8,14 @@ type BookingFormProps = BookingFormSourceProps & Readonly<{
8
8
  * Server-safe placeholder for booking form.
9
9
  * Renders a stable shell plus the typed island envelope so hydration can attach
10
10
  * without pulling client hooks into the server graph.
11
+ *
12
+ * The island root carries mount identity only. The loading affordances — the
13
+ * `.rb-reg-surface` card, its `aria-busy` / `role="status"` announcement and the
14
+ * skeleton — live on a *child*, which the island mounter replaces wholesale when
15
+ * React takes over (it swaps the root's children, not the root). That keeps the
16
+ * card drawn exactly once after hydration, because the client wizard renders its
17
+ * own `.rb-reg-surface`, and leaves no stale loading state on the mounted form.
18
+ * `event-registration.server.tsx` follows the same shape.
11
19
  */
12
20
  export declare function BookingFormSSR({ blockId, siteId, apiBaseUrl, portalToken, formId, serviceId, resourceId, initialData, noticeMessage, requiresServiceSelection, requiresResourceSelection, shouldAutoSelectSingleResource, rebookContext, submitLabel, successMessage, form, services, spamProtectionEnabled, className, children, }: BookingFormProps): React.JSX.Element;
13
21
  export default BookingFormSSR;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The booking flow's validation vocabulary: what a step can complain about, and
3
+ * when the user has earned the right to be told.
4
+ *
5
+ * Split out of `booking-form.headless.state.ts` so the reducer file carries
6
+ * behaviour rather than this small closed value type and its constructors.
7
+ */
8
+ export type BookingValidationErrors = Readonly<{
9
+ formError: string | null;
10
+ fieldErrors: Readonly<Record<string, string>>;
11
+ }>;
12
+ export declare function createEmptyBookingValidationErrors(): BookingValidationErrors;
13
+ export declare function createFormBookingValidationError(formError: string): BookingValidationErrors;
14
+ export declare function createFieldBookingValidationErrors(fieldErrors: Readonly<Record<string, string>>): BookingValidationErrors;
15
+ export declare function hasBookingValidationErrors(errors: BookingValidationErrors): boolean;
16
+ export declare function clearBookingFormError(errors: BookingValidationErrors): BookingValidationErrors;
17
+ export declare function clearBookingFieldError(errors: BookingValidationErrors, fieldId: string): BookingValidationErrors;
@@ -1,4 +1,4 @@
1
- import { type EventPageSurfaceSubject, type EventPageSurfaceSubjectParseError } from '../../../../../core/src/index';
1
+ import type { EventPageSurfaceSubject, EventPageSurfaceSubjectParseError } from '../../../../../core/src/index';
2
2
  import type { PublicCourse } from '../../blocks/courses/shared/types';
3
3
  export type CoursePageSurfaceScope = Readonly<{
4
4
  kind: 'absent';
@@ -10,8 +10,5 @@ export type CoursePageSurfaceScope = Readonly<{
10
10
  kind: 'unsupported';
11
11
  reason: EventPageSurfaceSubjectParseError['kind'];
12
12
  }>;
13
- /**
14
- * Resolves native course-page ownership without falling back to entry or slug
15
- * coincidence when a page-surface subject is present but invalid.
16
- */
13
+ /** Temporary Course-block adapter over canonical Event run scoping. */
17
14
  export declare function resolveCoursePageSurfaceScope(courses: readonly PublicCourse[], subjectValue: unknown): CoursePageSurfaceScope;
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
- import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration';
2
+ import type { WholeSeriesRegistrationClientProps } from './event-registration/whole-series';
3
3
  import type { CourseRegistrationInteractiveIslandProps } from './course-registration.interactive';
4
- export type CourseRegistrationClientProps = InternalCourseRegistrationClientProps;
4
+ export type CourseRegistrationClientProps = Omit<WholeSeriesRegistrationClientProps, 'runs'> & Readonly<{
5
+ courses?: WholeSeriesRegistrationClientProps['runs'];
6
+ }>;
5
7
  export type CourseRegistrationIslandClientProps = CourseRegistrationInteractiveIslandProps;
6
8
  export declare function CourseRegistrationClient(props: CourseRegistrationClientProps): React.JSX.Element;
7
9
  export declare function CourseRegistrationIslandClient(props: CourseRegistrationIslandClientProps): React.JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import type { BlockButtonRole } from '../../constants/buttonRoles';
2
2
  import type { PublicCourse } from '../../blocks/courses/shared/types';
3
- import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration/types';
3
+ import type { WholeSeriesRegistrationClientProps } from './event-registration/whole-series/types';
4
4
  import { type InteractiveIslandProps } from '../../../contracts/islands';
5
5
  import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
6
6
  export type CourseRegistrationSourceProps = Readonly<{
@@ -27,7 +27,9 @@ export type CourseRegistrationDisplay = Readonly<{
27
27
  className: string | null;
28
28
  summaryButtonText: string;
29
29
  }>;
30
- export type CourseRegistrationHydration = Readonly<Omit<InternalCourseRegistrationClientProps, 'siteId' | 'stage' | 'buttonText' | 'className'>>;
30
+ export type CourseRegistrationHydration = Readonly<Omit<WholeSeriesRegistrationClientProps, 'runs' | 'siteId' | 'stage' | 'buttonText' | 'className'> & {
31
+ courses?: PublicCourse[] | null;
32
+ }>;
31
33
  type CourseRegistrationIslandMeta = Readonly<{
32
34
  siteId?: string;
33
35
  apiBaseUrl?: string;
@@ -62,7 +64,9 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
62
64
  className: string | null;
63
65
  summaryButtonText: string;
64
66
  }>;
65
- hydration: Readonly<Omit<InternalCourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
67
+ hydration: Readonly<Omit<WholeSeriesRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "runs"> & {
68
+ courses?: PublicCourse[] | null;
69
+ }>;
66
70
  }>;
67
71
  contracts: Readonly<{
68
72
  source: Readonly<{
@@ -111,7 +115,9 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
111
115
  className: string | null;
112
116
  summaryButtonText: string;
113
117
  }>;
114
- hydration: Readonly<Omit<InternalCourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
118
+ hydration: Readonly<Omit<WholeSeriesRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "runs"> & {
119
+ courses?: PublicCourse[] | null;
120
+ }>;
115
121
  }>) => unknown;
116
122
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<{
117
123
  display: Readonly<{
@@ -120,7 +126,9 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
120
126
  className: string | null;
121
127
  summaryButtonText: string;
122
128
  }>;
123
- hydration: Readonly<Omit<InternalCourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
129
+ hydration: Readonly<Omit<WholeSeriesRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "runs"> & {
130
+ courses?: PublicCourse[] | null;
131
+ }>;
124
132
  }>>;
125
133
  }>;
126
134
  }>;
@@ -142,7 +150,9 @@ export declare const courseRegistrationInteractiveIslandPropsCodec: Readonly<{
142
150
  className: string | null;
143
151
  summaryButtonText: string;
144
152
  }>;
145
- hydration: Readonly<Omit<InternalCourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
153
+ hydration: Readonly<Omit<WholeSeriesRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "runs"> & {
154
+ courses?: PublicCourse[] | null;
155
+ }>;
146
156
  }>>;
147
157
  }>) => unknown;
148
158
  decode: (input: unknown) => import("../../../contracts").DecodeResult<Readonly<Readonly<{
@@ -161,7 +171,9 @@ export declare const courseRegistrationInteractiveIslandPropsCodec: Readonly<{
161
171
  className: string | null;
162
172
  summaryButtonText: string;
163
173
  }>;
164
- hydration: Readonly<Omit<InternalCourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
174
+ hydration: Readonly<Omit<WholeSeriesRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "runs"> & {
175
+ courses?: PublicCourse[] | null;
176
+ }>;
165
177
  }>>;
166
178
  }>>;
167
179
  }>;
@@ -8,12 +8,33 @@ export type OccurrenceContextLike = {
8
8
  endsAt: string;
9
9
  timeZone: string;
10
10
  } | null;
11
- export type EventDetailsSelection = {
11
+ type OrdinaryPublicEvent = PublicEvent & {
12
+ bookingScope: 'single_occurrence';
13
+ };
14
+ type WholeSeriesPublicEvent = PublicEvent & {
15
+ bookingScope: 'whole_series';
16
+ };
17
+ export type EventDetailsSelection = Readonly<{
18
+ kind: 'empty';
19
+ mode: 'next';
20
+ selected: null;
21
+ otherDates: readonly [];
22
+ timeZone: string;
23
+ }> | Readonly<{
24
+ kind: 'ordinary';
25
+ mode: 'selected' | 'next';
26
+ selected: OrdinaryPublicEvent;
27
+ otherDates: OrdinaryPublicEvent[];
28
+ timeZone: string;
29
+ }> | Readonly<{
30
+ kind: 'wholeSeries';
31
+ phase: 'upcoming' | 'inProgress' | 'completed';
12
32
  mode: 'selected' | 'next' | 'completed';
13
- selected: PublicEvent | null;
14
- otherDates: PublicEvent[];
33
+ selected: WholeSeriesPublicEvent;
34
+ otherDates: WholeSeriesPublicEvent[];
35
+ sessions: readonly [WholeSeriesPublicEvent, ...WholeSeriesPublicEvent[]];
15
36
  timeZone: string;
16
- };
37
+ }>;
17
38
  export declare function selectEventDetails(args: {
18
39
  events: PublicEvent[] | null | undefined;
19
40
  occurrenceContext: OccurrenceContextLike | null | undefined;
@@ -0,0 +1,75 @@
1
+ import type { EventAutoApplyDiscountPreview } from '../../../blocks/event-details';
2
+ import type { PublicEvent } from '../../../blocks/events/shared/types';
3
+ import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop';
4
+ import type { EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
5
+ import { type OccurrenceContextLike } from './logic';
6
+ export type EventDetailsPresentationInput = Readonly<{
7
+ occurrenceContext?: OccurrenceContextLike | null;
8
+ subject?: EventRegistrationPageSurfaceSubject | null;
9
+ events?: PublicEvent[] | null;
10
+ showVenue?: boolean;
11
+ showMap?: boolean;
12
+ showOtherDates?: boolean;
13
+ otherDatesLimit?: string;
14
+ showCost?: boolean;
15
+ showTitle?: boolean;
16
+ showDescription?: boolean;
17
+ showCapacity?: boolean;
18
+ showAcceptedPasses?: boolean;
19
+ showAcceptedMemberships?: boolean;
20
+ sitePasses?: PublicPassProductCollection | null;
21
+ siteMemberships?: PublicMembershipProductCollection | null;
22
+ autoApplyDiscount?: EventAutoApplyDiscountPreview | null;
23
+ nowIso?: string;
24
+ }>;
25
+ export declare function resolveEventDetailsPresentation(input: EventDetailsPresentationInput): {
26
+ autoApplyDiscount: EventAutoApplyDiscountPreview | null;
27
+ applicablePasses: ({
28
+ purchaseAvailability: "purchasable";
29
+ id: string;
30
+ productUseCase: "event_pass" | "appointment_package";
31
+ name: string;
32
+ description: string | null;
33
+ price: number;
34
+ currency: string;
35
+ creditsTotal: number;
36
+ pricePerCredit: number;
37
+ validDays: number | null;
38
+ eligibleCategoryIds: string[];
39
+ eligibleCategoryNames: string[];
40
+ } | {
41
+ purchaseAvailability: "display_only";
42
+ unavailabilityReason: "online_payments_unavailable";
43
+ id: string;
44
+ productUseCase: "event_pass" | "appointment_package";
45
+ name: string;
46
+ description: string | null;
47
+ price: number;
48
+ currency: string;
49
+ creditsTotal: number;
50
+ pricePerCredit: number;
51
+ validDays: number | null;
52
+ eligibleCategoryIds: string[];
53
+ eligibleCategoryNames: string[];
54
+ })[];
55
+ applicableMemberships: {
56
+ id: string;
57
+ name: string;
58
+ description: string | null;
59
+ price: number;
60
+ currency: string;
61
+ billingInterval: "month" | "year";
62
+ eligibleCategoryIds: string[];
63
+ eligibleCategoryNames: string[];
64
+ }[];
65
+ showVenue: boolean;
66
+ showMap: boolean;
67
+ showOtherDates: boolean;
68
+ showCost: boolean;
69
+ showTitle: boolean;
70
+ showDescription: boolean;
71
+ showCapacity: boolean;
72
+ showAcceptedPasses: boolean;
73
+ showAcceptedMemberships: boolean;
74
+ selection: import("./logic").EventDetailsSelection;
75
+ };
@@ -18,6 +18,9 @@ export type EventDetailsViewProps = {
18
18
  showMap: boolean;
19
19
  showOtherDates: boolean;
20
20
  showCost?: boolean;
21
+ showTitle?: boolean;
22
+ showDescription?: boolean;
23
+ showCapacity?: boolean;
21
24
  showAcceptedPasses?: boolean;
22
25
  showAcceptedMemberships?: boolean;
23
26
  applicablePasses?: PublicPassProduct[];
@@ -27,5 +30,5 @@ export type EventDetailsViewProps = {
27
30
  mapClassName?: string;
28
31
  renderVenueMap?: (args: RenderVenueMapArgs) => React.ReactNode;
29
32
  };
30
- export declare function EventDetailsView({ selection, showVenue, showMap, showOtherDates, showCost, showAcceptedPasses, showAcceptedMemberships, applicablePasses, applicableMemberships, autoApplyDiscount, mapHeight, mapClassName, renderVenueMap, }: EventDetailsViewProps): React.JSX.Element;
33
+ export declare function EventDetailsView(props: EventDetailsViewProps): React.JSX.Element;
31
34
  export {};
@@ -4,7 +4,7 @@ import type { EventDetailsIslandProps } from '../../../contracts';
4
4
  import type { PublicEvent } from '../../blocks/events/shared/types';
5
5
  import type { EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
6
6
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../blocks/shop';
7
- import { type OccurrenceContextLike } from './event-details/logic';
7
+ import type { OccurrenceContextLike } from './event-details/logic';
8
8
  export type EventDetailsClientProps = Readonly<{
9
9
  occurrenceContext?: OccurrenceContextLike | null;
10
10
  subject?: EventRegistrationPageSurfaceSubject | null;
@@ -14,6 +14,9 @@ export type EventDetailsClientProps = Readonly<{
14
14
  showOtherDates?: boolean;
15
15
  otherDatesLimit?: string;
16
16
  showCost?: boolean;
17
+ showTitle?: boolean;
18
+ showDescription?: boolean;
19
+ showCapacity?: boolean;
17
20
  showAcceptedPasses?: boolean;
18
21
  showAcceptedMemberships?: boolean;
19
22
  /** Response from listPublicPasses API. */
@@ -27,6 +30,6 @@ export type EventDetailsClientProps = Readonly<{
27
30
  children?: React.ReactNode;
28
31
  }>;
29
32
  export type EventDetailsIslandClientProps = EventDetailsIslandProps;
30
- export declare function EventDetailsClient({ occurrenceContext, subject, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children, }: EventDetailsClientProps): React.JSX.Element;
33
+ export declare function EventDetailsClient(props: EventDetailsClientProps): React.JSX.Element;
31
34
  export declare function EventDetailsIslandClient(props: EventDetailsIslandClientProps): React.JSX.Element;
32
35
  export default EventDetailsClient;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import type { EventAutoApplyDiscountPreview } from '../../blocks/event-details';
3
3
  import type { PublicEvent } from '../../blocks/events/shared/types';
4
4
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../blocks/shop';
5
- import { type OccurrenceContextLike } from './event-details/logic';
5
+ import type { OccurrenceContextLike } from './event-details/logic';
6
6
  type EventDetailsProps = {
7
7
  blockId?: string | null;
8
8
  occurrenceContext?: OccurrenceContextLike | null;
@@ -13,6 +13,9 @@ type EventDetailsProps = {
13
13
  showOtherDates?: boolean;
14
14
  otherDatesLimit?: string;
15
15
  showCost?: boolean;
16
+ showTitle?: boolean;
17
+ showDescription?: boolean;
18
+ showCapacity?: boolean;
16
19
  showAcceptedPasses?: boolean;
17
20
  showAcceptedMemberships?: boolean;
18
21
  /** Response from listPublicPasses API. */
@@ -24,5 +27,5 @@ type EventDetailsProps = {
24
27
  className?: string | null;
25
28
  children?: React.ReactNode;
26
29
  };
27
- export declare function EventDetailsSSR({ blockId, occurrenceContext, subject, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
30
+ export declare function EventDetailsSSR(props: EventDetailsProps): React.JSX.Element;
28
31
  export default EventDetailsSSR;
@@ -10,6 +10,7 @@
10
10
  import React from 'react';
11
11
  import type { RegistrationEvent, OccurrenceContext, EligibilityData, PaymentSelection, PaymentStepState } from './types';
12
12
  import type { PaymentMethod } from '../../api/types';
13
+ import type { PortalCreditState } from './hooks';
13
14
  export type { PaymentMethod };
14
15
  type PaymentSelectionStepProps = {
15
16
  event: RegistrationEvent | null;
@@ -18,6 +19,9 @@ type PaymentSelectionStepProps = {
18
19
  email: string;
19
20
  /** Whether the user is authenticated via portal bearer token */
20
21
  isAuthenticated?: boolean;
22
+ creditState?: PortalCreditState;
23
+ directPaymentTotalCents?: number;
24
+ manualDiscountPending?: boolean;
21
25
  /** Current canonical selection from wizard state */
22
26
  selectedSelection: PaymentSelection;
23
27
  /** Called whenever the user updates payment selection in this step */
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare function RegistrationClosedState({ title, body, }: Readonly<{
3
+ title: string;
4
+ body: string;
5
+ }>): React.JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { EventRegistrationSiteCreditPreview } from './siteCreditPreview';
3
+ export declare function SiteCreditPreviewPanel(props: Readonly<{
4
+ preview: EventRegistrationSiteCreditPreview;
5
+ currency: string;
6
+ }>): React.JSX.Element | null;
@@ -1,7 +1,7 @@
1
1
  import type { PaymentSelection, PublicEvent, RegistrationStep } from './types';
2
2
  import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
3
  import { type EventRegistrationFlowStatus, type EventRegistrationFlowStep, type EventRegistrationFlowView, type EventRegistrationPaymentSelection, type EventRegistrationSubmitPlan } from './event-registration.headless.contract';
4
- export declare function getRegistrableStatuses(isPreview: boolean | undefined): readonly PublicEvent['status'][];
4
+ export declare function isEventRegistrationAvailable(event: Pick<PublicEvent, 'bookingAvailability'>): boolean;
5
5
  export declare function normalizeEventRegistrationMaxTickets(value: string | number | undefined): number;
6
6
  export declare function toHeadlessPaymentSelection(selection: PaymentSelection): EventRegistrationPaymentSelection;
7
7
  export declare function toInternalPaymentSelection(selection: EventRegistrationPaymentSelection): PaymentSelection;
@@ -8,6 +8,8 @@ type SupportedEventDirectPaymentOption = Extract<BlockBookingPaymentCollectionOp
8
8
  export type EventRegistrationDirectPaymentOption = Omit<BookingPaymentOptionViewModel, 'kind' | 'title'> & Readonly<{
9
9
  kind: Extract<DirectCheckoutCollectionOptionKind, SupportedEventDirectPaymentOption['kind']>;
10
10
  label: string;
11
+ totalCents: number;
12
+ configuredPaymentDueNowCents: number;
11
13
  }>;
12
14
  export type EventRegistrationPaymentOptionsViewModel = Readonly<{
13
15
  mode: 'single_option' | 'choice_required';
@@ -1,6 +1,6 @@
1
1
  import { type EventPageSurfaceSubject, type EventPageSurfaceSubjectParseError, type EventOfferingId, type EventSeriesId, type Result } from '../../../../../../core/src/index';
2
2
  import { z } from 'zod';
3
- export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventOfferingId"];
3
+ export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventSeriesBookingScope", "invalidEventOfferingId"];
4
4
  export type UnsupportedEventRegistrationPageSurfaceSubjectReason = (typeof unsupportedEventRegistrationPageSurfaceSubjectReasons)[number];
5
5
  export type EventRegistrationPageSurfaceSubject = EventPageSurfaceSubject | Readonly<{
6
6
  kind: 'unsupported';
@@ -5,6 +5,7 @@
5
5
  * Extracted from the main EventRegistrationClient for better separation of concerns.
6
6
  */
7
7
  import { useBlockApi } from '../../api';
8
+ import type { PortalCredit } from '../../api';
8
9
  import type { EventTicketSelectionLine } from './types';
9
10
  import { type EligibilityLookupState, type ExistingRegistrationLookupState } from './hooks.state';
10
11
  export type PortalAuthState = 'checking' | 'authenticated' | 'unauthenticated';
@@ -13,6 +14,20 @@ export type PortalProfile = {
13
14
  name: string;
14
15
  phone: string;
15
16
  };
17
+ export type PortalCreditState = Readonly<{
18
+ kind: 'not_authenticated';
19
+ }> | Readonly<{
20
+ kind: 'loading';
21
+ subjectEmail: string;
22
+ }> | Readonly<{
23
+ kind: 'loaded';
24
+ subjectEmail: string;
25
+ credit: PortalCredit | null;
26
+ }> | Readonly<{
27
+ kind: 'unavailable';
28
+ subjectEmail: string;
29
+ }>;
30
+ export declare function scopePortalCreditStateToSubject(state: PortalCreditState, subjectEmail: string | null): PortalCreditState;
16
31
  export type UsePortalAuthResult = {
17
32
  /** Current authentication state */
18
33
  authState: PortalAuthState;
@@ -22,6 +37,8 @@ export type UsePortalAuthResult = {
22
37
  isChecking: boolean;
23
38
  /** Portal profile data (only available when authenticated) */
24
39
  profile: PortalProfile | null;
40
+ /** Site credit loaded for the same authenticated portal identity. */
41
+ creditState: PortalCreditState;
25
42
  /** Logout function */
26
43
  logout: () => void;
27
44
  };
@@ -1,4 +1,4 @@
1
- import type { PublicCourse } from '../../../blocks/courses/shared/types';
1
+ import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
2
2
  import type { PublicEvent } from '../../../blocks/events/shared/types';
3
3
  import { type EventRegistrationPageSurfaceSubject } from './eventScope';
4
4
  export type EventRegistrationSurfacePlan = Readonly<{
@@ -6,7 +6,7 @@ export type EventRegistrationSurfacePlan = Readonly<{
6
6
  events: readonly PublicEvent[];
7
7
  }> | Readonly<{
8
8
  kind: 'wholeSeries';
9
- offerings: readonly PublicCourse[];
9
+ offerings: readonly PublicWholeSeriesOffering[];
10
10
  }> | Readonly<{
11
11
  kind: 'unavailableWholeSeries';
12
12
  }> | Readonly<{
@@ -14,7 +14,7 @@ export type EventRegistrationSurfacePlan = Readonly<{
14
14
  }>;
15
15
  export declare function planEventRegistrationSurface(input: Readonly<{
16
16
  events: readonly PublicEvent[];
17
- wholeSeriesOfferings: readonly PublicCourse[];
17
+ wholeSeriesOfferings: readonly PublicWholeSeriesOffering[];
18
18
  occurrenceContext?: Readonly<{
19
19
  id: string;
20
20
  seriesId: string;
@@ -0,0 +1,51 @@
1
+ import type { PortalCreditState } from './hooks';
2
+ import type { EventRegistrationDirectPaymentOption, EventRegistrationDirectPaymentSelectionState } from './eventPaymentOptions';
3
+ export type EventRegistrationSiteCreditPreview = Readonly<{
4
+ kind: 'not_authenticated';
5
+ }> | Readonly<{
6
+ kind: 'loading';
7
+ }> | Readonly<{
8
+ kind: 'unavailable';
9
+ }> | Readonly<{
10
+ kind: 'not_applicable';
11
+ }> | Readonly<{
12
+ kind: 'no_credit';
13
+ }> | Readonly<{
14
+ kind: 'currency_mismatch';
15
+ availableCreditCents: number;
16
+ creditCurrency: string;
17
+ }> | Readonly<{
18
+ kind: 'applied';
19
+ outcome: 'credit_only' | 'mixed';
20
+ availableCreditCents: number;
21
+ appliedCreditCents: number;
22
+ cardDueNowCents: number;
23
+ laterBalanceCents: number;
24
+ remainingCreditCents: number;
25
+ manualDiscountPending: boolean;
26
+ }>;
27
+ export declare function calculateEventRegistrationPreviewTotal(input: Readonly<{
28
+ subtotalCents: number;
29
+ manualDiscountCode: string;
30
+ automaticDiscount?: Readonly<{
31
+ computedAmountCents: number;
32
+ }> | null;
33
+ }>): number;
34
+ export declare function buildEventRegistrationSiteCreditPreview(input: Readonly<{
35
+ option: EventRegistrationDirectPaymentOption | null;
36
+ currency: string;
37
+ creditState: PortalCreditState;
38
+ manualDiscountPending: boolean;
39
+ }>): EventRegistrationSiteCreditPreview;
40
+ export declare function buildSelectedSiteCreditPreview(input: Readonly<{
41
+ options: readonly EventRegistrationDirectPaymentOption[];
42
+ selectionState: EventRegistrationDirectPaymentSelectionState;
43
+ eligibility: Readonly<{
44
+ currency: string;
45
+ }> | null;
46
+ creditState: PortalCreditState;
47
+ manualDiscountPending: boolean;
48
+ }>): EventRegistrationSiteCreditPreview;
49
+ export declare function resolveDirectPaymentTotalCents(explicitTotalCents: number | undefined, eligibility: Readonly<{
50
+ price: number | null;
51
+ }> | null): number;
@@ -1,7 +1,7 @@
1
1
  import type { PublicEvent, PublicEventTicketType, PublicEventTicketTypeAvailability } from '../../../blocks/events/shared/types';
2
2
  import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
3
3
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../../blocks/shop.shared';
4
- import type { PublicCourse } from '../../../blocks/courses/shared/types';
4
+ import type { PublicWholeSeriesOffering } from '../../../blocks/events/whole-series';
5
5
  import type { AvailablePass, AvailableMembership, DirectCheckoutCollectionOptionKind, EventTicketLineSummary, EligibilityEventTicketType } from '../../api/types';
6
6
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
7
7
  import type { BlockButtonRole } from '../../../constants/buttonRoles';
@@ -147,9 +147,9 @@ export type EventRegistrationClientProps = {
147
147
  subject?: EventRegistrationPageSurfaceSubject | null;
148
148
  events?: PublicEvent[] | null;
149
149
  /** Canonical whole-series runs used when the scoped Event books the full series. */
150
- wholeSeriesOfferings?: PublicCourse[] | null;
150
+ wholeSeriesOfferings?: PublicWholeSeriesOffering[] | null;
151
151
  /** Targeted whole-series offering loaded for a native Event page surface. */
152
- wholeSeriesOffering?: PublicCourse | null;
152
+ wholeSeriesOffering?: PublicWholeSeriesOffering | null;
153
153
  maxTickets?: string;
154
154
  showVenue?: boolean;
155
155
  showCapacity?: boolean;
@@ -104,6 +104,7 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
104
104
  setAltchaSolution: import("react").Dispatch<import("react").SetStateAction<string | null>>;
105
105
  portalAuthState: import("./hooks").PortalAuthState;
106
106
  portalProfile: import("./hooks").PortalProfile | null;
107
+ portalCreditState: import("./hooks").PortalCreditState;
107
108
  showMagicLinkModal: boolean;
108
109
  setShowMagicLinkModal: import("react").Dispatch<import("react").SetStateAction<boolean>>;
109
110
  handleLogout: () => void;
@@ -216,6 +217,7 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
216
217
  setAltchaSolution: import("react").Dispatch<import("react").SetStateAction<string | null>>;
217
218
  portalAuthState: import("./hooks").PortalAuthState;
218
219
  portalProfile: import("./hooks").PortalProfile | null;
220
+ portalCreditState: import("./hooks").PortalCreditState;
219
221
  showMagicLinkModal: boolean;
220
222
  setShowMagicLinkModal: import("react").Dispatch<import("react").SetStateAction<boolean>>;
221
223
  handleLogout: () => void;
@@ -19,7 +19,7 @@ type BookingModeStepProps = {
19
19
  selectedMembershipId: string | null;
20
20
  /** Callback when selected membership changes */
21
21
  onMembershipSelect: (id: string | null) => void;
22
- /** Course price in cents */
22
+ /** Run price in cents */
23
23
  priceCents: number | null;
24
24
  /** Currency code */
25
25
  currency: string;
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Re-export shared CheckIcon component.
3
3
  */
4
- export { CheckIcon } from '../../shared';
4
+ export { CheckIcon } from '../../../shared';