@riverbankcms/sdk 0.132.0 → 0.135.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/CHANGELOG.md +14 -3
  2. package/README.md +1 -1
  3. package/dist/{PreviewEditorSidebar-DKQ5eFK9.mjs → PreviewEditorSidebar-roNY0GVy.mjs} +4 -4
  4. package/dist/{PreviewEditorUI-CNTcOjCC.mjs → PreviewEditorUI-KboDbEh_.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-D51gQaG3.mjs → PreviewQueryProvider-DcgaESkm.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-DJu3qu33.mjs → SdkPreviewModeRuntime-DBrF7Caa.mjs} +48 -17
  7. package/dist/{SiteChromeCustomizeContext-2TzT3vbj.mjs → SiteChromeCustomizeContext-DrIEpJKn.mjs} +4351 -7964
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +549 -549
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +234 -234
  10. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  11. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +1 -1
  12. package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
  13. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +25 -60
  14. package/dist/_dts/api/src/bookingOperations.d.ts +111 -173
  15. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +123 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +13 -13
  17. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  18. package/dist/_dts/api/src/bookingSessionSummaryTypes.d.ts +34 -0
  19. package/dist/_dts/api/src/bookings.d.ts +7 -11
  20. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +7 -7
  21. package/dist/_dts/api/src/communications.d.ts +1 -1
  22. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  23. package/dist/_dts/api/src/endpoints.d.ts +30 -110
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +1 -1
  25. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +43 -0
  26. package/dist/_dts/api/src/index.d.ts +3 -4
  27. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  28. package/dist/_dts/api/src/navigation/contracts.d.ts +9 -6
  29. package/dist/_dts/api/src/navigation/linkResolver.d.ts +6 -2
  30. package/dist/_dts/api/src/navigation/types.d.ts +23 -6
  31. package/dist/_dts/api/src/navigation.d.ts +1 -1
  32. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  33. package/dist/_dts/api/src/publicBookingService.d.ts +15 -0
  34. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +8 -0
  35. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +32 -28
  36. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +88 -6
  37. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +1 -1
  38. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +9 -98
  39. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +7 -6
  40. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -32
  41. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +1 -1
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +2 -2
  43. package/dist/_dts/api/src/sdkThemeWire.d.ts +50 -50
  44. package/dist/_dts/api/src/siteBanner.d.ts +4 -2
  45. package/dist/_dts/api/src/siteOperations.d.ts +2 -2
  46. package/dist/_dts/api/src/types.d.ts +2 -2
  47. package/dist/_dts/api/src/webhooks.d.ts +12 -12
  48. package/dist/_dts/api/src/{courses.d.ts → wholeSeriesOfferings.d.ts} +43 -95
  49. package/dist/_dts/blocks/src/client.d.ts +1 -6
  50. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  51. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +33 -166
  52. package/dist/_dts/blocks/src/index.d.ts +3 -2
  53. package/dist/_dts/blocks/src/portal/dateFormatting.d.ts +3 -0
  54. package/dist/_dts/blocks/src/portal/types.d.ts +17 -20
  55. package/dist/_dts/blocks/src/primitives/content/components/RichText.d.ts +2 -2
  56. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  57. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +147 -42
  58. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +46 -24
  59. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +3 -0
  60. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +3 -3
  61. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +6 -0
  62. package/dist/_dts/blocks/src/system/blocks/index.d.ts +0 -2
  63. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +4 -4
  64. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +148 -148
  65. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +5 -4
  66. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +3 -3
  67. package/dist/_dts/blocks/src/system/blocks/shared/bookingConsent.d.ts +36 -0
  68. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/manifest/hydrateLinks.d.ts +9 -2
  70. package/dist/_dts/blocks/src/system/manifest/resolveBlockData.d.ts +8 -0
  71. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +79 -79
  72. package/dist/_dts/blocks/src/system/node/builder.d.ts +0 -1
  73. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +9 -12
  74. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +2 -44
  75. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  76. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -11
  77. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +1 -1
  78. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +100 -59
  79. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +1 -1
  80. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +19 -16
  81. package/dist/_dts/blocks/src/system/runtime/api/types/waitlist-claims.d.ts +7 -0
  82. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/components/multi-step/DynamicFormFields.d.ts +3 -19
  84. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +24 -247
  85. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +13 -126
  86. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  87. package/dist/_dts/blocks/src/system/runtime/hooks/usePaymentVerification.d.ts +2 -3
  88. package/dist/_dts/blocks/src/system/runtime/hooks/useSelectedAppointmentConsentForm.d.ts +2 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.consent.d.ts +10 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.field-values.d.ts +4 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.fields.d.ts +21 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +2 -1
  93. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +38 -144
  94. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +5 -19
  95. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -2
  96. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +8 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +2 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationBookingLayer.d.ts +17 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationSurface.d.ts +24 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentBlockingPanel.d.ts +18 -0
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +5 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/constants.d.ts +1 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +1 -3
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +7 -4
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -1
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +7 -8
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/index.d.ts +1 -1
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +4 -4
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +3 -0
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationStateMachine.d.ts +5 -0
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +18 -1
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +28 -0
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +12 -11
  114. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +53 -45
  115. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +10 -6
  116. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -1
  117. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +24 -9
  118. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +20 -0
  119. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +5 -56
  120. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/validation.d.ts +2 -1
  121. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/waitlistClaimRestoration.d.ts +20 -0
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +6 -22
  123. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/DateTimeTile.d.ts +1 -1
  124. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +40 -18
  125. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
  126. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +6 -1
  127. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingConsentAgreement.d.ts +7 -0
  128. package/dist/_dts/blocks/src/system/runtime/shared/components/DiscountCodeDisclosure.d.ts +1 -13
  129. package/dist/_dts/blocks/src/system/runtime/shared/components/LoggedInAsUser.d.ts +1 -1
  130. package/dist/_dts/blocks/src/system/runtime/shared/components/MembershipHero.d.ts +1 -1
  131. package/dist/_dts/blocks/src/system/runtime/shared/components/StateIcon.d.ts +1 -1
  132. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +1 -1
  133. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +2 -1
  134. package/dist/_dts/blocks/src/system/runtime/shared/utils/checkoutUrls.d.ts +2 -2
  135. package/dist/_dts/blocks/src/system/types/link.d.ts +7 -1
  136. package/dist/_dts/commerce/src/index.d.ts +16 -0
  137. package/dist/_dts/commerce/src/money.d.ts +122 -0
  138. package/dist/_dts/commerce/src/moneyContracts.d.ts +178 -0
  139. package/dist/_dts/commerce/src/moneyDateUtils.d.ts +22 -0
  140. package/dist/_dts/commerce/src/moneyPayments.d.ts +59 -0
  141. package/dist/_dts/commerce/src/moneyPlanningTime.d.ts +4 -0
  142. package/dist/_dts/commerce/src/moneyReceiptReadModel.d.ts +68 -0
  143. package/dist/_dts/commerce/src/moneyReport.d.ts +105 -0
  144. package/dist/_dts/commerce/src/moneyReportBreakdowns.d.ts +3 -0
  145. package/dist/_dts/commerce/src/moneyReportKindFilter.d.ts +4 -0
  146. package/dist/_dts/commerce/src/moneyReportPage.d.ts +132 -0
  147. package/dist/_dts/commerce/src/purchase/checkoutCollectionPlan.d.ts +1 -1
  148. package/dist/_dts/commerce/src/purchase/confirmationEmailPayment.d.ts +1 -1
  149. package/dist/_dts/commerce/src/purchase/orderCompletionEmailPlan.d.ts +3 -3
  150. package/dist/_dts/commerce/src/purchase/orderFulfillmentPlan.d.ts +6 -25
  151. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +4 -4
  152. package/dist/_dts/commerce/src/purchase/orderPlanningTypes.d.ts +11 -11
  153. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +1 -1
  154. package/dist/_dts/commerce/src/purchase/persistedCheckoutLines.d.ts +1 -1
  155. package/dist/_dts/commerce/src/purchase/types.d.ts +12 -8
  156. package/dist/_dts/commerce/src/shop/digitalFulfillment.d.ts +111 -0
  157. package/dist/_dts/commerce/src/shop/fulfillmentStatus.d.ts +10 -0
  158. package/dist/_dts/commerce/src/shop/inventoryRestore.d.ts +13 -0
  159. package/dist/_dts/commerce/src/shop/shippingAddress.d.ts +18 -0
  160. package/dist/_dts/commerce/src/types/json.d.ts +3 -0
  161. package/dist/_dts/commerce/src/utils/isPlainRecord.d.ts +1 -0
  162. package/dist/_dts/commerce/src/waitlists.d.ts +172 -0
  163. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -30
  164. package/dist/_dts/content-model/src/content-types/builtins.d.ts +2 -39
  165. package/dist/_dts/content-model/src/content-types/schema.d.ts +4 -4
  166. package/dist/_dts/content-model/src/metadataConfig.d.ts +0 -1
  167. package/dist/_dts/content-model/src/templates/defaults.d.ts +0 -68
  168. package/dist/_dts/core/src/booking-consent.d.ts +8 -0
  169. package/dist/_dts/core/src/branded.d.ts +3 -3
  170. package/dist/_dts/core/src/event-pricing.d.ts +6 -6
  171. package/dist/_dts/core/src/index.d.ts +1 -0
  172. package/dist/_dts/core/src/participants.d.ts +17 -17
  173. package/dist/_dts/core/src/rectification.d.ts +1 -1
  174. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +899 -2157
  175. package/dist/_dts/db/src/schemas/forms.d.ts +21 -21
  176. package/dist/_dts/db/src/types/jsonb.d.ts +1 -1
  177. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +2 -1
  178. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +2 -1
  179. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +3 -2
  180. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +3 -4
  181. package/dist/_dts/media-core/src/usageScanner.d.ts +1 -1
  182. package/dist/_dts/sdk/src/bookings/index.d.ts +4 -5
  183. package/dist/_dts/sdk/src/bookings/types.d.ts +8 -60
  184. package/dist/_dts/sdk/src/config/validation.d.ts +30 -30
  185. package/dist/_dts/sdk/src/contracts/content.d.ts +10 -36
  186. package/dist/_dts/sdk/src/contracts/rendering.d.ts +1 -1
  187. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +9 -9
  188. package/dist/_dts/sdk/src/public-api/contracts.d.ts +6 -19
  189. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +4 -6
  190. package/dist/_dts/sdk/src/version.d.ts +1 -1
  191. package/dist/_dts/theme-core/src/accordions/types.d.ts +2 -2
  192. package/dist/_dts/theme-core/src/blocks/vars/index.d.ts +0 -2
  193. package/dist/_dts/theme-core/src/buttons/types.d.ts +12 -12
  194. package/dist/_dts/theme-core/src/cards/types.d.ts +5 -5
  195. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  196. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +72 -72
  197. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -4
  198. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  199. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
  200. package/dist/_dts/theme-core/src/schema.d.ts +82 -82
  201. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +1 -1
  202. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +1 -1
  203. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
  204. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +2 -2
  205. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -4
  206. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +4 -4
  207. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +1 -1
  208. package/dist/_dts/ui/src/badge.d.ts +1 -1
  209. package/dist/_dts/ui/src/button.d.ts +1 -1
  210. package/dist/_dts/ui/src/callout.d.ts +1 -1
  211. package/dist/_dts/ui/src/card.d.ts +1 -1
  212. package/dist/client/{usePolling-M5jG675x.mjs → BookingConsentAgreement-BQqwi8Oa.mjs} +180 -4
  213. package/dist/client/{DiscountCodeDisclosure-DO7llLxm.mjs → DiscountCodeDisclosure-B97aMo0V.mjs} +13 -27
  214. package/dist/client/{EventCombined.client-xID7zN__.mjs → EventCombined.client-Bs2Iw9Q6.mjs} +3 -3
  215. package/dist/client/{EventListing.client-CriBslp0.mjs → EventListing.client-C4QUQdmg.mjs} +2 -2
  216. package/dist/client/{LeafletStaticMap-DYmHnM8g.mjs → LeafletStaticMap-CwWRk69M.mjs} +1 -1
  217. package/dist/client/{accordion-CgFbnnnQ.mjs → accordion-BA0j8Mpw.mjs} +1 -1
  218. package/dist/client/{bookingForm-dUyGpbxc.mjs → bookingForm-Br2e41H0.mjs} +72 -47
  219. package/dist/client/bookings.mjs +1987 -2132
  220. package/dist/client/{carousel-BvBwkUzx.mjs → carousel-B4dmwnpD.mjs} +1 -1
  221. package/dist/client/{cart-DiZENT2E.mjs → cart-B_ckGW4b.mjs} +3 -3
  222. package/dist/client/{checkout-Dq13KIgR.mjs → checkout-DAyspHdf.mjs} +3 -3
  223. package/dist/client/checkoutUrls-BuseL0dw.mjs +189 -0
  224. package/dist/client/client.mjs +5627 -9543
  225. package/dist/client/{context-B83PiNzm.mjs → context-DljQn8L5.mjs} +15 -82
  226. package/dist/client/{eventCalendar-BF0Jatfw.mjs → eventCalendar-pJu3FUod.mjs} +5 -5
  227. package/dist/client/{eventCombined-BuoCF8je.mjs → eventCombined-B6Kacm9F.mjs} +3 -3
  228. package/dist/client/{eventDetails-CKwh0S9s.mjs → eventDetails-CaX9z1pv.mjs} +8 -8
  229. package/dist/client/{eventListing-eUxaWFaB.mjs → eventListing-B9aXPO-I.mjs} +3 -3
  230. package/dist/client/{eventRegistration-CfkNOkPb.mjs → eventRegistration-CBSovBkg.mjs} +4550 -3671
  231. package/dist/client/{form-C17H1c_H.mjs → form-Cm0tu_7o.mjs} +2 -2
  232. package/dist/client/{headerSection-DEwUmrtt.mjs → headerSection-OgRtHeKS.mjs} +2 -2
  233. package/dist/client/hooks.mjs +535 -694
  234. package/dist/client/{locationMap-Pf2QwuvW.mjs → locationMap-DmjcYqNM.mjs} +2 -2
  235. package/dist/client/{newsletterForm-BWQAH5Sv.mjs → newsletterForm-D08OZQAC.mjs} +2 -2
  236. package/dist/client/{productDetail-BZi1Fa_G.mjs → productDetail-BqZeu2P4.mjs} +3 -3
  237. package/dist/client/{productList-qq-55DNk.mjs → productList-mNyIF9FG.mjs} +3 -3
  238. package/dist/client/{propsDecoder-BxmqPKdP.mjs → propsDecoder-DwHXRm9X.mjs} +4850 -4502
  239. package/dist/client/rendering/client.mjs +59921 -62298
  240. package/dist/client/rendering/islands.mjs +17 -19
  241. package/dist/client/rendering.mjs +6226 -10236
  242. package/dist/client/{scrollToBlock-B3CcKdtG.mjs → scrollToBlock-DtmdM3v-.mjs} +2 -2
  243. package/dist/client/{shop-DNWJPut5.mjs → shop-CNjZK16F.mjs} +6 -6
  244. package/dist/client/{shop-commerce-BhvQCosS.mjs → shop-commerce-DkNNao1J.mjs} +7 -164
  245. package/dist/client/{shop-commerce-store-B04sCNnW.mjs → shop-commerce-store-9WA--zuW.mjs} +1 -1
  246. package/dist/client/{shopShared-DNNgZlmW.mjs → shopShared-CHCVfccY.mjs} +3 -3
  247. package/dist/client/{useEventFilters-CUmhE24_.mjs → useEventFilters-DvuaB4ZN.mjs} +3 -3
  248. package/dist/preview-next/before-render.mjs +40 -161
  249. package/dist/preview-next/client/runtime.mjs +4 -4
  250. package/dist/preview-next/keepAlive.mjs +40 -161
  251. package/dist/preview-next/middleware.mjs +40 -161
  252. package/dist/{previewAuthStore-BFKd4LrN.mjs → previewAuthStore-C7ksxt5b.mjs} +40 -161
  253. package/dist/{sdk-runtime-BEXb1wqo.mjs → sdk-runtime-3GhW4knb.mjs} +2 -2
  254. package/dist/{separator-DGMuip1D.mjs → separator-D3bCWYYb.mjs} +1 -1
  255. package/dist/server/components.mjs +634 -2969
  256. package/dist/server/config-validation.mjs +535 -694
  257. package/dist/server/config.mjs +535 -694
  258. package/dist/server/data.mjs +535 -694
  259. package/dist/server/index.mjs +41 -162
  260. package/dist/server/next.mjs +644 -2979
  261. package/dist/server/page-converter.mjs +435 -561
  262. package/dist/server/prebuild.mjs +1 -1
  263. package/dist/server/rendering/server.mjs +635 -2874
  264. package/dist/server/rendering.mjs +634 -2969
  265. package/dist/server/routing.mjs +706 -1138
  266. package/dist/server/server.mjs +549 -708
  267. package/dist/server/theme-bridge.mjs +152 -1635
  268. package/dist/styles/index.css +41 -1348
  269. package/package.json +2 -2
  270. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +0 -99
  271. package/dist/_dts/blocks/src/client/course-registration.d.ts +0 -5
  272. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -134
  273. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +0 -130
  274. package/dist/_dts/blocks/src/system/blocks/courses/shared/index.d.ts +0 -3
  275. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +0 -2
  276. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +0 -1
  277. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +0 -1
  278. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +0 -133
  279. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -28
  280. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +0 -11
  281. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -10
  282. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/view.d.ts +0 -15
  283. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +0 -20
  284. package/dist/_dts/blocks/src/system/runtime/nodes/course-page-surface-scope.d.ts +0 -14
  285. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.client.d.ts +0 -10
  286. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -181
  287. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +0 -12
  288. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/CoursePricingDisplay.d.ts +0 -8
  289. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/BookingModeStep.d.ts +0 -32
  290. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/CheckIcon.d.ts +0 -4
  291. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/ErrorStep.d.ts +0 -17
  292. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/MembershipHero.d.ts +0 -12
  293. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PaymentFailedStep.d.ts +0 -17
  294. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/PortalAuthSidebar.d.ts +0 -9
  295. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/StepIndicator.d.ts +0 -6
  296. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/SuccessStep.d.ts +0 -14
  297. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/VerifyingTimeoutStep.d.ts +0 -17
  298. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WaitlistStep.d.ts +0 -12
  299. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationActiveSteps.d.ts +0 -9
  300. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationErrorBoundary.d.ts +0 -25
  301. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationTerminalContent.d.ts +0 -8
  302. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/WholeSeriesRegistrationWizard.d.ts +0 -8
  303. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/components.d.ts +0 -45
  304. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/index.d.ts +0 -18
  305. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/presentation.d.ts +0 -7
  306. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/pricing.d.ts +0 -14
  307. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/types.d.ts +0 -105
  308. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesEligibility.d.ts +0 -24
  309. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesPaymentVerification.d.ts +0 -10
  310. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationActions.d.ts +0 -35
  311. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationPortal.d.ts +0 -7
  312. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationSelection.d.ts +0 -35
  313. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesRegistrationWizard.d.ts +0 -185
  314. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/useWholeSeriesWaitlistSelection.d.ts +0 -14
  315. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/utils.d.ts +0 -43
  316. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.contract.d.ts +0 -323
  317. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/whole-series-registration.headless.planning.d.ts +0 -27
  318. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesPageSurfaceScope.d.ts +0 -17
  319. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wholeSeriesRegistrationViewState.d.ts +0 -21
  320. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/whole-series/wizardSteps.d.ts +0 -30
  321. package/dist/_dts/sdk/src/rendering/islands/enhancers/courseRegistration.d.ts +0 -3
  322. package/dist/_dts/theme-core/src/blocks/vars/course-details.d.ts +0 -16
  323. package/dist/_dts/theme-core/src/blocks/vars/course-registration.d.ts +0 -21
  324. package/dist/client/StepIndicator-CGixP_LW.mjs +0 -138
  325. package/dist/client/WholeSeriesRegistrationWizard-BEjzSiOA.mjs +0 -2496
  326. package/dist/client/checkoutUrls-Ct8Mxna3.mjs +0 -26
  327. package/dist/client/courseRegistration-CKC5NmyH.mjs +0 -52
  328. package/dist/client/pricing-CVdvbopJ.mjs +0 -195
@@ -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":
@@ -2823,6 +2702,9 @@ var init_booking_date_time = __esmMin((() => {
2823
2702
  dateTimeFormatterCache = /* @__PURE__ */ new Map();
2824
2703
  }));
2825
2704
  //#endregion
2705
+ //#region ../core/src/booking-consent.ts
2706
+ var init_booking_consent = __esmMin((() => {}));
2707
+ //#endregion
2826
2708
  //#region ../core/src/dated-offering-settlement.ts
2827
2709
  var init_dated_offering_settlement = __esmMin((() => {}));
2828
2710
  //#endregion
@@ -3005,6 +2887,27 @@ var init_secret = __esmMin((() => {
3005
2887
  //#region ../core/src/site-route-target.ts
3006
2888
  var init_site_route_target = __esmMin((() => {}));
3007
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
3008
2911
  //#region ../core/src/event-series-behaviour.ts
3009
2912
  var SURFACE_EVENT_PRESET_VALUES;
3010
2913
  var init_event_series_behaviour = __esmMin((() => {
@@ -3337,6 +3240,7 @@ var init_src$4 = __esmMin((() => {
3337
3240
  init_booking_refunds();
3338
3241
  init_booking_instalments();
3339
3242
  init_booking_date_time();
3243
+ init_booking_consent();
3340
3244
  init_dated_offering_settlement();
3341
3245
  init_person_records();
3342
3246
  init_rectification();
@@ -3377,6 +3281,7 @@ var init_src$4 = __esmMin((() => {
3377
3281
  init_stable_json();
3378
3282
  init_secret();
3379
3283
  init_site_route_target();
3284
+ init_planner();
3380
3285
  init_booking_verticals();
3381
3286
  init_event_series_behaviour();
3382
3287
  }));
@@ -3407,8 +3312,71 @@ var init_media$4 = __esmMin((() => {
3407
3312
  "style-atmosphere-2"
3408
3313
  ];
3409
3314
  [...AMBIENT_BACKGROUND_ROLES$1];
3410
- })), portalLinkPayloadSchema, cartLinkLabelConfigSchema, cartLinkPayloadSchema, internalLinkPayloadSchema, externalLinkSchema$1, customLinkSchema$1, pageLinkSchema$1, entryLinkSchema$1, linkPayloadSchema, navigationLinkInputSchemaOptions;
3315
+ })), nullableString, RESOLVED_INTERNAL_LINK_ENTITY_TYPES, resolvedInternalLinkKeys, internalRouteOnlyLinkSchema, internalResolvedLinkSchema, internalLinkSchema, externalLinkSchema$1, customLinkSchema$1, pageLinkSchema$1, entryLinkSchema$1;
3316
+ var init_link = __esmMin((() => {
3317
+ nullableString = z.union([z.string().min(1), z.null()]);
3318
+ RESOLVED_INTERNAL_LINK_ENTITY_TYPES = [
3319
+ "page",
3320
+ "content",
3321
+ "pageSurface"
3322
+ ];
3323
+ resolvedInternalLinkKeys = [
3324
+ "entityId",
3325
+ "entityType",
3326
+ "href",
3327
+ "title",
3328
+ "typeLabel"
3329
+ ];
3330
+ internalRouteOnlyLinkSchema = z.object({
3331
+ kind: z.literal("internal"),
3332
+ routeId: z.string().min(1)
3333
+ }).passthrough().superRefine((value, ctx) => {
3334
+ if (!resolvedInternalLinkKeys.some((key) => value[key] != null)) return;
3335
+ ctx.addIssue({
3336
+ code: "custom",
3337
+ message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
3338
+ });
3339
+ });
3340
+ internalResolvedLinkSchema = z.object({
3341
+ kind: z.literal("internal"),
3342
+ routeId: z.string().min(1),
3343
+ entityId: z.string().min(1),
3344
+ entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
3345
+ href: z.string().min(1),
3346
+ title: z.string().min(1),
3347
+ typeLabel: z.string().min(1),
3348
+ contentTypeKey: nullableString.optional(),
3349
+ contentTypeName: nullableString.optional(),
3350
+ updatedAt: nullableString.optional()
3351
+ }).passthrough();
3352
+ internalLinkSchema = z.union([internalResolvedLinkSchema, internalRouteOnlyLinkSchema]);
3353
+ externalLinkSchema$1 = z.object({
3354
+ kind: z.literal("external"),
3355
+ href: z.string().min(1)
3356
+ }).passthrough();
3357
+ customLinkSchema$1 = z.object({
3358
+ kind: z.literal("url"),
3359
+ href: z.string().min(1)
3360
+ }).passthrough();
3361
+ pageLinkSchema$1 = z.object({
3362
+ kind: z.literal("page"),
3363
+ identifier: z.string().min(1)
3364
+ }).passthrough();
3365
+ entryLinkSchema$1 = z.object({
3366
+ kind: z.literal("entry"),
3367
+ contentType: z.string().min(1),
3368
+ identifier: z.string().min(1)
3369
+ }).passthrough();
3370
+ z.union([
3371
+ internalLinkSchema,
3372
+ externalLinkSchema$1,
3373
+ customLinkSchema$1,
3374
+ pageLinkSchema$1,
3375
+ entryLinkSchema$1
3376
+ ]);
3377
+ })), portalLinkPayloadSchema, cartLinkLabelConfigSchema, cartLinkPayloadSchema, internalLinkPayloadSchema, externalLinkSchema, customLinkSchema, pageLinkSchema, entryLinkSchema, linkPayloadSchema, navigationLinkInputSchemaOptions;
3411
3378
  var init_contracts$1 = __esmMin((() => {
3379
+ init_link();
3412
3380
  portalLinkPayloadSchema = z.object({
3413
3381
  kind: z.literal("portal"),
3414
3382
  path: z.string().trim().startsWith("/").optional(),
@@ -3430,7 +3398,7 @@ var init_contracts$1 = __esmMin((() => {
3430
3398
  kind: z.literal("internal"),
3431
3399
  routeId: z.string().uuid(),
3432
3400
  entityId: z.string().uuid(),
3433
- entityType: z.enum(["page", "content"]),
3401
+ entityType: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
3434
3402
  href: z.string().min(1),
3435
3403
  title: z.string().min(1),
3436
3404
  typeLabel: z.string().min(1),
@@ -3438,37 +3406,37 @@ var init_contracts$1 = __esmMin((() => {
3438
3406
  contentTypeName: z.string().nullable().optional(),
3439
3407
  updatedAt: z.string().nullable().optional()
3440
3408
  }).passthrough();
3441
- externalLinkSchema$1 = z.object({
3409
+ externalLinkSchema = z.object({
3442
3410
  kind: z.literal("external"),
3443
3411
  href: z.string().url()
3444
3412
  });
3445
- customLinkSchema$1 = z.object({
3413
+ customLinkSchema = z.object({
3446
3414
  kind: z.literal("url"),
3447
3415
  href: z.string().min(1)
3448
3416
  });
3449
- pageLinkSchema$1 = z.object({
3417
+ pageLinkSchema = z.object({
3450
3418
  kind: z.literal("page"),
3451
3419
  identifier: z.string().min(1)
3452
3420
  });
3453
- entryLinkSchema$1 = z.object({
3421
+ entryLinkSchema = z.object({
3454
3422
  kind: z.literal("entry"),
3455
3423
  contentType: z.string().min(1),
3456
3424
  identifier: z.string().min(1)
3457
3425
  });
3458
3426
  linkPayloadSchema = z.discriminatedUnion("kind", [
3459
3427
  internalLinkPayloadSchema,
3460
- pageLinkSchema$1,
3461
- entryLinkSchema$1,
3462
- externalLinkSchema$1,
3463
- customLinkSchema$1,
3428
+ pageLinkSchema,
3429
+ entryLinkSchema,
3430
+ externalLinkSchema,
3431
+ customLinkSchema,
3464
3432
  portalLinkPayloadSchema,
3465
3433
  cartLinkPayloadSchema
3466
3434
  ]);
3467
3435
  navigationLinkInputSchemaOptions = [
3468
- pageLinkSchema$1,
3469
- entryLinkSchema$1,
3470
- externalLinkSchema$1,
3471
- customLinkSchema$1,
3436
+ pageLinkSchema,
3437
+ entryLinkSchema,
3438
+ externalLinkSchema,
3439
+ customLinkSchema,
3472
3440
  portalLinkPayloadSchema,
3473
3441
  cartLinkPayloadSchema
3474
3442
  ];
@@ -3692,7 +3660,7 @@ var init_all = __esmMin((() => {
3692
3660
  }));
3693
3661
  //#endregion
3694
3662
  //#region ../theme-core/src/palette/types.ts
3695
- var init_types$16 = __esmMin((() => {}));
3663
+ var init_types$15 = __esmMin((() => {}));
3696
3664
  //#endregion
3697
3665
  //#region ../../node_modules/.pnpm/@vibrant+image@4.0.4/node_modules/@vibrant/image/dist/esm/histogram.js
3698
3666
  var Histogram;
@@ -5164,7 +5132,7 @@ function defineCuratedPalette(input) {
5164
5132
  };
5165
5133
  }
5166
5134
  var curatedPaletteAuthoringKeySchema;
5167
- var init_types$15 = __esmMin((() => {
5135
+ var init_types$14 = __esmMin((() => {
5168
5136
  init_styleTags();
5169
5137
  init_themeColorTokens();
5170
5138
  init_colors();
@@ -5205,7 +5173,7 @@ var init_types$15 = __esmMin((() => {
5205
5173
  //#region ../theme-core/src/palette/curated/brand-led.ts
5206
5174
  var brandLedCool, brandLedWarm, brandLedJewel, brandLedSpruce, brandLedBurgundyGold;
5207
5175
  var init_brand_led = __esmMin((() => {
5208
- init_types$15();
5176
+ init_types$14();
5209
5177
  brandLedCool = defineCuratedPalette({
5210
5178
  authoringKey: "brand-led-cool",
5211
5179
  name: "Brand-led — Cool",
@@ -5536,7 +5504,7 @@ var init_brand_led = __esmMin((() => {
5536
5504
  //#region ../theme-core/src/palette/curated/high-contrast.ts
5537
5505
  var highContrastInk, highContrastCharcoal, highContrastMonochrome;
5538
5506
  var init_high_contrast = __esmMin((() => {
5539
- init_types$15();
5507
+ init_types$14();
5540
5508
  highContrastInk = defineCuratedPalette({
5541
5509
  authoringKey: "high-contrast-ink",
5542
5510
  name: "High Contrast — Ink",
@@ -5737,7 +5705,7 @@ var init_high_contrast = __esmMin((() => {
5737
5705
  //#region ../theme-core/src/palette/curated/soft-natural.ts
5738
5706
  var softNaturalSage, softNaturalStone, softNaturalWatercolor, softNaturalLilac;
5739
5707
  var init_soft_natural = __esmMin((() => {
5740
- init_types$15();
5708
+ init_types$14();
5741
5709
  softNaturalSage = defineCuratedPalette({
5742
5710
  authoringKey: "soft-natural-sage",
5743
5711
  name: "Soft Natural — Sage",
@@ -6003,7 +5971,7 @@ var init_soft_natural = __esmMin((() => {
6003
5971
  //#region ../theme-core/src/palette/curated/warm-neutral.ts
6004
5972
  var warmNeutralClay, warmNeutralCream, warmNeutralSoftEarth, warmNeutralForest;
6005
5973
  var init_warm_neutral = __esmMin((() => {
6006
- init_types$15();
5974
+ init_types$14();
6007
5975
  warmNeutralClay = defineCuratedPalette({
6008
5976
  authoringKey: "warm-neutral-clay",
6009
5977
  name: "Warm Neutral — Clay",
@@ -6269,7 +6237,7 @@ var init_warm_neutral = __esmMin((() => {
6269
6237
  //#region ../theme-core/src/palette/curated/warm-dark.ts
6270
6238
  var warmDarkEmber, warmDarkKirtanGold;
6271
6239
  var init_warm_dark = __esmMin((() => {
6272
- init_types$15();
6240
+ init_types$14();
6273
6241
  warmDarkEmber = defineCuratedPalette({
6274
6242
  authoringKey: "warm-dark-ember",
6275
6243
  name: "Warm Dark — Ember",
@@ -6424,7 +6392,7 @@ var init_curated = __esmMin((() => {
6424
6392
  init_soft_natural();
6425
6393
  init_warm_neutral();
6426
6394
  init_warm_dark();
6427
- init_types$15();
6395
+ init_types$14();
6428
6396
  curatedPalettes = [
6429
6397
  admitCuratedPaletteDefinition(brandLedCool),
6430
6398
  admitCuratedPaletteDefinition(brandLedWarm),
@@ -6457,7 +6425,7 @@ var init_palette = __esmMin((() => {
6457
6425
  init_generateCssVars();
6458
6426
  init_generateShades();
6459
6427
  init_neutralScale();
6460
- init_types$16();
6428
+ init_types$15();
6461
6429
  init_utils$4();
6462
6430
  init_paletteAccess();
6463
6431
  init_extractPalette();
@@ -6609,7 +6577,7 @@ function createStandardButtonSurfacePolicy() {
6609
6577
  return Object.fromEntries(VARIANT_ROLES.map((role) => [role, [...STANDARD_BUTTON_SURFACE_POLICY[role]]]));
6610
6578
  }
6611
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;
6612
- var init_types$14 = __esmMin((() => {
6580
+ var init_types$13 = __esmMin((() => {
6613
6581
  init_themeColorTokens();
6614
6582
  init_colorTokenParts();
6615
6583
  VARIANT_ROLES = [
@@ -7056,7 +7024,7 @@ function getButtonEffectPolicy(effectId) {
7056
7024
  }
7057
7025
  var BUTTON_EFFECT_POLICIES;
7058
7026
  var init_effectClassification = __esmMin((() => {
7059
- init_types$14();
7027
+ init_types$13();
7060
7028
  BUTTON_EFFECT_POLICIES = {
7061
7029
  "darken-background": {
7062
7030
  classification: "colour-transition",
@@ -7319,7 +7287,7 @@ var init_contextualHover = __esmMin((() => {
7319
7287
  init_contrast();
7320
7288
  init_onColor();
7321
7289
  init_buttonColourContract();
7322
- init_types$14();
7290
+ init_types$13();
7323
7291
  }));
7324
7292
  //#endregion
7325
7293
  //#region ../theme-core/src/buttons/resolveButtonHoverTreatment.ts
@@ -7715,7 +7683,7 @@ var init_resolveButtonColourStates = __esmMin((() => {
7715
7683
  init_colorConversion();
7716
7684
  init_onColor();
7717
7685
  init_foregroundContract();
7718
- init_types$14();
7686
+ init_types$13();
7719
7687
  init_constants$1();
7720
7688
  init_effectClassification();
7721
7689
  init_resolveButtonHoverTreatment();
@@ -7726,12 +7694,12 @@ var init_resolveButtonColourStates = __esmMin((() => {
7726
7694
  var init_parseThemeForPersistence = __esmMin((() => {
7727
7695
  init_schema$2();
7728
7696
  init_resolveButtonColourStates();
7729
- init_types$14();
7697
+ init_types$13();
7730
7698
  }));
7731
7699
  //#endregion
7732
7700
  //#region ../theme-core/src/buttons/classNames.ts
7733
7701
  var init_classNames = __esmMin((() => {
7734
- init_types$14();
7702
+ init_types$13();
7735
7703
  }));
7736
7704
  //#endregion
7737
7705
  //#region ../theme-core/src/buttons/effects/presets/background.ts
@@ -7804,7 +7772,7 @@ var init_generateEffectsCSS = __esmMin((() => {
7804
7772
  //#endregion
7805
7773
  //#region ../theme-core/src/buttons/generateDefaultButtonSystem.ts
7806
7774
  var init_generateDefaultButtonSystem = __esmMin((() => {
7807
- init_types$14();
7775
+ init_types$13();
7808
7776
  }));
7809
7777
  //#endregion
7810
7778
  //#region ../theme-core/src/buttons/affordanceIcons.ts
@@ -8533,7 +8501,7 @@ var init_buttonSurfaceContext = __esmMin((() => {
8533
8501
  init_tokenOrColor();
8534
8502
  init_constants$1();
8535
8503
  init_resolveButtonColourStates();
8536
- init_types$14();
8504
+ init_types$13();
8537
8505
  NAMED_OPAQUE_COLOURS = {
8538
8506
  black: "#000000",
8539
8507
  white: "#ffffff",
@@ -8554,7 +8522,7 @@ var init_resolvedButtonCss = __esmMin((() => {
8554
8522
  init_buttonSurfaceContext();
8555
8523
  }));
8556
8524
  var init_generateButtonCss = __esmMin((() => {
8557
- init_types$14();
8525
+ init_types$13();
8558
8526
  init_classNames();
8559
8527
  init_generateEffectsCSS();
8560
8528
  init_generateDefaultButtonSystem();
@@ -8645,7 +8613,7 @@ function rolePriority(role) {
8645
8613
  }
8646
8614
  var PUBLIC_BUTTON_ROLES;
8647
8615
  var init_domain = __esmMin((() => {
8648
- init_types$14();
8616
+ init_types$13();
8649
8617
  PUBLIC_BUTTON_ROLES = VARIANT_ROLES;
8650
8618
  }));
8651
8619
  //#endregion
@@ -8658,7 +8626,7 @@ function selectionBranch(styleId, parameters) {
8658
8626
  }
8659
8627
  var BUTTON_STYLE_IDS, quietArrowParametersSchema, FLAT_INK_HOVER_TREATMENT_VALUES, flatInkHoverTreatmentSchema, flatInkHoverPreferencesShape, flatInkHoverPreferencesSchema, flatInkParametersSchema, emptyParametersSchema$1, buttonStyleSelectionWireSchema, buttonStyleSelectionSchema;
8660
8628
  var init_selection = __esmMin((() => {
8661
- init_types$14();
8629
+ init_types$13();
8662
8630
  BUTTON_STYLE_IDS = [
8663
8631
  "soft-pill",
8664
8632
  "earth-pill",
@@ -8705,7 +8673,7 @@ var init_selection = __esmMin((() => {
8705
8673
  var quietArrowRecipe;
8706
8674
  var init_quietArrow = __esmMin((() => {
8707
8675
  init_domain();
8708
- init_types$14();
8676
+ init_types$13();
8709
8677
  init_selection();
8710
8678
  quietArrowRecipe = defineButtonStyleRecipe({
8711
8679
  id: "quiet-arrow",
@@ -8867,7 +8835,7 @@ function paletteRole(preference) {
8867
8835
  }
8868
8836
  var contextualRoleConfig, hoverControl, lift, flatInkRecipe;
8869
8837
  var init_flatInk = __esmMin((() => {
8870
- init_types$14();
8838
+ init_types$13();
8871
8839
  init_domain();
8872
8840
  init_selection();
8873
8841
  contextualRoleConfig = {
@@ -9083,7 +9051,7 @@ function normalizeAppearanceOverrides(overrides) {
9083
9051
  }
9084
9052
  var emptyParametersSchema;
9085
9053
  var init_defineStaticButtonStyleRecipe = __esmMin((() => {
9086
- init_types$14();
9054
+ init_types$13();
9087
9055
  init_domain();
9088
9056
  emptyParametersSchema = z.object({}).strict();
9089
9057
  }));
@@ -9092,7 +9060,7 @@ var init_defineStaticButtonStyleRecipe = __esmMin((() => {
9092
9060
  var softPillRecipe, earthPillRecipe, confidentChipRecipe, editorialSizes, editorialLinkRecipe, pebbleRecipe, brushedWashRecipe, inkStampRecipe, showtimePillRecipe, joyStampRecipe, ornateGhostSizes, ornateRitualRecipe;
9093
9061
  var init_staticRecipes = __esmMin((() => {
9094
9062
  init_defineStaticButtonStyleRecipe();
9095
- init_types$14();
9063
+ init_types$13();
9096
9064
  softPillRecipe = defineStaticButtonStyleRecipe({
9097
9065
  id: "soft-pill",
9098
9066
  accessibilityLabel: "Rounded pill buttons with a gentle hover lift",
@@ -10315,7 +10283,7 @@ var init_presets$3 = __esmMin((() => {
10315
10283
  //#endregion
10316
10284
  //#region ../theme-core/src/buttons/index.ts
10317
10285
  var init_buttons = __esmMin((() => {
10318
- init_types$14();
10286
+ init_types$13();
10319
10287
  init_parseThemeForPersistence();
10320
10288
  init_classNames();
10321
10289
  init_generateButtonCss();
@@ -10433,7 +10401,7 @@ function validateUniqueDeclaredCardVariantRoles(system, ctx) {
10433
10401
  });
10434
10402
  }
10435
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;
10436
- var init_types$13 = __esmMin((() => {
10404
+ var init_types$12 = __esmMin((() => {
10437
10405
  init_themeColorTokens();
10438
10406
  cardVariantRoleValues = ["default", "alternative"];
10439
10407
  boxlessCardVariantValue = "none";
@@ -10599,13 +10567,13 @@ var init_generateDefaultCardSystem = __esmMin((() => {}));
10599
10567
  //#endregion
10600
10568
  //#region ../theme-core/src/cards/roles.ts
10601
10569
  var init_roles = __esmMin((() => {
10602
- init_types$13();
10570
+ init_types$12();
10603
10571
  }));
10604
10572
  //#endregion
10605
10573
  //#region ../theme-core/src/cards/generateCardCss.ts
10606
10574
  var init_generateCardCss = __esmMin((() => {
10607
10575
  init_roles();
10608
- init_types$13();
10576
+ init_types$12();
10609
10577
  init_surfaces();
10610
10578
  }));
10611
10579
  //#endregion
@@ -10616,7 +10584,7 @@ var init_core$2 = __esmMin((() => {
10616
10584
  //#endregion
10617
10585
  //#region ../theme-core/src/cards/index.ts
10618
10586
  var init_cards = __esmMin((() => {
10619
- init_types$13();
10587
+ init_types$12();
10620
10588
  init_constants();
10621
10589
  init_decorations();
10622
10590
  init_roles();
@@ -10628,7 +10596,7 @@ var init_cards = __esmMin((() => {
10628
10596
  //#endregion
10629
10597
  //#region ../theme-core/src/accordions/types.ts
10630
10598
  var accordionIconSchema, accordionSystemSchema;
10631
- var init_types$12 = __esmMin((() => {
10599
+ var init_types$11 = __esmMin((() => {
10632
10600
  init_themeColorTokens();
10633
10601
  accordionIconSchema = z.enum([
10634
10602
  "plus-minus",
@@ -10733,7 +10701,7 @@ var init_types$12 = __esmMin((() => {
10733
10701
  //#endregion
10734
10702
  //#region ../theme-core/src/inputs/types.ts
10735
10703
  var inputSystemSchema;
10736
- var init_types$11 = __esmMin((() => {
10704
+ var init_types$10 = __esmMin((() => {
10737
10705
  init_themeColorTokens();
10738
10706
  inputSystemSchema = z.object({
10739
10707
  base: z.object({
@@ -10833,7 +10801,7 @@ var init_types$11 = __esmMin((() => {
10833
10801
  * Gradient configuration types and schemas
10834
10802
  */
10835
10803
  var gradientStopSchema, radialGradientShapeSchema, gradientConfigSchema;
10836
- var init_types$10 = __esmMin((() => {
10804
+ var init_types$9 = __esmMin((() => {
10837
10805
  init_themeColorTokens();
10838
10806
  gradientStopSchema = z.object({
10839
10807
  color: themeColorTokenSchema,
@@ -10905,7 +10873,7 @@ var init_baseSchema = __esmMin((() => {
10905
10873
  * Schema and types for composable nav link styling used by header and footer.
10906
10874
  */
10907
10875
  var navLinkPaddingSchema, navLinkPaddingXSchema, navLinkBorderRadiusSchema, navLinkTextSizeSchema, navLinkLetterSpacingSchema, navLinkContrastTreatmentSchema, navLinkStyleSchema;
10908
- var init_types$9 = __esmMin((() => {
10876
+ var init_types$8 = __esmMin((() => {
10909
10877
  init_baseSchema();
10910
10878
  init_themeColorTokens();
10911
10879
  navLinkPaddingSchema = z.enum([
@@ -11160,7 +11128,7 @@ var init_componentStyles = __esmMin((() => {
11160
11128
  }));
11161
11129
  //#endregion
11162
11130
  //#region ../theme-core/src/shared/index.ts
11163
- var init_shared$5 = __esmMin((() => {
11131
+ var init_shared$4 = __esmMin((() => {
11164
11132
  init_componentStyles();
11165
11133
  }));
11166
11134
  //#endregion
@@ -11254,7 +11222,7 @@ function defineBlockDesignCapability(capability) {
11254
11222
  };
11255
11223
  }
11256
11224
  var plainFrame, tileTreatmentValues, eventListTreatmentValues, testimonialsCompositionTreatmentValues, offeringsPreviewCompositionTreatmentValues, eyebrowTreatmentValues, visibleHeadingDecorationFamilyValues, headingDecorationOverrideValues, headingDecorationColorTokenValues, noHeadingDecoration, accordionIconSetValues, accordionIconColorTokenValues, accordionIconMotionValues;
11257
- var init_types$8 = __esmMin((() => {
11225
+ var init_types$7 = __esmMin((() => {
11258
11226
  plainFrame = { kind: "plain" };
11259
11227
  tileTreatmentValues = [
11260
11228
  "default",
@@ -11596,14 +11564,14 @@ var init_schema$2 = __esmMin((() => {
11596
11564
  init_schema$3();
11597
11565
  init_buttons();
11598
11566
  init_cards();
11599
- init_types$12();
11600
11567
  init_types$11();
11601
11568
  init_types$10();
11602
11569
  init_types$9();
11570
+ init_types$8();
11603
11571
  init_validation$1();
11604
11572
  init_atRuleValidation();
11605
- init_shared$5();
11606
- init_types$8();
11573
+ init_shared$4();
11574
+ init_types$7();
11607
11575
  init_logoBranding();
11608
11576
  init_rawStyleFields();
11609
11577
  init_themeColorTokens();
@@ -12394,7 +12362,7 @@ var init_appearancePresetResolution = __esmMin((() => {
12394
12362
  })), brandScrimOptionGroups, microBannerLayoutPatches;
12395
12363
  var init_blockAppearancePresets = __esmMin((() => {
12396
12364
  init_appearancePresetResolution();
12397
- init_types$8();
12365
+ init_types$7();
12398
12366
  brandScrimOptionGroups = [{
12399
12367
  id: "image-surface-treatment",
12400
12368
  label: "Treatment",
@@ -12863,7 +12831,7 @@ var init_blockAppearancePresets = __esmMin((() => {
12863
12831
  id: "schedule-details-brand-depth",
12864
12832
  target: "events",
12865
12833
  label: "Brand-depth schedule details",
12866
- blockKinds: ["block.event-details", "block.course-details"],
12834
+ blockKinds: ["block.event-details"],
12867
12835
  design: {
12868
12836
  sectionSurface: "brand-depth-band",
12869
12837
  contentFrame: plainFrame,
@@ -13086,7 +13054,7 @@ function assertUniqueLayoutProfileKeys(profiles) {
13086
13054
  if (duplicates.length > 0) throw new Error(`Duplicate block layout design profiles: ${duplicates.join(", ")}`);
13087
13055
  }
13088
13056
  var init_blockFlow = __esmMin((() => {
13089
- init_types$8();
13057
+ init_types$7();
13090
13058
  }));
13091
13059
  //#endregion
13092
13060
  //#region ../theme-core/src/tokens/tokens.ts
@@ -13289,7 +13257,7 @@ function boundaryRuntimeMetrics(family, size, heightExpression) {
13289
13257
  }
13290
13258
  var noneBoundaryOption, softBoundaryOption, spaciousBoundaryOption;
13291
13259
  var init_sectionTransitions = __esmMin((() => {
13292
- init_types$8();
13260
+ init_types$7();
13293
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");
13294
13262
  noneBoundaryOption = {
13295
13263
  id: asBoundaryOptionId("break:none"),
@@ -13367,7 +13335,7 @@ function boundaryKey(previousBlockId, nextBlockId) {
13367
13335
  }
13368
13336
  var pageDesignUserPinnedAppearanceChoiceSchema, pageDesignUserPinnedBoundaryChoiceSchema, pageDesignBoundaryTreatmentSchema, pageDesignUserPinnedBoundaryTreatmentChoiceSchema, pageDesignBlockLookPinSchema, pageDesignBoundaryPinSchema, legacyPageDesignBoundaryPinSchema;
13369
13337
  var init_pageDesignIntent = __esmMin((() => {
13370
- init_types$8();
13338
+ init_types$7();
13371
13339
  init_sectionTransitions();
13372
13340
  asBoundaryOptionId("break:unknown");
13373
13341
  pageDesignUserPinnedAppearanceChoiceSchema = z.object({
@@ -14115,7 +14083,7 @@ var init_utils$2 = __esmMin((() => {}));
14115
14083
  //#endregion
14116
14084
  //#region ../theme-core/src/gradients/index.ts
14117
14085
  var init_gradients = __esmMin((() => {
14118
- init_types$10();
14086
+ init_types$9();
14119
14087
  init_presets$2();
14120
14088
  init_utils$2();
14121
14089
  }));
@@ -14162,7 +14130,7 @@ function supportedLayouts(ids) {
14162
14130
  var titleOnlyLogoAccommodation, inlineWordmarkLogoAccommodation, inlineMarkWithTitleLogoAccommodation, logoPlateAccommodation, centeredBadgeAccommodation, popoutBadgeAccommodation, centeredMastheadAccommodation, unbackedOverlayLogoAccommodation, inlineClassicLogoAccommodations, centeredLogoAccommodations, overlayLogoAccommodations, headerLayoutCatalog, headerStyleCatalog;
14163
14131
  var init_headerLayoutCatalog = __esmMin((() => {
14164
14132
  init_logoBranding();
14165
- init_types$8();
14133
+ init_types$7();
14166
14134
  init_headerInteractionPalette();
14167
14135
  init_headerLayoutTypes();
14168
14136
  titleOnlyLogoAccommodation = {
@@ -14495,7 +14463,7 @@ function emphasizedFooterLinks(theme) {
14495
14463
  }
14496
14464
  var footerLookCatalog;
14497
14465
  var init_footerLooks = __esmMin((() => {
14498
- init_types$8();
14466
+ init_types$7();
14499
14467
  footerLookCatalog = defineExactCatalog()([{
14500
14468
  id: asFooterLookId("footer-links-quiet"),
14501
14469
  label: "Quiet links",
@@ -14514,7 +14482,7 @@ var init_footerLooks = __esmMin((() => {
14514
14482
  var init_curatedChoices = __esmMin((() => {})), generatedContentFrames, userContentFrames, generatedDesignOptionCatalog, userDesignOptionCatalog;
14515
14483
  var init_sourceCatalogs = __esmMin((() => {
14516
14484
  init_cards();
14517
- init_types$8();
14485
+ init_types$7();
14518
14486
  generatedContentFrames = [
14519
14487
  plainFrame,
14520
14488
  panelFrame("inset"),
@@ -15030,7 +14998,7 @@ var init_siteStyleTypography = __esmMin((() => {
15030
14998
  };
15031
14999
  })), designResolutionPolicySchema, runtimeStyleFieldNameSchema, nonEmptyRuntimeStyleFieldNamesSchema, styleAuthoritySchema;
15032
15000
  var init_designState = __esmMin((() => {
15033
- init_types$8();
15001
+ init_types$7();
15034
15002
  init_rawStyleFields();
15035
15003
  designResolutionPolicySchema = z.enum([
15036
15004
  "generated",
@@ -15285,7 +15253,7 @@ var init_curatedSiteStyles = __esmMin((() => {
15285
15253
  init_headerLayoutStyles();
15286
15254
  init_footerLooks();
15287
15255
  init_sourceCatalogs();
15288
- init_types$8();
15256
+ init_types$7();
15289
15257
  init_siteStyleTypography();
15290
15258
  init_runtimeCompiler();
15291
15259
  SOFT_EARTH_SITE_STYLE_ID_VALUE = "site-style:soft-earth";
@@ -16882,7 +16850,7 @@ var init_siteStyleBlockPolicies = __esmMin((() => {
16882
16850
  init_lookResolution();
16883
16851
  init_appearancePresets();
16884
16852
  init_pageDesignIntent();
16885
- init_types$8();
16853
+ init_types$7();
16886
16854
  init_sectionTransitions();
16887
16855
  asPageFlowPresetId("generated-default");
16888
16856
  asSiteStyleId("site-style:south-west-twerk-school");
@@ -16896,12 +16864,12 @@ var init_pageDesignEditorModel = __esmMin((() => {
16896
16864
  init_lookResolution();
16897
16865
  init_siteStyleBlockPolicies();
16898
16866
  init_pageDesignIntent();
16899
- init_types$8();
16867
+ init_types$7();
16900
16868
  init_sectionTransitions();
16901
16869
  asPageFlowPresetId("flow:quiet"), noneBoundaryOption.id, asPageFlowPresetId("flow:balanced"), softBoundaryOption.id, asPageFlowPresetId("flow:expressive"), spaciousBoundaryOption.id;
16902
16870
  })), blockDesignFallback;
16903
16871
  var init_resolver$1 = __esmMin((() => {
16904
- init_types$8();
16872
+ init_types$7();
16905
16873
  blockDesignFallback = {
16906
16874
  sectionSurface: "base",
16907
16875
  contentFrame: plainFrame,
@@ -16964,7 +16932,7 @@ var init_previewCompiler = __esmMin((() => {
16964
16932
  init_pageDesignEditorModel();
16965
16933
  init_pageDesignIntent();
16966
16934
  init_previewCustomization();
16967
- init_types$8();
16935
+ init_types$7();
16968
16936
  }));
16969
16937
  //#endregion
16970
16938
  //#region ../theme-core/src/site-styles/contentTemplateRuntimeCompiler.ts
@@ -16999,7 +16967,7 @@ var init_generatedSchemas = __esmMin((() => {
16999
16967
  init_cardRoleVocabulary();
17000
16968
  init_curatedSiteStyles();
17001
16969
  init_sourceCatalogs();
17002
- init_types$8();
16970
+ init_types$7();
17003
16971
  generatedPanelTreatments = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "panel").map((frame) => frame.treatment));
17004
16972
  generatedFlushTreatments = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.treatment));
17005
16973
  generatedFlushBleeds = uniqueNonEmpty(generatedDesignOptionCatalog.contentFrames.filter((frame) => frame.kind === "flush-panel").map((frame) => frame.bleed));
@@ -17116,7 +17084,7 @@ function collectBlockSequenceIssues(snapshots) {
17116
17084
  }
17117
17085
  var nonEmptyStringSchema, blockContentVersionIdSchema, designBlockIdSchema, designPageIdSchema, designEntryIdSchema, blockOrderIndexSchema, publishedPageBlockSnapshotSchema, draftPageBlockSnapshotSchema, missingPageBlockSnapshotSchema, pageBlockSnapshotSchema, publishedPageBlockSequenceSchema, draftPageBlockSequenceSchema, publishedPageDesignVersionDataV1Schema, draftPageDesignVersionDataV1Schema;
17118
17086
  var init_pageDesignAuthority = __esmMin((() => {
17119
- init_types$8();
17087
+ init_types$7();
17120
17088
  init_pageDesignIntent();
17121
17089
  nonEmptyStringSchema = z.string().min(1);
17122
17090
  blockContentVersionIdSchema = nonEmptyStringSchema.transform(asBlockContentVersionId);
@@ -17329,7 +17297,7 @@ var init_site_styles = __esmMin((() => {
17329
17297
  init_tokenRecipes();
17330
17298
  init_siteStyleTypography();
17331
17299
  init_themeParity();
17332
- init_types$8();
17300
+ init_types$7();
17333
17301
  }));
17334
17302
  //#endregion
17335
17303
  //#region ../theme-core/src/footer/mode.ts
@@ -17342,7 +17310,7 @@ var init_shadow = __esmMin((() => {
17342
17310
  //#endregion
17343
17311
  //#region ../theme-core/src/accordions/generateAccordionCss.ts
17344
17312
  var init_generateAccordionCss = __esmMin((() => {
17345
- init_types$12();
17313
+ init_types$11();
17346
17314
  init_colorStyles();
17347
17315
  init_surfaces();
17348
17316
  }));
@@ -17354,13 +17322,13 @@ var init_defaults = __esmMin((() => {
17354
17322
  //#endregion
17355
17323
  //#region ../theme-core/src/inputs/generateInputCss.ts
17356
17324
  var init_generateInputCss = __esmMin((() => {
17357
- init_types$11();
17325
+ init_types$10();
17358
17326
  init_colorStyles();
17359
17327
  }));
17360
17328
  //#endregion
17361
17329
  //#region ../theme-core/src/navigation/generateNavLinkCSS.ts
17362
17330
  var init_generateNavLinkCSS = __esmMin((() => {
17363
- init_types$9();
17331
+ init_types$8();
17364
17332
  init_generateEffectsCSS();
17365
17333
  })), NAV_DROPDOWN_SHIFT_PROPERTY, NAV_DROPDOWN_MAX_WIDTH_CSS;
17366
17334
  var init_navDropdownSizing = __esmMin((() => {
@@ -17371,7 +17339,7 @@ var init_navDropdownSizing = __esmMin((() => {
17371
17339
  //#endregion
17372
17340
  //#region ../theme-core/src/header/surfaceRules.ts
17373
17341
  var init_surfaceRules = __esmMin((() => {
17374
- init_shared$5();
17342
+ init_shared$4();
17375
17343
  init_colorStyles();
17376
17344
  })), NAV_LINK_PRESETS;
17377
17345
  var init_presets$1 = __esmMin((() => {
@@ -17533,7 +17501,7 @@ var init_legacyNavLinkStyle = __esmMin((() => {
17533
17501
  //#region ../theme-core/src/header/generateHeaderCss.ts
17534
17502
  var init_generateHeaderCss = __esmMin((() => {
17535
17503
  init_generateNavLinkCSS();
17536
- init_shared$5();
17504
+ init_shared$4();
17537
17505
  init_breakpoints();
17538
17506
  init_navDropdownSizing();
17539
17507
  init_scrollTreatment();
@@ -18136,180 +18104,6 @@ var init_testimonials$1 = __esmMin((() => {
18136
18104
  };
18137
18105
  }));
18138
18106
  //#endregion
18139
- //#region ../theme-core/src/blocks/vars/course-details.ts
18140
- /**
18141
- * Generate CSS variables for the course-details block.
18142
- *
18143
- * Variables defined:
18144
- * - Enrollment status colors (open/closed)
18145
- * - Capacity indicator colors (available/low/full)
18146
- * - Price display colors (free indicator)
18147
- */
18148
- function generateCourseDetailsVars({ themeId }) {
18149
- return `
18150
- ${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-details"])`} {
18151
- /* Enrollment status */
18152
- --cd-enrollment-open-text: rgb(var(--tb-success));
18153
- --cd-enrollment-closed-text: rgb(var(--tb-mutedText));
18154
-
18155
- /* Capacity indicator */
18156
- --cd-capacity-available-text: rgb(var(--tb-success));
18157
- --cd-capacity-low-text: rgb(var(--tb-warning));
18158
- --cd-capacity-full-text: rgb(var(--tb-destructive, 239 68 68));
18159
-
18160
- /* Price styling */
18161
- --cd-price-free-text: rgb(var(--tb-success));
18162
- }
18163
- `;
18164
- }
18165
- var init_course_details$1 = __esmMin((() => {}));
18166
- //#endregion
18167
- //#region ../theme-core/src/blocks/vars/course-registration.ts
18168
- /**
18169
- * Generate CSS variables for the course-registration block.
18170
- *
18171
- * Variables defined:
18172
- * - Step indicator colors (active, inactive, completed, text, connector)
18173
- * - Success/error/waitlist state backgrounds and text colors
18174
- * - Capacity badge colors (available, low, sold-out)
18175
- * - Border colors for various interaction states
18176
- * - Input focus and required marker styling
18177
- * - Payment option card styling
18178
- * - Checkmark indicator colors
18179
- * - Summary styling
18180
- */
18181
- function generateCourseRegistrationVars({ themeId }) {
18182
- return `
18183
- ${`:where([data-theme-scope="${themeId}"]) :where([data-block="course-registration"])`} {
18184
- /* Step indicator */
18185
- --cr-step-active: rgb(var(--tb-primary));
18186
- --cr-step-inactive: rgb(var(--tb-mutedText));
18187
- --cr-step-completed: rgb(var(--tb-success));
18188
- --cr-step-text: rgb(255 255 255);
18189
- --cr-step-text-active: rgb(var(--tb-primaryText, 255 255 255));
18190
- --cr-step-connector: rgba(var(--tb-border), 0.5);
18191
-
18192
- /* Step title */
18193
- --cr-step-title-size: 1.5rem;
18194
-
18195
- /* State backgrounds with alpha */
18196
- --cr-success-bg: rgba(var(--tb-success), 0.1);
18197
- --cr-success-text: rgb(var(--tb-success));
18198
- --cr-error-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18199
- --cr-error-text: rgb(var(--tb-destructive, 239 68 68));
18200
- --cr-waitlist-bg: rgba(var(--tb-warning), 0.1);
18201
- --cr-waitlist-text: rgb(var(--tb-warning));
18202
-
18203
- /* Capacity badges */
18204
- --cr-capacity-available-bg: rgba(var(--tb-success), 0.1);
18205
- --cr-capacity-available-text: rgb(var(--tb-success));
18206
- --cr-capacity-low-bg: rgba(var(--tb-warning), 0.1);
18207
- --cr-capacity-low-text: rgb(var(--tb-warning));
18208
- --cr-capacity-soldout-bg: rgba(var(--tb-destructive, 239 68 68), 0.1);
18209
- --cr-capacity-soldout-text: rgb(var(--tb-destructive, 239 68 68));
18210
-
18211
- /* Borders */
18212
- --cr-border: rgb(var(--tb-border));
18213
- --cr-border-hover: rgba(var(--tb-primary), 0.5);
18214
- --cr-border-selected: rgb(var(--tb-primary));
18215
- --cr-border-error: rgb(var(--tb-destructive, 239 68 68));
18216
-
18217
- /* Input focus */
18218
- --cr-focus-ring: rgba(var(--tb-primary), 0.3);
18219
-
18220
- /* Required marker */
18221
- --cr-required: rgb(var(--tb-destructive, 239 68 68));
18222
-
18223
- /* Payment option cards */
18224
- --cr-payment-border: rgb(var(--tb-border));
18225
- --cr-payment-border-hover: rgba(var(--tb-primary), 0.5);
18226
- --cr-payment-border-selected: rgb(var(--tb-primary));
18227
- --cr-payment-bg-selected: rgba(var(--tb-primary), 0.08);
18228
-
18229
- /* Checkmark indicator */
18230
- --cr-check-bg: rgb(var(--tb-primary));
18231
- --cr-check-text: rgb(var(--tb-primaryText, 255 255 255));
18232
-
18233
- /* Summary */
18234
- --cr-summary-bg: rgba(var(--tb-primary), 0.1);
18235
- --cr-summary-border: rgb(var(--tb-border));
18236
-
18237
- ${EVENT_WHOLE_SERIES_VARIABLE_BRIDGE}
18238
-
18239
- /* Shared registration-surface mappings (issue 1174).
18240
- Route the shared --rb-reg-* contract through this block's Tier 3 vars
18241
- (palette tokens where no --cr-* var exists) so existing --cr-* overrides
18242
- keep working unchanged. */
18243
- --rb-reg-radius: var(--rb-block-radius);
18244
- --rb-reg-border: var(--cr-border);
18245
- --rb-reg-border-hover: var(--cr-border-hover);
18246
- --rb-reg-border-selected: var(--cr-border-selected);
18247
- --rb-reg-bg-selected: var(--cr-payment-bg-selected);
18248
- --rb-reg-option-bg: rgb(var(--tb-background));
18249
- --rb-reg-option-hover-shadow: 0 8px 18px rgba(var(--tb-shadow, 15 23 42), 0.08);
18250
- --rb-reg-surface-bg: rgb(var(--tb-surface));
18251
- --rb-reg-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
18252
- --rb-reg-on-surface-muted: rgba(var(--tb-onSurface, var(--tb-text)), 0.7);
18253
- --rb-reg-on-surface-subtle: rgba(var(--tb-onSurface, var(--tb-text)), 0.6);
18254
- --rb-reg-on-surface-faint: rgba(var(--tb-onSurface, var(--tb-text)), 0.5);
18255
- --rb-reg-check-bg: var(--cr-check-bg);
18256
- --rb-reg-check-text: var(--cr-check-text);
18257
- --rb-reg-step-active: var(--cr-step-active);
18258
- --rb-reg-step-completed: var(--cr-step-completed);
18259
- --rb-reg-step-inactive: var(--cr-step-inactive);
18260
- --rb-reg-step-text: var(--cr-step-text);
18261
- --rb-reg-step-text-active: var(--cr-step-text-active);
18262
- --rb-reg-step-connector: var(--cr-step-connector);
18263
- --rb-reg-summary-bg: var(--cr-summary-bg);
18264
- --rb-reg-summary-border: var(--cr-summary-border);
18265
- --rb-reg-focus-ring: var(--cr-focus-ring);
18266
- --rb-reg-shell-line: rgba(var(--tb-mutedText, 100 116 139), 0.22);
18267
- }
18268
- `;
18269
- }
18270
- var EVENT_WHOLE_SERIES_VARIABLE_BRIDGE;
18271
- var init_course_registration$1 = __esmMin((() => {
18272
- EVENT_WHOLE_SERIES_VARIABLE_BRIDGE = `
18273
- /* Temporary bridge while persisted Course blocks render the Event-owned
18274
- whole-series registration runtime. Removed with the Course block. */
18275
- --er-step-active: var(--cr-step-active);
18276
- --er-step-inactive: var(--cr-step-inactive);
18277
- --er-step-completed: var(--cr-step-completed);
18278
- --er-step-text: var(--cr-step-text);
18279
- --er-step-text-active: var(--cr-step-text-active);
18280
- --er-step-connector: var(--cr-step-connector);
18281
- --er-step-title-size: var(--cr-step-title-size);
18282
- --er-success-bg: var(--cr-success-bg);
18283
- --er-success-text: var(--cr-success-text);
18284
- --er-error-bg: var(--cr-error-bg);
18285
- --er-error-text: var(--cr-error-text);
18286
- --er-waitlist-bg: var(--cr-waitlist-bg);
18287
- --er-waitlist-text: var(--cr-waitlist-text);
18288
- --er-capacity-available-bg: var(--cr-capacity-available-bg);
18289
- --er-capacity-available-text: var(--cr-capacity-available-text);
18290
- --er-capacity-low-bg: var(--cr-capacity-low-bg);
18291
- --er-capacity-low-text: var(--cr-capacity-low-text);
18292
- --er-capacity-soldout-bg: var(--cr-capacity-soldout-bg);
18293
- --er-capacity-soldout-text: var(--cr-capacity-soldout-text);
18294
- --er-border: var(--cr-border);
18295
- --er-border-hover: var(--cr-border-hover);
18296
- --er-border-selected: var(--cr-border-selected);
18297
- --er-border-error: var(--cr-border-error);
18298
- --er-focus-ring: var(--cr-focus-ring);
18299
- --er-required: var(--cr-required);
18300
- --er-payment-border: var(--cr-payment-border);
18301
- --er-payment-border-hover: var(--cr-payment-border-hover);
18302
- --er-payment-border-selected: var(--cr-payment-border-selected);
18303
- --er-payment-bg-selected: var(--cr-payment-bg-selected);
18304
- --er-check-bg: var(--cr-check-bg);
18305
- --er-check-text: var(--cr-check-text);
18306
- --er-summary-bg: var(--cr-summary-bg);
18307
- --er-summary-border: var(--cr-summary-border);
18308
- --er-on-surface: rgb(var(--tb-onSurface, var(--tb-text)));
18309
- --er-on-surface-hover-bg: rgba(var(--tb-onSurface, var(--tb-text)), 0.05);
18310
- `;
18311
- }));
18312
- //#endregion
18313
18107
  //#region ../theme-core/src/blocks/registry.ts
18314
18108
  var blockVarRegistry;
18315
18109
  var init_registry$6 = __esmMin((() => {
@@ -18320,8 +18114,6 @@ var init_registry$6 = __esmMin((() => {
18320
18114
  init_form_block();
18321
18115
  init_customer_portal();
18322
18116
  init_testimonials$1();
18323
- init_course_details$1();
18324
- init_course_registration$1();
18325
18117
  blockVarRegistry = /* @__PURE__ */ new Map();
18326
18118
  blockVarRegistry.set("event-registration", generateEventRegistrationVars);
18327
18119
  blockVarRegistry.set("event-calendar", generateEventCalendarVars);
@@ -18332,8 +18124,6 @@ var init_registry$6 = __esmMin((() => {
18332
18124
  blockVarRegistry.set("form", generateFormBlockVars);
18333
18125
  blockVarRegistry.set("customer-portal", generateCustomerPortalVars);
18334
18126
  blockVarRegistry.set("testimonials", generateTestimonialsVars);
18335
- blockVarRegistry.set("course-details", generateCourseDetailsVars);
18336
- blockVarRegistry.set("course-registration", generateCourseRegistrationVars);
18337
18127
  }));
18338
18128
  //#endregion
18339
18129
  //#region ../theme-core/src/blocks/vars/index.ts
@@ -18342,7 +18132,6 @@ var init_vars = __esmMin((() => {
18342
18132
  init_event_cards();
18343
18133
  init_customer_portal();
18344
18134
  init_testimonials$1();
18345
- init_course_registration$1();
18346
18135
  }));
18347
18136
  //#endregion
18348
18137
  //#region ../theme-core/src/blocks/index.ts
@@ -18443,7 +18232,7 @@ var init_fonts = __esmMin((() => {}));
18443
18232
  var init_core$1 = __esmMin((() => {
18444
18233
  init_resolveButtonColourStates();
18445
18234
  init_resolvedButtonCss();
18446
- init_types$14();
18235
+ init_types$13();
18447
18236
  }));
18448
18237
  var init_buildThemeRuntimeFromBridge = __esmMin((() => {
18449
18238
  init_shadow();
@@ -18530,7 +18319,7 @@ function planSiteChromePlacement(positioning) {
18530
18319
  }
18531
18320
  var HEADER_POSITIONINGS;
18532
18321
  var init_siteChromePlacement = __esmMin((() => {
18533
- init_types$8();
18322
+ init_types$7();
18534
18323
  HEADER_POSITIONINGS = [
18535
18324
  "static",
18536
18325
  "sticky",
@@ -18633,7 +18422,7 @@ var init_registry$5 = __esmMin((() => {
18633
18422
  }));
18634
18423
  //#endregion
18635
18424
  //#region ../media-core/src/types.ts
18636
- var init_types$7 = __esmMin((() => {}));
18425
+ var init_types$6 = __esmMin((() => {}));
18637
18426
  //#endregion
18638
18427
  //#region ../media-core/src/fileSafety.ts
18639
18428
  var init_fileSafety = __esmMin((() => {})), AMBIENT_BACKGROUND_ROLES;
@@ -18909,7 +18698,7 @@ var init_contentMediaSnapshotAudit = __esmMin((() => {}));
18909
18698
  //#endregion
18910
18699
  //#region ../media-core/src/index.ts
18911
18700
  var init_src$3 = __esmMin((() => {
18912
- init_types$7();
18701
+ init_types$6();
18913
18702
  init_fileDomain();
18914
18703
  init_fileStorage();
18915
18704
  init_storagePathDomain();
@@ -20745,7 +20534,7 @@ function validateProps(props, context = "node builder") {
20745
20534
  else console.error(message);
20746
20535
  }
20747
20536
  var RESERVED_KEYS;
20748
- var init_types$6 = __esmMin((() => {
20537
+ var init_types$5 = __esmMin((() => {
20749
20538
  init_env();
20750
20539
  RESERVED_KEYS = [
20751
20540
  "children",
@@ -20847,10 +20636,10 @@ function devValidate(node) {
20847
20636
  } catch {}
20848
20637
  return node;
20849
20638
  }
20850
- 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;
20851
20640
  var init_builder$1 = __esmMin((() => {
20852
20641
  init_schema$1();
20853
- init_types$6();
20642
+ init_types$5();
20854
20643
  init_env();
20855
20644
  section = (props, children, ...mods) => el$1("section", props, children, ...mods);
20856
20645
  headerSection = (props, children, ...mods) => el$1("headerSection", props, children, ...mods);
@@ -20876,7 +20665,6 @@ var init_builder$1 = __esmMin((() => {
20876
20665
  cart = (props, children, ...mods) => el$1("cart", props, children, ...mods);
20877
20666
  checkout = (props, children, ...mods) => el$1("checkout", props, children, ...mods);
20878
20667
  gifting = (props, children, ...mods) => el$1("gifting", props, children, ...mods);
20879
- courseRegistration = (props, children, ...mods) => el$1("course-registration", props, children, ...mods);
20880
20668
  }));
20881
20669
  //#endregion
20882
20670
  //#region ../blocks/src/system/node/fragments/backgroundLayer.ts
@@ -22750,7 +22538,7 @@ function scopeContentPath(path, scope) {
22750
22538
  return `content.${scope}.${path}`;
22751
22539
  }
22752
22540
  var FRAGMENT_ID_PATTERN, FIELD_ID_PATTERN, dataLoaderSchema, fragmentDataSchema, fragmentConfigSchema, FragmentConfigError;
22753
- var init_types$5 = __esmMin((() => {
22541
+ var init_types$4 = __esmMin((() => {
22754
22542
  init_schema();
22755
22543
  init_node();
22756
22544
  FRAGMENT_ID_PATTERN = /^[a-z0-9](?:[a-z0-9._-]*[a-z0-9])?$/i;
@@ -22869,7 +22657,7 @@ function buildFragmentDataLoaders(composition) {
22869
22657
  }
22870
22658
  var FragmentCompositionError, DOT_SCOPE_REGEX;
22871
22659
  var init_builder = __esmMin((() => {
22872
- init_types$5();
22660
+ init_types$4();
22873
22661
  FragmentCompositionError = class extends Error {
22874
22662
  constructor(message) {
22875
22663
  super(message);
@@ -22927,7 +22715,7 @@ var init_toRepeaterSchema = __esmMin((() => {}));
22927
22715
  //#region ../blocks/src/system/fragments/library/bodyCopy.ts
22928
22716
  var bodyCopyFragment;
22929
22717
  var init_bodyCopy = __esmMin((() => {
22930
- init_types$5();
22718
+ init_types$4();
22931
22719
  init_builder$1();
22932
22720
  bodyCopyFragment = defineFragment$2({
22933
22721
  id: "bodyCopy",
@@ -22994,7 +22782,7 @@ var init_bodyCopy = __esmMin((() => {
22994
22782
  //#region ../blocks/src/system/fragments/library/heroCopy.ts
22995
22783
  var heroCopyFragment;
22996
22784
  var init_heroCopy = __esmMin((() => {
22997
- init_types$5();
22785
+ init_types$4();
22998
22786
  init_builder$1();
22999
22787
  init_fragments$1();
23000
22788
  heroCopyFragment = defineFragment$2({
@@ -23054,7 +22842,7 @@ var init_heroCopy = __esmMin((() => {
23054
22842
  //#region ../blocks/src/system/fragments/library/heroLayoutControls.ts
23055
22843
  var heroLayoutControlsFragment;
23056
22844
  var init_heroLayoutControls = __esmMin((() => {
23057
- init_types$5();
22845
+ init_types$4();
23058
22846
  heroLayoutControlsFragment = defineFragment$2({
23059
22847
  id: "heroLayoutControls",
23060
22848
  title: "Hero Layout",
@@ -23344,7 +23132,7 @@ var init_ctas = __esmMin((() => {
23344
23132
  //#region ../blocks/src/system/fragments/library/ctaRow.ts
23345
23133
  var ctaRowFragment;
23346
23134
  var init_ctaRow = __esmMin((() => {
23347
- init_types$5();
23135
+ init_types$4();
23348
23136
  init_fragments$1();
23349
23137
  init_ctas();
23350
23138
  ctaRowFragment = defineFragment$2({
@@ -23367,7 +23155,7 @@ var init_ctaRow = __esmMin((() => {
23367
23155
  //#region ../blocks/src/system/fragments/library/heroCtaRow.ts
23368
23156
  var heroCtaFields, heroCtaRowFragment;
23369
23157
  var init_heroCtaRow = __esmMin((() => {
23370
- init_types$5();
23158
+ init_types$4();
23371
23159
  init_fragments$1();
23372
23160
  init_ctas();
23373
23161
  heroCtaFields = [createCtasRepeater({
@@ -23424,7 +23212,7 @@ var init_heroCtaRow = __esmMin((() => {
23424
23212
  //#region ../blocks/src/system/fragments/library/ctaCopy.ts
23425
23213
  var ctaCopyFragment;
23426
23214
  var init_ctaCopy = __esmMin((() => {
23427
- init_types$5();
23215
+ init_types$4();
23428
23216
  init_fragments$1();
23429
23217
  init_builder$1();
23430
23218
  ctaCopyFragment = defineFragment$2({
@@ -23464,7 +23252,7 @@ var init_ctaCopy = __esmMin((() => {
23464
23252
  //#region ../blocks/src/system/fragments/library/testimonialsHeading.ts
23465
23253
  var testimonialsHeadingFragment;
23466
23254
  var init_testimonialsHeading = __esmMin((() => {
23467
- init_types$5();
23255
+ init_types$4();
23468
23256
  init_builder$1();
23469
23257
  init_colorStyles();
23470
23258
  testimonialsHeadingFragment = defineFragment$2({
@@ -23741,7 +23529,7 @@ function buildFeaturedEditorialLayout() {
23741
23529
  }
23742
23530
  var grid$4, FEATURED_EDITORIAL_SLOTS, TESTIMONIALS_CARD_STYLES_PATH, testimonialsCarouselFragment;
23743
23531
  var init_testimonialsCarousel = __esmMin((() => {
23744
- init_types$5();
23532
+ init_types$4();
23745
23533
  init_builder$1();
23746
23534
  init_fragments$1();
23747
23535
  init_boxStyleClassNames();
@@ -24000,7 +23788,7 @@ var init_testimonialsCarousel = __esmMin((() => {
24000
23788
  //#region ../blocks/src/system/fragments/library/formCopy.ts
24001
23789
  var formCopyFragment;
24002
23790
  var init_formCopy = __esmMin((() => {
24003
- init_types$5();
23791
+ init_types$4();
24004
23792
  init_builder$1();
24005
23793
  formCopyFragment = defineFragment$2({
24006
23794
  id: "formCopy",
@@ -24041,7 +23829,7 @@ var init_api_bindings = __esmMin((() => {
24041
23829
  //#region ../blocks/src/system/fragments/library/formEmbed.ts
24042
23830
  var formEmbedFragment;
24043
23831
  var init_formEmbed = __esmMin((() => {
24044
- init_types$5();
23832
+ init_types$4();
24045
23833
  init_builder$1();
24046
23834
  init_api_bindings();
24047
23835
  formEmbedFragment = defineFragment$2({
@@ -24191,7 +23979,7 @@ var init_headerCta = __esmMin((() => {
24191
23979
  //#region ../blocks/src/system/fragments/library/singleButton.ts
24192
23980
  var singleButtonFragment;
24193
23981
  var init_singleButton = __esmMin((() => {
24194
- init_types$5();
23982
+ init_types$4();
24195
23983
  init_fragments$1();
24196
23984
  init_button();
24197
23985
  singleButtonFragment = defineFragment$2({
@@ -24217,7 +24005,7 @@ var init_singleButton = __esmMin((() => {
24217
24005
  //#region ../blocks/src/system/fragments/library/blogFeaturedPost.ts
24218
24006
  var blogFeaturedPostFragment;
24219
24007
  var init_blogFeaturedPost = __esmMin((() => {
24220
- init_types$5();
24008
+ init_types$4();
24221
24009
  init_fragments$1();
24222
24010
  init_builder$1();
24223
24011
  init_colorStyles();
@@ -24326,7 +24114,7 @@ function faqHeadingLayout() {
24326
24114
  }
24327
24115
  var faqHeadingFragment;
24328
24116
  var init_faqHeading = __esmMin((() => {
24329
- init_types$5();
24117
+ init_types$4();
24330
24118
  init_builder$1();
24331
24119
  init_fragments$1();
24332
24120
  init_colorStyles();
@@ -24398,7 +24186,7 @@ function createFaqAccordionLayout(options = {}) {
24398
24186
  var faqAccordionFragment;
24399
24187
  var init_faqAccordion = __esmMin((() => {
24400
24188
  init_builder$1();
24401
- init_types$5();
24189
+ init_types$4();
24402
24190
  faqAccordionFragment = defineFragment$2({
24403
24191
  id: "faqAccordion",
24404
24192
  title: "FAQ Accordion",
@@ -24432,7 +24220,7 @@ var init_faqAccordion = __esmMin((() => {
24432
24220
  //#region ../blocks/src/system/fragments/library/newsletterCopy.ts
24433
24221
  var newsletterCopyFragment;
24434
24222
  var init_newsletterCopy = __esmMin((() => {
24435
- init_types$5();
24223
+ init_types$4();
24436
24224
  init_builder$1();
24437
24225
  newsletterCopyFragment = defineFragment$2({
24438
24226
  id: "newsletterCopy",
@@ -24459,7 +24247,7 @@ var init_newsletterCopy = __esmMin((() => {
24459
24247
  //#region ../blocks/src/system/fragments/library/newsletterForm.ts
24460
24248
  var newsletterFormFragment;
24461
24249
  var init_newsletterForm = __esmMin((() => {
24462
- init_types$5();
24250
+ init_types$4();
24463
24251
  init_builder$1();
24464
24252
  init_api_bindings();
24465
24253
  init_button();
@@ -24620,7 +24408,7 @@ var init_newsletterForm = __esmMin((() => {
24620
24408
  //#region ../blocks/src/system/fragments/library/card.ts
24621
24409
  var cardVariantOptions, cardFragment;
24622
24410
  var init_card = __esmMin((() => {
24623
- init_types$5();
24411
+ init_types$4();
24624
24412
  init_builder$1();
24625
24413
  init_ctas();
24626
24414
  init_ctaRow$1();
@@ -24750,7 +24538,7 @@ var init_card = __esmMin((() => {
24750
24538
  //#region ../blocks/src/system/fragments/library/heading.ts
24751
24539
  var headingFragment;
24752
24540
  var init_heading = __esmMin((() => {
24753
- init_types$5();
24541
+ init_types$4();
24754
24542
  init_builder$1();
24755
24543
  headingFragment = defineFragment$2({
24756
24544
  id: "heading",
@@ -24795,7 +24583,7 @@ var init_heading = __esmMin((() => {
24795
24583
  //#region ../blocks/src/system/fragments/library/richText.ts
24796
24584
  var richTextFragment;
24797
24585
  var init_richText = __esmMin((() => {
24798
- init_types$5();
24586
+ init_types$4();
24799
24587
  init_builder$1();
24800
24588
  richTextFragment = defineFragment$2({
24801
24589
  id: "richText",
@@ -24816,7 +24604,7 @@ var init_richText = __esmMin((() => {
24816
24604
  //#region ../blocks/src/system/fragments/library/image.ts
24817
24605
  var imageFragment;
24818
24606
  var init_image = __esmMin((() => {
24819
- init_types$5();
24607
+ init_types$4();
24820
24608
  init_builder$1();
24821
24609
  init_colorStyles();
24822
24610
  imageFragment = defineFragment$2({
@@ -24920,7 +24708,7 @@ var init_image = __esmMin((() => {
24920
24708
  //#region ../blocks/src/system/fragments/library/videoEmbed.ts
24921
24709
  var videoEmbedFragment;
24922
24710
  var init_videoEmbed = __esmMin((() => {
24923
- init_types$5();
24711
+ init_types$4();
24924
24712
  init_builder$1();
24925
24713
  init_colorStyles();
24926
24714
  videoEmbedFragment = defineFragment$2({
@@ -24984,7 +24772,7 @@ var init_videoEmbed = __esmMin((() => {
24984
24772
  //#region ../blocks/src/system/fragments/library/quote.ts
24985
24773
  var quoteFragment;
24986
24774
  var init_quote = __esmMin((() => {
24987
- init_types$5();
24775
+ init_types$4();
24988
24776
  init_builder$1();
24989
24777
  quoteFragment = defineFragment$2({
24990
24778
  id: "quote",
@@ -25033,7 +24821,7 @@ var init_quote = __esmMin((() => {
25033
24821
  //#region ../blocks/src/system/fragments/library/feedbackCallout.ts
25034
24822
  var feedbackCalloutFragment;
25035
24823
  var init_feedbackCallout = __esmMin((() => {
25036
- init_types$5();
24824
+ init_types$4();
25037
24825
  init_ctas();
25038
24826
  init_fragments$1();
25039
24827
  feedbackCalloutFragment = defineFragment$2({
@@ -25128,7 +24916,7 @@ var init_feedbackCallout = __esmMin((() => {
25128
24916
  //#region ../blocks/src/system/fragments/library/sectionState.ts
25129
24917
  var SECTION_STATE_KIND_LABELS, sectionStateFragment;
25130
24918
  var init_sectionState = __esmMin((() => {
25131
- init_types$5();
24919
+ init_types$4();
25132
24920
  init_ctas();
25133
24921
  init_fragments$1();
25134
24922
  SECTION_STATE_KIND_LABELS = {
@@ -25215,7 +25003,7 @@ var init_sectionState = __esmMin((() => {
25215
25003
  //#region ../blocks/src/system/fragments/library/columnContent.ts
25216
25004
  var columnContentFragment;
25217
25005
  var init_columnContent = __esmMin((() => {
25218
- init_types$5();
25006
+ init_types$4();
25219
25007
  init_builder$1();
25220
25008
  init_toRepeaterSchema();
25221
25009
  init_image();
@@ -25267,7 +25055,7 @@ var init_columnContent = __esmMin((() => {
25267
25055
  //#region ../blocks/src/system/fragments/library/teamMember.ts
25268
25056
  var teamMemberFragment;
25269
25057
  var init_teamMember = __esmMin((() => {
25270
- init_types$5();
25058
+ init_types$4();
25271
25059
  init_builder$1();
25272
25060
  init_fragments$1();
25273
25061
  teamMemberFragment = defineFragment$2({
@@ -25340,7 +25128,7 @@ var init_teamMember = __esmMin((() => {
25340
25128
  //#endregion
25341
25129
  //#region ../blocks/src/system/fragments/index.ts
25342
25130
  var init_fragments = __esmMin((() => {
25343
- init_types$5();
25131
+ init_types$4();
25344
25132
  init_builder();
25345
25133
  init_registry$4();
25346
25134
  init_toRepeaterSchema();
@@ -28588,7 +28376,7 @@ var init_responsiveDisplay = __esmMin((() => {
28588
28376
  }));
28589
28377
  //#endregion
28590
28378
  //#region ../blocks/src/system/runtime/header/shared.ts
28591
- var init_shared$4 = __esmMin((() => {
28379
+ var init_shared$3 = __esmMin((() => {
28592
28380
  init_responsiveDisplay();
28593
28381
  }));
28594
28382
  //#endregion
@@ -28599,7 +28387,7 @@ var init_site_header = __esmMin((() => {
28599
28387
  init_fragments$1();
28600
28388
  init_typed();
28601
28389
  init_defineBlock();
28602
- init_shared$4();
28390
+ init_shared$3();
28603
28391
  init_colorStyles();
28604
28392
  init_siteChromeOverlayClearance();
28605
28393
  whenTransformed = (from, transformId, equals = true) => (node) => ({
@@ -31794,7 +31582,7 @@ var init_weekly_slot_availability = __esmMin((() => {
31794
31582
  }));
31795
31583
  //#endregion
31796
31584
  //#region ../blocks/src/system/blocks/events/shared/types.ts
31797
- var init_types$4 = __esmMin((() => {}));
31585
+ var init_types$3 = __esmMin((() => {}));
31798
31586
  //#endregion
31799
31587
  //#region ../blocks/src/lib/media.ts
31800
31588
  var PUBLIC_DOWNLOAD_MEDIA_TYPES;
@@ -31853,14 +31641,14 @@ var init_richTextSchema = __esmMin((() => {
31853
31641
  }));
31854
31642
  //#endregion
31855
31643
  //#region ../blocks/src/system/blocks/shared/bookingPaymentTerms.ts
31856
- var bookingDepositRefundPolicySchema, bookingInstalmentPlanSchema, bookingFlexibleBalanceDueDateRuleSchema, bookingFlexibleBalanceConfigSchema, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
31644
+ var bookingDepositRefundPolicySchema$1, bookingInstalmentPlanSchema$1, bookingFlexibleBalanceDueDateRuleSchema$1, bookingFlexibleBalanceConfigSchema$1, blockBookingPaymentCollectionOptionSchema, blockBookingPaymentTermsSchema;
31857
31645
  var init_bookingPaymentTerms = __esmMin((() => {
31858
- bookingDepositRefundPolicySchema = z.enum(["refundable", "non_refundable"]);
31859
- bookingInstalmentPlanSchema = z.union([
31646
+ bookingDepositRefundPolicySchema$1 = z.enum(["refundable", "non_refundable"]);
31647
+ bookingInstalmentPlanSchema$1 = z.union([
31860
31648
  z.object({
31861
31649
  kind: z.literal("deposit_plus_one_remainder"),
31862
31650
  depositAmountCents: z.number().int().min(0),
31863
- depositRefundability: bookingDepositRefundPolicySchema,
31651
+ depositRefundability: bookingDepositRefundPolicySchema$1,
31864
31652
  remainderDueCount: z.number().int().positive(),
31865
31653
  intervalUnit: z.enum([
31866
31654
  "day",
@@ -31871,7 +31659,7 @@ var init_bookingPaymentTerms = __esmMin((() => {
31871
31659
  z.object({
31872
31660
  kind: z.literal("deposit_plus_scheduled_instalments"),
31873
31661
  depositAmountCents: z.number().int().min(0),
31874
- depositRefundability: bookingDepositRefundPolicySchema,
31662
+ depositRefundability: bookingDepositRefundPolicySchema$1,
31875
31663
  instalmentCount: z.number().int().positive(),
31876
31664
  intervalCount: z.number().int().positive(),
31877
31665
  intervalUnit: z.enum([
@@ -31891,40 +31679,217 @@ var init_bookingPaymentTerms = __esmMin((() => {
31891
31679
  ])
31892
31680
  })
31893
31681
  ]);
31894
- bookingFlexibleBalanceDueDateRuleSchema = z.union([z.object({
31682
+ bookingFlexibleBalanceDueDateRuleSchema$1 = z.union([z.object({
31895
31683
  kind: z.literal("relative_to_start_date"),
31896
31684
  daysBeforeStart: z.number().int().positive()
31897
31685
  }), z.object({
31898
31686
  kind: z.literal("fixed_calendar_date"),
31899
31687
  dueAt: z.string().datetime()
31900
31688
  })]);
31901
- bookingFlexibleBalanceConfigSchema = z.object({
31689
+ bookingFlexibleBalanceConfigSchema$1 = z.object({
31902
31690
  upfrontAmountCents: z.number().int().min(0),
31903
- dueDateRule: bookingFlexibleBalanceDueDateRuleSchema,
31904
- depositRefundability: bookingDepositRefundPolicySchema
31691
+ dueDateRule: bookingFlexibleBalanceDueDateRuleSchema$1,
31692
+ depositRefundability: bookingDepositRefundPolicySchema$1
31905
31693
  });
31906
31694
  blockBookingPaymentCollectionOptionSchema = z.union([
31907
31695
  z.object({ kind: z.literal("upfront") }),
31908
31696
  z.object({ kind: z.literal("deferred_manual") }),
31909
31697
  z.object({
31910
31698
  kind: z.literal("instalment_plan"),
31911
- plan: bookingInstalmentPlanSchema
31699
+ plan: bookingInstalmentPlanSchema$1
31912
31700
  }),
31913
31701
  z.object({
31914
31702
  kind: z.literal("flexible_balance"),
31915
- config: bookingFlexibleBalanceConfigSchema
31703
+ config: bookingFlexibleBalanceConfigSchema$1
31916
31704
  })
31917
31705
  ]);
31918
31706
  blockBookingPaymentTermsSchema = z.object({ allowedOptions: z.array(blockBookingPaymentCollectionOptionSchema).min(1) });
31707
+ })), blockBookingConsentSchema, bookingRequirementConsentFieldSchema;
31708
+ var init_bookingConsent = __esmMin((() => {
31709
+ init_richTextSchema();
31710
+ blockBookingConsentSchema = z.object({
31711
+ requirementId: z.string(),
31712
+ title: z.string(),
31713
+ agreement: RichTextDocSchema,
31714
+ checkboxLabel: z.string()
31715
+ });
31716
+ bookingRequirementConsentFieldSchema = z.object({
31717
+ id: z.string(),
31718
+ label: z.string(),
31719
+ type: z.literal("booking_requirement_consent"),
31720
+ required: z.literal(true),
31721
+ agreement: RichTextDocSchema,
31722
+ checkboxLabel: z.string().min(1)
31723
+ });
31724
+ z.union([blockBookingConsentSchema, bookingRequirementConsentFieldSchema]);
31919
31725
  }));
31920
31726
  //#endregion
31921
31727
  //#region ../blocks/src/system/blocks/events/whole-series/pricing.ts
31922
- 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
+ }));
31923
31887
  //#endregion
31924
31888
  //#region ../blocks/src/system/blocks/events/whole-series/schemas.ts
31925
31889
  var wholeSeriesVenueSchema, wholeSeriesSessionSchema, wholeSeriesTeamMemberSummarySchema, wholeSeriesPricingOptionSchema, wholeSeriesPricingSchema, publicWholeSeriesOfferingSchema, publicWholeSeriesOfferingsArraySchema;
31926
- var init_schemas$2 = __esmMin((() => {
31890
+ var init_schemas$1 = __esmMin((() => {
31927
31891
  init_bookingPaymentTerms();
31892
+ init_bookingConsent();
31928
31893
  wholeSeriesVenueSchema = z.object({
31929
31894
  id: z.string(),
31930
31895
  name: z.string(),
@@ -31983,11 +31948,19 @@ var init_schemas$2 = __esmMin((() => {
31983
31948
  title: z.string(),
31984
31949
  slug: z.string(),
31985
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(),
31986
31958
  teamMembers: z.array(wholeSeriesTeamMemberSummarySchema).optional(),
31987
31959
  enrollmentOpen: z.boolean(),
31988
31960
  pricing: wholeSeriesPricingSchema,
31989
31961
  currency: z.string(),
31990
31962
  paymentTerms: blockBookingPaymentTermsSchema,
31963
+ consent: blockBookingConsentSchema.nullable(),
31991
31964
  enrollmentCapacity: z.number().nullable(),
31992
31965
  acceptsMemberships: z.boolean(),
31993
31966
  status: z.enum([
@@ -32005,18 +31978,19 @@ var init_schemas$2 = __esmMin((() => {
32005
31978
  }));
32006
31979
  //#endregion
32007
31980
  //#region ../blocks/src/system/blocks/events/whole-series/types.ts
32008
- var init_types$3 = __esmMin((() => {}));
31981
+ var init_types$2 = __esmMin((() => {}));
32009
31982
  //#endregion
32010
31983
  //#region ../blocks/src/system/blocks/events/whole-series/index.ts
32011
31984
  var init_whole_series = __esmMin((() => {
32012
- init_pricing$2();
32013
- init_schemas$2();
32014
- init_types$3();
32015
- })), 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;
32016
- 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((() => {
32017
31990
  init_media$1();
32018
31991
  init_richTextSchema();
32019
31992
  init_bookingPaymentTerms();
31993
+ init_bookingConsent();
32020
31994
  init_whole_series();
32021
31995
  eventPresetSchema = z.enum([
32022
31996
  "event",
@@ -32102,7 +32076,7 @@ var init_schemas$1 = __esmMin((() => {
32102
32076
  paidToAmount: z.number(),
32103
32077
  currency: z.string()
32104
32078
  });
32105
- publicCoursePriceDisplaySchema = z.discriminatedUnion("kind", [
32079
+ publicWholeSeriesPriceDisplaySchema = z.discriminatedUnion("kind", [
32106
32080
  freePriceDisplaySchema,
32107
32081
  exactPriceDisplaySchema,
32108
32082
  fromPriceDisplaySchema,
@@ -32120,8 +32094,8 @@ var init_schemas$1 = __esmMin((() => {
32120
32094
  label: z.string()
32121
32095
  }),
32122
32096
  z.object({
32123
- kind: z.literal("course"),
32124
- display: publicCoursePriceDisplaySchema
32097
+ kind: z.literal("whole_series"),
32098
+ display: publicWholeSeriesPriceDisplaySchema
32125
32099
  })
32126
32100
  ]);
32127
32101
  publicEventTicketTypePriceDisplaySchema = z.union([
@@ -32223,10 +32197,10 @@ var init_schemas$1 = __esmMin((() => {
32223
32197
  })
32224
32198
  }),
32225
32199
  z.object({
32226
- kind: z.literal("course"),
32200
+ kind: z.literal("whole_series"),
32227
32201
  display: z.object({
32228
- kind: z.literal("course"),
32229
- display: publicCoursePriceDisplaySchema
32202
+ kind: z.literal("whole_series"),
32203
+ display: publicWholeSeriesPriceDisplaySchema
32230
32204
  })
32231
32205
  }),
32232
32206
  z.object({
@@ -32307,6 +32281,7 @@ var init_schemas$1 = __esmMin((() => {
32307
32281
  timeZone: z.string(),
32308
32282
  pricing: publicEventPricingSchema,
32309
32283
  paymentTerms: blockBookingPaymentTermsSchema,
32284
+ consent: blockBookingConsentSchema.nullable(),
32310
32285
  accessRestriction: accessRestrictionSchema,
32311
32286
  allowedCategoryIds: z.array(z.string()),
32312
32287
  requireGuestDetails: z.boolean().optional(),
@@ -32537,9 +32512,9 @@ var init_layout$1 = __esmMin((() => {
32537
32512
  }));
32538
32513
  //#endregion
32539
32514
  //#region ../blocks/src/system/blocks/events/shared/index.ts
32540
- var init_shared$3 = __esmMin((() => {
32541
- init_types$4();
32542
- init_schemas$1();
32515
+ var init_shared$2 = __esmMin((() => {
32516
+ init_types$3();
32517
+ init_schemas();
32543
32518
  init_fields();
32544
32519
  init_filtering();
32545
32520
  init_layout$1();
@@ -32620,7 +32595,8 @@ function resolveEventRegistrationScope(context) {
32620
32595
  };
32621
32596
  return { kind: "unscoped" };
32622
32597
  }
32623
- function applyEventRegistrationScope(events, scope) {
32598
+ function resolveEventRegistrationScopedEvents(events, context) {
32599
+ const scope = resolveEventRegistrationScope(context);
32624
32600
  switch (scope.kind) {
32625
32601
  case "occurrenceSeries":
32626
32602
  case "pageSurfaceSeries": return events.filter((event) => event.seriesId === scope.seriesId);
@@ -32632,9 +32608,6 @@ function applyEventRegistrationScope(events, scope) {
32632
32608
  case "unscoped": return [...events];
32633
32609
  }
32634
32610
  }
32635
- function resolveEventRegistrationScopedEvents(events, context) {
32636
- return applyEventRegistrationScope(events, resolveEventRegistrationScope(context));
32637
- }
32638
32611
  var unsupportedEventRegistrationPageSurfaceSubjectReasons, unsupportedEventRegistrationPageSurfaceSubjectSchema, eventRegistrationPageSurfaceSubjectSchema;
32639
32612
  var init_eventScope = __esmMin((() => {
32640
32613
  init_src$4();
@@ -32661,6 +32634,28 @@ var init_eventScope = __esmMin((() => {
32661
32634
  });
32662
32635
  }));
32663
32636
  //#endregion
32637
+ //#region ../blocks/src/system/runtime/nodes/event-registration/registrationSurface.ts
32638
+ function planEventRegistrationScope(input) {
32639
+ const subject = input.subject;
32640
+ const selectedRunOffering = input.wholeSeriesOffering;
32641
+ if (subject?.kind !== "eventOffering" || !selectedRunOffering) return {
32642
+ kind: "context",
32643
+ events: resolveEventRegistrationScopedEvents(input.events, {
32644
+ occurrenceContext: input.occurrenceContext,
32645
+ subject
32646
+ })
32647
+ };
32648
+ if (!(selectedRunOffering.eventOfferingId === subject.eventOfferingId && subject.availableEventSeriesIds.some((seriesId) => seriesId === selectedRunOffering.eventSeriesId))) return { kind: "invalidSelectedRun" };
32649
+ return {
32650
+ kind: "selectedRun",
32651
+ events: input.events.filter((event) => event.seriesId === selectedRunOffering.eventSeriesId),
32652
+ offering: selectedRunOffering
32653
+ };
32654
+ }
32655
+ var init_registrationSurface = __esmMin((() => {
32656
+ init_eventScope();
32657
+ }));
32658
+ //#endregion
32664
32659
  //#region ../blocks/src/system/runtime/nodes/events/shared/destination.ts
32665
32660
  function isRecord$9(value) {
32666
32661
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -32734,14 +32729,14 @@ function isRecord$8(value) {
32734
32729
  }
32735
32730
  function isPublicEventPricing(value) {
32736
32731
  if (!isRecord$8(value) || typeof value.kind !== "string") return false;
32737
- 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";
32738
32733
  }
32739
32734
  function isPublicEventTicketType(value) {
32740
32735
  return isRecord$8(value) && typeof value.id === "string";
32741
32736
  }
32742
32737
  function readTicketTypePriceDisplay(value, currency) {
32743
32738
  const display = readLegacyPriceDisplay(value, currency);
32744
- return display.kind === "course" || display.kind === "external" ? {
32739
+ return display.kind === "whole_series" || display.kind === "external" ? {
32745
32740
  kind: "unavailable",
32746
32741
  currency
32747
32742
  } : display;
@@ -32799,11 +32794,11 @@ function readLegacyPriceDisplay(value, currency) {
32799
32794
  kind: "unavailable",
32800
32795
  currency: displayCurrency
32801
32796
  };
32802
- case "course": return isRecord$8(value.display) ? {
32803
- kind: "course",
32797
+ case "whole_series": return isRecord$8(value.display) ? {
32798
+ kind: "whole_series",
32804
32799
  display: readCoursePriceDisplay(value.display, displayCurrency)
32805
32800
  } : {
32806
- kind: "course",
32801
+ kind: "whole_series",
32807
32802
  display: {
32808
32803
  kind: "unavailable",
32809
32804
  currency: displayCurrency
@@ -32847,7 +32842,7 @@ function readAmount(value) {
32847
32842
  return typeof value === "number" && Number.isFinite(value) ? value : null;
32848
32843
  }
32849
32844
  var DEFAULT_EVENT_CURRENCY;
32850
- var init_pricing$1 = __esmMin((() => {
32845
+ var init_pricing = __esmMin((() => {
32851
32846
  init_destination();
32852
32847
  DEFAULT_EVENT_CURRENCY = "USD";
32853
32848
  }));
@@ -32943,7 +32938,7 @@ var init_wizardSteps = __esmMin((() => {}));
32943
32938
  //#endregion
32944
32939
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationDerivations.ts
32945
32940
  function eventMatchesOccurrenceId(event, occurrenceId) {
32946
- return event.registrationOccurrenceId === occurrenceId || event.publicEventId === occurrenceId;
32941
+ return event.registrationSubject.kind === "occurrence" && (event.registrationSubject.occurrenceId === occurrenceId || event.selectionId === occurrenceId);
32947
32942
  }
32948
32943
  function findPreSelectedEvent(input) {
32949
32944
  const occurrenceContext = input.occurrenceContext;
@@ -32965,7 +32960,7 @@ function resolveEventRequiresPayment(input) {
32965
32960
  }
32966
32961
  var init_registrationDerivations = __esmMin((() => {
32967
32962
  init_src$4();
32968
- init_pricing$1();
32963
+ init_pricing();
32969
32964
  }));
32970
32965
  //#endregion
32971
32966
  //#region ../blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.ts
@@ -32973,15 +32968,131 @@ function toRegistrationEvent(event) {
32973
32968
  return {
32974
32969
  ...event,
32975
32970
  pricing: resolveRuntimeEventPricing(event),
32976
- publicEventId: event.id,
32977
- registrationOccurrenceId: event.occurrenceId
32971
+ selectionId: event.id,
32972
+ registrationSubject: {
32973
+ kind: "occurrence",
32974
+ occurrenceId: event.occurrenceId
32975
+ }
32978
32976
  };
32979
32977
  }
32980
32978
  function toRegistrationEvents(events) {
32981
- 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
+ };
32982
33092
  }
32983
33093
  var init_registrationEventAdapter = __esmMin((() => {
32984
- init_pricing$1();
33094
+ init_whole_series();
33095
+ init_pricing();
32985
33096
  }));
32986
33097
  //#endregion
32987
33098
  //#region ../blocks/src/system/runtime/nodes/event-registration.interactive.ts
@@ -33008,6 +33119,15 @@ function resolveWholeSeriesOffering(source) {
33008
33119
  return source.wholeSeriesOffering ?? source.subjectWholeSeriesOffering ?? null;
33009
33120
  }
33010
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
+ }
33011
33131
  const scopedEvents = scopeEventRegistrationEvents(source);
33012
33132
  if (scopedEvents.length === 0) return EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS;
33013
33133
  const preSelectedEvent = findPreSelectedEvent({
@@ -33022,10 +33142,13 @@ function buildEventRegistrationShellStepLabels(source) {
33022
33142
  }) : false).map((step) => shellLabelForRegistrationStep(step, scopedEvents));
33023
33143
  }
33024
33144
  function scopeEventRegistrationEvents(source) {
33025
- return resolveEventRegistrationScopedEvents(toRegistrationEvents(source.events ?? []), {
33145
+ const scope = planEventRegistrationScope({
33146
+ events: toRegistrationEvents(source.events ?? []),
33147
+ wholeSeriesOffering: source.wholeSeriesOffering,
33026
33148
  occurrenceContext: source.occurrenceContext,
33027
33149
  subject: source.subject
33028
33150
  });
33151
+ return scope.kind === "invalidSelectedRun" ? [] : scope.events;
33029
33152
  }
33030
33153
  function shellLabelForRegistrationStep(step, events) {
33031
33154
  switch (step) {
@@ -33064,12 +33187,13 @@ function isRecord$7(value) {
33064
33187
  }
33065
33188
  var EVENT_REGISTRATION_GENERIC_SHELL_STEP_LABELS, EVENT_REGISTRATION_SHELL_STEP_LABELS, eventRegistrationPublicEventSchema, eventRegistrationHydrationSchemaShape, eventRegistrationSourceSchema, eventRegistrationDisplaySchema, eventRegistrationHydrationSchema, eventRegistrationRenderSchema, eventRegistrationBlockRuntime;
33066
33189
  var init_event_registration_interactive = __esmMin((() => {
33067
- init_schemas$1();
33190
+ init_schemas();
33068
33191
  init_whole_series();
33069
33192
  init_shop_shared();
33070
33193
  init_event_registration_shared();
33071
33194
  init_eventScope();
33072
- init_pricing$1();
33195
+ init_registrationSurface();
33196
+ init_pricing();
33073
33197
  init_destination();
33074
33198
  init_islands();
33075
33199
  init_runtime$1();
@@ -33099,11 +33223,7 @@ var init_event_registration_interactive = __esmMin((() => {
33099
33223
  maxTickets: z.string().optional(),
33100
33224
  showVenue: z.boolean().optional(),
33101
33225
  showCapacity: z.boolean().optional(),
33102
- showSessions: z.boolean().optional(),
33103
- showPrice: z.boolean().optional(),
33104
33226
  successMessage: z.string().optional(),
33105
- waitlistMessage: z.string().optional(),
33106
- membershipMessage: z.string().optional(),
33107
33227
  buttonVariant: registrationButtonVariantSchema.optional(),
33108
33228
  overlayEnabled: z.boolean().optional(),
33109
33229
  spamProtectionEnabled: z.boolean().optional(),
@@ -33167,11 +33287,7 @@ var init_event_registration_interactive = __esmMin((() => {
33167
33287
  maxTickets: source.maxTickets ?? void 0,
33168
33288
  showVenue: source.showVenue,
33169
33289
  showCapacity: source.showCapacity,
33170
- showSessions: source.showSessions,
33171
- showPrice: source.showPrice,
33172
33290
  successMessage: source.successMessage,
33173
- waitlistMessage: source.waitlistMessage,
33174
- membershipMessage: source.membershipMessage,
33175
33291
  buttonVariant: source.buttonVariant,
33176
33292
  overlayEnabled: source.overlayEnabled,
33177
33293
  spamProtectionEnabled: source.spamProtectionEnabled,
@@ -33191,7 +33307,7 @@ var init_event_registration = __esmMin((() => {
33191
33307
  init_fragments$1();
33192
33308
  init_button();
33193
33309
  init_api_bindings();
33194
- init_shared$3();
33310
+ init_shared$2();
33195
33311
  init_shop_shared();
33196
33312
  init_defineBlock();
33197
33313
  init_event_registration_shared();
@@ -33291,24 +33407,6 @@ var init_event_registration = __esmMin((() => {
33291
33407
  defaultValue: true,
33292
33408
  ui: { intent: "display" }
33293
33409
  },
33294
- {
33295
- id: "showSessions",
33296
- type: "boolean",
33297
- label: "Show complete schedule",
33298
- description: "Display every session for whole-series registrations",
33299
- required: false,
33300
- defaultValue: true,
33301
- ui: { intent: "display" }
33302
- },
33303
- {
33304
- id: "showPrice",
33305
- type: "boolean",
33306
- label: "Show price",
33307
- description: "Display the whole-series price",
33308
- required: false,
33309
- defaultValue: true,
33310
- ui: { intent: "display" }
33311
- },
33312
33410
  {
33313
33411
  id: "successMessage",
33314
33412
  type: "text",
@@ -33319,26 +33417,6 @@ var init_event_registration = __esmMin((() => {
33319
33417
  defaultValue: "Thank you for registering! Check your email for confirmation details.",
33320
33418
  maxLength: 500
33321
33419
  },
33322
- {
33323
- id: "waitlistMessage",
33324
- type: "text",
33325
- label: "Waitlist message",
33326
- description: "Message shown after joining a whole-series waitlist",
33327
- required: false,
33328
- multiline: true,
33329
- defaultValue: "You've been added to the waitlist. We'll email you if a place becomes available.",
33330
- maxLength: 500
33331
- },
33332
- {
33333
- id: "membershipMessage",
33334
- type: "text",
33335
- label: "Membership registration message",
33336
- description: "Message shown when a whole-series place is covered by membership",
33337
- required: false,
33338
- multiline: true,
33339
- defaultValue: "Registered using your membership. Check your email for session details.",
33340
- maxLength: 500
33341
- },
33342
33420
  {
33343
33421
  id: "buttonText",
33344
33422
  type: "text",
@@ -33370,11 +33448,7 @@ var init_event_registration = __esmMin((() => {
33370
33448
  } },
33371
33449
  showVenue: { $bind: { from: "content.showVenue" } },
33372
33450
  showCapacity: { $bind: { from: "content.showCapacity" } },
33373
- showSessions: { $bind: { from: "content.showSessions" } },
33374
- showPrice: { $bind: { from: "content.showPrice" } },
33375
33451
  successMessage: { $bind: { from: "content.successMessage" } },
33376
- waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
33377
- membershipMessage: { $bind: { from: "content.membershipMessage" } },
33378
33452
  buttonText: { $bind: {
33379
33453
  from: "content.buttonText",
33380
33454
  fallback: "Complete Registration"
@@ -33494,301 +33568,13 @@ var init_event_registration = __esmMin((() => {
33494
33568
  };
33495
33569
  }));
33496
33570
  //#endregion
33497
- //#region ../blocks/src/system/blocks/courses/shared/types.ts
33498
- var init_types$2 = __esmMin((() => {}));
33499
- //#endregion
33500
- //#region ../blocks/src/system/blocks/courses/shared/schemas.ts
33501
- var init_schemas = __esmMin((() => {
33502
- init_schemas$2();
33503
- }));
33504
- //#endregion
33505
- //#region ../blocks/src/system/blocks/courses/shared/pricing.ts
33506
- var init_pricing = __esmMin((() => {}));
33507
- //#endregion
33508
- //#region ../blocks/src/system/blocks/courses/shared/index.ts
33509
- var init_shared$2 = __esmMin((() => {
33510
- init_types$2();
33511
- init_schemas();
33512
- init_pricing();
33513
- }));
33514
- //#endregion
33515
- //#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
33516
- function buildCourseRegistrationDisplay(source) {
33517
- return {
33518
- kind: "course-registration",
33519
- state: "shell",
33520
- className: source.className ?? null,
33521
- summaryButtonText: source.buttonText?.trim() || "Sign up"
33522
- };
33523
- }
33524
- var courseRegistrationHydrationSchemaShape, courseRegistrationSourceSchema, courseRegistrationDisplaySchema, courseRegistrationHydrationSchema, courseRegistrationRenderSchema, courseRegistrationBlockRuntime;
33525
- var init_course_registration_interactive = __esmMin((() => {
33526
- init_schemas();
33527
- init_islands();
33528
- init_runtime$1();
33529
- init_contract_schemas();
33530
- init_eventScope();
33531
- courseRegistrationHydrationSchemaShape = {
33532
- subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
33533
- courses: z.array(publicWholeSeriesOfferingSchema).nullable().optional(),
33534
- showSessions: z.boolean().optional(),
33535
- showPrice: z.boolean().optional(),
33536
- showCapacity: z.boolean().optional(),
33537
- showVenue: z.boolean().optional(),
33538
- successMessage: z.string().optional(),
33539
- waitlistMessage: z.string().optional(),
33540
- membershipMessage: z.string().optional(),
33541
- buttonVariant: registrationButtonVariantSchema.optional()
33542
- };
33543
- courseRegistrationSourceSchema = z.object({
33544
- siteId: z.string().optional(),
33545
- apiBaseUrl: z.string().optional(),
33546
- portalToken: z.string().nullable().optional(),
33547
- ...courseRegistrationHydrationSchemaShape,
33548
- className: z.string().nullable().optional(),
33549
- buttonText: z.string().nullable().optional(),
33550
- stage: previewStageSchema.optional()
33551
- });
33552
- courseRegistrationDisplaySchema = z.object({
33553
- kind: z.literal("course-registration"),
33554
- state: z.literal("shell"),
33555
- className: z.string().nullable(),
33556
- summaryButtonText: z.string()
33557
- });
33558
- courseRegistrationHydrationSchema = z.object(courseRegistrationHydrationSchemaShape);
33559
- courseRegistrationRenderSchema = z.object({
33560
- display: courseRegistrationDisplaySchema,
33561
- hydration: courseRegistrationHydrationSchema
33562
- });
33563
- z.object({
33564
- siteId: z.string().optional(),
33565
- apiBaseUrl: z.string().optional(),
33566
- portalToken: z.string().nullable().optional(),
33567
- stage: previewStageSchema.optional()
33568
- });
33569
- courseRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
33570
- kind: "client-owned",
33571
- contracts: {
33572
- source: createZodCodec(courseRegistrationSourceSchema),
33573
- render: createZodCodec(courseRegistrationRenderSchema)
33574
- },
33575
- buildRender: (source) => ({
33576
- display: buildCourseRegistrationDisplay(source),
33577
- hydration: {
33578
- subject: source.subject ?? null,
33579
- courses: source.courses ?? null,
33580
- showSessions: source.showSessions,
33581
- showPrice: source.showPrice,
33582
- showCapacity: source.showCapacity,
33583
- showVenue: source.showVenue,
33584
- successMessage: source.successMessage,
33585
- waitlistMessage: source.waitlistMessage,
33586
- membershipMessage: source.membershipMessage,
33587
- buttonVariant: source.buttonVariant
33588
- }
33589
- })
33590
- });
33591
- }));
33592
- //#endregion
33593
- //#region ../blocks/src/system/blocks/course-registration.ts
33594
- var courseRegistrationManifest, courseRegistrationBlockDefinition;
33595
- var init_course_registration = __esmMin((() => {
33596
- init_builder$1();
33597
- init_styledSection();
33598
- init_fragments$1();
33599
- init_button();
33600
- init_api_bindings();
33601
- init_shared$2();
33602
- init_defineBlock();
33603
- init_course_registration_interactive();
33604
- courseRegistrationManifest = createBlockManifest({
33605
- id: "block.course-registration",
33606
- version: "1.0.0",
33607
- title: "Course Registration",
33608
- titleSource: "heading",
33609
- description: "Enrollment form for multi-session courses",
33610
- category: "interactive",
33611
- contentSource: { kind: "inline" },
33612
- tags: [
33613
- "courses",
33614
- "enrollment",
33615
- "booking",
33616
- "form",
33617
- "signup",
33618
- "education"
33619
- ],
33620
- icon: "GraduationCap",
33621
- styleTokens: {
33622
- background: "surface",
33623
- typography: "body",
33624
- spacing: "md"
33625
- },
33626
- behaviours: {
33627
- supportsThemeSwitching: true,
33628
- inlineEditing: false,
33629
- animation: false,
33630
- paletteHidden: false
33631
- },
33632
- additionalFields: [
33633
- {
33634
- id: "heading",
33635
- type: "text",
33636
- label: "Heading",
33637
- description: "Main heading for the registration form",
33638
- required: false,
33639
- multiline: false,
33640
- defaultValue: "Sign up"
33641
- },
33642
- {
33643
- id: "description",
33644
- type: "richText",
33645
- label: "Description",
33646
- description: "Optional introductory text",
33647
- required: false
33648
- },
33649
- {
33650
- id: "showSessions",
33651
- type: "boolean",
33652
- label: "Show sessions",
33653
- description: "Display the list of course sessions",
33654
- required: false,
33655
- defaultValue: true,
33656
- ui: { intent: "display" }
33657
- },
33658
- {
33659
- id: "showPrice",
33660
- type: "boolean",
33661
- label: "Show price",
33662
- description: "Display the course price",
33663
- required: false,
33664
- defaultValue: true,
33665
- ui: { intent: "display" }
33666
- },
33667
- {
33668
- id: "showCapacity",
33669
- type: "boolean",
33670
- label: "Show available spots",
33671
- description: "Display remaining enrollment capacity",
33672
- required: false,
33673
- defaultValue: true,
33674
- ui: { intent: "display" }
33675
- },
33676
- {
33677
- id: "showVenue",
33678
- type: "boolean",
33679
- label: "Show venue",
33680
- description: "Display venue information",
33681
- required: false,
33682
- defaultValue: true,
33683
- ui: { intent: "display" }
33684
- },
33685
- {
33686
- id: "successMessage",
33687
- type: "text",
33688
- label: "Success message",
33689
- description: "Message shown after successful enrollment",
33690
- required: false,
33691
- multiline: true,
33692
- defaultValue: "You're enrolled! Check your email for confirmation and session details.",
33693
- maxLength: 500
33694
- },
33695
- {
33696
- id: "waitlistMessage",
33697
- type: "text",
33698
- label: "Waitlist message",
33699
- description: "Message when added to waitlist",
33700
- required: false,
33701
- multiline: true,
33702
- defaultValue: "You've been added to the waitlist. We'll email you a claim link if a spot opens up.",
33703
- maxLength: 500
33704
- },
33705
- {
33706
- id: "membershipMessage",
33707
- type: "text",
33708
- label: "Membership enrollment message",
33709
- description: "Message when enrolled using a membership",
33710
- required: false,
33711
- multiline: true,
33712
- defaultValue: "Enrolled using your membership! Check your email for session details.",
33713
- maxLength: 500
33714
- },
33715
- {
33716
- id: "buttonText",
33717
- type: "text",
33718
- label: "Submit button text",
33719
- description: "Text for the enrollment submit button",
33720
- required: false,
33721
- multiline: false,
33722
- defaultValue: "Sign up",
33723
- maxLength: 40
33724
- },
33725
- createButtonVariantField()
33726
- ],
33727
- layout: [styledSection({
33728
- baseClass: "",
33729
- spacing: "spacious",
33730
- children: sectionContainer([
33731
- text({ as: "h2" }, bind$1("content.heading"), when("content.heading")),
33732
- richText({ className: "rb-prose rb-max-w-none" }, bind$1("content.description"), when("content.description")),
33733
- courseRegistration(withApiBindings$1({
33734
- subject: { $bind: {
33735
- from: "$root.subject",
33736
- fallback: null
33737
- } },
33738
- portalToken: { $bind: {
33739
- from: "$root.portalToken",
33740
- fallback: null
33741
- } },
33742
- showSessions: { $bind: { from: "content.showSessions" } },
33743
- showPrice: { $bind: { from: "content.showPrice" } },
33744
- showCapacity: { $bind: { from: "content.showCapacity" } },
33745
- showVenue: { $bind: { from: "content.showVenue" } },
33746
- successMessage: { $bind: { from: "content.successMessage" } },
33747
- waitlistMessage: { $bind: { from: "content.waitlistMessage" } },
33748
- membershipMessage: { $bind: { from: "content.membershipMessage" } },
33749
- buttonText: { $bind: {
33750
- from: "content.buttonText",
33751
- fallback: "Sign up"
33752
- } },
33753
- buttonVariant: { $bind: {
33754
- from: "content.buttonVariant",
33755
- fallback: "primary"
33756
- } },
33757
- courses: { $bind: { from: "data.courses" } },
33758
- stage: { $bind: {
33759
- from: "$root.previewStage",
33760
- fallback: "published"
33761
- } }
33762
- }))
33763
- ], { gap: "lg" })
33764
- })]
33765
- });
33766
- courseRegistrationBlockDefinition = {
33767
- manifest: courseRegistrationManifest,
33768
- runtime: courseRegistrationBlockRuntime,
33769
- dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
33770
- dataLoaders: { courses: {
33771
- endpoint: "listPublicWholeSeriesOfferings",
33772
- params: {
33773
- siteId: { $bind: { from: "$root.siteId" } },
33774
- limit: "50",
33775
- stage: { $bind: {
33776
- from: "$root.previewStage",
33777
- fallback: "published"
33778
- } }
33779
- },
33780
- mode: "server"
33781
- } }
33782
- };
33783
- }));
33784
- //#endregion
33785
33571
  //#region ../blocks/src/system/blocks/event-details.ts
33786
33572
  var eventDetailsManifest, eventAutoApplyDiscountPreviewBaseSchema, eventAutoApplyDiscountPreviewSchema, eventDetailsBlockDefinition;
33787
33573
  var init_event_details = __esmMin((() => {
33788
33574
  init_builder$1();
33789
33575
  init_styledSection();
33790
33576
  init_fragments$1();
33791
- init_shared$3();
33577
+ init_shared$2();
33792
33578
  init_shop_shared();
33793
33579
  init_defineBlock();
33794
33580
  init_event_registration_shared();
@@ -34029,211 +33815,6 @@ var init_event_details = __esmMin((() => {
34029
33815
  };
34030
33816
  }));
34031
33817
  //#endregion
34032
- //#region ../blocks/src/system/blocks/course-details.ts
34033
- var courseDetailsManifest, courseDetailsBlockDefinition;
34034
- var init_course_details = __esmMin((() => {
34035
- init_builder$1();
34036
- init_styledSection();
34037
- init_fragments$1();
34038
- init_shared$2();
34039
- init_defineBlock();
34040
- courseDetailsManifest = createBlockManifest({
34041
- id: "block.course-details",
34042
- version: "1.0.0",
34043
- title: "Course Details",
34044
- titleSource: "heading",
34045
- description: "Schedule, venue, price, and enrollment status for a course",
34046
- category: "content",
34047
- contentSource: { kind: "entries" },
34048
- tags: [
34049
- "courses",
34050
- "schedule",
34051
- "sessions",
34052
- "venue",
34053
- "pricing"
34054
- ],
34055
- icon: "GraduationCap",
34056
- styleTokens: {
34057
- background: "surface",
34058
- typography: "body",
34059
- spacing: "md"
34060
- },
34061
- behaviours: {
34062
- supportsThemeSwitching: true,
34063
- inlineEditing: false,
34064
- animation: false,
34065
- paletteHidden: false
34066
- },
34067
- additionalFields: [
34068
- {
34069
- id: "heading",
34070
- type: "text",
34071
- label: "Heading",
34072
- description: "Optional heading shown above course details",
34073
- required: false,
34074
- multiline: false,
34075
- defaultValue: "Course details"
34076
- },
34077
- {
34078
- id: "showTitle",
34079
- type: "boolean",
34080
- label: "Show course title",
34081
- required: false,
34082
- defaultValue: false,
34083
- ui: { intent: "display" }
34084
- },
34085
- {
34086
- id: "showDescription",
34087
- type: "boolean",
34088
- label: "Show course description",
34089
- description: "Render the course description from the bookings course record",
34090
- required: false,
34091
- defaultValue: false,
34092
- ui: { intent: "display" }
34093
- },
34094
- {
34095
- id: "showSessions",
34096
- type: "boolean",
34097
- label: "Show sessions",
34098
- required: false,
34099
- defaultValue: true,
34100
- ui: { intent: "display" }
34101
- },
34102
- {
34103
- id: "sessionsLimit",
34104
- type: "select",
34105
- label: "Sessions limit",
34106
- required: false,
34107
- multiple: false,
34108
- defaultValue: "10",
34109
- options: [
34110
- {
34111
- value: "3",
34112
- label: "3 sessions"
34113
- },
34114
- {
34115
- value: "5",
34116
- label: "5 sessions"
34117
- },
34118
- {
34119
- value: "10",
34120
- label: "10 sessions"
34121
- },
34122
- {
34123
- value: "all",
34124
- label: "All sessions"
34125
- }
34126
- ],
34127
- ui: { intent: "display" }
34128
- },
34129
- {
34130
- id: "showVenue",
34131
- type: "boolean",
34132
- label: "Show venue",
34133
- required: false,
34134
- defaultValue: true,
34135
- ui: { intent: "display" }
34136
- },
34137
- {
34138
- id: "showPrice",
34139
- type: "boolean",
34140
- label: "Show price",
34141
- required: false,
34142
- defaultValue: true,
34143
- ui: { intent: "display" }
34144
- },
34145
- {
34146
- id: "showCapacity",
34147
- type: "boolean",
34148
- label: "Show capacity",
34149
- required: false,
34150
- defaultValue: true,
34151
- ui: { intent: "display" }
34152
- },
34153
- {
34154
- id: "showEnrollmentStatus",
34155
- type: "boolean",
34156
- label: "Show enrollment status",
34157
- required: false,
34158
- defaultValue: true,
34159
- ui: { intent: "display" }
34160
- },
34161
- {
34162
- id: "showMembershipNote",
34163
- type: "boolean",
34164
- label: "Show membership note",
34165
- description: "Indicate when memberships can be used for free enrollment",
34166
- required: false,
34167
- defaultValue: true,
34168
- ui: { intent: "display" }
34169
- }
34170
- ],
34171
- layout: [styledSection({
34172
- baseClass: "",
34173
- spacing: "spacious",
34174
- children: sectionContainer([text({ as: "h2" }, bind$1("content.heading"), when("content.heading")), el$1("course-details", {
34175
- subject: { $bind: {
34176
- from: "$root.subject",
34177
- fallback: null
34178
- } },
34179
- courses: { $bind: { from: "data.courses" } },
34180
- showTitle: { $bind: {
34181
- from: "content.showTitle",
34182
- fallback: false
34183
- } },
34184
- showDescription: { $bind: {
34185
- from: "content.showDescription",
34186
- fallback: false
34187
- } },
34188
- showSessions: { $bind: {
34189
- from: "content.showSessions",
34190
- fallback: true
34191
- } },
34192
- sessionsLimit: { $bind: {
34193
- from: "content.sessionsLimit",
34194
- fallback: "10"
34195
- } },
34196
- showVenue: { $bind: {
34197
- from: "content.showVenue",
34198
- fallback: true
34199
- } },
34200
- showPrice: { $bind: {
34201
- from: "content.showPrice",
34202
- fallback: true
34203
- } },
34204
- showCapacity: { $bind: {
34205
- from: "content.showCapacity",
34206
- fallback: true
34207
- } },
34208
- showEnrollmentStatus: { $bind: {
34209
- from: "content.showEnrollmentStatus",
34210
- fallback: true
34211
- } },
34212
- showMembershipNote: { $bind: {
34213
- from: "content.showMembershipNote",
34214
- fallback: true
34215
- } }
34216
- })], { gap: "lg" })
34217
- })]
34218
- });
34219
- courseDetailsBlockDefinition = {
34220
- manifest: courseDetailsManifest,
34221
- dataSchemas: { courses: publicWholeSeriesOfferingsArraySchema.optional() },
34222
- dataLoaders: { courses: {
34223
- endpoint: "listPublicWholeSeriesOfferings",
34224
- params: {
34225
- siteId: { $bind: { from: "$root.siteId" } },
34226
- limit: "50",
34227
- stage: { $bind: {
34228
- from: "$root.previewStage",
34229
- fallback: "published"
34230
- } }
34231
- },
34232
- mode: "server"
34233
- } }
34234
- };
34235
- }));
34236
- //#endregion
34237
33818
  //#region ../blocks/src/system/blocks/events/event-spotlight.ts
34238
33819
  var eventSpotlightConfig, eventSpotlightManifest, eventSpotlightBlockDefinition;
34239
33820
  var init_event_spotlight = __esmMin((() => {
@@ -34242,7 +33823,7 @@ var init_event_spotlight = __esmMin((() => {
34242
33823
  init_fragments$1();
34243
33824
  init_boxStyles$1();
34244
33825
  init_defineBlock();
34245
- init_shared$3();
33826
+ init_shared$2();
34246
33827
  eventSpotlightConfig = {
34247
33828
  id: "block.event-spotlight",
34248
33829
  version: "1.1.0",
@@ -34545,8 +34126,8 @@ function buildEventCollectionHydration(source) {
34545
34126
  }
34546
34127
  var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilterSourceSchemaShape, eventCollectionSourceSchemaShape, eventCollectionDisplaySchemaShape, eventCollectionHydrationSchema, init_eventCollectionContract = __esmMin((() => {
34547
34128
  init_cards();
34548
- init_schemas$1();
34549
- init_shared$3();
34129
+ init_schemas();
34130
+ init_shared$2();
34550
34131
  init_contract_schemas();
34551
34132
  init_listOptions();
34552
34133
  eventSurfaceScopeSchema$1 = z.enum(eventSurfaceScopeValues);
@@ -34625,8 +34206,8 @@ var eventSurfaceScopeSchema$1, eventScheduleScopeSchema$1, eventCollectionFilter
34625
34206
  })), cardOrientationSchema, eventSurfaceScopeSchema, eventScheduleScopeSchema, eventListingSourceSchema, eventListingDisplaySchema, eventListingHydrationSchema, eventListingRenderSchema, eventListingBlockRuntime;
34626
34207
  var init_EventListing_interactive = __esmMin((() => {
34627
34208
  init_cards();
34628
- init_schemas$1();
34629
- init_shared$3();
34209
+ init_schemas();
34210
+ init_shared$2();
34630
34211
  init_islands();
34631
34212
  init_runtime$1();
34632
34213
  init_shared$1();
@@ -34770,7 +34351,7 @@ var init_event_listing = __esmMin((() => {
34770
34351
  init_api_bindings();
34771
34352
  init_defineBlock();
34772
34353
  init_EventListing_interactive();
34773
- init_shared$3();
34354
+ init_shared$2();
34774
34355
  eventListingAdditionalFields = [
34775
34356
  ...sectionHeaderFields("All Events"),
34776
34357
  ...(() => {
@@ -35262,7 +34843,7 @@ var init_event_calendar = __esmMin((() => {
35262
34843
  init_api_bindings();
35263
34844
  init_defineBlock();
35264
34845
  init_events$1();
35265
- init_shared$3();
34846
+ init_shared$2();
35266
34847
  init_EventCalendar_interactive();
35267
34848
  eventCalendarLayout = [styledSection({
35268
34849
  children: styledContainer({
@@ -36128,7 +35709,7 @@ var init_event_calendar = __esmMin((() => {
36128
35709
  //#endregion
36129
35710
  //#region ../blocks/src/system/blocks/events/index.ts
36130
35711
  var init_events = __esmMin((() => {
36131
- init_shared$3();
35712
+ init_shared$2();
36132
35713
  init_event_spotlight();
36133
35714
  init_event_listing();
36134
35715
  init_event_calendar();
@@ -36347,7 +35928,7 @@ function projectRecurringSchedule(events) {
36347
35928
  var weekdayOrder, weekdayCodeOrder, recurringScheduleWeekdaySchema, recurringScheduleSeriesIdSchema, recurringScheduleProjectionSchema, weekdayFormatterCache, timeFormatterCache, dateFormatterCache;
36348
35929
  var init_recurring_schedule_projection = __esmMin((() => {
36349
35930
  init_src$4();
36350
- init_schemas$1();
35931
+ init_schemas();
36351
35932
  weekdayOrder = [
36352
35933
  "Monday",
36353
35934
  "Tuesday",
@@ -36786,22 +36367,23 @@ function isRecord$5(value) {
36786
36367
  }
36787
36368
  var publicRouteCandidatesSchema, groupOverrideFields, offeringsPreviewFields, offeringsPreviewEventDataBindings, offeringsPreviewConfig, offeringsPreviewManifest, optionalPublicEventsArraySchema, offeringsPreviewEventDataSchemas, offeringsPreviewEventDataLoaders, offeringsPreviewBlockDefinition;
36788
36369
  var init_offerings_preview = __esmMin((() => {
36370
+ init_link();
36789
36371
  init_builder$1();
36790
36372
  init_styledSection();
36791
36373
  init_fragments$1();
36792
36374
  init_boxStyles$1();
36793
36375
  init_backgroundContent();
36794
36376
  init_defineBlock();
36795
- init_shared$3();
36377
+ init_shared$2();
36796
36378
  init_buttonRoles();
36797
36379
  init_button();
36798
- init_shared$2();
36380
+ init_whole_series();
36799
36381
  init_model();
36800
36382
  publicRouteCandidatesSchema = z.object({ routes: z.array(z.object({
36801
36383
  entityId: z.string(),
36802
36384
  path: z.string(),
36803
36385
  title: z.string(),
36804
- kind: z.enum(["page", "content"]),
36386
+ kind: z.enum(RESOLVED_INTERNAL_LINK_ENTITY_TYPES),
36805
36387
  contentTypeKey: z.string().nullable().optional()
36806
36388
  })) });
36807
36389
  groupOverrideFields = [
@@ -37078,7 +36660,7 @@ var init_offerings_preview = __esmMin((() => {
37078
36660
  fallback: "published"
37079
36661
  } },
37080
36662
  routeCandidates: { $bind: { from: "data.routeCandidates" } },
37081
- courses: { $bind: { from: "data.courses" } },
36663
+ wholeSeriesOfferings: { $bind: { from: "data.wholeSeriesOfferings" } },
37082
36664
  ...offeringsPreviewEventDataBindings
37083
36665
  })
37084
36666
  ], { gap: "lg" }),
@@ -37096,7 +36678,7 @@ var init_offerings_preview = __esmMin((() => {
37096
36678
  dataSchemas: {
37097
36679
  ...offeringsPreviewEventDataSchemas,
37098
36680
  routeCandidates: publicRouteCandidatesSchema.optional(),
37099
- courses: publicWholeSeriesOfferingsArraySchema.optional()
36681
+ wholeSeriesOfferings: publicWholeSeriesOfferingsArraySchema.optional()
37100
36682
  },
37101
36683
  dataLoaders: {
37102
36684
  ...offeringsPreviewEventDataLoaders,
@@ -37105,7 +36687,7 @@ var init_offerings_preview = __esmMin((() => {
37105
36687
  params: {},
37106
36688
  mode: "server"
37107
36689
  },
37108
- courses: {
36690
+ wholeSeriesOfferings: {
37109
36691
  endpoint: "listPublicWholeSeriesOfferings",
37110
36692
  params: {
37111
36693
  siteId: { $bind: { from: "$root.siteId" } },
@@ -41795,9 +41377,7 @@ var init_blocks$1 = __esmMin((() => {
41795
41377
  init_appointment_booking();
41796
41378
  init_weekly_slot_availability();
41797
41379
  init_event_registration();
41798
- init_course_registration();
41799
41380
  init_event_details();
41800
- init_course_details();
41801
41381
  init_events();
41802
41382
  init_recurring_schedule();
41803
41383
  init_offerings_preview();
@@ -41838,8 +41418,6 @@ var init_blocks$1 = __esmMin((() => {
41838
41418
  init_weekly_slot_availability();
41839
41419
  init_event_registration();
41840
41420
  init_event_details();
41841
- init_course_registration();
41842
- init_course_details();
41843
41421
  init_events();
41844
41422
  init_recurring_schedule();
41845
41423
  init_embed();
@@ -42313,22 +41891,6 @@ var init_blocks$1 = __esmMin((() => {
42313
41891
  weight: "standard"
42314
41892
  })]
42315
41893
  })),
42316
- withDesignCapability("block.course-registration", courseRegistrationBlockDefinition, sectionOnly(), defineBlockDesignMetadata({
42317
- flow: conversionFlow,
42318
- layoutProfiles: [layoutProfile({
42319
- variantKey: "default",
42320
- family: "form",
42321
- weight: "standard"
42322
- })]
42323
- })),
42324
- withDesignCapability("block.course-details", courseDetailsBlockDefinition, scheduleDetailsCapable(), defineBlockDesignMetadata({
42325
- flow: offeringsFlow,
42326
- layoutProfiles: [layoutProfile({
42327
- variantKey: "default",
42328
- family: "stack",
42329
- weight: "standard"
42330
- })]
42331
- })),
42332
41894
  withDesignCapability("block.event-spotlight", eventSpotlightBlockDefinition, eventSpotlightCapable(), defineBlockDesignMetadata({
42333
41895
  flow: offeringsFlow,
42334
41896
  layoutProfiles: [layoutProfile({
@@ -43164,63 +42726,6 @@ var init_hints = __esmMin((() => {
43164
42726
  //#region ../blocks/src/system/ai/index.ts
43165
42727
  var init_ai = __esmMin((() => {
43166
42728
  init_hints();
43167
- })), nullableString, resolvedInternalLinkKeys, internalRouteOnlyLinkSchema, internalResolvedLinkSchema, internalLinkSchema, externalLinkSchema, customLinkSchema, pageLinkSchema, entryLinkSchema;
43168
- var init_link = __esmMin((() => {
43169
- nullableString = z.union([z.string().min(1), z.null()]);
43170
- resolvedInternalLinkKeys = [
43171
- "entityId",
43172
- "entityType",
43173
- "href",
43174
- "title",
43175
- "typeLabel"
43176
- ];
43177
- internalRouteOnlyLinkSchema = z.object({
43178
- kind: z.literal("internal"),
43179
- routeId: z.string().min(1)
43180
- }).passthrough().superRefine((value, ctx) => {
43181
- if (!resolvedInternalLinkKeys.some((key) => value[key] != null)) return;
43182
- ctx.addIssue({
43183
- code: "custom",
43184
- message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
43185
- });
43186
- });
43187
- internalResolvedLinkSchema = z.object({
43188
- kind: z.literal("internal"),
43189
- routeId: z.string().min(1),
43190
- entityId: z.string().min(1),
43191
- entityType: z.enum(["page", "content"]),
43192
- href: z.string().min(1),
43193
- title: z.string().min(1),
43194
- typeLabel: z.string().min(1),
43195
- contentTypeKey: nullableString.optional(),
43196
- contentTypeName: nullableString.optional(),
43197
- updatedAt: nullableString.optional()
43198
- }).passthrough();
43199
- internalLinkSchema = z.union([internalResolvedLinkSchema, internalRouteOnlyLinkSchema]);
43200
- externalLinkSchema = z.object({
43201
- kind: z.literal("external"),
43202
- href: z.string().min(1)
43203
- }).passthrough();
43204
- customLinkSchema = z.object({
43205
- kind: z.literal("url"),
43206
- href: z.string().min(1)
43207
- }).passthrough();
43208
- pageLinkSchema = z.object({
43209
- kind: z.literal("page"),
43210
- identifier: z.string().min(1)
43211
- }).passthrough();
43212
- entryLinkSchema = z.object({
43213
- kind: z.literal("entry"),
43214
- contentType: z.string().min(1),
43215
- identifier: z.string().min(1)
43216
- }).passthrough();
43217
- z.union([
43218
- internalLinkSchema,
43219
- externalLinkSchema,
43220
- customLinkSchema,
43221
- pageLinkSchema,
43222
- entryLinkSchema
43223
- ]);
43224
42729
  }));
43225
42730
  //#endregion
43226
42731
  //#region ../blocks/src/system/media/constrainedVideoMedia.ts
@@ -44844,6 +44349,68 @@ var init_pages = __esmMin((() => {
44844
44349
  var init_routes = __esmMin((() => {
44845
44350
  init_envelope();
44846
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
+ ]);
44847
44414
  }));
44848
44415
  //#endregion
44849
44416
  //#region ../api/src/emailSettings.ts
@@ -45084,6 +44651,7 @@ var init_src = __esmMin((() => {
45084
44651
  init_blocks();
45085
44652
  init_pages();
45086
44653
  init_routes();
44654
+ init_bookingPaymentTermSchemas();
45087
44655
  init_bookingRecords();
45088
44656
  init_emailSettings();
45089
44657
  init_eventEmailTemplates();