@riverbankcms/sdk 0.123.0 → 0.125.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 (263) hide show
  1. package/README.md +14 -9
  2. package/dist/{PreviewEditorSidebar-DvJFmC29.mjs → PreviewEditorSidebar-BezDOtQ7.mjs} +22 -39
  3. package/dist/{PreviewEditorUI-DVHP4bCo.mjs → PreviewEditorUI-CgSqmfo2.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-07EE4uWL.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BE5eFayo.mjs → SdkPreviewModeRuntime-Co3AHfj0.mjs} +1031 -1237
  6. package/dist/{SiteChromeCustomizeContext-4hn4A0HX.mjs → SiteChromeCustomizeContext-BHF-KANn.mjs} +1949 -2004
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
  8. package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
  9. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
  10. package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
  11. package/dist/_dts/api/src/bookingConfig.d.ts +72 -73
  12. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
  13. package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
  14. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
  15. package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
  17. package/dist/_dts/api/src/bookings.d.ts +11 -9
  18. package/dist/_dts/api/src/cache-tags.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
  20. package/dist/_dts/api/src/common/envelope.d.ts +2 -0
  21. package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
  22. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
  23. package/dist/_dts/api/src/courses.d.ts +22 -33
  24. package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
  25. package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
  26. package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
  27. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  28. package/dist/_dts/api/src/event-presentation.d.ts +4 -9
  29. package/dist/_dts/api/src/index.d.ts +9 -11
  30. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
  31. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  32. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  33. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
  34. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
  35. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
  36. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
  37. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
  38. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
  39. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
  40. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
  41. package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
  42. package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
  43. package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
  44. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
  45. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -4
  46. package/dist/_dts/billing/src/plans/types.d.ts +24 -5
  47. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
  48. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  49. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -16
  50. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -222
  51. package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
  52. package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
  53. package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
  54. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
  55. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
  56. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
  57. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
  59. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
  60. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
  61. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
  62. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
  65. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
  66. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
  68. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
  69. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +162 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
  72. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
  73. package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
  74. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
  76. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
  77. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
  78. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
  79. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
  80. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +20 -583
  81. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
  82. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
  83. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  84. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
  87. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
  88. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
  89. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
  93. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
  99. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
  101. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
  102. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -3
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -2
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
  115. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
  121. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
  122. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  123. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
  124. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
  125. package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
  126. package/dist/_dts/core/src/editor-state.d.ts +1 -13
  127. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1646 -37
  128. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
  129. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
  130. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
  131. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
  132. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
  133. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
  134. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  135. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
  136. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
  137. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
  138. package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
  139. package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
  140. package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
  141. package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
  142. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
  143. package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
  144. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
  145. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
  146. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
  147. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
  148. package/dist/_dts/sdk/src/client/types.d.ts +7 -33
  149. package/dist/_dts/sdk/src/components.d.ts +1 -1
  150. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  151. package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
  152. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  153. package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
  154. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
  155. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
  156. package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
  157. package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
  158. package/dist/_dts/sdk/src/next/types.d.ts +0 -19
  159. package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
  160. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  161. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  162. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  163. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
  164. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
  165. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  166. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
  167. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
  168. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
  169. package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
  170. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
  171. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
  172. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  173. package/dist/_dts/sdk/src/version.d.ts +1 -1
  174. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  175. package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
  176. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  177. package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
  178. package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
  179. package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
  180. package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
  181. package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
  182. package/dist/_dts/site-commands/src/domain.d.ts +1 -1
  183. package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
  184. package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
  185. package/dist/_dts/site-commands/src/index.d.ts +6 -0
  186. package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
  187. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  188. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
  189. package/dist/_dts/site-commands/src/refs.d.ts +1 -4
  190. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
  191. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
  192. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
  193. package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
  194. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
  195. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
  196. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  197. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
  198. package/dist/cli/index.mjs +7267 -8479
  199. package/dist/cli/init-docs/content/cli-reference.md +5 -21
  200. package/dist/cli/init-docs/content/content-management.md +4 -5
  201. package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-CyPpekBp.mjs} +2 -2
  202. package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-zywit-60.mjs} +5 -16
  203. package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-J2nLhkKT.mjs} +3 -10
  204. package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CSubXWt6.mjs} +1 -1
  205. package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-DDLIfiq9.mjs} +2 -2
  206. package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-DE8EvHIp.mjs} +2 -2
  207. package/dist/client/{accordion-6lnN__XJ.mjs → accordion-Ct5T5NiA.mjs} +1 -1
  208. package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DMxtLPxw.mjs} +6 -6
  209. package/dist/client/bookings.mjs +753 -818
  210. package/dist/client/{carousel-Dtnifil_.mjs → carousel--FMqgvob.mjs} +1 -1
  211. package/dist/client/{cart-5Tc5S7NV.mjs → cart-BKX1bWiU.mjs} +3 -3
  212. package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-B_jxi4WW.mjs} +3 -3
  213. package/dist/client/client.mjs +6876 -7150
  214. package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
  215. package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-DH4MlkRD.mjs} +606 -621
  216. package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BQILwAcL.mjs} +5 -13
  217. package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DFFW_Vmo.mjs} +3 -3
  218. package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-B045CTSJ.mjs} +147 -118
  219. package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-BDMYNVzS.mjs} +3 -3
  220. package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-CQ2-BSnB.mjs} +165 -68
  221. package/dist/client/{form-Bc7JKI7I.mjs → form-DJKuyZgN.mjs} +2 -2
  222. package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-DeTjfiDo.mjs} +2 -2
  223. package/dist/client/hooks.mjs +3454 -2363
  224. package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-i2wDA8gB.mjs} +2 -2
  225. package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-DKiueauk.mjs} +2 -2
  226. package/dist/client/{pricing-DE8fjJiT.mjs → pricing-C01J3Epx.mjs} +3 -19
  227. package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-Dfc1sZaX.mjs} +3 -3
  228. package/dist/client/{productList-VjnZqiqN.mjs → productList-BXbvXWTF.mjs} +3 -3
  229. package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-CIR5DQ1l.mjs} +213 -376
  230. package/dist/client/rendering/client.mjs +3036 -3292
  231. package/dist/client/rendering/islands.mjs +18 -18
  232. package/dist/client/rendering.mjs +5489 -4585
  233. package/dist/client/{shop-IRsHHbf7.mjs → shop-BbNwPKM-.mjs} +6 -6
  234. package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-XO-XMFEt.mjs} +5 -5
  235. package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-Byh6OUGK.mjs} +1 -1
  236. package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-Bbq39mwr.mjs} +3 -3
  237. package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-Bcyh4508.mjs} +2 -2
  238. package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-C8OOJ3el.mjs} +59 -124
  239. package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-CyJVo9kF.mjs} +2 -2
  240. package/dist/preview-next/before-render.mjs +1115 -1044
  241. package/dist/preview-next/client/runtime.mjs +4 -4
  242. package/dist/preview-next/middleware.mjs +1118 -1047
  243. package/dist/{previewAuthStore-ShY26RNz.mjs → previewAuthStore-CJX21dGi.mjs} +1121 -1047
  244. package/dist/{sdk-runtime-CJxkFq2B.mjs → sdk-runtime-BGhyuE-E.mjs} +2 -2
  245. package/dist/{separator-CoFmo8uA.mjs → separator-BFs-Kmv5.mjs} +1 -1
  246. package/dist/server/components.mjs +5909 -5011
  247. package/dist/server/config-validation.mjs +3456 -2354
  248. package/dist/server/config.mjs +3456 -2354
  249. package/dist/server/data.mjs +3454 -2365
  250. package/dist/server/index.mjs +1501 -1491
  251. package/dist/server/next.mjs +7534 -8067
  252. package/dist/server/page-converter.mjs +1900 -2038
  253. package/dist/server/prebuild.mjs +1 -1
  254. package/dist/server/rendering/server.mjs +5618 -4723
  255. package/dist/server/rendering.mjs +6238 -5393
  256. package/dist/server/routing.mjs +3616 -2507
  257. package/dist/server/server.mjs +3300 -3477
  258. package/package.json +1 -1
  259. package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
  260. package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
  261. package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
  262. package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
  263. package/dist/_dts/sdk/src/routing/resolveEntrySubroute.d.ts +0 -36
@@ -4,7 +4,6 @@
4
4
  * Shared types for server and client components.
5
5
  */
6
6
  import type { PublicCourse } from '../../../blocks/courses/shared';
7
- import type { OccurrenceContext } from '../../../blocks/event-registration.shared';
8
7
  import type { ButtonVariant as SharedButtonVariant } from '../../shared';
9
8
  import type { EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
10
9
  export type { FormData } from '../../shared';
@@ -43,34 +42,10 @@ export type CourseRegistrationWizardActionResult = Readonly<{
43
42
  kind: 'failed';
44
43
  message: string;
45
44
  }>;
46
- /**
47
- * Content entry context from CMS
48
- */
49
- export type ContentEntryContext = {
50
- id: string;
51
- slug: string;
52
- contentTypeSlug: string;
53
- };
54
- export type EntrySubrouteContext = {
55
- kind: 'course-run';
56
- run: {
57
- courseId: string;
58
- seriesId: string;
59
- runSlug: string;
60
- runName: string | null;
61
- };
62
- } | {
63
- kind: 'event-occurrence';
64
- occurrence: OccurrenceContext;
65
- };
66
45
  /**
67
46
  * Base props shared between server and client components
68
47
  */
69
48
  export interface CourseRegistrationBaseProps {
70
- /** Content entry context for course pages */
71
- contentEntry?: ContentEntryContext | null;
72
- /** Entry subroute context (e.g., course run under a course program page) */
73
- entrySubrouteContext?: EntrySubrouteContext | null;
74
49
  /** Native page-surface subject for series/offering-owned course pages. */
75
50
  subject?: EventRegistrationPageSurfaceSubject | null;
76
51
  /** List of available courses from data loader */
@@ -0,0 +1,24 @@
1
+ import type { PublicCourse } from '../../../blocks/courses/shared';
2
+ import type { BlockApiClient } from '../../api';
3
+ import type { WholeSeriesEligibilityResponse } from '../../api/types';
4
+ import type { PortalAuthState } from './types';
5
+ export type PaymentChoice = 'checkout' | 'membership';
6
+ export declare function useCourseEligibility(input: Readonly<{
7
+ api: BlockApiClient;
8
+ selectedCourse: PublicCourse | null;
9
+ hasPaidSelection: boolean;
10
+ portalAuthState: PortalAuthState;
11
+ waitlistClaimToken: string | null;
12
+ }>): {
13
+ eligibilityLoading: boolean;
14
+ eligibilityError: string | null;
15
+ courseEligibility: WholeSeriesEligibilityResponse | null;
16
+ eligibleMemberships: Readonly<{
17
+ customerMembershipId: string;
18
+ membershipName: string;
19
+ }>[];
20
+ paymentChoice: PaymentChoice;
21
+ choosePaymentChoice: (choice: PaymentChoice) => void;
22
+ selectedMembershipId: string | null;
23
+ chooseMembership: (membershipId: string | null) => void;
24
+ };
@@ -0,0 +1,9 @@
1
+ import type { BlockApiClient } from '../../api';
2
+ import type { EnrollmentResult, EnrollmentStep } from './types';
3
+ type VerificationSetters = Readonly<{
4
+ setStep: (step: EnrollmentStep) => void;
5
+ setErrorMessage: (message: string) => void;
6
+ setEnrollmentResult: (result: EnrollmentResult) => void;
7
+ }>;
8
+ export declare function useCoursePaymentVerification(api: BlockApiClient, setters: VerificationSetters): void;
9
+ export {};
@@ -0,0 +1,35 @@
1
+ import type { PublicCourse, ResolvedCoursePricingState } from '../../../blocks/courses/shared';
2
+ import type { BlockApiClient } from '../../api';
3
+ import type { WholeSeriesEligibilityResponse } from '../../api/types';
4
+ import type { CourseRegistrationWizardActionResult, CourseRegistrationWizardOptions, EnrollmentResult, EnrollmentStep, FormData, PortalAuthState } from './types';
5
+ import type { PaymentChoice } from './useCourseEligibility';
6
+ type Membership = Readonly<{
7
+ customerMembershipId: string;
8
+ membershipName: string;
9
+ }>;
10
+ type ActionState = Readonly<{
11
+ api: BlockApiClient;
12
+ selectedCourse: PublicCourse | null;
13
+ pricing: ResolvedCoursePricingState | null;
14
+ formData: FormData;
15
+ portalAuthState: PortalAuthState;
16
+ eligibility: WholeSeriesEligibilityResponse | null;
17
+ eligibleMemberships: readonly Membership[];
18
+ paymentChoice: PaymentChoice;
19
+ selectedMembershipId: string | null;
20
+ claimToken: string | null;
21
+ hasClaim: boolean;
22
+ altchaSolution: string | null;
23
+ discountCode: string;
24
+ options: CourseRegistrationWizardOptions;
25
+ }>;
26
+ export declare function useCourseRegistrationActions(state: ActionState, setStep: (step: EnrollmentStep) => void): {
27
+ errors: Partial<Record<keyof FormData, string>>;
28
+ enrollmentResult: EnrollmentResult | null;
29
+ errorMessage: string;
30
+ reportError: (message: string) => void;
31
+ recordEnrollmentResult: (result: EnrollmentResult) => void;
32
+ handleSubmit: () => Promise<CourseRegistrationWizardActionResult>;
33
+ handlePaymentContinue: () => Promise<CourseRegistrationWizardActionResult>;
34
+ };
35
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { BlockApiClient } from '../../api';
2
+ import type { FormData, PortalAuthState } from './types';
3
+ export declare function useCourseRegistrationPortal(api: BlockApiClient): {
4
+ formData: FormData;
5
+ updateFormData: (updater: FormData | ((current: FormData) => FormData)) => void;
6
+ portalAuthState: PortalAuthState;
7
+ };
@@ -0,0 +1,31 @@
1
+ import type { PublicCourse } from '../../../blocks/courses/shared';
2
+ import type { CourseRegistrationClientProps, EnrollmentStep } from './types';
3
+ export declare function getCourseCheckoutSessionId(): string | null;
4
+ export declare function useCourseRegistrationSelection(props: CourseRegistrationClientProps): {
5
+ scopedCourses: readonly import("../../..").PublicWholeSeriesOffering[];
6
+ step: EnrollmentStep;
7
+ goToStep: (nextStep: EnrollmentStep) => void;
8
+ selectedCourse: import("../../..").PublicWholeSeriesOffering | null;
9
+ chooseCourse: (course: PublicCourse) => void;
10
+ selectedPricingOptionId: string | null;
11
+ choosePricingOption: (pricingOptionId: string | null) => void;
12
+ selectedSlidingAmountInput: string;
13
+ changeSlidingAmount: (amount: string) => void;
14
+ selectedCoursePricing: Readonly<{
15
+ currency: string;
16
+ display: import("../../../blocks/courses/shared").CoursePriceDisplay;
17
+ selectableOptions: readonly import("../../../blocks/courses/shared").CoursePricingOption[];
18
+ requiresSelection: boolean;
19
+ selectedOption: import("../../../blocks/courses/shared").CoursePricingOption | null;
20
+ slidingScale: Readonly<{
21
+ minAmount: number;
22
+ maxAmount: number;
23
+ suggestedAmount: number | null;
24
+ }> | null;
25
+ selectedSlidingAmount: number | null;
26
+ selectedPriceAmount: number | null;
27
+ selectedRequiresPayment: boolean;
28
+ hasPaidSelection: boolean;
29
+ hasFreeSelection: boolean;
30
+ }> | null;
31
+ };
@@ -1,17 +1,71 @@
1
- import type { PublicCourse } from '../../../blocks/courses/shared';
2
- import type { CourseEligibilityCheckResponse } from '../../api/types';
3
- import type { BookingMode, CourseRegistrationClientProps, CourseRegistrationWizardActionResult, CourseRegistrationWizardOptions, EnrollmentResult, EnrollmentStep, FormData, PortalAuthState } from './types';
4
- type PaymentChoice = 'checkout' | 'membership';
1
+ import { useBlockApi } from '../../api';
2
+ import { useWaitlistClaim } from '../../shared/useWaitlistClaim';
3
+ import { useDiscountCodeUi } from '../event-registration/useDiscountCodeUi';
4
+ import type { BookingMode, CourseRegistrationClientProps, CourseRegistrationWizardOptions } from './types';
5
+ import { deriveCourseRegistrationViewState } from './courseRegistrationViewState';
6
+ import { useCourseEligibility } from './useCourseEligibility';
7
+ import { useCourseRegistrationActions } from './useCourseRegistrationActions';
8
+ import { useCourseRegistrationPortal } from './useCourseRegistrationPortal';
9
+ import { useCourseRegistrationSelection } from './useCourseRegistrationSelection';
5
10
  export declare function useCourseRegistrationWizard(props: CourseRegistrationClientProps, options?: CourseRegistrationWizardOptions): {
6
- api: import("../../api").BlockApiClient;
7
- scopedCourses: PublicCourse[];
8
- step: EnrollmentStep;
9
- setStep: import("react").Dispatch<import("react").SetStateAction<EnrollmentStep>>;
10
- selectedCourse: PublicCourse | null;
11
+ handleCourseSelect: (course: NonNullable<WizardParts["selection"]["selectedCourse"]>) => void;
12
+ handleRetry: () => void;
13
+ handleBookingModeChange: (mode: BookingMode) => void;
14
+ handleLogout: (() => void) | undefined;
15
+ selectedCoursePricingPayload: {
16
+ pricingOptionId?: string;
17
+ selectedSlidingAmount?: number;
18
+ };
19
+ hasCoursePayment: boolean;
20
+ canUseMembership: boolean;
21
+ hasPreSelectedCourse: boolean;
22
+ wizardSteps: readonly import("./types").EnrollmentStep[];
23
+ currentStepNumber: number;
24
+ totalSteps: number;
25
+ stepLabels: string[];
26
+ showPortalAuthSidebar: boolean;
27
+ waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
28
+ bookingMode: BookingMode;
29
+ altchaSolution: string | null;
30
+ setAltchaSolution: (solution: string | null) => void;
31
+ showSpamProtection: boolean;
32
+ discountUiOpen: boolean;
33
+ setDiscountUiOpen: (isOpen: boolean) => void;
34
+ discountCode: string;
35
+ setDiscountCode: (code: string) => void;
36
+ discountsAvailable: boolean;
37
+ manualCodeEntryAllowed: boolean;
38
+ discountsAvailableLoading: boolean;
39
+ errors: Partial<Record<keyof import("./types").FormData, string>>;
40
+ enrollmentResult: import("./types").EnrollmentResult | null;
41
+ errorMessage: string;
42
+ reportError: (message: string) => void;
43
+ recordEnrollmentResult: (result: import("./types").EnrollmentResult) => void;
44
+ handleSubmit: () => Promise<import("./types").CourseRegistrationWizardActionResult>;
45
+ handlePaymentContinue: () => Promise<import("./types").CourseRegistrationWizardActionResult>;
46
+ eligibilityLoading: boolean;
47
+ eligibilityError: string | null;
48
+ courseEligibility: import("../../api/types").WholeSeriesEligibilityResponse | null;
49
+ eligibleMemberships: Readonly<{
50
+ customerMembershipId: string;
51
+ membershipName: string;
52
+ }>[];
53
+ paymentChoice: import("./useCourseEligibility").PaymentChoice;
54
+ choosePaymentChoice: (choice: import("./useCourseEligibility").PaymentChoice) => void;
55
+ selectedMembershipId: string | null;
56
+ chooseMembership: (membershipId: string | null) => void;
57
+ formData: import("./types").FormData;
58
+ updateFormData: (updater: import("./types").FormData | ((current: import("./types").FormData) => import("./types").FormData)) => void;
59
+ portalAuthState: import("./types").PortalAuthState;
60
+ scopedCourses: readonly import("../../..").PublicWholeSeriesOffering[];
61
+ step: import("./types").EnrollmentStep;
62
+ goToStep: (nextStep: import("./types").EnrollmentStep) => void;
63
+ selectedCourse: import("../../..").PublicWholeSeriesOffering | null;
64
+ chooseCourse: (course: import("../../..").PublicCourse) => void;
11
65
  selectedPricingOptionId: string | null;
12
- setSelectedPricingOptionId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
66
+ choosePricingOption: (pricingOptionId: string | null) => void;
13
67
  selectedSlidingAmountInput: string;
14
- setSelectedSlidingAmountInput: import("react").Dispatch<import("react").SetStateAction<string>>;
68
+ changeSlidingAmount: (amount: string) => void;
15
69
  selectedCoursePricing: Readonly<{
16
70
  currency: string;
17
71
  display: import("../../../blocks/courses/shared").CoursePriceDisplay;
@@ -29,49 +83,20 @@ export declare function useCourseRegistrationWizard(props: CourseRegistrationCli
29
83
  hasPaidSelection: boolean;
30
84
  hasFreeSelection: boolean;
31
85
  }> | null;
32
- setSelectedCourse: import("react").Dispatch<import("react").SetStateAction<PublicCourse | null>>;
33
- formData: FormData;
34
- setFormData: import("react").Dispatch<import("react").SetStateAction<FormData>>;
35
- errors: Partial<Record<keyof FormData, string>>;
36
- enrollmentResult: EnrollmentResult | null;
37
- errorMessage: string;
38
- portalAuthState: PortalAuthState;
39
- handleLogout: (() => void) | undefined;
40
- altchaSolution: string | null;
41
- setAltchaSolution: import("react").Dispatch<import("react").SetStateAction<string | null>>;
42
- showSpamProtection: boolean;
43
- eligibilityLoading: boolean;
44
- eligibilityError: string | null;
45
- courseEligibility: CourseEligibilityCheckResponse | null;
46
- eligibleMemberships: {
47
- customerMembershipId: string;
48
- membershipName: string;
49
- }[];
50
- paymentChoice: PaymentChoice;
51
- setPaymentChoice: import("react").Dispatch<import("react").SetStateAction<PaymentChoice>>;
52
- selectedMembershipId: string | null;
53
- setSelectedMembershipId: import("react").Dispatch<import("react").SetStateAction<string | null>>;
54
- discountUiOpen: boolean;
55
- setDiscountUiOpen: (isOpen: boolean) => void;
56
- discountCode: string;
57
- setDiscountCode: (code: string) => void;
58
- discountsAvailable: boolean;
59
- manualCodeEntryAllowed: boolean;
60
- discountsAvailableLoading: boolean;
61
- canUseMembership: boolean;
62
- waitlistClaim: import("../../shared/useWaitlistClaim").UseWaitlistClaimResult;
63
- bookingMode: BookingMode;
64
- wizardSteps: readonly EnrollmentStep[];
65
- currentStepNumber: number;
66
- totalSteps: number;
67
- stepLabels: string[];
68
- showPortalAuthSidebar: boolean;
69
- hasPreSelectedCourse: boolean;
70
- hasCoursePayment: boolean;
71
- handleCourseSelect: (course: PublicCourse) => void;
72
- handleSubmit: () => Promise<CourseRegistrationWizardActionResult>;
73
- handlePaymentContinue: () => Promise<CourseRegistrationWizardActionResult>;
74
- handleRetry: () => void;
75
- handleBookingModeChange: (mode: BookingMode) => void;
86
+ api: import("../../api").BlockApiClient;
76
87
  };
88
+ type WizardParts = Readonly<{
89
+ api: ReturnType<typeof useBlockApi>;
90
+ selection: ReturnType<typeof useCourseRegistrationSelection>;
91
+ portal: ReturnType<typeof useCourseRegistrationPortal>;
92
+ eligibility: ReturnType<typeof useCourseEligibility>;
93
+ actions: ReturnType<typeof useCourseRegistrationActions>;
94
+ discountUi: ReturnType<typeof useDiscountCodeUi>;
95
+ waitlistClaim: ReturnType<typeof useWaitlistClaim>;
96
+ view: ReturnType<typeof deriveCourseRegistrationViewState>;
97
+ bookingMode: BookingMode;
98
+ setBookingMode: (mode: BookingMode) => void;
99
+ altchaSolution: string | null;
100
+ setAltchaSolution: (solution: string | null) => void;
101
+ }>;
77
102
  export {};
@@ -0,0 +1,14 @@
1
+ import type { PublicCourse } from '../../../blocks/courses/shared';
2
+ import type { EnrollmentStep, FormData } from './types';
3
+ import type { useWaitlistClaim } from '../../shared/useWaitlistClaim';
4
+ type WaitlistClaimState = ReturnType<typeof useWaitlistClaim>;
5
+ export declare function useCourseWaitlistSelection(input: Readonly<{
6
+ waitlistClaim: WaitlistClaimState;
7
+ scopedCourses: readonly PublicCourse[];
8
+ step: EnrollmentStep;
9
+ goToStep: (step: EnrollmentStep) => void;
10
+ chooseCourse: (course: PublicCourse) => void;
11
+ updateFormData: (updater: (current: FormData) => FormData) => void;
12
+ reportError: (message: string) => void;
13
+ }>): void;
14
+ export {};
@@ -35,10 +35,11 @@ export type WholeSeriesRegistrationPricingInput = (WholeSeriesRegistrationPricin
35
35
  export type WholeSeriesRegistrationRunInput = Readonly<{
36
36
  /** Stable dated-offering run identity. */
37
37
  runId: string;
38
- /** Transitional transport target; never used as the public run identity. */
38
+ /** Offering identity owning this run in the public course experience. */
39
+ eventOfferingId: string;
39
40
  registrationTarget: Readonly<{
40
- kind: 'course_crosswalk_v1';
41
- courseId: string;
41
+ kind: 'event_series_whole_series';
42
+ eventSeriesId: string;
42
43
  }>;
43
44
  title: string;
44
45
  slug: string;
@@ -64,7 +65,6 @@ export type WholeSeriesRegistrationRunInput = Readonly<{
64
65
  name: string;
65
66
  address: string | null;
66
67
  }> | null;
67
- contentEntryId: string | null;
68
68
  }>;
69
69
  export type WholeSeriesRegistrationRun = Readonly<{
70
70
  /** Stable dated-offering run identity. */
@@ -158,7 +158,6 @@ export type WholeSeriesRegistrationRunsModel = Readonly<{
158
158
  scoped: readonly WholeSeriesRegistrationRun[];
159
159
  selected: WholeSeriesRegistrationRun | null;
160
160
  hasPreSelectedRun: boolean;
161
- contentEntry: CourseRegistrationClientProps['contentEntry'];
162
161
  subject: CourseRegistrationClientProps['subject'];
163
162
  }>;
164
163
  export type WholeSeriesRegistrationPricingModel = Readonly<{
@@ -1,32 +1,12 @@
1
1
  import type { BlockButtonRole } from '../../constants/buttonRoles';
2
2
  import type { PublicCourse } from '../../blocks/courses/shared/types';
3
- import type { OccurrenceContext } from '../../blocks/event-registration.shared';
4
3
  import type { CourseRegistrationClientProps as InternalCourseRegistrationClientProps } from './course-registration/types';
5
4
  import { type InteractiveIslandProps } from '../../../contracts/islands';
6
5
  import { type EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
7
- export type CourseRegistrationContentEntry = Readonly<{
8
- id: string;
9
- slug: string;
10
- contentTypeSlug: string;
11
- }>;
12
- export type CourseEntrySubrouteContext = Readonly<{
13
- kind: 'course-run';
14
- run: Readonly<{
15
- courseId: string;
16
- seriesId: string;
17
- runSlug: string;
18
- runName: string | null;
19
- }>;
20
- }> | Readonly<{
21
- kind: 'event-occurrence';
22
- occurrence: OccurrenceContext;
23
- }>;
24
6
  export type CourseRegistrationSourceProps = Readonly<{
25
7
  siteId?: string;
26
8
  apiBaseUrl?: string;
27
9
  portalToken?: string | null;
28
- contentEntry?: CourseRegistrationContentEntry | null;
29
- entrySubrouteContext?: CourseEntrySubrouteContext | null;
30
10
  subject?: EventRegistrationPageSurfaceSubject | null;
31
11
  courses?: PublicCourse[] | null;
32
12
  className?: string | null;
@@ -62,12 +42,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
62
42
  siteId?: string;
63
43
  apiBaseUrl?: string;
64
44
  portalToken?: string | null;
65
- contentEntry?: Readonly<{
66
- id: string;
67
- slug: string;
68
- contentTypeSlug: string;
69
- }> | null;
70
- entrySubrouteContext?: CourseEntrySubrouteContext | null;
71
45
  subject?: EventRegistrationPageSurfaceSubject | null;
72
46
  courses?: PublicCourse[] | null;
73
47
  className?: string | null;
@@ -96,12 +70,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
96
70
  siteId?: string;
97
71
  apiBaseUrl?: string;
98
72
  portalToken?: string | null;
99
- contentEntry?: Readonly<{
100
- id: string;
101
- slug: string;
102
- contentTypeSlug: string;
103
- }> | null;
104
- entrySubrouteContext?: CourseEntrySubrouteContext | null;
105
73
  subject?: EventRegistrationPageSurfaceSubject | null;
106
74
  courses?: PublicCourse[] | null;
107
75
  className?: string | null;
@@ -120,12 +88,6 @@ export declare const courseRegistrationBlockRuntime: Readonly<{
120
88
  siteId?: string;
121
89
  apiBaseUrl?: string;
122
90
  portalToken?: string | null;
123
- contentEntry?: Readonly<{
124
- id: string;
125
- slug: string;
126
- contentTypeSlug: string;
127
- }> | null;
128
- entrySubrouteContext?: CourseEntrySubrouteContext | null;
129
91
  subject?: EventRegistrationPageSurfaceSubject | null;
130
92
  courses?: PublicCourse[] | null;
131
93
  className?: string | null;
@@ -8,5 +8,5 @@ type CourseRegistrationServerProps = CourseRegistrationSourceProps & Readonly<{
8
8
  * Server-safe placeholder for course registration.
9
9
  * Provides a static container for island hydration without importing client hooks.
10
10
  */
11
- export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, contentEntry, entrySubrouteContext, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children, }: CourseRegistrationServerProps): React.JSX.Element;
11
+ export declare function CourseRegistrationSSR({ blockId, siteId, apiBaseUrl, portalToken, subject, courses, className, showSessions, showPrice, showCapacity, showVenue, successMessage, waitlistMessage, membershipMessage, buttonText, buttonVariant, stage, children, }: CourseRegistrationServerProps): React.JSX.Element;
12
12
  export default CourseRegistrationSSR;
@@ -1,4 +1,5 @@
1
1
  import type { PublicEvent } from '../../../blocks/events/shared/types';
2
+ import { type EventRegistrationPageSurfaceSubject } from '../event-registration/eventScope';
2
3
  export { filterPassesForEvent, filterMembershipsForEvent, } from '../events/shared/eventProductEligibility';
3
4
  export type OccurrenceContextLike = {
4
5
  id: string;
@@ -16,6 +17,7 @@ export type EventDetailsSelection = {
16
17
  export declare function selectEventDetails(args: {
17
18
  events: PublicEvent[] | null | undefined;
18
19
  occurrenceContext: OccurrenceContextLike | null | undefined;
20
+ subject?: EventRegistrationPageSurfaceSubject | null;
19
21
  nowIso: string;
20
22
  otherDatesLimit: string | number | null | undefined;
21
23
  }): EventDetailsSelection;
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import type { EventAutoApplyDiscountPreview } from '../../blocks/event-details';
3
- import type { EventDetailsContentEntry, EventDetailsIslandProps } from '../../../contracts';
3
+ import type { EventDetailsIslandProps } from '../../../contracts';
4
4
  import type { PublicEvent } from '../../blocks/events/shared/types';
5
+ import type { EventRegistrationPageSurfaceSubject } from './event-registration/eventScope';
5
6
  import type { PublicMembershipProductCollection, PublicPassProductCollection } from '../../blocks/shop';
6
7
  import { type OccurrenceContextLike } from './event-details/logic';
7
8
  export type EventDetailsClientProps = Readonly<{
8
9
  occurrenceContext?: OccurrenceContextLike | null;
9
- contentEntry?: EventDetailsContentEntry | null;
10
+ subject?: EventRegistrationPageSurfaceSubject | null;
10
11
  events?: PublicEvent[] | null;
11
12
  showVenue?: boolean;
12
13
  showMap?: boolean;
@@ -26,6 +27,6 @@ export type EventDetailsClientProps = Readonly<{
26
27
  children?: React.ReactNode;
27
28
  }>;
28
29
  export type EventDetailsIslandClientProps = EventDetailsIslandProps;
29
- export declare function EventDetailsClient({ occurrenceContext, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, nowIso, children, }: EventDetailsClientProps): React.JSX.Element;
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;
30
31
  export declare function EventDetailsIslandClient(props: EventDetailsIslandClientProps): React.JSX.Element;
31
32
  export default EventDetailsClient;
@@ -6,7 +6,7 @@ import { type OccurrenceContextLike } from './event-details/logic';
6
6
  type EventDetailsProps = {
7
7
  blockId?: string | null;
8
8
  occurrenceContext?: OccurrenceContextLike | null;
9
- contentEntry?: Record<string, unknown> | null;
9
+ subject?: unknown;
10
10
  events?: PublicEvent[] | null;
11
11
  showVenue?: boolean;
12
12
  showMap?: boolean;
@@ -24,5 +24,5 @@ type EventDetailsProps = {
24
24
  className?: string | null;
25
25
  children?: React.ReactNode;
26
26
  };
27
- export declare function EventDetailsSSR({ blockId, occurrenceContext, events, showVenue, showMap, showOtherDates, otherDatesLimit, showCost, showAcceptedPasses, showAcceptedMemberships, sitePasses, siteMemberships, autoApplyDiscount, className, children, }: EventDetailsProps): React.JSX.Element;
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;
28
28
  export default EventDetailsSSR;
@@ -1,5 +1,17 @@
1
1
  import React from 'react';
2
2
  import type { UseEventRegistrationWizardResult } from './useEventRegistrationWizard';
3
+ /**
4
+ * Label for the button that submits the details step.
5
+ *
6
+ * When a pass covers the booking there is no payment step to follow, so this
7
+ * button is the last thing read before a credit is spent — it names the pass
8
+ * rather than leaving that to the summary above it.
9
+ */
10
+ export declare function resolveDetailsButtonText(input: Readonly<{
11
+ wizard: UseEventRegistrationWizardResult;
12
+ hasWaitlistClaim: boolean;
13
+ fallbackText: string;
14
+ }>): string;
3
15
  export declare function EventRegistrationWizardActions(props: {
4
16
  wizard: UseEventRegistrationWizardResult;
5
17
  buttonText: string;
@@ -1,6 +1,5 @@
1
1
  import type { DirectCheckoutCollectionOptionKind, PaymentMethod } from '../../api/types';
2
2
  import type { EventRegistrationDirectPaymentOption, EventRegistrationDirectPaymentSelectionState } from './eventPaymentOptions';
3
- import type { EventRegistrationContentEntry } from '../event-registration.interactive';
4
3
  import type { EventRegistrationPageSurfaceSubject } from './eventScope';
5
4
  import type { EligibilityData, EventTicketSelectionLine, FormData, Guest, GuestErrors, OccurrenceContext, PaymentSelection, PaymentStepState, PublicEvent, RegistrationEvent, RegistrationResult } from './types';
6
5
  import type { SelectableEventTicketType } from './utils';
@@ -97,7 +96,6 @@ export type EventRegistrationEventsModel = Readonly<{
97
96
  hasPreSelectedContext: boolean;
98
97
  target: UseEventRegistrationWizardResult['registrationTarget'];
99
98
  occurrenceContext: OccurrenceContext | null | undefined;
100
- contentEntry: EventRegistrationContentEntry | null | undefined;
101
99
  }>;
102
100
  export type EventRegistrationTicketsModel = Readonly<{
103
101
  count: number;
@@ -254,7 +252,6 @@ export type EventRegistrationOverridePropsLike = Readonly<{
254
252
  previewToken?: string | null;
255
253
  stage?: 'preview' | 'published';
256
254
  occurrenceContext?: OccurrenceContext | null;
257
- contentEntry?: Record<string, unknown> | null;
258
255
  subject?: unknown;
259
256
  blockId?: string | null;
260
257
  }>;
@@ -265,7 +262,6 @@ export type EventRegistrationOverrideInput = Readonly<{
265
262
  previewToken: string | null;
266
263
  stage?: 'preview' | 'published';
267
264
  occurrenceContext?: OccurrenceContext | null;
268
- contentEntry?: EventRegistrationContentEntry | null;
269
265
  subject?: EventRegistrationPageSurfaceSubject | null;
270
266
  events: readonly PublicEvent[];
271
267
  maxTickets?: string;
@@ -1,9 +1,5 @@
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 type EventRegistrationContentEntryContext = Readonly<{
4
- slug: string;
5
- contentTypeSlug: string;
6
- }>;
7
3
  export declare const unsupportedEventRegistrationPageSurfaceSubjectReasons: readonly ["unsupportedSubject", "invalidEventSeriesId", "invalidEventOfferingId"];
8
4
  export type UnsupportedEventRegistrationPageSurfaceSubjectReason = (typeof unsupportedEventRegistrationPageSurfaceSubjectReasons)[number];
9
5
  export type EventRegistrationPageSurfaceSubject = EventPageSurfaceSubject | Readonly<{
@@ -15,11 +11,9 @@ export type EventRegistrationScopeContext = Readonly<{
15
11
  seriesId?: string | null;
16
12
  }> | null;
17
13
  subject?: EventRegistrationPageSurfaceSubject | null;
18
- contentEntry?: EventRegistrationContentEntryContext | null;
19
14
  }>;
20
15
  export type EventRegistrationScopeableEvent = Readonly<{
21
16
  seriesId: string;
22
- slug?: string | null;
23
17
  }>;
24
18
  export type EventRegistrationPageSurfaceSubjectParseError = EventPageSurfaceSubjectParseError;
25
19
  export type EventRegistrationScope = Readonly<{
@@ -35,9 +29,6 @@ export type EventRegistrationScope = Readonly<{
35
29
  }> | Readonly<{
36
30
  kind: 'unsupportedPageSurfaceSubject';
37
31
  reason: UnsupportedEventRegistrationPageSurfaceSubjectReason;
38
- }> | Readonly<{
39
- kind: 'legacyEventSlug';
40
- slug: string;
41
32
  }> | Readonly<{
42
33
  kind: 'unscoped';
43
34
  }>;
@@ -143,11 +143,6 @@ export type EventRegistrationClientProps = {
143
143
  /** @deprecated Site ID is now provided by BlockApiProvider context */
144
144
  siteId?: string;
145
145
  occurrenceContext?: OccurrenceContext | null;
146
- contentEntry?: {
147
- id: string;
148
- slug: string;
149
- contentTypeSlug: string;
150
- } | null;
151
146
  subject?: EventRegistrationPageSurfaceSubject | null;
152
147
  events?: PublicEvent[] | null;
153
148
  maxTickets?: string;
@@ -16,7 +16,6 @@ export type EventRegistrationDetailsCompleteResult = Readonly<{
16
16
  export type UseEventRegistrationWizardOptions = Readonly<{
17
17
  anchorId: string;
18
18
  occurrenceContext: EventRegistrationClientProps['occurrenceContext'];
19
- contentEntry: EventRegistrationClientProps['contentEntry'];
20
19
  subject?: EventRegistrationClientProps['subject'];
21
20
  events: PublicEvent[];
22
21
  maxTicketsNum: number;
@@ -46,11 +45,6 @@ export declare function useEventRegistrationWizard(options: UseEventRegistration
46
45
  occurrenceId: string;
47
46
  selectedEventId: string | null;
48
47
  }> | null;
49
- contentEntry: {
50
- id: string;
51
- slug: string;
52
- contentTypeSlug: string;
53
- } | null | undefined;
54
48
  subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
55
49
  events: PublicEvent[];
56
50
  maxTicketsNum: number;
@@ -163,11 +157,6 @@ export declare function useEventRegistrationWizardWithDeps(options: UseEventRegi
163
157
  occurrenceId: string;
164
158
  selectedEventId: string | null;
165
159
  }> | null;
166
- contentEntry: {
167
- id: string;
168
- slug: string;
169
- contentTypeSlug: string;
170
- } | null | undefined;
171
160
  subject: import("./eventScope").EventRegistrationPageSurfaceSubject | null | undefined;
172
161
  events: PublicEvent[];
173
162
  maxTicketsNum: number;
@@ -38,6 +38,19 @@ export { formatPrice } from '../../shared';
38
38
  export declare const ENTITLEMENT_SINGLE_TICKET_TOOLTIP = "Only available for single-ticket bookings";
39
39
  /** Passes and memberships can only be redeemed for single-ticket registrations. */
40
40
  export declare function areEntitlementsDisabledForTicketCount(ticketsCount: number): boolean;
41
+ /**
42
+ * Describe what redeeming a pass costs the customer.
43
+ *
44
+ * The balance is what they hold *before* this booking, so "1 of 5" means four
45
+ * are left afterwards. Spelling out the balance is what stops people missing
46
+ * that a credit is being spent at all.
47
+ *
48
+ * Always one credit: passes are only redeemable for single-ticket bookings,
49
+ * per {@link areEntitlementsDisabledForTicketCount}.
50
+ *
51
+ * @param creditsRemaining - Credits on the pass before this booking, if known
52
+ */
53
+ export declare function formatPassCreditUsageLabel(creditsRemaining: number | null | undefined): string;
41
54
  /**
42
55
  * Build the eligibility check endpoint URL
43
56
  *