@riverbankcms/sdk 0.134.0 → 0.135.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DfRhJPFQ.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-Dppxcr_g.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-8CyGCXir.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +5 -5
  7. package/dist/{SiteChromeCustomizeContext-DVMTMvqA.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4070 -8011
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +165 -165
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +15 -15
  10. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
  12. package/dist/_dts/api/src/bookingOperations.d.ts +111 -161
  13. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
  14. package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
  15. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  16. package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
  17. package/dist/_dts/api/src/bookings.d.ts +5 -9
  18. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
  19. package/dist/_dts/api/src/communications.d.ts +1 -1
  20. package/dist/_dts/api/src/endpoints.d.ts +29 -109
  21. package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
  22. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
  23. package/dist/_dts/api/src/index.d.ts +3 -4
  24. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  25. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  26. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
  27. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
  28. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +85 -5
  29. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -100
  31. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
  32. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
  33. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
  34. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  35. package/dist/_dts/api/src/siteOperations.d.ts +2 -2
  36. package/dist/_dts/api/src/types.d.ts +1 -1
  37. package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
  38. package/dist/_dts/blocks/src/client.d.ts +0 -5
  39. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  40. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +5 -94
  41. package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
  42. package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
  43. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
  44. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +10 -10
  45. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +3 -0
  46. package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
  47. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +3 -3
  48. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
  49. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  50. package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
  51. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
  52. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
  53. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  54. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +99 -59
  56. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  57. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
  58. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
  59. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  60. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
  61. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
  62. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  63. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
  64. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
  65. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
  66. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
  67. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
  68. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  69. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  70. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
  72. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
  73. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
  74. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
  75. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
  76. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
  80. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
  81. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
  82. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +20 -5
  84. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
  86. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
  88. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
  89. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +6 -6
  90. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
  91. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
  92. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
  93. package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
  94. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  96. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
  97. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -1
  98. package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
  99. package/dist/_dts/commerce/src/index.d.ts +16 -0
  100. package/dist/_dts/commerce/src/money.d.ts +122 -0
  101. package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
  102. package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
  103. package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
  104. package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
  105. package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
  106. package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
  107. package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
  108. package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
  109. package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
  110. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
  111. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
  112. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
  113. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
  114. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
  115. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
  116. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
  117. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
  118. package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
  119. package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
  120. package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
  121. package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
  122. package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
  123. package/dist/_dts/commerce/src/types/json.d.ts +3 -0
  124. package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
  125. package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
  126. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
  127. package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
  128. package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
  129. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
  130. package/dist/_dts/core/src/branded.d.ts +3 -3
  131. package/dist/_dts/core/src/event-pricing.d.ts +6 -6
  132. package/dist/_dts/core/src/participants.d.ts +17 -17
  133. package/dist/_dts/core/src/rectification.d.ts +1 -1
  134. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +890 -2154
  135. package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
  136. package/dist/_dts/sdk/src/bookings/types.d.ts +34 -4
  137. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
  138. package/dist/_dts/sdk/src/version.d.ts +1 -1
  139. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
  140. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  141. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  142. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  143. package/dist/client/{usePolling-UN4WKnaM.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
  144. package/dist/client/{DiscountCodeDisclosure-CfuPOHD0.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
  145. package/dist/client/{EventCombined.client-DB8Qfzi-.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
  146. package/dist/client/{EventListing.client-DD4X8hp4.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
  147. package/dist/client/{LeafletStaticMap-QhgIBQbv.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
  148. package/dist/client/{accordion-DFXpLvwg.mjs → accordion-BA0j8Mpw.mjs} +1 -1
  149. package/dist/client/{bookingForm-sI05d3lk.mjs → bookingForm-Br2e41H0.mjs} +6 -7
  150. package/dist/client/bookings.mjs +912 -1906
  151. package/dist/client/{carousel-wjyWTZCh.mjs → carousel-B4dmwnpD.mjs} +1 -1
  152. package/dist/client/{cart-DCwdpA4i.mjs → cart-B_ckGW4b.mjs} +3 -3
  153. package/dist/client/{checkout-DTDW3l0R.mjs → checkout-DAyspHdf.mjs} +3 -3
  154. package/dist/client/{checkoutUrls-DQYC_Br-.mjs → checkoutUrls-BuseL0dw.mjs} +4 -2
  155. package/dist/client/client.mjs +5074 -9309
  156. package/dist/client/{context-TSK1CGx8.mjs → context-DljQn8L5.mjs} +15 -69
  157. package/dist/client/{eventCalendar-B0Zg-i_w.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
  158. package/dist/client/{eventCombined-B8Y2wizd.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
  159. package/dist/client/{eventDetails-DPDOwURJ.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
  160. package/dist/client/{eventListing-CjBcmSLn.mjs → eventListing-B9aXPO-I.mjs} +3 -3
  161. package/dist/client/{eventRegistration-CK30HsAq.mjs → eventRegistration-CBSovBkg.mjs} +4522 -3690
  162. package/dist/client/{form-CUXfsABE.mjs → form-Cm0tu_7o.mjs} +2 -2
  163. package/dist/client/{headerSection-N-mN3rjr.mjs → headerSection-OgRtHeKS.mjs} +2 -2
  164. package/dist/client/hooks.mjs +430 -692
  165. package/dist/client/{locationMap-oiIDQMBt.mjs → locationMap-DmjcYqNM.mjs} +2 -2
  166. package/dist/client/{newsletterForm-CkQ2tTrM.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
  167. package/dist/client/{productDetail-CnidyrsN.mjs → productDetail-BqZeu2P4.mjs} +3 -3
  168. package/dist/client/{productList-CttYcS_S.mjs → productList-mNyIF9FG.mjs} +3 -3
  169. package/dist/client/{propsDecoder-CeUMxI9a.mjs → propsDecoder-DwHXRm9X.mjs} +4656 -4419
  170. package/dist/client/rendering/client.mjs +59504 -62158
  171. package/dist/client/rendering/islands.mjs +17 -19
  172. package/dist/client/rendering.mjs +5354 -9683
  173. package/dist/client/{scrollToBlock-lPr1oqxB.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
  174. package/dist/client/{shop-DXQtMo2O.mjs → shop-CNjZK16F.mjs} +6 -6
  175. package/dist/client/{shop-commerce-quDL411J.mjs → shop-commerce-DkNNao1J.mjs} +6 -6
  176. package/dist/client/{shop-commerce-store-Dnu-8Iub.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
  177. package/dist/client/{shopShared-BWPUURvG.mjs → shopShared-CHCVfccY.mjs} +3 -3
  178. package/dist/client/{useEventFilters-DRhWp2_5.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
  179. package/dist/preview-next/before-render.mjs +40 -161
  180. package/dist/preview-next/client/runtime.mjs +4 -4
  181. package/dist/preview-next/keepAlive.mjs +40 -161
  182. package/dist/preview-next/middleware.mjs +40 -161
  183. package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
  184. package/dist/{sdk-runtime-Ca5RD78X.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
  185. package/dist/{separator-CMhj6BTi.mjs → separator-D3bCWYYb.mjs} +1 -1
  186. package/dist/server/components.mjs +535 -2950
  187. package/dist/server/config-validation.mjs +430 -692
  188. package/dist/server/config.mjs +430 -692
  189. package/dist/server/data.mjs +430 -692
  190. package/dist/server/index.mjs +41 -162
  191. package/dist/server/next.mjs +549 -2964
  192. package/dist/server/page-converter.mjs +331 -560
  193. package/dist/server/prebuild.mjs +1 -1
  194. package/dist/server/rendering/server.mjs +534 -2855
  195. package/dist/server/rendering.mjs +535 -2950
  196. package/dist/server/routing.mjs +574 -1065
  197. package/dist/server/server.mjs +444 -706
  198. package/dist/server/theme-bridge.mjs +41 -1524
  199. package/dist/styles/index.css +41 -1348
  200. package/package.json +1 -1
  201. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
  202. package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
  203. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
  204. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
  205. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  206. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
  207. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
  208. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
  209. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -135
  210. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
  211. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
  212. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
  213. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
  214. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
  215. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
  216. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
  217. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
  218. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
  219. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
  220. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
  221. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
  222. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
  223. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
  224. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
  225. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
  226. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
  227. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
  228. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
  229. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
  230. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
  231. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
  232. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
  233. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
  234. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -46
  235. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
  236. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
  237. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
  238. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
  239. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
  240. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
  241. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
  242. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
  243. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
  244. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
  245. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
  246. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
  247. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -325
  248. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
  249. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
  250. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
  251. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
  252. package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
  253. package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
  254. package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
  255. package/dist/client/BookingConsentAgreement-BxgpGEFD.mjs +0 -160
  256. package/dist/client/WholeSeriesRegistrationWizard-DwtC7bCs.mjs +0 -2546
  257. package/dist/client/courseRegistration-A-Tg7qw_.mjs +0 -52
  258. package/dist/client/pricing-Caa0QWzh.mjs +0 -195
@@ -187,7 +187,7 @@ var init_block_kinds = __esmMin((() => {
187
187
  }));
188
188
  //#endregion
189
189
  //#region src/types/index.ts
190
- var init_types$17 = __esmMin((() => {
190
+ var init_types$16 = __esmMin((() => {
191
191
  init_block_kinds();
192
192
  }));
193
193
  //#endregion
@@ -533,7 +533,7 @@ function mergeLoaderResults(configResults, codeResults) {
533
533
  }
534
534
  var systemBlockKindSet;
535
535
  var init_executeCodeLoaders = __esmMin((() => {
536
- init_types$17();
536
+ init_types$16();
537
537
  init_dataLoaderContext();
538
538
  init_dataLoaderValue();
539
539
  init_defineOwnDataProperty();
@@ -1307,72 +1307,11 @@ var init_accountEndpointDefinitions = __esmMin((() => {
1307
1307
  });
1308
1308
  }));
1309
1309
  //#endregion
1310
- //#region ../api/src/courseEndpointDefinitions.ts
1311
- var COURSE_ENDPOINT_DEFINITIONS;
1312
- var init_courseEndpointDefinitions = __esmMin((() => {
1310
+ //#region ../api/src/eventSeriesRegistrationEndpointDefinitions.ts
1311
+ var EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS;
1312
+ var init_eventSeriesRegistrationEndpointDefinitions = __esmMin((() => {
1313
1313
  init_defineEndpointDefinitions();
1314
- COURSE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1315
- listCourses: {
1316
- path: "/sites/{siteId}/bookings/courses",
1317
- method: "GET",
1318
- auth: "user",
1319
- responseKind: "json"
1320
- },
1321
- exportCoursesCsv: {
1322
- path: "/sites/{siteId}/bookings/courses/export.csv",
1323
- method: "GET",
1324
- tags: [
1325
- "site-{siteId}",
1326
- "bookings",
1327
- "courses-{siteId}"
1328
- ],
1329
- errors: [],
1330
- auth: "user",
1331
- responseKind: "blob"
1332
- },
1333
- createCourse: {
1334
- path: "/sites/{siteId}/bookings/courses",
1335
- method: "POST",
1336
- auth: "user",
1337
- responseKind: "json",
1338
- errors: [
1339
- "validation:invalid_input",
1340
- "resource:not_found",
1341
- "resource:already_exists",
1342
- "resource:conflict",
1343
- "server:internal_error"
1344
- ]
1345
- },
1346
- getCourse: {
1347
- path: "/sites/{siteId}/bookings/courses/{courseId}",
1348
- method: "GET",
1349
- auth: "user",
1350
- responseKind: "json"
1351
- },
1352
- updateCourse: {
1353
- path: "/sites/{siteId}/bookings/courses/{courseId}",
1354
- method: "PATCH",
1355
- auth: "user",
1356
- responseKind: "json",
1357
- errors: [
1358
- "validation:invalid_input",
1359
- "resource:not_found",
1360
- "resource:conflict",
1361
- "server:internal_error"
1362
- ]
1363
- },
1364
- deleteCourse: {
1365
- path: "/sites/{siteId}/bookings/courses/{courseId}",
1366
- method: "DELETE",
1367
- auth: "user",
1368
- responseKind: "json",
1369
- errors: [
1370
- "validation:invalid_input",
1371
- "resource:not_found",
1372
- "resource:conflict",
1373
- "server:internal_error"
1374
- ]
1375
- },
1314
+ EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1376
1315
  deleteEventOffering: {
1377
1316
  path: "/sites/{siteId}/bookings/event-offerings/{eventOfferingId}",
1378
1317
  method: "DELETE",
@@ -1385,20 +1324,8 @@ var init_courseEndpointDefinitions = __esmMin((() => {
1385
1324
  "server:internal_error"
1386
1325
  ]
1387
1326
  },
1388
- duplicateCourse: {
1389
- path: "/sites/{siteId}/bookings/courses/{courseId}/duplicate",
1390
- method: "POST",
1391
- auth: "user",
1392
- responseKind: "json",
1393
- errors: [
1394
- "validation:invalid_input",
1395
- "resource:not_found",
1396
- "resource:already_exists",
1397
- "server:internal_error"
1398
- ]
1399
- },
1400
- changeCourseContentOwnership: {
1401
- path: "/sites/{siteId}/bookings/courses/{courseId}/content-ownership",
1327
+ changeEventSeriesContentOwnership: {
1328
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/content-ownership",
1402
1329
  method: "POST",
1403
1330
  auth: "user",
1404
1331
  responseKind: "json",
@@ -1409,8 +1336,8 @@ var init_courseEndpointDefinitions = __esmMin((() => {
1409
1336
  "server:internal_error"
1410
1337
  ]
1411
1338
  },
1412
- addCourseEnrollment: {
1413
- path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments",
1339
+ addEventSeriesRegistration: {
1340
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
1414
1341
  method: "POST",
1415
1342
  auth: "user",
1416
1343
  responseKind: "json",
@@ -1421,33 +1348,21 @@ var init_courseEndpointDefinitions = __esmMin((() => {
1421
1348
  "server:internal_error"
1422
1349
  ]
1423
1350
  },
1424
- listCourseEnrollments: {
1425
- path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments",
1351
+ listEventSeriesRegistrations: {
1352
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations",
1426
1353
  method: "GET",
1427
1354
  auth: "user",
1428
1355
  responseKind: "json"
1429
1356
  },
1430
- exportCourseEnrollmentsCsv: {
1431
- path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/export.csv",
1357
+ exportEventSeriesRegistrationsCsv: {
1358
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/export.csv",
1432
1359
  method: "GET",
1433
1360
  auth: "user",
1434
1361
  errors: [],
1435
1362
  responseKind: "blob"
1436
1363
  },
1437
- exportCourseWaitlistCsv: {
1438
- path: "/sites/{siteId}/bookings/courses/{courseId}/waitlist/export.csv",
1439
- method: "GET",
1440
- tags: [
1441
- "site-{siteId}",
1442
- "bookings",
1443
- "courses-{courseId}"
1444
- ],
1445
- auth: "user",
1446
- responseKind: "blob",
1447
- errors: []
1448
- },
1449
- updateCourseEnrollment: {
1450
- path: "/sites/{siteId}/bookings/courses/{courseId}/enrollments/{enrollmentId}",
1364
+ updateEventSeriesRegistration: {
1365
+ path: "/sites/{siteId}/bookings/event-series/{seriesId}/registrations/{registrationId}",
1451
1366
  method: "PATCH",
1452
1367
  auth: "user",
1453
1368
  responseKind: "json",
@@ -1846,77 +1761,41 @@ var init_publicWholeSeriesEndpointDefinitions = __esmMin((() => {
1846
1761
  errors: ["resource:not_found", "server:internal_error"],
1847
1762
  auth: "public",
1848
1763
  responseKind: "json"
1849
- },
1850
- registerForWholeSeries: {
1851
- path: "/public/sites/{siteId}/dated-offerings/whole-series/enroll",
1852
- method: "POST",
1853
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
1854
- errors: [
1855
- "auth:unauthenticated",
1856
- "auth:forbidden",
1857
- "validation:invalid_input",
1858
- "resource:not_found",
1859
- "resource:conflict",
1860
- "resource:already_exists",
1861
- "server:internal_error"
1862
- ],
1863
- auth: "public",
1864
- responseKind: "json"
1865
- },
1866
- checkWholeSeriesEligibility: {
1867
- path: "/public/sites/{siteId}/dated-offerings/whole-series/check-eligibility",
1868
- method: "POST",
1869
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-enrollment"],
1870
- errors: [
1871
- "auth:unauthenticated",
1872
- "resource:not_found",
1873
- "resource:conflict",
1874
- "server:internal_error"
1875
- ],
1876
- auth: "public",
1877
- responseKind: "json"
1878
- },
1879
- createWholeSeriesCheckout: {
1880
- path: "/public/sites/{siteId}/dated-offerings/whole-series/checkout",
1764
+ }
1765
+ });
1766
+ }));
1767
+ //#endregion
1768
+ //#region ../api/src/publicEventEndpointDefinitions.ts
1769
+ var PUBLIC_EVENT_ENDPOINT_DEFINITIONS;
1770
+ var init_publicEventEndpointDefinitions = __esmMin((() => {
1771
+ init_cache_tags();
1772
+ init_defineEndpointDefinitions();
1773
+ PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1774
+ getPublicEventRegistrationOptions: {
1775
+ path: "/public/sites/{siteId}/events/registration-options",
1881
1776
  method: "POST",
1882
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-checkout"],
1777
+ tags: [TAG_TEMPLATES.publicEvents, "event-registration-options"],
1883
1778
  auth: "public",
1884
1779
  responseKind: "json",
1885
1780
  errors: [
1886
- "auth:unauthenticated",
1887
1781
  "validation:invalid_input",
1888
1782
  "resource:not_found",
1889
1783
  "resource:conflict",
1890
1784
  "server:internal_error"
1891
1785
  ]
1892
1786
  },
1893
- getWholeSeriesRegistrationStatus: {
1894
- path: "/public/sites/{siteId}/dated-offerings/whole-series/registration-status",
1787
+ resolveEventSubroute: {
1788
+ path: "/public/sites/{siteId}/events/subroutes/resolve",
1895
1789
  method: "GET",
1896
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings, "course-checkout"],
1897
- errors: ["resource:not_found", "server:internal_error"],
1790
+ revalidate: 60,
1791
+ tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
1898
1792
  auth: "public",
1899
- responseKind: "json"
1793
+ responseKind: "json",
1794
+ errors: []
1900
1795
  }
1901
1796
  });
1902
1797
  }));
1903
1798
  //#endregion
1904
- //#region ../api/src/publicEventEndpointDefinitions.ts
1905
- var PUBLIC_EVENT_ENDPOINT_DEFINITIONS;
1906
- var init_publicEventEndpointDefinitions = __esmMin((() => {
1907
- init_cache_tags();
1908
- init_defineEndpointDefinitions();
1909
- PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({ resolveEventSubroute: {
1910
- path: "/public/sites/{siteId}/events/subroutes/resolve",
1911
- method: "GET",
1912
- revalidate: 60,
1913
- tags: [TAG_TEMPLATES.publicEvents, "event-subroute"],
1914
- auth: "public",
1915
- responseKind: "json",
1916
- errors: []
1917
- } });
1918
- }));
1919
- //#endregion
1920
1799
  //#region ../api/src/siteApiKeyEndpointDefinitions.ts
1921
1800
  var SITE_API_KEY_ENDPOINT_DEFINITIONS;
1922
1801
  var init_siteApiKeyEndpointDefinitions = __esmMin((() => {
@@ -2296,7 +2175,7 @@ var init_endpoints = __esmMin((() => {
2296
2175
  init_sdkEntryReadEndpoints();
2297
2176
  init_appointmentEndpointDefinitions();
2298
2177
  init_accountEndpointDefinitions();
2299
- init_courseEndpointDefinitions();
2178
+ init_eventSeriesRegistrationEndpointDefinitions();
2300
2179
  init_newsletterEndpointDefinitions();
2301
2180
  init_publicWholeSeriesEndpointDefinitions();
2302
2181
  init_publicEventEndpointDefinitions();
@@ -2311,7 +2190,7 @@ var init_endpoints = __esmMin((() => {
2311
2190
  }), TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, { ...SITE_API_KEY_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteBookingSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteEmailSettings, {
2312
2191
  ...NEWSLETTER_ENDPOINT_DEFINITIONS,
2313
2192
  ...APPOINTMENT_ENDPOINT_DEFINITIONS,
2314
- ...COURSE_ENDPOINT_DEFINITIONS
2193
+ ...EVENT_SERIES_REGISTRATION_ENDPOINT_DEFINITIONS
2315
2194
  }, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteById, TAG_TEMPLATES.siteBySlug, TAG_TEMPLATES.siteByDomain, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.workflowRunById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.routeById, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.site, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.navigationItemById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteNavigation, TAG_TEMPLATES.navigationMenuById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteSettings, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.siteTheme, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteCollection, TAG_TEMPLATES.pageSurfaceById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteRedirects, TAG_TEMPLATES.siteRouteOutcomes, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.formSubmissionsBySlug, TAG_TEMPLATES.formById, TAG_TEMPLATES.siteForms, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEventFilters, { ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS }, TAG_TEMPLATES.publicTeamMembers, TAG_TEMPLATES.publicWholeSeriesOfferings, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicPasses, TAG_TEMPLATES.publicMemberships, TAG_TEMPLATES.publicProducts, TAG_TEMPLATES.publicShop, TAG_TEMPLATES.publicCheckout, TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, TAG_TEMPLATES.publicEvents, { ...EVENT_MANAGEMENT_ENDPOINT_DEFINITIONS }, { ...SDK_ENDPOINT_DEFINITIONS }, { ...SDK_ENTRY_READ_ENDPOINTS };
2316
2195
  }));
2317
2196
  var init_preview_auth = __esmMin((() => {
@@ -2565,14 +2444,14 @@ function publicEventPricingType(pricing) {
2565
2444
  case "single_paid":
2566
2445
  case "ticket_types":
2567
2446
  case "sliding_scale":
2568
- case "course": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
2447
+ case "whole_series": return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
2569
2448
  case "external": return "external";
2570
2449
  }
2571
2450
  }
2572
2451
  function isFreePublicEventPriceDisplay(display) {
2573
2452
  switch (display.kind) {
2574
2453
  case "free": return true;
2575
- case "course": return display.display.kind === "free";
2454
+ case "whole_series": return display.display.kind === "free";
2576
2455
  case "exact":
2577
2456
  case "from":
2578
2457
  case "range":
@@ -3008,6 +2887,27 @@ var init_secret = __esmMin((() => {
3008
2887
  //#region ../core/src/site-route-target.ts
3009
2888
  var init_site_route_target = __esmMin((() => {}));
3010
2889
  //#endregion
2890
+ //#region ../core/src/planner.ts
2891
+ /** Resolve current time as a Date from an explicit Date, injected clock, or system clock. */
2892
+ function resolvePlanningNowDate(input = {}) {
2893
+ if (input.now !== void 0) return input.now;
2894
+ return new Date((input.clock ?? systemPlanningClock).now());
2895
+ }
2896
+ /**
2897
+ * Resolve a Date-compatible planner input.
2898
+ *
2899
+ * Precedence: bare Date, `{ now }`, `{ clock }`, then `systemPlanningClock`.
2900
+ * Explicit Date inputs are returned by reference, not cloned.
2901
+ */
2902
+ function resolvePlanningDateInput(input = {}) {
2903
+ if (input instanceof Date) return input;
2904
+ return resolvePlanningNowDate(input);
2905
+ }
2906
+ var systemPlanningClock;
2907
+ var init_planner = __esmMin((() => {
2908
+ systemPlanningClock = { now: () => Date.now() };
2909
+ }));
2910
+ //#endregion
3011
2911
  //#region ../core/src/event-series-behaviour.ts
3012
2912
  var SURFACE_EVENT_PRESET_VALUES;
3013
2913
  var init_event_series_behaviour = __esmMin((() => {
@@ -3381,6 +3281,7 @@ var init_src$4 = __esmMin((() => {
3381
3281
  init_stable_json();
3382
3282
  init_secret();
3383
3283
  init_site_route_target();
3284
+ init_planner();
3384
3285
  init_booking_verticals();
3385
3286
  init_event_series_behaviour();
3386
3287
  }));
@@ -3759,7 +3660,7 @@ var init_all = __esmMin((() => {
3759
3660
  }));
3760
3661
  //#endregion
3761
3662
  //#region ../theme-core/src/palette/types.ts
3762
- var init_types$16 = __esmMin((() => {}));
3663
+ var init_types$15 = __esmMin((() => {}));
3763
3664
  //#endregion
3764
3665
  //#region ../../node_modules/.pnpm/@vibrant+image@4.0.4/node_modules/@vibrant/image/dist/esm/histogram.js
3765
3666
  var Histogram;
@@ -5231,7 +5132,7 @@ function defineCuratedPalette(input) {
5231
5132
  };
5232
5133
  }
5233
5134
  var curatedPaletteAuthoringKeySchema;
5234
- var init_types$15 = __esmMin((() => {
5135
+ var init_types$14 = __esmMin((() => {
5235
5136
  init_styleTags();
5236
5137
  init_themeColorTokens();
5237
5138
  init_colors();
@@ -5272,7 +5173,7 @@ var init_types$15 = __esmMin((() => {
5272
5173
  //#region ../theme-core/src/palette/curated/brand-led.ts
5273
5174
  var brandLedCool, brandLedWarm, brandLedJewel, brandLedSpruce, brandLedBurgundyGold;
5274
5175
  var init_brand_led = __esmMin((() => {
5275
- init_types$15();
5176
+ init_types$14();
5276
5177
  brandLedCool = defineCuratedPalette({
5277
5178
  authoringKey: "brand-led-cool",
5278
5179
  name: "Brand-led — Cool",
@@ -5603,7 +5504,7 @@ var init_brand_led = __esmMin((() => {
5603
5504
  //#region ../theme-core/src/palette/curated/high-contrast.ts
5604
5505
  var highContrastInk, highContrastCharcoal, highContrastMonochrome;
5605
5506
  var init_high_contrast = __esmMin((() => {
5606
- init_types$15();
5507
+ init_types$14();
5607
5508
  highContrastInk = defineCuratedPalette({
5608
5509
  authoringKey: "high-contrast-ink",
5609
5510
  name: "High Contrast — Ink",
@@ -5804,7 +5705,7 @@ var init_high_contrast = __esmMin((() => {
5804
5705
  //#region ../theme-core/src/palette/curated/soft-natural.ts
5805
5706
  var softNaturalSage, softNaturalStone, softNaturalWatercolor, softNaturalLilac;
5806
5707
  var init_soft_natural = __esmMin((() => {
5807
- init_types$15();
5708
+ init_types$14();
5808
5709
  softNaturalSage = defineCuratedPalette({
5809
5710
  authoringKey: "soft-natural-sage",
5810
5711
  name: "Soft Natural — Sage",
@@ -6070,7 +5971,7 @@ var init_soft_natural = __esmMin((() => {
6070
5971
  //#region ../theme-core/src/palette/curated/warm-neutral.ts
6071
5972
  var warmNeutralClay, warmNeutralCream, warmNeutralSoftEarth, warmNeutralForest;
6072
5973
  var init_warm_neutral = __esmMin((() => {
6073
- init_types$15();
5974
+ init_types$14();
6074
5975
  warmNeutralClay = defineCuratedPalette({
6075
5976
  authoringKey: "warm-neutral-clay",
6076
5977
  name: "Warm Neutral — Clay",
@@ -6336,7 +6237,7 @@ var init_warm_neutral = __esmMin((() => {
6336
6237
  //#region ../theme-core/src/palette/curated/warm-dark.ts
6337
6238
  var warmDarkEmber, warmDarkKirtanGold;
6338
6239
  var init_warm_dark = __esmMin((() => {
6339
- init_types$15();
6240
+ init_types$14();
6340
6241
  warmDarkEmber = defineCuratedPalette({
6341
6242
  authoringKey: "warm-dark-ember",
6342
6243
  name: "Warm Dark — Ember",
@@ -6491,7 +6392,7 @@ var init_curated = __esmMin((() => {
6491
6392
  init_soft_natural();
6492
6393
  init_warm_neutral();
6493
6394
  init_warm_dark();
6494
- init_types$15();
6395
+ init_types$14();
6495
6396
  curatedPalettes = [
6496
6397
  admitCuratedPaletteDefinition(brandLedCool),
6497
6398
  admitCuratedPaletteDefinition(brandLedWarm),
@@ -6524,7 +6425,7 @@ var init_palette = __esmMin((() => {
6524
6425
  init_generateCssVars();
6525
6426
  init_generateShades();
6526
6427
  init_neutralScale();
6527
- init_types$16();
6428
+ init_types$15();
6528
6429
  init_utils$4();
6529
6430
  init_paletteAccess();
6530
6431
  init_extractPalette();
@@ -6676,7 +6577,7 @@ function createStandardButtonSurfacePolicy() {
6676
6577
  return Object.fromEntries(VARIANT_ROLES.map((role) => [role, [...STANDARD_BUTTON_SURFACE_POLICY[role]]]));
6677
6578
  }
6678
6579
  var VARIANT_ROLES, buttonVariantIdSchema, opaqueButtonColourTokenSchema, contextualButtonHoverSchema, buttonShadeAmountSchema, buttonShadowIntensitySchema, buttonEffectApplicationSchema, cornerStyleSchema, shadowSizeSchema, textTransformSchema, fontWeightSchema, buttonTypographySchema, letterSpacingSchema, hoverTransformSchema, buttonPaddingPresetSchema, gradientStyleSchema, gradientSharpnessSchema, prioritySchema, variantRoleSchema, buttonSurfaceFallbackSchema, standardButtonSurfacePolicy, STANDARD_BUTTON_SURFACE_POLICY, buttonSurfacePolicyShape, buttonSurfacePolicySchema, buttonSizeNameSchema, PADDING_TOKEN_PATTERN, paddingShorthandSchema, buttonSizeConfigSchema, buttonSizesSchema, buttonGlobalSettingsBaseSchema, buttonGlobalSettingsSchema, gradientDirectionSchema$1, buttonColourTreatmentSchema, buttonBackgroundSchema, buttonBorderSchema, buttonVariantAffordanceSchema, variantShadowSchema, variantEffectsSchema, variantSizeOverridesSchema, buttonVariantSchema, buttonSystemSchema;
6679
- var init_types$14 = __esmMin((() => {
6580
+ var init_types$13 = __esmMin((() => {
6680
6581
  init_themeColorTokens();
6681
6582
  init_colorTokenParts();
6682
6583
  VARIANT_ROLES = [
@@ -7123,7 +7024,7 @@ function getButtonEffectPolicy(effectId) {
7123
7024
  }
7124
7025
  var BUTTON_EFFECT_POLICIES;
7125
7026
  var init_effectClassification = __esmMin((() => {
7126
- init_types$14();
7027
+ init_types$13();
7127
7028
  BUTTON_EFFECT_POLICIES = {
7128
7029
  "darken-background": {
7129
7030
  classification: "colour-transition",
@@ -7386,7 +7287,7 @@ var init_contextualHover = __esmMin((() => {
7386
7287
  init_contrast();
7387
7288
  init_onColor();
7388
7289
  init_buttonColourContract();
7389
- init_types$14();
7290
+ init_types$13();
7390
7291
  }));
7391
7292
  //#endregion
7392
7293
  //#region ../theme-core/src/buttons/resolveButtonHoverTreatment.ts
@@ -7782,7 +7683,7 @@ var init_resolveButtonColourStates = __esmMin((() => {
7782
7683
  init_colorConversion();
7783
7684
  init_onColor();
7784
7685
  init_foregroundContract();
7785
- init_types$14();
7686
+ init_types$13();
7786
7687
  init_constants$1();
7787
7688
  init_effectClassification();
7788
7689
  init_resolveButtonHoverTreatment();
@@ -7793,12 +7694,12 @@ var init_resolveButtonColourStates = __esmMin((() => {
7793
7694
  var init_parseThemeForPersistence = __esmMin((() => {
7794
7695
  init_schema$2();
7795
7696
  init_resolveButtonColourStates();
7796
- init_types$14();
7697
+ init_types$13();
7797
7698
  }));
7798
7699
  //#endregion
7799
7700
  //#region ../theme-core/src/buttons/classNames.ts
7800
7701
  var init_classNames = __esmMin((() => {
7801
- init_types$14();
7702
+ init_types$13();
7802
7703
  }));
7803
7704
  //#endregion
7804
7705
  //#region ../theme-core/src/buttons/effects/presets/background.ts
@@ -7871,7 +7772,7 @@ var init_generateEffectsCSS = __esmMin((() => {
7871
7772
  //#endregion
7872
7773
  //#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
7873
7774
  var init_generateDefaultButtonSystem = __esmMin((() => {
7874
- init_types$14();
7775
+ init_types$13();
7875
7776
  }));
7876
7777
  //#endregion
7877
7778
  //#region ../theme-core/src/buttons/affordanceIcons.ts
@@ -8600,7 +8501,7 @@ var init_buttonSurfaceContext = __esmMin((() => {
8600
8501
  init_tokenOrColor();
8601
8502
  init_constants$1();
8602
8503
  init_resolveButtonColourStates();
8603
- init_types$14();
8504
+ init_types$13();
8604
8505
  NAMED_OPAQUE_COLOURS = {
8605
8506
  black: "#000000",
8606
8507
  white: "#ffffff",
@@ -8621,7 +8522,7 @@ var init_resolvedButtonCss = __esmMin((() => {
8621
8522
  init_buttonSurfaceContext();
8622
8523
  }));
8623
8524
  var init_generateButtonCss = __esmMin((() => {
8624
- init_types$14();
8525
+ init_types$13();
8625
8526
  init_classNames();
8626
8527
  init_generateEffectsCSS();
8627
8528
  init_generateDefaultButtonSystem();
@@ -8712,7 +8613,7 @@ function rolePriority(role) {
8712
8613
  }
8713
8614
  var PUBLIC_BUTTON_ROLES;
8714
8615
  var init_domain = __esmMin((() => {
8715
- init_types$14();
8616
+ init_types$13();
8716
8617
  PUBLIC_BUTTON_ROLES = VARIANT_ROLES;
8717
8618
  }));
8718
8619
  //#endregion
@@ -8725,7 +8626,7 @@ function selectionBranch(styleId, parameters) {
8725
8626
  }
8726
8627
  var BUTTON_STYLE_IDS, quietArrowParametersSchema, FLAT_INK_HOVER_TREATMENT_VALUES, flatInkHoverTreatmentSchema, flatInkHoverPreferencesShape, flatInkHoverPreferencesSchema, flatInkParametersSchema, emptyParametersSchema$1, buttonStyleSelectionWireSchema, buttonStyleSelectionSchema;
8727
8628
  var init_selection = __esmMin((() => {
8728
- init_types$14();
8629
+ init_types$13();
8729
8630
  BUTTON_STYLE_IDS = [
8730
8631
  "soft-pill",
8731
8632
  "earth-pill",
@@ -8772,7 +8673,7 @@ var init_selection = __esmMin((() => {
8772
8673
  var quietArrowRecipe;
8773
8674
  var init_quietArrow = __esmMin((() => {
8774
8675
  init_domain();
8775
- init_types$14();
8676
+ init_types$13();
8776
8677
  init_selection();
8777
8678
  quietArrowRecipe = defineButtonStyleRecipe({
8778
8679
  id: "quiet-arrow",
@@ -8934,7 +8835,7 @@ function paletteRole(preference) {
8934
8835
  }
8935
8836
  var contextualRoleConfig, hoverControl, lift, flatInkRecipe;
8936
8837
  var init_flatInk = __esmMin((() => {
8937
- init_types$14();
8838
+ init_types$13();
8938
8839
  init_domain();
8939
8840
  init_selection();
8940
8841
  contextualRoleConfig = {
@@ -9150,7 +9051,7 @@ function normalizeAppearanceOverrides(overrides) {
9150
9051
  }
9151
9052
  var emptyParametersSchema;
9152
9053
  var init_defineStaticButtonStyleRecipe = __esmMin((() => {
9153
- init_types$14();
9054
+ init_types$13();
9154
9055
  init_domain();
9155
9056
  emptyParametersSchema = z.object({}).strict();
9156
9057
  }));
@@ -9159,7 +9060,7 @@ var init_defineStaticButtonStyleRecipe = __esmMin((() => {
9159
9060
  var softPillRecipe, earthPillRecipe, confidentChipRecipe, editorialSizes, editorialLinkRecipe, pebbleRecipe, brushedWashRecipe, inkStampRecipe, showtimePillRecipe, joyStampRecipe, ornateGhostSizes, ornateRitualRecipe;
9160
9061
  var init_staticRecipes = __esmMin((() => {
9161
9062
  init_defineStaticButtonStyleRecipe();
9162
- init_types$14();
9063
+ init_types$13();
9163
9064
  softPillRecipe = defineStaticButtonStyleRecipe({
9164
9065
  id: "soft-pill",
9165
9066
  accessibilityLabel: "Rounded pill buttons with a gentle hover lift",
@@ -10382,7 +10283,7 @@ var init_presets$3 = __esmMin((() => {
10382
10283
  //#endregion
10383
10284
  //#region ../theme-core/src/buttons/index.ts
10384
10285
  var init_buttons = __esmMin((() => {
10385
- init_types$14();
10286
+ init_types$13();
10386
10287
  init_parseThemeForPersistence();
10387
10288
  init_classNames();
10388
10289
  init_generateButtonCss();
@@ -10500,7 +10401,7 @@ function validateUniqueDeclaredCardVariantRoles(system, ctx) {
10500
10401
  });
10501
10402
  }
10502
10403
  var cardVariantRoleValues, boxlessCardVariantValue, openCardRoleValue, surfaceCardRoleValues, cardRoleValues, cardSpacingSchema, cardSpacingAxesSchema, cardSpacingValueSchema, gradientDirectionSchema, surfaceCardRoleSchema, cardRoleSchema, PRIORITY_ROLE_INFERENCE, cardBackgroundSchema, cardBorderSchema, cardCornerValueSchema, cardEdgeSchema, cardAccentEdgeSchema, cardEdgeRuleWidthSchema, cardEdgeRuleLengthSchema, cardEdgeRuleAlignSchema, cardEdgeRuleSchema, cardDecorationSchema, cardDecorationsSchema, cardCornerRadiiSchema, cardVariantInputSchema, cardVariantSchema, cardSystemSchema;
10503
- var init_types$13 = __esmMin((() => {
10404
+ var init_types$12 = __esmMin((() => {
10504
10405
  init_themeColorTokens();
10505
10406
  cardVariantRoleValues = ["default", "alternative"];
10506
10407
  boxlessCardVariantValue = "none";
@@ -10666,13 +10567,13 @@ var init_generateDefaultCardSystem = __esmMin((() => {}));
10666
10567
  //#endregion
10667
10568
  //#region ../theme-core/src/cards/roles.ts
10668
10569
  var init_roles = __esmMin((() => {
10669
- init_types$13();
10570
+ init_types$12();
10670
10571
  }));
10671
10572
  //#endregion
10672
10573
  //#region ../theme-core/src/cards/generateCardCss.ts
10673
10574
  var init_generateCardCss = __esmMin((() => {
10674
10575
  init_roles();
10675
- init_types$13();
10576
+ init_types$12();
10676
10577
  init_surfaces();
10677
10578
  }));
10678
10579
  //#endregion
@@ -10683,7 +10584,7 @@ var init_core$2 = __esmMin((() => {
10683
10584
  //#endregion
10684
10585
  //#region ../theme-core/src/cards/index.ts
10685
10586
  var init_cards = __esmMin((() => {
10686
- init_types$13();
10587
+ init_types$12();
10687
10588
  init_constants();
10688
10589
  init_decorations();
10689
10590
  init_roles();
@@ -10695,7 +10596,7 @@ var init_cards = __esmMin((() => {
10695
10596
  //#endregion
10696
10597
  //#region ../theme-core/src/accordions/types.ts
10697
10598
  var accordionIconSchema, accordionSystemSchema;
10698
- var init_types$12 = __esmMin((() => {
10599
+ var init_types$11 = __esmMin((() => {
10699
10600
  init_themeColorTokens();
10700
10601
  accordionIconSchema = z.enum([
10701
10602
  "plus-minus",
@@ -10800,7 +10701,7 @@ var init_types$12 = __esmMin((() => {
10800
10701
  //#endregion
10801
10702
  //#region ../theme-core/src/inputs/types.ts
10802
10703
  var inputSystemSchema;
10803
- var init_types$11 = __esmMin((() => {
10704
+ var init_types$10 = __esmMin((() => {
10804
10705
  init_themeColorTokens();
10805
10706
  inputSystemSchema = z.object({
10806
10707
  base: z.object({
@@ -10900,7 +10801,7 @@ var init_types$11 = __esmMin((() => {
10900
10801
  * Gradient configuration types and schemas
10901
10802
  */
10902
10803
  var gradientStopSchema, radialGradientShapeSchema, gradientConfigSchema;
10903
- var init_types$10 = __esmMin((() => {
10804
+ var init_types$9 = __esmMin((() => {
10904
10805
  init_themeColorTokens();
10905
10806
  gradientStopSchema = z.object({
10906
10807
  color: themeColorTokenSchema,
@@ -10972,7 +10873,7 @@ var init_baseSchema = __esmMin((() => {
10972
10873
  * Schema and types for composable nav link styling used by header and footer.
10973
10874
  */
10974
10875
  var navLinkPaddingSchema, navLinkPaddingXSchema, navLinkBorderRadiusSchema, navLinkTextSizeSchema, navLinkLetterSpacingSchema, navLinkContrastTreatmentSchema, navLinkStyleSchema;
10975
- var init_types$9 = __esmMin((() => {
10876
+ var init_types$8 = __esmMin((() => {
10976
10877
  init_baseSchema();
10977
10878
  init_themeColorTokens();
10978
10879
  navLinkPaddingSchema = z.enum([
@@ -11227,7 +11128,7 @@ var init_componentStyles = __esmMin((() => {
11227
11128
  }));
11228
11129
  //#endregion
11229
11130
  //#region ../theme-core/src/shared/index.ts
11230
- var init_shared$5 = __esmMin((() => {
11131
+ var init_shared$4 = __esmMin((() => {
11231
11132
  init_componentStyles();
11232
11133
  }));
11233
11134
  //#endregion
@@ -11321,7 +11222,7 @@ function defineBlockDesignCapability(capability) {
11321
11222
  };
11322
11223
  }
11323
11224
  var plainFrame, tileTreatmentValues, eventListTreatmentValues, testimonialsCompositionTreatmentValues, offeringsPreviewCompositionTreatmentValues, eyebrowTreatmentValues, visibleHeadingDecorationFamilyValues, headingDecorationOverrideValues, headingDecorationColorTokenValues, noHeadingDecoration, accordionIconSetValues, accordionIconColorTokenValues, accordionIconMotionValues;
11324
- var init_types$8 = __esmMin((() => {
11225
+ var init_types$7 = __esmMin((() => {
11325
11226
  plainFrame = { kind: "plain" };
11326
11227
  tileTreatmentValues = [
11327
11228
  "default",
@@ -11663,14 +11564,14 @@ var init_schema$2 = __esmMin((() => {
11663
11564
  init_schema$3();
11664
11565
  init_buttons();
11665
11566
  init_cards();
11666
- init_types$12();
11667
11567
  init_types$11();
11668
11568
  init_types$10();
11669
11569
  init_types$9();
11570
+ init_types$8();
11670
11571
  init_validation$1();
11671
11572
  init_atRuleValidation();
11672
- init_shared$5();
11673
- init_types$8();
11573
+ init_shared$4();
11574
+ init_types$7();
11674
11575
  init_logoBranding();
11675
11576
  init_rawStyleFields();
11676
11577
  init_themeColorTokens();
@@ -12461,7 +12362,7 @@ var init_appearancePresetResolution = __esmMin((() => {
12461
12362
  })), brandScrimOptionGroups, microBannerLayoutPatches;
12462
12363
  var init_blockAppearancePresets = __esmMin((() => {
12463
12364
  init_appearancePresetResolution();
12464
- init_types$8();
12365
+ init_types$7();
12465
12366
  brandScrimOptionGroups = [{
12466
12367
  id: "image-surface-treatment",
12467
12368
  label: "Treatment",
@@ -12930,7 +12831,7 @@ var init_blockAppearancePresets = __esmMin((() => {
12930
12831
  id: "schedule-details-brand-depth",
12931
12832
  target: "events",
12932
12833
  label: "Brand-depth schedule details",
12933
- blockKinds: ["block.event-details", "block.course-details"],
12834
+ blockKinds: ["block.event-details"],
12934
12835
  design: {
12935
12836
  sectionSurface: "brand-depth-band",
12936
12837
  contentFrame: plainFrame,
@@ -13153,7 +13054,7 @@ function assertUniqueLayoutProfileKeys(profiles) {
13153
13054
  if (duplicates.length > 0) throw new Error(`Duplicate block layout design profiles: ${duplicates.join(", ")}`);
13154
13055
  }
13155
13056
  var init_blockFlow = __esmMin((() => {
13156
- init_types$8();
13057
+ init_types$7();
13157
13058
  }));
13158
13059
  //#endregion
13159
13060
  //#region ../theme-core/src/tokens/tokens.ts
@@ -13356,7 +13257,7 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
13356
13257
  }
13357
13258
  var noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
13358
13259
  var init_sectionTransitions = __esmMin((() => {
13359
- init_types$8();
13260
+ init_types$7();
13360
13261
  boundaryRuntimeMetrics("gradient", "medium", "6rem + 2px"), boundaryRuntimeMetrics("gradient", "spacious", "10rem"), boundaryRuntimeMetrics("gradient", "expansive", "14rem"), boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"), boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"), boundaryRuntimeMetrics("wave", "compact", "4.5rem + 2px"), boundaryRuntimeMetrics("wave", "large", "7rem + 2px"), boundaryRuntimeMetrics("wave", "medium", "6rem + 2px"), boundaryRuntimeMetrics("angle", "medium", "6rem + 2px"), boundaryRuntimeMetrics("angle", "compact", "4.5rem + 2px"), boundaryRuntimeMetrics("angle", "large", "7rem + 2px");
13361
13262
  noneBoundaryOption = {
13362
13263
  id: asBoundaryOptionId("break:none"),
@@ -13434,7 +13335,7 @@ function boundaryKey(previousBlockId, nextBlockId) {
13434
13335
  }
13435
13336
  var pageDesignUserPinnedAppearanceChoiceSchema, pageDesignUserPinnedBoundaryChoiceSchema, pageDesignBoundaryTreatmentSchema, pageDesignUserPinnedBoundaryTreatmentChoiceSchema, pageDesignBlockLookPinSchema, pageDesignBoundaryPinSchema, legacyPageDesignBoundaryPinSchema;
13436
13337
  var init_pageDesignIntent = __esmMin((() => {
13437
- init_types$8();
13338
+ init_types$7();
13438
13339
  init_sectionTransitions();
13439
13340
  asBoundaryOptionId("break:unknown");
13440
13341
  pageDesignUserPinnedAppearanceChoiceSchema = z.object({
@@ -14182,7 +14083,7 @@ var init_utils$2 = __esmMin((() => {}));
14182
14083
  //#endregion
14183
14084
  //#region ../theme-core/src/gradients/index.ts
14184
14085
  var init_gradients = __esmMin((() => {
14185
- init_types$10();
14086
+ init_types$9();
14186
14087
  init_presets$2();
14187
14088
  init_utils$2();
14188
14089
  }));
@@ -14229,7 +14130,7 @@ function supportedLayouts(ids) {
14229
14130
  var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations, headerLayoutCatalog, headerStyleCatalog;
14230
14131
  var init_headerLayoutCatalog = __esmMin((() => {
14231
14132
  init_logoBranding();
14232
- init_types$8();
14133
+ init_types$7();
14233
14134
  init_headerInteractionPalette();
14234
14135
  init_headerLayoutTypes();
14235
14136
  titleOnlyLogoAccommodation = {
@@ -14562,7 +14463,7 @@ function emphasizedFooterLinks(theme) {
14562
14463
  }
14563
14464
  var footerLookCatalog;
14564
14465
  var init_footerLooks = __esmMin((() => {
14565
- init_types$8();
14466
+ init_types$7();
14566
14467
  footerLookCatalog = defineExactCatalog()([{
14567
14468
  id: asFooterLookId("footer-links-quiet"),
14568
14469
  label: "Quiet links",
@@ -14581,7 +14482,7 @@ var init_footerLooks = __esmMin((() => {
14581
14482
  var init_curatedChoices = __esmMin((() => {})), generatedContentFrames, userContentFrames, generatedDesignOptionCatalog, userDesignOptionCatalog;
14582
14483
  var init_sourceCatalogs = __esmMin((() => {
14583
14484
  init_cards();
14584
- init_types$8();
14485
+ init_types$7();
14585
14486
  generatedContentFrames = [
14586
14487
  plainFrame,
14587
14488
  panelFrame("inset"),
@@ -15097,7 +14998,7 @@ var init_siteStyleTypography = __esmMin((() => {
15097
14998
  };
15098
14999
  })), designResolutionPolicySchema, runtimeStyleFieldNameSchema, nonEmptyRuntimeStyleFieldNamesSchema, styleAuthoritySchema;
15099
15000
  var init_designState = __esmMin((() => {
15100
- init_types$8();
15001
+ init_types$7();
15101
15002
  init_rawStyleFields();
15102
15003
  designResolutionPolicySchema = z.enum([
15103
15004
  "generated",
@@ -15352,7 +15253,7 @@ var init_curatedSiteStyles = __esmMin((() => {
15352
15253
  init_headerLayoutStyles();
15353
15254
  init_footerLooks();
15354
15255
  init_sourceCatalogs();
15355
- init_types$8();
15256
+ init_types$7();
15356
15257
  init_siteStyleTypography();
15357
15258
  init_runtimeCompiler();
15358
15259
  SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
@@ -16949,7 +16850,7 @@ var init_siteStyleBlockPolicies = __esmMin((() => {
16949
16850
  init_lookResolution();
16950
16851
  init_appearancePresets();
16951
16852
  init_pageDesignIntent();
16952
- init_types$8();
16853
+ init_types$7();
16953
16854
  init_sectionTransitions();
16954
16855
  asPageFlowPresetId("generated-default");
16955
16856
  asSiteStyleId("site-style:south-west-twerk-school");
@@ -16963,12 +16864,12 @@ var init_pageDesignEditorModel = __esmMin((() => {
16963
16864
  init_lookResolution();
16964
16865
  init_siteStyleBlockPolicies();
16965
16866
  init_pageDesignIntent();
16966
- init_types$8();
16867
+ init_types$7();
16967
16868
  init_sectionTransitions();
16968
16869
  asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
16969
16870
  })), blockDesignFallback;
16970
16871
  var init_resolver$1 = __esmMin((() => {
16971
- init_types$8();
16872
+ init_types$7();
16972
16873
  blockDesignFallback = {
16973
16874
  sectionSurface: "base",
16974
16875
  contentFrame: plainFrame,
@@ -17031,7 +16932,7 @@ var init_previewCompiler = __esmMin((() => {
17031
16932
  init_pageDesignEditorModel();
17032
16933
  init_pageDesignIntent();
17033
16934
  init_previewCustomization();
17034
- init_types$8();
16935
+ init_types$7();
17035
16936
  }));
17036
16937
  //#endregion
17037
16938
  //#region ../theme-core/src/site-styles/contentTemplateRuntimeCompiler.ts
@@ -17066,7 +16967,7 @@ var init_generatedSchemas = __esmMin((() => {
17066
16967
  init_cardRoleVocabulary();
17067
16968
  init_curatedSiteStyles();
17068
16969
  init_sourceCatalogs();
17069
- init_types$8();
16970
+ init_types$7();
17070
16971
  generatedPanelTreatments = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment));
17071
16972
  generatedFlushTreatments = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment));
17072
16973
  generatedFlushBleeds = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed));
@@ -17183,7 +17084,7 @@ function collectBlockSequenceIssues(snapshots) {
17183
17084
  }
17184
17085
  var nonEmptyStringSchema, blockContentVersionIdSchema, designBlockIdSchema, designPageIdSchema, designEntryIdSchema, blockOrderIndexSchema, publishedPageBlockSnapshotSchema, draftPageBlockSnapshotSchema, missingPageBlockSnapshotSchema, pageBlockSnapshotSchema, publishedPageBlockSequenceSchema, draftPageBlockSequenceSchema, publishedPageDesignVersionDataV1Schema, draftPageDesignVersionDataV1Schema;
17185
17086
  var init_pageDesignAuthority = __esmMin((() => {
17186
- init_types$8();
17087
+ init_types$7();
17187
17088
  init_pageDesignIntent();
17188
17089
  nonEmptyStringSchema = z.string().min(1);
17189
17090
  blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
@@ -17396,7 +17297,7 @@ var init_site_styles = __esmMin((() => {
17396
17297
  init_tokenRecipes();
17397
17298
  init_siteStyleTypography();
17398
17299
  init_themeParity();
17399
- init_types$8();
17300
+ init_types$7();
17400
17301
  }));
17401
17302
  //#endregion
17402
17303
  //#region ../theme-core/src/footer/mode.ts
@@ -17409,7 +17310,7 @@ var init_shadow = __esmMin((() => {
17409
17310
  //#endregion
17410
17311
  //#region ../theme-core/src/accordions/generateAccordionCss.ts
17411
17312
  var init_generateAccordionCss = __esmMin((() => {
17412
- init_types$12();
17313
+ init_types$11();
17413
17314
  init_colorStyles();
17414
17315
  init_surfaces();
17415
17316
  }));
@@ -17421,13 +17322,13 @@ var init_defaults = __esmMin((() => {
17421
17322
  //#endregion
17422
17323
  //#region ../theme-core/src/inputs/generateInputCss.ts
17423
17324
  var init_generateInputCss = __esmMin((() => {
17424
- init_types$11();
17325
+ init_types$10();
17425
17326
  init_colorStyles();
17426
17327
  }));
17427
17328
  //#endregion
17428
17329
  //#region ../theme-core/src/navigation/generateNavLinkCSS.ts
17429
17330
  var init_generateNavLinkCSS = __esmMin((() => {
17430
- init_types$9();
17331
+ init_types$8();
17431
17332
  init_generateEffectsCSS();
17432
17333
  })), NAV_DROPDOWN_SHIFT_PROPERTY, NAV_DROPDOWN_MAX_WIDTH_CSS;
17433
17334
  var init_navDropdownSizing = __esmMin((() => {
@@ -17438,7 +17339,7 @@ var init_navDropdownSizing = __esmMin((() => {
17438
17339
  //#endregion
17439
17340
  //#region ../theme-core/src/header/surfaceRules.ts
17440
17341
  var init_surfaceRules = __esmMin((() => {
17441
- init_shared$5();
17342
+ init_shared$4();
17442
17343
  init_colorStyles();
17443
17344
  })), NAV_LINK_PRESETS;
17444
17345
  var init_presets$1 = __esmMin((() => {
@@ -17600,7 +17501,7 @@ var init_legacyNavLinkStyle = __esmMin((() => {
17600
17501
  //#region ../theme-core/src/header/generateHeaderCss.ts
17601
17502
  var init_generateHeaderCss = __esmMin((() => {
17602
17503
  init_generateNavLinkCSS();
17603
- init_shared$5();
17504
+ init_shared$4();
17604
17505
  init_breakpoints();
17605
17506
  init_navDropdownSizing();
17606
17507
  init_scrollTreatment();
@@ -18203,180 +18104,6 @@ var init_testimonials$1 = __esmMin((() => {
18203
18104
  };
18204
18105
  }));
18205
18106
  //#endregion
18206
- //#region ../theme-core/src/blocks/vars/course-details.ts
18207
- /**
18208
- * Generate CSS variables for the course-details block.
18209
- *
18210
- * Variables defined:
18211
- * - Enrollment status colors (open/closed)
18212
- * - Capacity indicator colors (available/low/full)
18213
- * - Price display colors (free indicator)
18214
- */
18215
- function generateCourseDetailsVars({ themeId }) {
18216
- return `
18217
- ${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
18218
- /* Enrollment status */
18219
- --cd-enrollment-open-text: rgb(var(--tb-success));
18220
- --cd-enrollment-closed-text: rgb(var(--tb-mutedText));
18221
-
18222
- /* Capacity indicator */
18223
- --cd-capacity-available-text: rgb(var(--tb-success));
18224
- --cd-capacity-low-text: rgb(var(--tb-warning));
18225
- --cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
18226
-
18227
- /* Price styling */
18228
- --cd-price-free-text: rgb(var(--tb-success));
18229
- }
18230
- `;
18231
- }
18232
- var init_course_details$1 = __esmMin((() => {}));
18233
- //#endregion
18234
- //#region ../theme-core/src/blocks/vars/course-registration.ts
18235
- /**
18236
- * Generate CSS variables for the course-registration block.
18237
- *
18238
- * Variables defined:
18239
- * - Step indicator colors (active, inactive, completed, text, connector)
18240
- * - Success/error/waitlist state backgrounds and text colors
18241
- * - Capacity badge colors (available, low, sold-out)
18242
- * - Border colors for various interaction states
18243
- * - Input focus and required marker styling
18244
- * - Payment option card styling
18245
- * - Checkmark indicator colors
18246
- * - Summary styling
18247
- */
18248
- function generateCourseRegistrationVars({ themeId }) {
18249
- return `
18250
- ${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
18251
- /* Step indicator */
18252
- --cr-step-active: rgb(var(--tb-primary));
18253
- --cr-step-inactive: rgb(var(--tb-mutedText));
18254
- --cr-step-completed: rgb(var(--tb-success));
18255
- --cr-step-text: rgb(255 255 255);
18256
- --cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
18257
- --cr-step-connector: rgba(var(--tb-border), 0.5);
18258
-
18259
- /* Step title */
18260
- --cr-step-title-size: 1.5rem;
18261
-
18262
- /* State backgrounds with alpha */
18263
- --cr-success-bg: rgba(var(--tb-success), 0.1);
18264
- --cr-success-text: rgb(var(--tb-success));
18265
- --cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18266
- --cr-error-text: rgb(var(--tb-destructive, 239 68 68));
18267
- --cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
18268
- --cr-waitlist-text: rgb(var(--tb-warning));
18269
-
18270
- /* Capacity badges */
18271
- --cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
18272
- --cr-capacity-available-text: rgb(var(--tb-success));
18273
- --cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
18274
- --cr-capacity-low-text: rgb(var(--tb-warning));
18275
- --cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18276
- --cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
18277
-
18278
- /* Borders */
18279
- --cr-border: rgb(var(--tb-border));
18280
- --cr-border-hover: rgba(var(--tb-primary), 0.5);
18281
- --cr-border-selected: rgb(var(--tb-primary));
18282
- --cr-border-error: rgb(var(--tb-destructive, 239 68 68));
18283
-
18284
- /* Input focus */
18285
- --cr-focus-ring: rgba(var(--tb-primary), 0.3);
18286
-
18287
- /* Required marker */
18288
- --cr-required: rgb(var(--tb-destructive, 239 68 68));
18289
-
18290
- /* Payment option cards */
18291
- --cr-payment-border: rgb(var(--tb-border));
18292
- --cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
18293
- --cr-payment-border-selected: rgb(var(--tb-primary));
18294
- --cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
18295
-
18296
- /* Checkmark indicator */
18297
- --cr-check-bg: rgb(var(--tb-primary));
18298
- --cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
18299
-
18300
- /* Summary */
18301
- --cr-summary-bg: rgba(var(--tb-primary), 0.1);
18302
- --cr-summary-border: rgb(var(--tb-border));
18303
-
18304
- ${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
18305
-
18306
- /* Shared registration-surface mappings (issue 1174).
18307
- Route the shared --rb-reg-* contract through this block's Tier 3 vars
18308
- (palette tokens where no --cr-* var exists) so existing --cr-* overrides
18309
- keep working unchanged. */
18310
- --rb-reg-radius: var(--rb-block-radius);
18311
- --rb-reg-border: var(--cr-border);
18312
- --rb-reg-border-hover: var(--cr-border-hover);
18313
- --rb-reg-border-selected: var(--cr-border-selected);
18314
- --rb-reg-bg-selected: var(--cr-payment-bg-selected);
18315
- --rb-reg-option-bg: rgb(var(--tb-background));
18316
- --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
18317
- --rb-reg-surface-bg: rgb(var(--tb-surface));
18318
- --rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
18319
- --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
18320
- --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
18321
- --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
18322
- --rb-reg-check-bg: var(--cr-check-bg);
18323
- --rb-reg-check-text: var(--cr-check-text);
18324
- --rb-reg-step-active: var(--cr-step-active);
18325
- --rb-reg-step-completed: var(--cr-step-completed);
18326
- --rb-reg-step-inactive: var(--cr-step-inactive);
18327
- --rb-reg-step-text: var(--cr-step-text);
18328
- --rb-reg-step-text-active: var(--cr-step-text-active);
18329
- --rb-reg-step-connector: var(--cr-step-connector);
18330
- --rb-reg-summary-bg: var(--cr-summary-bg);
18331
- --rb-reg-summary-border: var(--cr-summary-border);
18332
- --rb-reg-focus-ring: var(--cr-focus-ring);
18333
- --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
18334
- }
18335
- `;
18336
- }
18337
- var EVENT_WHOLE_SERIES_VARIABLE_BRIDGE;
18338
- var init_course_registration$1 = __esmMin((() => {
18339
- EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
18340
- /* Temporary bridge while persisted Course blocks render the Event-owned
18341
- whole-series registration runtime. Removed with the Course block. */
18342
- --er-step-active: var(--cr-step-active);
18343
- --er-step-inactive: var(--cr-step-inactive);
18344
- --er-step-completed: var(--cr-step-completed);
18345
- --er-step-text: var(--cr-step-text);
18346
- --er-step-text-active: var(--cr-step-text-active);
18347
- --er-step-connector: var(--cr-step-connector);
18348
- --er-step-title-size: var(--cr-step-title-size);
18349
- --er-success-bg: var(--cr-success-bg);
18350
- --er-success-text: var(--cr-success-text);
18351
- --er-error-bg: var(--cr-error-bg);
18352
- --er-error-text: var(--cr-error-text);
18353
- --er-waitlist-bg: var(--cr-waitlist-bg);
18354
- --er-waitlist-text: var(--cr-waitlist-text);
18355
- --er-capacity-available-bg: var(--cr-capacity-available-bg);
18356
- --er-capacity-available-text: var(--cr-capacity-available-text);
18357
- --er-capacity-low-bg: var(--cr-capacity-low-bg);
18358
- --er-capacity-low-text: var(--cr-capacity-low-text);
18359
- --er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
18360
- --er-capacity-soldout-text: var(--cr-capacity-soldout-text);
18361
- --er-border: var(--cr-border);
18362
- --er-border-hover: var(--cr-border-hover);
18363
- --er-border-selected: var(--cr-border-selected);
18364
- --er-border-error: var(--cr-border-error);
18365
- --er-focus-ring: var(--cr-focus-ring);
18366
- --er-required: var(--cr-required);
18367
- --er-payment-border: var(--cr-payment-border);
18368
- --er-payment-border-hover: var(--cr-payment-border-hover);
18369
- --er-payment-border-selected: var(--cr-payment-border-selected);
18370
- --er-payment-bg-selected: var(--cr-payment-bg-selected);
18371
- --er-check-bg: var(--cr-check-bg);
18372
- --er-check-text: var(--cr-check-text);
18373
- --er-summary-bg: var(--cr-summary-bg);
18374
- --er-summary-border: var(--cr-summary-border);
18375
- --er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
18376
- --er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
18377
- `;
18378
- }));
18379
- //#endregion
18380
18107
  //#region ../theme-core/src/blocks/registry.ts
18381
18108
  var blockVarRegistry;
18382
18109
  var init_registry$6 = __esmMin((() => {
@@ -18387,8 +18114,6 @@ var init_registry$6 = __esmMin((() => {
18387
18114
  init_form_block();
18388
18115
  init_customer_portal();
18389
18116
  init_testimonials$1();
18390
- init_course_details$1();
18391
- init_course_registration$1();
18392
18117
  blockVarRegistry = /* @__PURE__ */ new Map();
18393
18118
  blockVarRegistry.set("event-registration", generateEventRegistrationVars);
18394
18119
  blockVarRegistry.set("event-calendar", generateEventCalendarVars);
@@ -18399,8 +18124,6 @@ var init_registry$6 = __esmMin((() => {
18399
18124
  blockVarRegistry.set("form", generateFormBlockVars);
18400
18125
  blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
18401
18126
  blockVarRegistry.set("testimonials", generateTestimonialsVars);
18402
- blockVarRegistry.set("course-details", generateCourseDetailsVars);
18403
- blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
18404
18127
  }));
18405
18128
  //#endregion
18406
18129
  //#region ../theme-core/src/blocks/vars/index.ts
@@ -18409,7 +18132,6 @@ var init_vars = __esmMin((() => {
18409
18132
  init_event_cards();
18410
18133
  init_customer_portal();
18411
18134
  init_testimonials$1();
18412
- init_course_registration$1();
18413
18135
  }));
18414
18136
  //#endregion
18415
18137
  //#region ../theme-core/src/blocks/index.ts
@@ -18510,7 +18232,7 @@ var init_fonts = __esmMin((() => {}));
18510
18232
  var init_core$1 = __esmMin((() => {
18511
18233
  init_resolveButtonColourStates();
18512
18234
  init_resolvedButtonCss();
18513
- init_types$14();
18235
+ init_types$13();
18514
18236
  }));
18515
18237
  var init_buildThemeRuntimeFromBridge = __esmMin((() => {
18516
18238
  init_shadow();
@@ -18597,7 +18319,7 @@ function planSiteChromePlacement(positioning) {
18597
18319
  }
18598
18320
  var HEADER_POSITIONINGS;
18599
18321
  var init_siteChromePlacement = __esmMin((() => {
18600
- init_types$8();
18322
+ init_types$7();
18601
18323
  HEADER_POSITIONINGS = [
18602
18324
  "static",
18603
18325
  "sticky",
@@ -18700,7 +18422,7 @@ var init_registry$5 = __esmMin((() => {
18700
18422
  }));
18701
18423
  //#endregion
18702
18424
  //#region ../media-core/src/types.ts
18703
- var init_types$7 = __esmMin((() => {}));
18425
+ var init_types$6 = __esmMin((() => {}));
18704
18426
  //#endregion
18705
18427
  //#region ../media-core/src/fileSafety.ts
18706
18428
  var init_fileSafety = __esmMin((() => {})), AMBIENT_BACKGROUND_ROLES;
@@ -18976,7 +18698,7 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {}));
18976
18698
  //#endregion
18977
18699
  //#region ../media-core/src/index.ts
18978
18700
  var init_src$3 = __esmMin((() => {
18979
- init_types$7();
18701
+ init_types$6();
18980
18702
  init_fileDomain();
18981
18703
  init_fileStorage();
18982
18704
  init_storagePathDomain();
@@ -20812,7 +20534,7 @@ function validateProps(props, context = "node builder") {
20812
20534
  else console.error(message);
20813
20535
  }
20814
20536
  var RESERVED_KEYS;
20815
- var init_types$6 = __esmMin((() => {
20537
+ var init_types$5 = __esmMin((() => {
20816
20538
  init_env();
20817
20539
  RESERVED_KEYS = [
20818
20540
  "children",
@@ -20914,10 +20636,10 @@ function devValidate(node) {
20914
20636
  } catch {}
20915
20637
  return node;
20916
20638
  }
20917
- var section, headerSection, stack, inline, accordion, accordionItem, carousel, text, richText, icon, media, fileDownload, videoEmbed, button, link, form, bookingForm, eventRegistration, shop, productList, productDetail, cart, checkout, gifting, courseRegistration;
20639
+ var section, headerSection, stack, inline, accordion, accordionItem, carousel, text, richText, icon, media, fileDownload, videoEmbed, button, link, form, bookingForm, eventRegistration, shop, productList, productDetail, cart, checkout, gifting;
20918
20640
  var init_builder$1 = __esmMin((() => {
20919
20641
  init_schema$1();
20920
- init_types$6();
20642
+ init_types$5();
20921
20643
  init_env();
20922
20644
  section = (props, children, ...mods) => el$1("section", props, children, ...mods);
20923
20645
  headerSection = (props, children, ...mods) => el$1("headerSection", props, children, ...mods);
@@ -20943,7 +20665,6 @@ var init_builder$1 = __esmMin((() => {
20943
20665
  cart = (props, children, ...mods) => el$1("cart", props, children, ...mods);
20944
20666
  checkout = (props, children, ...mods) => el$1("checkout", props, children, ...mods);
20945
20667
  gifting = (props, children, ...mods) => el$1("gifting", props, children, ...mods);
20946
- courseRegistration = (props, children, ...mods) => el$1("course-registration", props, children, ...mods);
20947
20668
  }));
20948
20669
  //#endregion
20949
20670
  //#region ../blocks/src/system/node/fragments/backgroundLayer.ts
@@ -22817,7 +22538,7 @@ function scopeContentPath(path, scope) {
22817
22538
  return `content.${scope}.${path}`;
22818
22539
  }
22819
22540
  var FRAGMENT_ID_PATTERN, FIELD_ID_PATTERN, dataLoaderSchema, fragmentDataSchema, fragmentConfigSchema, FragmentConfigError;
22820
- var init_types$5 = __esmMin((() => {
22541
+ var init_types$4 = __esmMin((() => {
22821
22542
  init_schema();
22822
22543
  init_node();
22823
22544
  FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
@@ -22936,7 +22657,7 @@ function buildFragmentDataLoaders(composition) {
22936
22657
  }
22937
22658
  var FragmentCompositionError, DOT_SCOPE_REGEX;
22938
22659
  var init_builder = __esmMin((() => {
22939
- init_types$5();
22660
+ init_types$4();
22940
22661
  FragmentCompositionError = class extends Error {
22941
22662
  constructor(message) {
22942
22663
  super(message);
@@ -22994,7 +22715,7 @@ var init_toRepeaterSchema = __esmMin((() => {}));
22994
22715
  //#region ../blocks/src/system/fragments/library/bodyCopy.ts
22995
22716
  var bodyCopyFragment;
22996
22717
  var init_bodyCopy = __esmMin((() => {
22997
- init_types$5();
22718
+ init_types$4();
22998
22719
  init_builder$1();
22999
22720
  bodyCopyFragment = defineFragment$2({
23000
22721
  id: "bodyCopy",
@@ -23061,7 +22782,7 @@ var init_bodyCopy = __esmMin((() => {
23061
22782
  //#region ../blocks/src/system/fragments/library/heroCopy.ts
23062
22783
  var heroCopyFragment;
23063
22784
  var init_heroCopy = __esmMin((() => {
23064
- init_types$5();
22785
+ init_types$4();
23065
22786
  init_builder$1();
23066
22787
  init_fragments$1();
23067
22788
  heroCopyFragment = defineFragment$2({
@@ -23121,7 +22842,7 @@ var init_heroCopy = __esmMin((() => {
23121
22842
  //#region ../blocks/src/system/fragments/library/heroLayoutControls.ts
23122
22843
  var heroLayoutControlsFragment;
23123
22844
  var init_heroLayoutControls = __esmMin((() => {
23124
- init_types$5();
22845
+ init_types$4();
23125
22846
  heroLayoutControlsFragment = defineFragment$2({
23126
22847
  id: "heroLayoutControls",
23127
22848
  title: "Hero Layout",
@@ -23411,7 +23132,7 @@ var init_ctas = __esmMin((() => {
23411
23132
  //#region ../blocks/src/system/fragments/library/ctaRow.ts
23412
23133
  var ctaRowFragment;
23413
23134
  var init_ctaRow = __esmMin((() => {
23414
- init_types$5();
23135
+ init_types$4();
23415
23136
  init_fragments$1();
23416
23137
  init_ctas();
23417
23138
  ctaRowFragment = defineFragment$2({
@@ -23434,7 +23155,7 @@ var init_ctaRow = __esmMin((() => {
23434
23155
  //#region ../blocks/src/system/fragments/library/heroCtaRow.ts
23435
23156
  var heroCtaFields, heroCtaRowFragment;
23436
23157
  var init_heroCtaRow = __esmMin((() => {
23437
- init_types$5();
23158
+ init_types$4();
23438
23159
  init_fragments$1();
23439
23160
  init_ctas();
23440
23161
  heroCtaFields = [createCtasRepeater({
@@ -23491,7 +23212,7 @@ var init_heroCtaRow = __esmMin((() => {
23491
23212
  //#region ../blocks/src/system/fragments/library/ctaCopy.ts
23492
23213
  var ctaCopyFragment;
23493
23214
  var init_ctaCopy = __esmMin((() => {
23494
- init_types$5();
23215
+ init_types$4();
23495
23216
  init_fragments$1();
23496
23217
  init_builder$1();
23497
23218
  ctaCopyFragment = defineFragment$2({
@@ -23531,7 +23252,7 @@ var init_ctaCopy = __esmMin((() => {
23531
23252
  //#region ../blocks/src/system/fragments/library/testimonialsHeading.ts
23532
23253
  var testimonialsHeadingFragment;
23533
23254
  var init_testimonialsHeading = __esmMin((() => {
23534
- init_types$5();
23255
+ init_types$4();
23535
23256
  init_builder$1();
23536
23257
  init_colorStyles();
23537
23258
  testimonialsHeadingFragment = defineFragment$2({
@@ -23808,7 +23529,7 @@ function buildFeaturedEditorialLayout() {
23808
23529
  }
23809
23530
  var grid$4, FEATURED_EDITORIAL_SLOTS, TESTIMONIALS_CARD_STYLES_PATH, testimonialsCarouselFragment;
23810
23531
  var init_testimonialsCarousel = __esmMin((() => {
23811
- init_types$5();
23532
+ init_types$4();
23812
23533
  init_builder$1();
23813
23534
  init_fragments$1();
23814
23535
  init_boxStyleClassNames();
@@ -24067,7 +23788,7 @@ var init_testimonialsCarousel = __esmMin((() => {
24067
23788
  //#region ../blocks/src/system/fragments/library/formCopy.ts
24068
23789
  var formCopyFragment;
24069
23790
  var init_formCopy = __esmMin((() => {
24070
- init_types$5();
23791
+ init_types$4();
24071
23792
  init_builder$1();
24072
23793
  formCopyFragment = defineFragment$2({
24073
23794
  id: "formCopy",
@@ -24108,7 +23829,7 @@ var init_api_bindings = __esmMin((() => {
24108
23829
  //#region ../blocks/src/system/fragments/library/formEmbed.ts
24109
23830
  var formEmbedFragment;
24110
23831
  var init_formEmbed = __esmMin((() => {
24111
- init_types$5();
23832
+ init_types$4();
24112
23833
  init_builder$1();
24113
23834
  init_api_bindings();
24114
23835
  formEmbedFragment = defineFragment$2({
@@ -24258,7 +23979,7 @@ var init_headerCta = __esmMin((() => {
24258
23979
  //#region ../blocks/src/system/fragments/library/singleButton.ts
24259
23980
  var singleButtonFragment;
24260
23981
  var init_singleButton = __esmMin((() => {
24261
- init_types$5();
23982
+ init_types$4();
24262
23983
  init_fragments$1();
24263
23984
  init_button();
24264
23985
  singleButtonFragment = defineFragment$2({
@@ -24284,7 +24005,7 @@ var init_singleButton = __esmMin((() => {
24284
24005
  //#region ../blocks/src/system/fragments/library/blogFeaturedPost.ts
24285
24006
  var blogFeaturedPostFragment;
24286
24007
  var init_blogFeaturedPost = __esmMin((() => {
24287
- init_types$5();
24008
+ init_types$4();
24288
24009
  init_fragments$1();
24289
24010
  init_builder$1();
24290
24011
  init_colorStyles();
@@ -24393,7 +24114,7 @@ function faqHeadingLayout() {
24393
24114
  }
24394
24115
  var faqHeadingFragment;
24395
24116
  var init_faqHeading = __esmMin((() => {
24396
- init_types$5();
24117
+ init_types$4();
24397
24118
  init_builder$1();
24398
24119
  init_fragments$1();
24399
24120
  init_colorStyles();
@@ -24465,7 +24186,7 @@ function createFaqAccordionLayout(options = {}) {
24465
24186
  var faqAccordionFragment;
24466
24187
  var init_faqAccordion = __esmMin((() => {
24467
24188
  init_builder$1();
24468
- init_types$5();
24189
+ init_types$4();
24469
24190
  faqAccordionFragment = defineFragment$2({
24470
24191
  id: "faqAccordion",
24471
24192
  title: "FAQ Accordion",
@@ -24499,7 +24220,7 @@ var init_faqAccordion = __esmMin((() => {
24499
24220
  //#region ../blocks/src/system/fragments/library/newsletterCopy.ts
24500
24221
  var newsletterCopyFragment;
24501
24222
  var init_newsletterCopy = __esmMin((() => {
24502
- init_types$5();
24223
+ init_types$4();
24503
24224
  init_builder$1();
24504
24225
  newsletterCopyFragment = defineFragment$2({
24505
24226
  id: "newsletterCopy",
@@ -24526,7 +24247,7 @@ var init_newsletterCopy = __esmMin((() => {
24526
24247
  //#region ../blocks/src/system/fragments/library/newsletterForm.ts
24527
24248
  var newsletterFormFragment;
24528
24249
  var init_newsletterForm = __esmMin((() => {
24529
- init_types$5();
24250
+ init_types$4();
24530
24251
  init_builder$1();
24531
24252
  init_api_bindings();
24532
24253
  init_button();
@@ -24687,7 +24408,7 @@ var init_newsletterForm = __esmMin((() => {
24687
24408
  //#region ../blocks/src/system/fragments/library/card.ts
24688
24409
  var cardVariantOptions, cardFragment;
24689
24410
  var init_card = __esmMin((() => {
24690
- init_types$5();
24411
+ init_types$4();
24691
24412
  init_builder$1();
24692
24413
  init_ctas();
24693
24414
  init_ctaRow$1();
@@ -24817,7 +24538,7 @@ var init_card = __esmMin((() => {
24817
24538
  //#region ../blocks/src/system/fragments/library/heading.ts
24818
24539
  var headingFragment;
24819
24540
  var init_heading = __esmMin((() => {
24820
- init_types$5();
24541
+ init_types$4();
24821
24542
  init_builder$1();
24822
24543
  headingFragment = defineFragment$2({
24823
24544
  id: "heading",
@@ -24862,7 +24583,7 @@ var init_heading = __esmMin((() => {
24862
24583
  //#region ../blocks/src/system/fragments/library/richText.ts
24863
24584
  var richTextFragment;
24864
24585
  var init_richText = __esmMin((() => {
24865
- init_types$5();
24586
+ init_types$4();
24866
24587
  init_builder$1();
24867
24588
  richTextFragment = defineFragment$2({
24868
24589
  id: "richText",
@@ -24883,7 +24604,7 @@ var init_richText = __esmMin((() => {
24883
24604
  //#region ../blocks/src/system/fragments/library/image.ts
24884
24605
  var imageFragment;
24885
24606
  var init_image = __esmMin((() => {
24886
- init_types$5();
24607
+ init_types$4();
24887
24608
  init_builder$1();
24888
24609
  init_colorStyles();
24889
24610
  imageFragment = defineFragment$2({
@@ -24987,7 +24708,7 @@ var init_image = __esmMin((() => {
24987
24708
  //#region ../blocks/src/system/fragments/library/videoEmbed.ts
24988
24709
  var videoEmbedFragment;
24989
24710
  var init_videoEmbed = __esmMin((() => {
24990
- init_types$5();
24711
+ init_types$4();
24991
24712
  init_builder$1();
24992
24713
  init_colorStyles();
24993
24714
  videoEmbedFragment = defineFragment$2({
@@ -25051,7 +24772,7 @@ var init_videoEmbed = __esmMin((() => {
25051
24772
  //#region ../blocks/src/system/fragments/library/quote.ts
25052
24773
  var quoteFragment;
25053
24774
  var init_quote = __esmMin((() => {
25054
- init_types$5();
24775
+ init_types$4();
25055
24776
  init_builder$1();
25056
24777
  quoteFragment = defineFragment$2({
25057
24778
  id: "quote",
@@ -25100,7 +24821,7 @@ var init_quote = __esmMin((() => {
25100
24821
  //#region ../blocks/src/system/fragments/library/feedbackCallout.ts
25101
24822
  var feedbackCalloutFragment;
25102
24823
  var init_feedbackCallout = __esmMin((() => {
25103
- init_types$5();
24824
+ init_types$4();
25104
24825
  init_ctas();
25105
24826
  init_fragments$1();
25106
24827
  feedbackCalloutFragment = defineFragment$2({
@@ -25195,7 +24916,7 @@ var init_feedbackCallout = __esmMin((() => {
25195
24916
  //#region ../blocks/src/system/fragments/library/sectionState.ts
25196
24917
  var SECTION_STATE_KIND_LABELS, sectionStateFragment;
25197
24918
  var init_sectionState = __esmMin((() => {
25198
- init_types$5();
24919
+ init_types$4();
25199
24920
  init_ctas();
25200
24921
  init_fragments$1();
25201
24922
  SECTION_STATE_KIND_LABELS = {
@@ -25282,7 +25003,7 @@ var init_sectionState = __esmMin((() => {
25282
25003
  //#region ../blocks/src/system/fragments/library/columnContent.ts
25283
25004
  var columnContentFragment;
25284
25005
  var init_columnContent = __esmMin((() => {
25285
- init_types$5();
25006
+ init_types$4();
25286
25007
  init_builder$1();
25287
25008
  init_toRepeaterSchema();
25288
25009
  init_image();
@@ -25334,7 +25055,7 @@ var init_columnContent = __esmMin((() => {
25334
25055
  //#region ../blocks/src/system/fragments/library/teamMember.ts
25335
25056
  var teamMemberFragment;
25336
25057
  var init_teamMember = __esmMin((() => {
25337
- init_types$5();
25058
+ init_types$4();
25338
25059
  init_builder$1();
25339
25060
  init_fragments$1();
25340
25061
  teamMemberFragment = defineFragment$2({
@@ -25407,7 +25128,7 @@ var init_teamMember = __esmMin((() => {
25407
25128
  //#endregion
25408
25129
  //#region ../blocks/src/system/fragments/index.ts
25409
25130
  var init_fragments = __esmMin((() => {
25410
- init_types$5();
25131
+ init_types$4();
25411
25132
  init_builder();
25412
25133
  init_registry$4();
25413
25134
  init_toRepeaterSchema();
@@ -28655,7 +28376,7 @@ var init_responsiveDisplay = __esmMin((() => {
28655
28376
  }));
28656
28377
  //#endregion
28657
28378
  //#region ../blocks/src/system/runtime/header/shared.ts
28658
- var init_shared$4 = __esmMin((() => {
28379
+ var init_shared$3 = __esmMin((() => {
28659
28380
  init_responsiveDisplay();
28660
28381
  }));
28661
28382
  //#endregion
@@ -28666,7 +28387,7 @@ var init_site_header = __esmMin((() => {
28666
28387
  init_fragments$1();
28667
28388
  init_typed();
28668
28389
  init_defineBlock();
28669
- init_shared$4();
28390
+ init_shared$3();
28670
28391
  init_colorStyles();
28671
28392
  init_siteChromeOverlayClearance();
28672
28393
  whenTransformed = (from, transformId, equals = true) => (node) => ({
@@ -31861,7 +31582,7 @@ var init_weekly_slot_availability = __esmMin((() => {
31861
31582
  }));
31862
31583
  //#endregion
31863
31584
  //#region ../blocks/src/system/blocks/events/shared/types.ts
31864
- var init_types$4 = __esmMin((() => {}));
31585
+ var init_types$3 = __esmMin((() => {}));
31865
31586
  //#endregion
31866
31587
  //#region ../blocks/src/lib/media.ts
31867
31588
  var PUBLIC_DOWNLOAD_MEDIA_TYPES;
@@ -31920,14 +31641,14 @@ var init_richTextSchema = __esmMin((() => {
31920
31641
  }));
31921
31642
  //#endregion
31922
31643
  //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
31923
- var bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
31644
+ var bookingDepositRefundPolicySchema$1, bookingInstalmentPlanSchema$1, bookingFlexibleBalanceDueDateRuleSchema$1, bookingFlexibleBalanceConfigSchema$1, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
31924
31645
  var init_bookingPaymentTerms = __esmMin((() => {
31925
- bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
31926
- bookingInstalmentPlanSchema = z.union([
31646
+ bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
31647
+ bookingInstalmentPlanSchema$1 = z.union([
31927
31648
  z.object({
31928
31649
  kind: z.literal("deposit_plus_one_remainder"),
31929
31650
  depositAmountCents: z.number().int().min(0),
31930
- depositRefundability: bookingDepositRefundPolicySchema,
31651
+ depositRefundability: bookingDepositRefundPolicySchema$1,
31931
31652
  remainderDueCount: z.number().int().positive(),
31932
31653
  intervalUnit: z.enum([
31933
31654
  "day",
@@ -31938,7 +31659,7 @@ var init_bookingPaymentTerms = __esmMin((() => {
31938
31659
  z.object({
31939
31660
  kind: z.literal("deposit_plus_scheduled_instalments"),
31940
31661
  depositAmountCents: z.number().int().min(0),
31941
- depositRefundability: bookingDepositRefundPolicySchema,
31662
+ depositRefundability: bookingDepositRefundPolicySchema$1,
31942
31663
  instalmentCount: z.number().int().positive(),
31943
31664
  intervalCount: z.number().int().positive(),
31944
31665
  intervalUnit: z.enum([
@@ -31958,28 +31679,28 @@ var init_bookingPaymentTerms = __esmMin((() => {
31958
31679
  ])
31959
31680
  })
31960
31681
  ]);
31961
- bookingFlexibleBalanceDueDateRuleSchema = z.union([z.object({
31682
+ bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
31962
31683
  kind: z.literal("relative_to_start_date"),
31963
31684
  daysBeforeStart: z.number().int().positive()
31964
31685
  }), z.object({
31965
31686
  kind: z.literal("fixed_calendar_date"),
31966
31687
  dueAt: z.string().datetime()
31967
31688
  })]);
31968
- bookingFlexibleBalanceConfigSchema = z.object({
31689
+ bookingFlexibleBalanceConfigSchema$1 = z.object({
31969
31690
  upfrontAmountCents: z.number().int().min(0),
31970
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
31971
- depositRefundability: bookingDepositRefundPolicySchema
31691
+ dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
31692
+ depositRefundability: bookingDepositRefundPolicySchema$1
31972
31693
  });
31973
31694
  blockBookingPaymentCollectionOptionSchema = z.union([
31974
31695
  z.object({ kind: z.literal("upfront") }),
31975
31696
  z.object({ kind: z.literal("deferred_manual") }),
31976
31697
  z.object({
31977
31698
  kind: z.literal("instalment_plan"),
31978
- plan: bookingInstalmentPlanSchema
31699
+ plan: bookingInstalmentPlanSchema$1
31979
31700
  }),
31980
31701
  z.object({
31981
31702
  kind: z.literal("flexible_balance"),
31982
- config: bookingFlexibleBalanceConfigSchema
31703
+ config: bookingFlexibleBalanceConfigSchema$1
31983
31704
  })
31984
31705
  ]);
31985
31706
  blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
@@ -32004,11 +31725,169 @@ var init_bookingConsent = __esmMin((() => {
32004
31725
  }));
32005
31726
  //#endregion
32006
31727
  //#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
32007
- var init_pricing$2 = __esmMin((() => {}));
31728
+ function isSaleWindowOpen(option, now) {
31729
+ if (!option.isActive) return false;
31730
+ if (option.saleStartsAt && new Date(option.saleStartsAt) > now) return false;
31731
+ if (option.saleEndsAt && new Date(option.saleEndsAt) < now) return false;
31732
+ return true;
31733
+ }
31734
+ function toExactOrFreeDisplay(amount, currency) {
31735
+ if (amount <= 0) return {
31736
+ kind: "free",
31737
+ currency
31738
+ };
31739
+ return {
31740
+ kind: "exact",
31741
+ amount,
31742
+ currency
31743
+ };
31744
+ }
31745
+ function getSelectableWholeSeriesPricingOptionsForNow(offering, now) {
31746
+ if (offering.pricing.pricingStrategy !== "tiered") return [];
31747
+ return [...offering.pricing.options].filter((option) => isSaleWindowOpen(option, now)).sort((left, right) => {
31748
+ if (left.sortOrder !== right.sortOrder) return left.sortOrder - right.sortOrder;
31749
+ if (left.priceAmount !== right.priceAmount) return left.priceAmount - right.priceAmount;
31750
+ return left.name.localeCompare(right.name);
31751
+ });
31752
+ }
31753
+ function resolveWholeSeriesPricingState(offering, selectedPricingOptionId, selectedSlidingAmountOrNowInput, nowInput = {}) {
31754
+ const selection = normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput);
31755
+ const currency = offering.pricing.currency;
31756
+ switch (offering.pricing.pricingStrategy) {
31757
+ case "free": return resolveFreePricing(currency);
31758
+ case "single": return resolveSinglePricing(offering.pricing.singlePriceAmount ?? 0, currency);
31759
+ case "tiered": return resolveTieredPricing(offering, selectedPricingOptionId, selection.nowInput);
31760
+ case "sliding_scale": return resolveSlidingScalePricing(offering, selection.selectedSlidingAmount);
31761
+ }
31762
+ }
31763
+ function normalizePricingSelectionInput(selectedSlidingAmountOrNowInput, nowInput) {
31764
+ return typeof selectedSlidingAmountOrNowInput === "object" && selectedSlidingAmountOrNowInput !== null ? {
31765
+ selectedSlidingAmount: null,
31766
+ nowInput: selectedSlidingAmountOrNowInput
31767
+ } : {
31768
+ selectedSlidingAmount: typeof selectedSlidingAmountOrNowInput === "number" || selectedSlidingAmountOrNowInput === null ? selectedSlidingAmountOrNowInput : null,
31769
+ nowInput
31770
+ };
31771
+ }
31772
+ function resolveFreePricing(currency) {
31773
+ return {
31774
+ currency,
31775
+ display: {
31776
+ kind: "free",
31777
+ currency
31778
+ },
31779
+ selectableOptions: [],
31780
+ requiresSelection: false,
31781
+ selectedOption: null,
31782
+ slidingScale: null,
31783
+ selectedSlidingAmount: null,
31784
+ selectedPriceAmount: 0,
31785
+ selectedRequiresPayment: false,
31786
+ hasPaidSelection: false,
31787
+ hasFreeSelection: true
31788
+ };
31789
+ }
31790
+ function resolveSinglePricing(amount, currency) {
31791
+ return {
31792
+ currency,
31793
+ display: toExactOrFreeDisplay(amount, currency),
31794
+ selectableOptions: [],
31795
+ requiresSelection: false,
31796
+ selectedOption: null,
31797
+ slidingScale: null,
31798
+ selectedSlidingAmount: null,
31799
+ selectedPriceAmount: amount,
31800
+ selectedRequiresPayment: amount > 0,
31801
+ hasPaidSelection: amount > 0,
31802
+ hasFreeSelection: amount <= 0
31803
+ };
31804
+ }
31805
+ function resolveTieredPricing(offering, selectedPricingOptionId, nowInput) {
31806
+ const currency = offering.pricing.currency;
31807
+ const selectableOptions = getSelectableWholeSeriesPricingOptionsForNow(offering, resolvePlanningDateInput(nowInput));
31808
+ const selectedOption = resolveSelectedTier(selectableOptions, selectedPricingOptionId);
31809
+ return {
31810
+ currency,
31811
+ display: resolveTieredDisplay(selectableOptions.reduce((lowest, option) => lowest === null || option.priceAmount < lowest ? option.priceAmount : lowest, null), selectableOptions.length, currency),
31812
+ selectableOptions,
31813
+ requiresSelection: selectableOptions.length > 1,
31814
+ selectedOption,
31815
+ slidingScale: null,
31816
+ selectedSlidingAmount: null,
31817
+ selectedPriceAmount: selectedOption?.priceAmount ?? null,
31818
+ selectedRequiresPayment: (selectedOption?.priceAmount ?? 0) > 0,
31819
+ hasPaidSelection: selectableOptions.some((option) => option.priceAmount > 0),
31820
+ hasFreeSelection: selectableOptions.some((option) => option.priceAmount === 0)
31821
+ };
31822
+ }
31823
+ function resolveSelectedTier(options, selectedId) {
31824
+ return (selectedId ? options.find((option) => option.id === selectedId) : null) ?? (options.length === 1 ? options[0] ?? null : null);
31825
+ }
31826
+ function resolveTieredDisplay(lowestAmount, optionCount, currency) {
31827
+ if (lowestAmount === null) return {
31828
+ kind: "unavailable",
31829
+ currency
31830
+ };
31831
+ return optionCount > 1 && lowestAmount > 0 ? {
31832
+ kind: "from",
31833
+ amount: lowestAmount,
31834
+ currency
31835
+ } : toExactOrFreeDisplay(lowestAmount, currency);
31836
+ }
31837
+ function resolveSlidingScalePricing(offering, selectedSlidingAmount) {
31838
+ const currency = offering.pricing.currency;
31839
+ const minAmount = offering.pricing.slidingMinAmount ?? null;
31840
+ const maxAmount = offering.pricing.slidingMaxAmount ?? null;
31841
+ if (minAmount === null || maxAmount === null || minAmount < 0 || maxAmount < minAmount) return unavailableSlidingScale(currency);
31842
+ const selectedAmount = Number.isFinite(selectedSlidingAmount) ? selectedSlidingAmount : null;
31843
+ return {
31844
+ currency,
31845
+ display: {
31846
+ kind: "range",
31847
+ minAmount,
31848
+ maxAmount,
31849
+ currency
31850
+ },
31851
+ selectableOptions: [],
31852
+ requiresSelection: selectedAmount === null,
31853
+ selectedOption: null,
31854
+ slidingScale: {
31855
+ minAmount,
31856
+ maxAmount,
31857
+ suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null
31858
+ },
31859
+ selectedSlidingAmount: selectedAmount,
31860
+ selectedPriceAmount: selectedAmount,
31861
+ selectedRequiresPayment: (selectedAmount ?? 0) > 0,
31862
+ hasPaidSelection: maxAmount > 0,
31863
+ hasFreeSelection: minAmount === 0
31864
+ };
31865
+ }
31866
+ function unavailableSlidingScale(currency) {
31867
+ return {
31868
+ currency,
31869
+ display: {
31870
+ kind: "unavailable",
31871
+ currency
31872
+ },
31873
+ selectableOptions: [],
31874
+ requiresSelection: true,
31875
+ selectedOption: null,
31876
+ slidingScale: null,
31877
+ selectedSlidingAmount: null,
31878
+ selectedPriceAmount: null,
31879
+ selectedRequiresPayment: false,
31880
+ hasPaidSelection: false,
31881
+ hasFreeSelection: false
31882
+ };
31883
+ }
31884
+ var init_pricing$1 = __esmMin((() => {
31885
+ init_src$4();
31886
+ }));
32008
31887
  //#endregion
32009
31888
  //#region ../blocks/src/system/blocks/events/whole-series/schemas.ts
32010
31889
  var wholeSeriesVenueSchema, wholeSeriesSessionSchema, wholeSeriesTeamMemberSummarySchema, wholeSeriesPricingOptionSchema, wholeSeriesPricingSchema, publicWholeSeriesOfferingSchema, publicWholeSeriesOfferingsArraySchema;
32011
- var init_schemas$2 = __esmMin((() => {
31890
+ var init_schemas$1 = __esmMin((() => {
32012
31891
  init_bookingPaymentTerms();
32013
31892
  init_bookingConsent();
32014
31893
  wholeSeriesVenueSchema = z.object({
@@ -32069,6 +31948,13 @@ var init_schemas$2 = __esmMin((() => {
32069
31948
  title: z.string(),
32070
31949
  slug: z.string(),
32071
31950
  description: z.unknown().nullable(),
31951
+ deliveryMode: z.enum([
31952
+ "in_person",
31953
+ "online",
31954
+ "hybrid"
31955
+ ]),
31956
+ waitlistEnabled: z.boolean(),
31957
+ requireGuestDetails: z.boolean(),
32072
31958
  teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
32073
31959
  enrollmentOpen: z.boolean(),
32074
31960
  pricing: wholeSeriesPricingSchema,
@@ -32092,15 +31978,15 @@ var init_schemas$2 = __esmMin((() => {
32092
31978
  }));
32093
31979
  //#endregion
32094
31980
  //#region ../blocks/src/system/blocks/events/whole-series/types.ts
32095
- var init_types$3 = __esmMin((() => {}));
31981
+ var init_types$2 = __esmMin((() => {}));
32096
31982
  //#endregion
32097
31983
  //#region ../blocks/src/system/blocks/events/whole-series/index.ts
32098
31984
  var init_whole_series = __esmMin((() => {
32099
- init_pricing$2();
32100
- init_schemas$2();
32101
- init_types$3();
32102
- })), eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, freePriceDisplaySchema, exactPriceDisplaySchema, fromPriceDisplaySchema, unavailablePriceDisplaySchema, rangePriceDisplaySchema, mixedPriceDisplaySchema, publicCoursePriceDisplaySchema, publicEventTicketTypePriceDisplaySchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventTicketTypeAvailabilitySchema, publicEventTicketTypeSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicEventSchema, publicEventsArraySchema;
32103
- var init_schemas$1 = __esmMin((() => {
31985
+ init_pricing$1();
31986
+ init_schemas$1();
31987
+ init_types$2();
31988
+ })), eventPresetSchema, eventScheduleScopeSchema$2, publicEventRecurrenceSchema, eventDestinationModeSchema, publicEventDestinationSchema, eventVenueSchema, eventCategorySchema, accessRestrictionSchema, freePriceDisplaySchema, exactPriceDisplaySchema, fromPriceDisplaySchema, unavailablePriceDisplaySchema, rangePriceDisplaySchema, mixedPriceDisplaySchema, publicWholeSeriesPriceDisplaySchema, publicEventTicketTypePriceDisplaySchema, publicEventAttendanceModeSchema, publicEventAttendanceModeAvailabilitySchema, publicEventTicketTypeAvailabilitySchema, publicEventTicketTypeSchema, publicEventPricingSchema, publicTeamMemberSummarySchema, publicEventBookingAvailabilitySchema, publicEventSchema, publicEventsArraySchema;
31989
+ var init_schemas = __esmMin((() => {
32104
31990
  init_media$1();
32105
31991
  init_richTextSchema();
32106
31992
  init_bookingPaymentTerms();
@@ -32190,7 +32076,7 @@ var init_schemas$1 = __esmMin((() => {
32190
32076
  paidToAmount: z.number(),
32191
32077
  currency: z.string()
32192
32078
  });
32193
- publicCoursePriceDisplaySchema = z.discriminatedUnion("kind", [
32079
+ publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
32194
32080
  freePriceDisplaySchema,
32195
32081
  exactPriceDisplaySchema,
32196
32082
  fromPriceDisplaySchema,
@@ -32208,8 +32094,8 @@ var init_schemas$1 = __esmMin((() => {
32208
32094
  label: z.string()
32209
32095
  }),
32210
32096
  z.object({
32211
- kind: z.literal("course"),
32212
- display: publicCoursePriceDisplaySchema
32097
+ kind: z.literal("whole_series"),
32098
+ display: publicWholeSeriesPriceDisplaySchema
32213
32099
  })
32214
32100
  ]);
32215
32101
  publicEventTicketTypePriceDisplaySchema = z.union([
@@ -32311,10 +32197,10 @@ var init_schemas$1 = __esmMin((() => {
32311
32197
  })
32312
32198
  }),
32313
32199
  z.object({
32314
- kind: z.literal("course"),
32200
+ kind: z.literal("whole_series"),
32315
32201
  display: z.object({
32316
- kind: z.literal("course"),
32317
- display: publicCoursePriceDisplaySchema
32202
+ kind: z.literal("whole_series"),
32203
+ display: publicWholeSeriesPriceDisplaySchema
32318
32204
  })
32319
32205
  }),
32320
32206
  z.object({
@@ -32626,9 +32512,9 @@ var init_layout$1 = __esmMin((() => {
32626
32512
  }));
32627
32513
  //#endregion
32628
32514
  //#region ../blocks/src/system/blocks/events/shared/index.ts
32629
- var init_shared$3 = __esmMin((() => {
32630
- init_types$4();
32631
- init_schemas$1();
32515
+ var init_shared$2 = __esmMin((() => {
32516
+ init_types$3();
32517
+ init_schemas();
32632
32518
  init_fields();
32633
32519
  init_filtering();
32634
32520
  init_layout$1();
@@ -32709,7 +32595,8 @@ function resolveEventRegistrationScope(context) {
32709
32595
  };
32710
32596
  return { kind: "unscoped" };
32711
32597
  }
32712
- function applyEventRegistrationScope(events, scope) {
32598
+ function resolveEventRegistrationScopedEvents(events, context) {
32599
+ const scope = resolveEventRegistrationScope(context);
32713
32600
  switch (scope.kind) {
32714
32601
  case "occurrenceSeries":
32715
32602
  case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
@@ -32721,9 +32608,6 @@ function applyEventRegistrationScope(events, scope) {
32721
32608
  case "unscoped": return [...events];
32722
32609
  }
32723
32610
  }
32724
- function resolveEventRegistrationScopedEvents(events, context) {
32725
- return applyEventRegistrationScope(events, resolveEventRegistrationScope(context));
32726
- }
32727
32611
  var unsupportedEventRegistrationPageSurfaceSubjectReasons, unsupportedEventRegistrationPageSurfaceSubjectSchema, eventRegistrationPageSurfaceSubjectSchema;
32728
32612
  var init_eventScope = __esmMin((() => {
32729
32613
  init_src$4();
@@ -32845,14 +32729,14 @@ function isRecord$8(value) {
32845
32729
  }
32846
32730
  function isPublicEventPricing(value) {
32847
32731
  if (!isRecord$8(value) || typeof value.kind !== "string") return false;
32848
- return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
32732
+ return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "whole_series" || value.kind === "external";
32849
32733
  }
32850
32734
  function isPublicEventTicketType(value) {
32851
32735
  return isRecord$8(value) && typeof value.id === "string";
32852
32736
  }
32853
32737
  function readTicketTypePriceDisplay(value, currency) {
32854
32738
  const display = readLegacyPriceDisplay(value, currency);
32855
- return display.kind === "course" || display.kind === "external" ? {
32739
+ return display.kind === "whole_series" || display.kind === "external" ? {
32856
32740
  kind: "unavailable",
32857
32741
  currency
32858
32742
  } : display;
@@ -32910,11 +32794,11 @@ function readLegacyPriceDisplay(value, currency) {
32910
32794
  kind: "unavailable",
32911
32795
  currency: displayCurrency
32912
32796
  };
32913
- case "course": return isRecord$8(value.display) ? {
32914
- kind: "course",
32797
+ case "whole_series": return isRecord$8(value.display) ? {
32798
+ kind: "whole_series",
32915
32799
  display: readCoursePriceDisplay(value.display, displayCurrency)
32916
32800
  } : {
32917
- kind: "course",
32801
+ kind: "whole_series",
32918
32802
  display: {
32919
32803
  kind: "unavailable",
32920
32804
  currency: displayCurrency
@@ -32958,7 +32842,7 @@ function readAmount(value) {
32958
32842
  return typeof value === "number" && Number.isFinite(value) ? value : null;
32959
32843
  }
32960
32844
  var DEFAULT_EVENT_CURRENCY;
32961
- var init_pricing$1 = __esmMin((() => {
32845
+ var init_pricing = __esmMin((() => {
32962
32846
  init_destination();
32963
32847
  DEFAULT_EVENT_CURRENCY = "USD";
32964
32848
  }));
@@ -33054,7 +32938,7 @@ var init_wizardSteps = __esmMin((() => {}));
33054
32938
  //#endregion
33055
32939
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
33056
32940
  function eventMatchesOccurrenceId(event, occurrenceId) {
33057
- return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
32941
+ return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
33058
32942
  }
33059
32943
  function findPreSelectedEvent(input) {
33060
32944
  const occurrenceContext = input.occurrenceContext;
@@ -33076,7 +32960,7 @@ function resolveEventRequiresPayment(input) {
33076
32960
  }
33077
32961
  var init_registrationDerivations = __esmMin((() => {
33078
32962
  init_src$4();
33079
- init_pricing$1();
32963
+ init_pricing();
33080
32964
  }));
33081
32965
  //#endregion
33082
32966
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
@@ -33084,15 +32968,131 @@ function toRegistrationEvent(event) {
33084
32968
  return {
33085
32969
  ...event,
33086
32970
  pricing: resolveRuntimeEventPricing(event),
33087
- publicEventId: event.id,
33088
- registrationOccurrenceId: event.occurrenceId
32971
+ selectionId: event.id,
32972
+ registrationSubject: {
32973
+ kind: "occurrence",
32974
+ occurrenceId: event.occurrenceId
32975
+ }
33089
32976
  };
33090
32977
  }
33091
32978
  function toRegistrationEvents(events) {
33092
- return events.map(toRegistrationEvent);
32979
+ return events.filter((event) => event.bookingScope === "single_occurrence").map(toRegistrationEvent);
32980
+ }
32981
+ function toWholeSeriesTicketType(option) {
32982
+ return {
32983
+ ...option,
32984
+ capacityMode: option.capacityLimit === null ? "unlimited" : "limited",
32985
+ attendanceScope: option.attendanceScope ?? void 0,
32986
+ availability: {
32987
+ kind: "available",
32988
+ remainingCapacity: option.capacityLimit
32989
+ }
32990
+ };
32991
+ }
32992
+ function toWholeSeriesPricing(offering) {
32993
+ const resolved = resolveWholeSeriesPricingState(offering);
32994
+ switch (offering.pricing.pricingStrategy) {
32995
+ case "free": return {
32996
+ kind: "free_registration",
32997
+ currency: offering.currency,
32998
+ display: {
32999
+ kind: "free",
33000
+ currency: offering.currency
33001
+ }
33002
+ };
33003
+ case "single": {
33004
+ const amount = offering.pricing.singlePriceAmount ?? 0;
33005
+ return amount === 0 ? {
33006
+ kind: "free_registration",
33007
+ currency: offering.currency,
33008
+ display: {
33009
+ kind: "free",
33010
+ currency: offering.currency
33011
+ }
33012
+ } : {
33013
+ kind: "single_paid",
33014
+ amount,
33015
+ currency: offering.currency,
33016
+ display: {
33017
+ kind: "exact",
33018
+ amount,
33019
+ currency: offering.currency
33020
+ }
33021
+ };
33022
+ }
33023
+ case "tiered": return {
33024
+ kind: "ticket_types",
33025
+ currency: offering.currency,
33026
+ ticketTypes: resolved.selectableOptions.map((option) => toWholeSeriesTicketType(option)),
33027
+ display: resolved.display
33028
+ };
33029
+ case "sliding_scale": return {
33030
+ kind: "sliding_scale",
33031
+ minAmount: offering.pricing.slidingMinAmount ?? 0,
33032
+ maxAmount: offering.pricing.slidingMaxAmount ?? 0,
33033
+ suggestedAmount: offering.pricing.slidingSuggestedAmount ?? null,
33034
+ currency: offering.currency,
33035
+ display: {
33036
+ kind: "range",
33037
+ minAmount: offering.pricing.slidingMinAmount ?? 0,
33038
+ maxAmount: offering.pricing.slidingMaxAmount ?? 0,
33039
+ currency: offering.currency
33040
+ }
33041
+ };
33042
+ }
33043
+ }
33044
+ function toAttendanceModes(offering) {
33045
+ return (offering.deliveryMode === "hybrid" ? ["in_person", "online"] : [offering.deliveryMode]).map((mode) => ({
33046
+ mode,
33047
+ capacity: offering.enrollmentCapacity,
33048
+ registeredCount: offering.enrolledCount,
33049
+ availableSpots: offering.availableSpots,
33050
+ waitlistEnabled: offering.waitlistEnabled
33051
+ }));
33052
+ }
33053
+ function toWholeSeriesRegistrationEvent(offering) {
33054
+ const firstSession = offering.sessions[0];
33055
+ const lastSession = offering.sessions[offering.sessions.length - 1];
33056
+ return {
33057
+ selectionId: offering.eventSeriesId,
33058
+ registrationSubject: {
33059
+ kind: "wholeSeries",
33060
+ eventSeriesId: offering.eventSeriesId,
33061
+ sessions: offering.sessions
33062
+ },
33063
+ seriesId: offering.eventSeriesId,
33064
+ title: offering.title,
33065
+ startsAt: firstSession?.startsAt ?? "",
33066
+ endsAt: lastSession?.endsAt ?? firstSession?.endsAt ?? "",
33067
+ bookingAvailability: offering.enrollmentOpen ? { kind: "open" } : {
33068
+ kind: "closed",
33069
+ reason: "enrollment_closed"
33070
+ },
33071
+ deliveryMode: offering.deliveryMode,
33072
+ attendanceModes: toAttendanceModes(offering),
33073
+ capacity: offering.enrollmentCapacity,
33074
+ registeredCount: offering.enrolledCount,
33075
+ availableSpots: offering.availableSpots,
33076
+ waitlistEnabled: offering.waitlistEnabled,
33077
+ venue: offering.venue ? {
33078
+ ...offering.venue,
33079
+ location: null
33080
+ } : null,
33081
+ eventCategory: null,
33082
+ teamMembers: offering.teamMembers,
33083
+ status: offering.status,
33084
+ timeZone: firstSession?.timeZone ?? "UTC",
33085
+ pricing: toWholeSeriesPricing(offering),
33086
+ paymentTerms: offering.paymentTerms,
33087
+ consent: offering.consent,
33088
+ requireGuestDetails: offering.requireGuestDetails,
33089
+ acceptsPasses: false,
33090
+ acceptsMemberships: offering.acceptsMemberships
33091
+ };
33093
33092
  }
33094
33093
  var init_registrationEventAdapter = __esmMin((() => {
33095
- init_pricing$1();
33094
+ init_whole_series();
33095
+ init_pricing();
33096
33096
  }));
33097
33097
  //#endregion
33098
33098
  //#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
@@ -33119,6 +33119,15 @@ function resolveWholeSeriesOffering(source) {
33119
33119
  return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
33120
33120
  }
33121
33121
  function buildEventRegistrationShellStepLabels(source) {
33122
+ const selectedOffering = resolveWholeSeriesOffering(source);
33123
+ if (selectedOffering) {
33124
+ const selectedEvent = toWholeSeriesRegistrationEvent(selectedOffering);
33125
+ return getWizardStepsForContext(true, resolveEventRequiresPayment({
33126
+ eligibility: null,
33127
+ selectedTicketType: null,
33128
+ event: selectedEvent
33129
+ })).map((step) => shellLabelForRegistrationStep(step, [selectedEvent]));
33130
+ }
33122
33131
  const scopedEvents = scopeEventRegistrationEvents(source);
33123
33132
  if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
33124
33133
  const preSelectedEvent = findPreSelectedEvent({
@@ -33178,13 +33187,13 @@ function isRecord$7(value) {
33178
33187
  }
33179
33188
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
33180
33189
  var init_event_registration_interactive = __esmMin((() => {
33181
- init_schemas$1();
33190
+ init_schemas();
33182
33191
  init_whole_series();
33183
33192
  init_shop_shared();
33184
33193
  init_event_registration_shared();
33185
33194
  init_eventScope();
33186
33195
  init_registrationSurface();
33187
- init_pricing$1();
33196
+ init_pricing();
33188
33197
  init_destination();
33189
33198
  init_islands();
33190
33199
  init_runtime$1();
@@ -33214,11 +33223,7 @@ var init_event_registration_interactive = __esmMin((() => {
33214
33223
  maxTickets: z.string().optional(),
33215
33224
  showVenue: z.boolean().optional(),
33216
33225
  showCapacity: z.boolean().optional(),
33217
- showSessions: z.boolean().optional(),
33218
- showPrice: z.boolean().optional(),
33219
33226
  successMessage: z.string().optional(),
33220
- waitlistMessage: z.string().optional(),
33221
- membershipMessage: z.string().optional(),
33222
33227
  buttonVariant: registrationButtonVariantSchema.optional(),
33223
33228
  overlayEnabled: z.boolean().optional(),
33224
33229
  spamProtectionEnabled: z.boolean().optional(),
@@ -33282,11 +33287,7 @@ var init_event_registration_interactive = __esmMin((() => {
33282
33287
  maxTickets: source.maxTickets ?? void 0,
33283
33288
  showVenue: source.showVenue,
33284
33289
  showCapacity: source.showCapacity,
33285
- showSessions: source.showSessions,
33286
- showPrice: source.showPrice,
33287
33290
  successMessage: source.successMessage,
33288
- waitlistMessage: source.waitlistMessage,
33289
- membershipMessage: source.membershipMessage,
33290
33291
  buttonVariant: source.buttonVariant,
33291
33292
  overlayEnabled: source.overlayEnabled,
33292
33293
  spamProtectionEnabled: source.spamProtectionEnabled,
@@ -33306,7 +33307,7 @@ var init_event_registration = __esmMin((() => {
33306
33307
  init_fragments$1();
33307
33308
  init_button();
33308
33309
  init_api_bindings();
33309
- init_shared$3();
33310
+ init_shared$2();
33310
33311
  init_shop_shared();
33311
33312
  init_defineBlock();
33312
33313
  init_event_registration_shared();
@@ -33406,24 +33407,6 @@ var init_event_registration = __esmMin((() => {
33406
33407
  defaultValue: true,
33407
33408
  ui: { intent: "display" }
33408
33409
  },
33409
- {
33410
- id: "showSessions",
33411
- type: "boolean",
33412
- label: "Show complete schedule",
33413
- description: "Display every session for whole-series registrations",
33414
- required: false,
33415
- defaultValue: true,
33416
- ui: { intent: "display" }
33417
- },
33418
- {
33419
- id: "showPrice",
33420
- type: "boolean",
33421
- label: "Show price",
33422
- description: "Display the whole-series price",
33423
- required: false,
33424
- defaultValue: true,
33425
- ui: { intent: "display" }
33426
- },
33427
33410
  {
33428
33411
  id: "successMessage",
33429
33412
  type: "text",
@@ -33434,26 +33417,6 @@ var init_event_registration = __esmMin((() => {
33434
33417
  defaultValue: "Thank you for registering! Check your email for confirmation details.",
33435
33418
  maxLength: 500
33436
33419
  },
33437
- {
33438
- id: "waitlistMessage",
33439
- type: "text",
33440
- label: "Waitlist message",
33441
- description: "Message shown after joining a whole-series waitlist",
33442
- required: false,
33443
- multiline: true,
33444
- defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
33445
- maxLength: 500
33446
- },
33447
- {
33448
- id: "membershipMessage",
33449
- type: "text",
33450
- label: "Membership registration message",
33451
- description: "Message shown when a whole-series place is covered by membership",
33452
- required: false,
33453
- multiline: true,
33454
- defaultValue: "Registered using your membership. Check your email for session details.",
33455
- maxLength: 500
33456
- },
33457
33420
  {
33458
33421
  id: "buttonText",
33459
33422
  type: "text",
@@ -33485,11 +33448,7 @@ var init_event_registration = __esmMin((() => {
33485
33448
  } },
33486
33449
  showVenue: { $bind: { from: "content.showVenue" } },
33487
33450
  showCapacity: { $bind: { from: "content.showCapacity" } },
33488
- showSessions: { $bind: { from: "content.showSessions" } },
33489
- showPrice: { $bind: { from: "content.showPrice" } },
33490
33451
  successMessage: { $bind: { from: "content.successMessage" } },
33491
- waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
33492
- membershipMessage: { $bind: { from: "content.membershipMessage" } },
33493
33452
  buttonText: { $bind: {
33494
33453
  from: "content.buttonText",
33495
33454
  fallback: "Complete Registration"
@@ -33609,301 +33568,13 @@ var init_event_registration = __esmMin((() => {
33609
33568
  };
33610
33569
  }));
33611
33570
  //#endregion
33612
- //#region ../blocks/src/system/blocks/courses/shared/types.ts
33613
- var init_types$2 = __esmMin((() => {}));
33614
- //#endregion
33615
- //#region ../blocks/src/system/blocks/courses/shared/schemas.ts
33616
- var init_schemas = __esmMin((() => {
33617
- init_schemas$2();
33618
- }));
33619
- //#endregion
33620
- //#region ../blocks/src/system/blocks/courses/shared/pricing.ts
33621
- var init_pricing = __esmMin((() => {}));
33622
- //#endregion
33623
- //#region ../blocks/src/system/blocks/courses/shared/index.ts
33624
- var init_shared$2 = __esmMin((() => {
33625
- init_types$2();
33626
- init_schemas();
33627
- init_pricing();
33628
- }));
33629
- //#endregion
33630
- //#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
33631
- function buildCourseRegistrationDisplay(source) {
33632
- return {
33633
- kind: "course-registration",
33634
- state: "shell",
33635
- className: source.className ?? null,
33636
- summaryButtonText: source.buttonText?.trim() || "Sign up"
33637
- };
33638
- }
33639
- var courseRegistrationHydrationSchemaShape, courseRegistrationSourceSchema, courseRegistrationDisplaySchema, courseRegistrationHydrationSchema, courseRegistrationRenderSchema, courseRegistrationBlockRuntime;
33640
- var init_course_registration_interactive = __esmMin((() => {
33641
- init_schemas();
33642
- init_islands();
33643
- init_runtime$1();
33644
- init_contract_schemas();
33645
- init_eventScope();
33646
- courseRegistrationHydrationSchemaShape = {
33647
- subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
33648
- courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
33649
- showSessions: z.boolean().optional(),
33650
- showPrice: z.boolean().optional(),
33651
- showCapacity: z.boolean().optional(),
33652
- showVenue: z.boolean().optional(),
33653
- successMessage: z.string().optional(),
33654
- waitlistMessage: z.string().optional(),
33655
- membershipMessage: z.string().optional(),
33656
- buttonVariant: registrationButtonVariantSchema.optional()
33657
- };
33658
- courseRegistrationSourceSchema = z.object({
33659
- siteId: z.string().optional(),
33660
- apiBaseUrl: z.string().optional(),
33661
- portalToken: z.string().nullable().optional(),
33662
- ...courseRegistrationHydrationSchemaShape,
33663
- className: z.string().nullable().optional(),
33664
- buttonText: z.string().nullable().optional(),
33665
- stage: previewStageSchema.optional()
33666
- });
33667
- courseRegistrationDisplaySchema = z.object({
33668
- kind: z.literal("course-registration"),
33669
- state: z.literal("shell"),
33670
- className: z.string().nullable(),
33671
- summaryButtonText: z.string()
33672
- });
33673
- courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
33674
- courseRegistrationRenderSchema = z.object({
33675
- display: courseRegistrationDisplaySchema,
33676
- hydration: courseRegistrationHydrationSchema
33677
- });
33678
- z.object({
33679
- siteId: z.string().optional(),
33680
- apiBaseUrl: z.string().optional(),
33681
- portalToken: z.string().nullable().optional(),
33682
- stage: previewStageSchema.optional()
33683
- });
33684
- courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
33685
- kind: "client-owned",
33686
- contracts: {
33687
- source: createZodCodec(courseRegistrationSourceSchema),
33688
- render: createZodCodec(courseRegistrationRenderSchema)
33689
- },
33690
- buildRender: (source) => ({
33691
- display: buildCourseRegistrationDisplay(source),
33692
- hydration: {
33693
- subject: source.subject ?? null,
33694
- courses: source.courses ?? null,
33695
- showSessions: source.showSessions,
33696
- showPrice: source.showPrice,
33697
- showCapacity: source.showCapacity,
33698
- showVenue: source.showVenue,
33699
- successMessage: source.successMessage,
33700
- waitlistMessage: source.waitlistMessage,
33701
- membershipMessage: source.membershipMessage,
33702
- buttonVariant: source.buttonVariant
33703
- }
33704
- })
33705
- });
33706
- }));
33707
- //#endregion
33708
- //#region ../blocks/src/system/blocks/course-registration.ts
33709
- var courseRegistrationManifest, courseRegistrationBlockDefinition;
33710
- var init_course_registration = __esmMin((() => {
33711
- init_builder$1();
33712
- init_styledSection();
33713
- init_fragments$1();
33714
- init_button();
33715
- init_api_bindings();
33716
- init_shared$2();
33717
- init_defineBlock();
33718
- init_course_registration_interactive();
33719
- courseRegistrationManifest = createBlockManifest({
33720
- id: "block.course-registration",
33721
- version: "1.0.0",
33722
- title: "Course Registration",
33723
- titleSource: "heading",
33724
- description: "Enrollment form for multi-session courses",
33725
- category: "interactive",
33726
- contentSource: { kind: "inline" },
33727
- tags: [
33728
- "courses",
33729
- "enrollment",
33730
- "booking",
33731
- "form",
33732
- "signup",
33733
- "education"
33734
- ],
33735
- icon: "GraduationCap",
33736
- styleTokens: {
33737
- background: "surface",
33738
- typography: "body",
33739
- spacing: "md"
33740
- },
33741
- behaviours: {
33742
- supportsThemeSwitching: true,
33743
- inlineEditing: false,
33744
- animation: false,
33745
- paletteHidden: false
33746
- },
33747
- additionalFields: [
33748
- {
33749
- id: "heading",
33750
- type: "text",
33751
- label: "Heading",
33752
- description: "Main heading for the registration form",
33753
- required: false,
33754
- multiline: false,
33755
- defaultValue: "Sign up"
33756
- },
33757
- {
33758
- id: "description",
33759
- type: "richText",
33760
- label: "Description",
33761
- description: "Optional introductory text",
33762
- required: false
33763
- },
33764
- {
33765
- id: "showSessions",
33766
- type: "boolean",
33767
- label: "Show sessions",
33768
- description: "Display the list of course sessions",
33769
- required: false,
33770
- defaultValue: true,
33771
- ui: { intent: "display" }
33772
- },
33773
- {
33774
- id: "showPrice",
33775
- type: "boolean",
33776
- label: "Show price",
33777
- description: "Display the course price",
33778
- required: false,
33779
- defaultValue: true,
33780
- ui: { intent: "display" }
33781
- },
33782
- {
33783
- id: "showCapacity",
33784
- type: "boolean",
33785
- label: "Show available spots",
33786
- description: "Display remaining enrollment capacity",
33787
- required: false,
33788
- defaultValue: true,
33789
- ui: { intent: "display" }
33790
- },
33791
- {
33792
- id: "showVenue",
33793
- type: "boolean",
33794
- label: "Show venue",
33795
- description: "Display venue information",
33796
- required: false,
33797
- defaultValue: true,
33798
- ui: { intent: "display" }
33799
- },
33800
- {
33801
- id: "successMessage",
33802
- type: "text",
33803
- label: "Success message",
33804
- description: "Message shown after successful enrollment",
33805
- required: false,
33806
- multiline: true,
33807
- defaultValue: "You're enrolled! Check your email for confirmation and session details.",
33808
- maxLength: 500
33809
- },
33810
- {
33811
- id: "waitlistMessage",
33812
- type: "text",
33813
- label: "Waitlist message",
33814
- description: "Message when added to waitlist",
33815
- required: false,
33816
- multiline: true,
33817
- defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
33818
- maxLength: 500
33819
- },
33820
- {
33821
- id: "membershipMessage",
33822
- type: "text",
33823
- label: "Membership enrollment message",
33824
- description: "Message when enrolled using a membership",
33825
- required: false,
33826
- multiline: true,
33827
- defaultValue: "Enrolled using your membership! Check your email for session details.",
33828
- maxLength: 500
33829
- },
33830
- {
33831
- id: "buttonText",
33832
- type: "text",
33833
- label: "Submit button text",
33834
- description: "Text for the enrollment submit button",
33835
- required: false,
33836
- multiline: false,
33837
- defaultValue: "Sign up",
33838
- maxLength: 40
33839
- },
33840
- createButtonVariantField()
33841
- ],
33842
- layout: [styledSection({
33843
- baseClass: "",
33844
- spacing: "spacious",
33845
- children: sectionContainer([
33846
- text({ as: "h2" }, bind$1("content.heading"), when("content.heading")),
33847
- richText({ className: "rb-prose rb-max-w-none" }, bind$1("content.description"), when("content.description")),
33848
- courseRegistration(withApiBindings$1({
33849
- subject: { $bind: {
33850
- from: "$root.subject",
33851
- fallback: null
33852
- } },
33853
- portalToken: { $bind: {
33854
- from: "$root.portalToken",
33855
- fallback: null
33856
- } },
33857
- showSessions: { $bind: { from: "content.showSessions" } },
33858
- showPrice: { $bind: { from: "content.showPrice" } },
33859
- showCapacity: { $bind: { from: "content.showCapacity" } },
33860
- showVenue: { $bind: { from: "content.showVenue" } },
33861
- successMessage: { $bind: { from: "content.successMessage" } },
33862
- waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
33863
- membershipMessage: { $bind: { from: "content.membershipMessage" } },
33864
- buttonText: { $bind: {
33865
- from: "content.buttonText",
33866
- fallback: "Sign up"
33867
- } },
33868
- buttonVariant: { $bind: {
33869
- from: "content.buttonVariant",
33870
- fallback: "primary"
33871
- } },
33872
- courses: { $bind: { from: "data.courses" } },
33873
- stage: { $bind: {
33874
- from: "$root.previewStage",
33875
- fallback: "published"
33876
- } }
33877
- }))
33878
- ], { gap: "lg" })
33879
- })]
33880
- });
33881
- courseRegistrationBlockDefinition = {
33882
- manifest: courseRegistrationManifest,
33883
- runtime: courseRegistrationBlockRuntime,
33884
- dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
33885
- dataLoaders: { courses: {
33886
- endpoint: "listPublicWholeSeriesOfferings",
33887
- params: {
33888
- siteId: { $bind: { from: "$root.siteId" } },
33889
- limit: "50",
33890
- stage: { $bind: {
33891
- from: "$root.previewStage",
33892
- fallback: "published"
33893
- } }
33894
- },
33895
- mode: "server"
33896
- } }
33897
- };
33898
- }));
33899
- //#endregion
33900
33571
  //#region ../blocks/src/system/blocks/event-details.ts
33901
33572
  var eventDetailsManifest, eventAutoApplyDiscountPreviewBaseSchema, eventAutoApplyDiscountPreviewSchema, eventDetailsBlockDefinition;
33902
33573
  var init_event_details = __esmMin((() => {
33903
33574
  init_builder$1();
33904
33575
  init_styledSection();
33905
33576
  init_fragments$1();
33906
- init_shared$3();
33577
+ init_shared$2();
33907
33578
  init_shop_shared();
33908
33579
  init_defineBlock();
33909
33580
  init_event_registration_shared();
@@ -34144,211 +33815,6 @@ var init_event_details = __esmMin((() => {
34144
33815
  };
34145
33816
  }));
34146
33817
  //#endregion
34147
- //#region ../blocks/src/system/blocks/course-details.ts
34148
- var courseDetailsManifest, courseDetailsBlockDefinition;
34149
- var init_course_details = __esmMin((() => {
34150
- init_builder$1();
34151
- init_styledSection();
34152
- init_fragments$1();
34153
- init_shared$2();
34154
- init_defineBlock();
34155
- courseDetailsManifest = createBlockManifest({
34156
- id: "block.course-details",
34157
- version: "1.0.0",
34158
- title: "Course Details",
34159
- titleSource: "heading",
34160
- description: "Schedule, venue, price, and enrollment status for a course",
34161
- category: "content",
34162
- contentSource: { kind: "entries" },
34163
- tags: [
34164
- "courses",
34165
- "schedule",
34166
- "sessions",
34167
- "venue",
34168
- "pricing"
34169
- ],
34170
- icon: "GraduationCap",
34171
- styleTokens: {
34172
- background: "surface",
34173
- typography: "body",
34174
- spacing: "md"
34175
- },
34176
- behaviours: {
34177
- supportsThemeSwitching: true,
34178
- inlineEditing: false,
34179
- animation: false,
34180
- paletteHidden: false
34181
- },
34182
- additionalFields: [
34183
- {
34184
- id: "heading",
34185
- type: "text",
34186
- label: "Heading",
34187
- description: "Optional heading shown above course details",
34188
- required: false,
34189
- multiline: false,
34190
- defaultValue: "Course details"
34191
- },
34192
- {
34193
- id: "showTitle",
34194
- type: "boolean",
34195
- label: "Show course title",
34196
- required: false,
34197
- defaultValue: false,
34198
- ui: { intent: "display" }
34199
- },
34200
- {
34201
- id: "showDescription",
34202
- type: "boolean",
34203
- label: "Show course description",
34204
- description: "Render the course description from the bookings course record",
34205
- required: false,
34206
- defaultValue: false,
34207
- ui: { intent: "display" }
34208
- },
34209
- {
34210
- id: "showSessions",
34211
- type: "boolean",
34212
- label: "Show sessions",
34213
- required: false,
34214
- defaultValue: true,
34215
- ui: { intent: "display" }
34216
- },
34217
- {
34218
- id: "sessionsLimit",
34219
- type: "select",
34220
- label: "Sessions limit",
34221
- required: false,
34222
- multiple: false,
34223
- defaultValue: "10",
34224
- options: [
34225
- {
34226
- value: "3",
34227
- label: "3 sessions"
34228
- },
34229
- {
34230
- value: "5",
34231
- label: "5 sessions"
34232
- },
34233
- {
34234
- value: "10",
34235
- label: "10 sessions"
34236
- },
34237
- {
34238
- value: "all",
34239
- label: "All sessions"
34240
- }
34241
- ],
34242
- ui: { intent: "display" }
34243
- },
34244
- {
34245
- id: "showVenue",
34246
- type: "boolean",
34247
- label: "Show venue",
34248
- required: false,
34249
- defaultValue: true,
34250
- ui: { intent: "display" }
34251
- },
34252
- {
34253
- id: "showPrice",
34254
- type: "boolean",
34255
- label: "Show price",
34256
- required: false,
34257
- defaultValue: true,
34258
- ui: { intent: "display" }
34259
- },
34260
- {
34261
- id: "showCapacity",
34262
- type: "boolean",
34263
- label: "Show capacity",
34264
- required: false,
34265
- defaultValue: true,
34266
- ui: { intent: "display" }
34267
- },
34268
- {
34269
- id: "showEnrollmentStatus",
34270
- type: "boolean",
34271
- label: "Show enrollment status",
34272
- required: false,
34273
- defaultValue: true,
34274
- ui: { intent: "display" }
34275
- },
34276
- {
34277
- id: "showMembershipNote",
34278
- type: "boolean",
34279
- label: "Show membership note",
34280
- description: "Indicate when memberships can be used for free enrollment",
34281
- required: false,
34282
- defaultValue: true,
34283
- ui: { intent: "display" }
34284
- }
34285
- ],
34286
- layout: [styledSection({
34287
- baseClass: "",
34288
- spacing: "spacious",
34289
- children: sectionContainer([text({ as: "h2" }, bind$1("content.heading"), when("content.heading")), el$1("course-details", {
34290
- subject: { $bind: {
34291
- from: "$root.subject",
34292
- fallback: null
34293
- } },
34294
- courses: { $bind: { from: "data.courses" } },
34295
- showTitle: { $bind: {
34296
- from: "content.showTitle",
34297
- fallback: false
34298
- } },
34299
- showDescription: { $bind: {
34300
- from: "content.showDescription",
34301
- fallback: false
34302
- } },
34303
- showSessions: { $bind: {
34304
- from: "content.showSessions",
34305
- fallback: true
34306
- } },
34307
- sessionsLimit: { $bind: {
34308
- from: "content.sessionsLimit",
34309
- fallback: "10"
34310
- } },
34311
- showVenue: { $bind: {
34312
- from: "content.showVenue",
34313
- fallback: true
34314
- } },
34315
- showPrice: { $bind: {
34316
- from: "content.showPrice",
34317
- fallback: true
34318
- } },
34319
- showCapacity: { $bind: {
34320
- from: "content.showCapacity",
34321
- fallback: true
34322
- } },
34323
- showEnrollmentStatus: { $bind: {
34324
- from: "content.showEnrollmentStatus",
34325
- fallback: true
34326
- } },
34327
- showMembershipNote: { $bind: {
34328
- from: "content.showMembershipNote",
34329
- fallback: true
34330
- } }
34331
- })], { gap: "lg" })
34332
- })]
34333
- });
34334
- courseDetailsBlockDefinition = {
34335
- manifest: courseDetailsManifest,
34336
- dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
34337
- dataLoaders: { courses: {
34338
- endpoint: "listPublicWholeSeriesOfferings",
34339
- params: {
34340
- siteId: { $bind: { from: "$root.siteId" } },
34341
- limit: "50",
34342
- stage: { $bind: {
34343
- from: "$root.previewStage",
34344
- fallback: "published"
34345
- } }
34346
- },
34347
- mode: "server"
34348
- } }
34349
- };
34350
- }));
34351
- //#endregion
34352
33818
  //#region ../blocks/src/system/blocks/events/event-spotlight.ts
34353
33819
  var eventSpotlightConfig, eventSpotlightManifest, eventSpotlightBlockDefinition;
34354
33820
  var init_event_spotlight = __esmMin((() => {
@@ -34357,7 +33823,7 @@ var init_event_spotlight = __esmMin((() => {
34357
33823
  init_fragments$1();
34358
33824
  init_boxStyles$1();
34359
33825
  init_defineBlock();
34360
- init_shared$3();
33826
+ init_shared$2();
34361
33827
  eventSpotlightConfig = {
34362
33828
  id: "block.event-spotlight",
34363
33829
  version: "1.1.0",
@@ -34660,8 +34126,8 @@ function buildEventCollectionHydration(source) {
34660
34126
  }
34661
34127
  var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilterSourceSchemaShape, eventCollectionSourceSchemaShape, eventCollectionDisplaySchemaShape, eventCollectionHydrationSchema, init_eventCollectionContract = __esmMin((() => {
34662
34128
  init_cards();
34663
- init_schemas$1();
34664
- init_shared$3();
34129
+ init_schemas();
34130
+ init_shared$2();
34665
34131
  init_contract_schemas();
34666
34132
  init_listOptions();
34667
34133
  eventSurfaceScopeSchema$1 = z.enum(eventSurfaceScopeValues);
@@ -34740,8 +34206,8 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
34740
34206
  })), cardOrientationSchema, eventSurfaceScopeSchema, eventScheduleScopeSchema, eventListingSourceSchema, eventListingDisplaySchema, eventListingHydrationSchema, eventListingRenderSchema, eventListingBlockRuntime;
34741
34207
  var init_EventListing_interactive = __esmMin((() => {
34742
34208
  init_cards();
34743
- init_schemas$1();
34744
- init_shared$3();
34209
+ init_schemas();
34210
+ init_shared$2();
34745
34211
  init_islands();
34746
34212
  init_runtime$1();
34747
34213
  init_shared$1();
@@ -34885,7 +34351,7 @@ var init_event_listing = __esmMin((() => {
34885
34351
  init_api_bindings();
34886
34352
  init_defineBlock();
34887
34353
  init_EventListing_interactive();
34888
- init_shared$3();
34354
+ init_shared$2();
34889
34355
  eventListingAdditionalFields = [
34890
34356
  ...sectionHeaderFields("All Events"),
34891
34357
  ...(() => {
@@ -35377,7 +34843,7 @@ var init_event_calendar = __esmMin((() => {
35377
34843
  init_api_bindings();
35378
34844
  init_defineBlock();
35379
34845
  init_events$1();
35380
- init_shared$3();
34846
+ init_shared$2();
35381
34847
  init_EventCalendar_interactive();
35382
34848
  eventCalendarLayout = [styledSection({
35383
34849
  children: styledContainer({
@@ -36243,7 +35709,7 @@ var init_event_calendar = __esmMin((() => {
36243
35709
  //#endregion
36244
35710
  //#region ../blocks/src/system/blocks/events/index.ts
36245
35711
  var init_events = __esmMin((() => {
36246
- init_shared$3();
35712
+ init_shared$2();
36247
35713
  init_event_spotlight();
36248
35714
  init_event_listing();
36249
35715
  init_event_calendar();
@@ -36462,7 +35928,7 @@ function projectRecurringSchedule(events) {
36462
35928
  var weekdayOrder, weekdayCodeOrder, recurringScheduleWeekdaySchema, recurringScheduleSeriesIdSchema, recurringScheduleProjectionSchema, weekdayFormatterCache, timeFormatterCache, dateFormatterCache;
36463
35929
  var init_recurring_schedule_projection = __esmMin((() => {
36464
35930
  init_src$4();
36465
- init_schemas$1();
35931
+ init_schemas();
36466
35932
  weekdayOrder = [
36467
35933
  "Monday",
36468
35934
  "Tuesday",
@@ -36908,10 +36374,10 @@ var init_offerings_preview = __esmMin((() => {
36908
36374
  init_boxStyles$1();
36909
36375
  init_backgroundContent();
36910
36376
  init_defineBlock();
36911
- init_shared$3();
36377
+ init_shared$2();
36912
36378
  init_buttonRoles();
36913
36379
  init_button();
36914
- init_shared$2();
36380
+ init_whole_series();
36915
36381
  init_model();
36916
36382
  publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
36917
36383
  entityId: z.string(),
@@ -37194,7 +36660,7 @@ var init_offerings_preview = __esmMin((() => {
37194
36660
  fallback: "published"
37195
36661
  } },
37196
36662
  routeCandidates: { $bind: { from: "data.routeCandidates" } },
37197
- courses: { $bind: { from: "data.courses" } },
36663
+ wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
37198
36664
  ...offeringsPreviewEventDataBindings
37199
36665
  })
37200
36666
  ], { gap: "lg" }),
@@ -37212,7 +36678,7 @@ var init_offerings_preview = __esmMin((() => {
37212
36678
  dataSchemas: {
37213
36679
  ...offeringsPreviewEventDataSchemas,
37214
36680
  routeCandidates: publicRouteCandidatesSchema.optional(),
37215
- courses: publicWholeSeriesOfferingsArraySchema.optional()
36681
+ wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
37216
36682
  },
37217
36683
  dataLoaders: {
37218
36684
  ...offeringsPreviewEventDataLoaders,
@@ -37221,7 +36687,7 @@ var init_offerings_preview = __esmMin((() => {
37221
36687
  params: {},
37222
36688
  mode: "server"
37223
36689
  },
37224
- courses: {
36690
+ wholeSeriesOfferings: {
37225
36691
  endpoint: "listPublicWholeSeriesOfferings",
37226
36692
  params: {
37227
36693
  siteId: { $bind: { from: "$root.siteId" } },
@@ -41911,9 +41377,7 @@ var init_blocks$1 = __esmMin((() => {
41911
41377
  init_appointment_booking();
41912
41378
  init_weekly_slot_availability();
41913
41379
  init_event_registration();
41914
- init_course_registration();
41915
41380
  init_event_details();
41916
- init_course_details();
41917
41381
  init_events();
41918
41382
  init_recurring_schedule();
41919
41383
  init_offerings_preview();
@@ -41954,8 +41418,6 @@ var init_blocks$1 = __esmMin((() => {
41954
41418
  init_weekly_slot_availability();
41955
41419
  init_event_registration();
41956
41420
  init_event_details();
41957
- init_course_registration();
41958
- init_course_details();
41959
41421
  init_events();
41960
41422
  init_recurring_schedule();
41961
41423
  init_embed();
@@ -42429,22 +41891,6 @@ var init_blocks$1 = __esmMin((() => {
42429
41891
  weight: "standard"
42430
41892
  })]
42431
41893
  })),
42432
- withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
42433
- flow: conversionFlow,
42434
- layoutProfiles: [layoutProfile({
42435
- variantKey: "default",
42436
- family: "form",
42437
- weight: "standard"
42438
- })]
42439
- })),
42440
- withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
42441
- flow: offeringsFlow,
42442
- layoutProfiles: [layoutProfile({
42443
- variantKey: "default",
42444
- family: "stack",
42445
- weight: "standard"
42446
- })]
42447
- })),
42448
41894
  withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
42449
41895
  flow: offeringsFlow,
42450
41896
  layoutProfiles: [layoutProfile({
@@ -44903,6 +44349,68 @@ var init_pages = __esmMin((() => {
44903
44349
  var init_routes = __esmMin((() => {
44904
44350
  init_envelope();
44905
44351
  init_error_propagation();
44352
+ })), bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema;
44353
+ var init_bookingPaymentTermSchemas = __esmMin((() => {
44354
+ bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
44355
+ bookingInstalmentPlanSchema = z.discriminatedUnion("kind", [
44356
+ z.object({
44357
+ kind: z.literal("deposit_plus_one_remainder"),
44358
+ depositAmountCents: z.number().int().nonnegative(),
44359
+ depositRefundability: bookingDepositRefundPolicySchema,
44360
+ remainderDueCount: z.number().int().positive(),
44361
+ intervalUnit: z.enum([
44362
+ "day",
44363
+ "week",
44364
+ "month"
44365
+ ])
44366
+ }),
44367
+ z.object({
44368
+ kind: z.literal("deposit_plus_scheduled_instalments"),
44369
+ depositAmountCents: z.number().int().nonnegative(),
44370
+ depositRefundability: bookingDepositRefundPolicySchema,
44371
+ instalmentCount: z.number().int().positive(),
44372
+ intervalCount: z.number().int().positive(),
44373
+ intervalUnit: z.enum([
44374
+ "day",
44375
+ "week",
44376
+ "month"
44377
+ ])
44378
+ }),
44379
+ z.object({
44380
+ kind: z.literal("equal_scheduled_instalments"),
44381
+ instalmentCount: z.number().int().positive(),
44382
+ intervalCount: z.number().int().positive(),
44383
+ intervalUnit: z.enum([
44384
+ "day",
44385
+ "week",
44386
+ "month"
44387
+ ])
44388
+ })
44389
+ ]);
44390
+ bookingFlexibleBalanceDueDateRuleSchema = z.discriminatedUnion("kind", [z.object({
44391
+ kind: z.literal("relative_to_start_date"),
44392
+ daysBeforeStart: z.number().int().positive()
44393
+ }), z.object({
44394
+ kind: z.literal("fixed_calendar_date"),
44395
+ dueAt: z.string().datetime()
44396
+ })]);
44397
+ bookingFlexibleBalanceConfigSchema = z.object({
44398
+ upfrontAmountCents: z.number().int().nonnegative(),
44399
+ dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
44400
+ depositRefundability: bookingDepositRefundPolicySchema
44401
+ });
44402
+ z.discriminatedUnion("kind", [
44403
+ z.object({ kind: z.literal("upfront") }),
44404
+ z.object({ kind: z.literal("deferred_manual") }),
44405
+ z.object({
44406
+ kind: z.literal("instalment_plan"),
44407
+ plan: bookingInstalmentPlanSchema
44408
+ }),
44409
+ z.object({
44410
+ kind: z.literal("flexible_balance"),
44411
+ config: bookingFlexibleBalanceConfigSchema
44412
+ })
44413
+ ]);
44906
44414
  }));
44907
44415
  //#endregion
44908
44416
  //#region ../api/src/emailSettings.ts
@@ -45143,6 +44651,7 @@ var init_src = __esmMin((() => {
45143
44651
  init_blocks();
45144
44652
  init_pages();
45145
44653
  init_routes();
44654
+ init_bookingPaymentTermSchemas();
45146
44655
  init_bookingRecords();
45147
44656
  init_emailSettings();
45148
44657
  init_eventEmailTemplates();