@riverbankcms/sdk 0.123.0 → 0.125.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +14 -9
  2. package/dist/{PreviewEditorSidebar-DvJFmC29.mjs → PreviewEditorSidebar-BezDOtQ7.mjs} +22 -39
  3. package/dist/{PreviewEditorUI-DVHP4bCo.mjs → PreviewEditorUI-CgSqmfo2.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-07EE4uWL.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BE5eFayo.mjs → SdkPreviewModeRuntime-Co3AHfj0.mjs} +1031 -1237
  6. package/dist/{SiteChromeCustomizeContext-4hn4A0HX.mjs → SiteChromeCustomizeContext-BHF-KANn.mjs} +1949 -2004
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
  8. package/dist/_dts/api/src/accessAdmin.d.ts +2 -14
  9. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
  10. package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
  11. package/dist/_dts/api/src/bookingConfig.d.ts +72 -73
  12. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
  13. package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
  14. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
  15. package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
  17. package/dist/_dts/api/src/bookings.d.ts +11 -9
  18. package/dist/_dts/api/src/cache-tags.d.ts +2 -2
  19. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
  20. package/dist/_dts/api/src/common/envelope.d.ts +2 -0
  21. package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
  22. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
  23. package/dist/_dts/api/src/courses.d.ts +22 -33
  24. package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
  25. package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
  26. package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
  27. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  28. package/dist/_dts/api/src/event-presentation.d.ts +4 -9
  29. package/dist/_dts/api/src/index.d.ts +9 -11
  30. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
  31. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  32. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  33. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
  34. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
  35. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
  36. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
  37. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
  38. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
  39. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
  40. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
  41. package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
  42. package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
  43. package/dist/_dts/api/src/siteAccessAdmin.d.ts +23 -0
  44. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
  45. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -4
  46. package/dist/_dts/billing/src/plans/types.d.ts +24 -5
  47. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
  48. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  49. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -16
  50. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -222
  51. package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
  52. package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
  53. package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
  54. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
  55. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
  56. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
  57. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
  58. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
  59. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
  60. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
  61. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
  62. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
  63. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
  65. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
  66. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
  68. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
  69. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  70. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +162 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
  72. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
  73. package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
  74. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
  76. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
  77. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
  78. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
  79. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
  80. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +20 -583
  81. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
  82. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
  83. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  84. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
  86. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
  87. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
  88. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
  89. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
  91. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
  93. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
  99. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
  100. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
  101. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
  102. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +2 -0
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -3
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +2 -2
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
  110. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
  111. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
  112. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
  113. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
  115. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
  117. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
  118. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
  119. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
  120. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
  121. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
  122. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  123. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
  124. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
  125. package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
  126. package/dist/_dts/core/src/editor-state.d.ts +1 -13
  127. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1646 -37
  128. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
  129. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
  130. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
  131. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
  132. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
  133. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
  134. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  135. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
  136. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
  137. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
  138. package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
  139. package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
  140. package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
  141. package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
  142. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
  143. package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
  144. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
  145. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
  146. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
  147. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
  148. package/dist/_dts/sdk/src/client/types.d.ts +7 -33
  149. package/dist/_dts/sdk/src/components.d.ts +1 -1
  150. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  151. package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
  152. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  153. package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
  154. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
  155. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
  156. package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
  157. package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
  158. package/dist/_dts/sdk/src/next/types.d.ts +0 -19
  159. package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
  160. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  161. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  162. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  163. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
  164. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
  165. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  166. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
  167. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
  168. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
  169. package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
  170. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
  171. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
  172. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  173. package/dist/_dts/sdk/src/version.d.ts +1 -1
  174. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  175. package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
  176. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  177. package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
  178. package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
  179. package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
  180. package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
  181. package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
  182. package/dist/_dts/site-commands/src/domain.d.ts +1 -1
  183. package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
  184. package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
  185. package/dist/_dts/site-commands/src/index.d.ts +6 -0
  186. package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
  187. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  188. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
  189. package/dist/_dts/site-commands/src/refs.d.ts +1 -4
  190. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
  191. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
  192. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
  193. package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
  194. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
  195. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
  196. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  197. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
  198. package/dist/cli/index.mjs +7267 -8479
  199. package/dist/cli/init-docs/content/cli-reference.md +5 -21
  200. package/dist/cli/init-docs/content/content-management.md +4 -5
  201. package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-CyPpekBp.mjs} +2 -2
  202. package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-zywit-60.mjs} +5 -16
  203. package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-J2nLhkKT.mjs} +3 -10
  204. package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CSubXWt6.mjs} +1 -1
  205. package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-DDLIfiq9.mjs} +2 -2
  206. package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-DE8EvHIp.mjs} +2 -2
  207. package/dist/client/{accordion-6lnN__XJ.mjs → accordion-Ct5T5NiA.mjs} +1 -1
  208. package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DMxtLPxw.mjs} +6 -6
  209. package/dist/client/bookings.mjs +753 -818
  210. package/dist/client/{carousel-Dtnifil_.mjs → carousel--FMqgvob.mjs} +1 -1
  211. package/dist/client/{cart-5Tc5S7NV.mjs → cart-BKX1bWiU.mjs} +3 -3
  212. package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-B_jxi4WW.mjs} +3 -3
  213. package/dist/client/client.mjs +6876 -7150
  214. package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
  215. package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-DH4MlkRD.mjs} +606 -621
  216. package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BQILwAcL.mjs} +5 -13
  217. package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DFFW_Vmo.mjs} +3 -3
  218. package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-B045CTSJ.mjs} +147 -118
  219. package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-BDMYNVzS.mjs} +3 -3
  220. package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-CQ2-BSnB.mjs} +165 -68
  221. package/dist/client/{form-Bc7JKI7I.mjs → form-DJKuyZgN.mjs} +2 -2
  222. package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-DeTjfiDo.mjs} +2 -2
  223. package/dist/client/hooks.mjs +3454 -2363
  224. package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-i2wDA8gB.mjs} +2 -2
  225. package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-DKiueauk.mjs} +2 -2
  226. package/dist/client/{pricing-DE8fjJiT.mjs → pricing-C01J3Epx.mjs} +3 -19
  227. package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-Dfc1sZaX.mjs} +3 -3
  228. package/dist/client/{productList-VjnZqiqN.mjs → productList-BXbvXWTF.mjs} +3 -3
  229. package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-CIR5DQ1l.mjs} +213 -376
  230. package/dist/client/rendering/client.mjs +3036 -3292
  231. package/dist/client/rendering/islands.mjs +18 -18
  232. package/dist/client/rendering.mjs +5489 -4585
  233. package/dist/client/{shop-IRsHHbf7.mjs → shop-BbNwPKM-.mjs} +6 -6
  234. package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-XO-XMFEt.mjs} +5 -5
  235. package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-Byh6OUGK.mjs} +1 -1
  236. package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-Bbq39mwr.mjs} +3 -3
  237. package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-Bcyh4508.mjs} +2 -2
  238. package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-C8OOJ3el.mjs} +59 -124
  239. package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-CyJVo9kF.mjs} +2 -2
  240. package/dist/preview-next/before-render.mjs +1115 -1044
  241. package/dist/preview-next/client/runtime.mjs +4 -4
  242. package/dist/preview-next/middleware.mjs +1118 -1047
  243. package/dist/{previewAuthStore-ShY26RNz.mjs → previewAuthStore-CJX21dGi.mjs} +1121 -1047
  244. package/dist/{sdk-runtime-CJxkFq2B.mjs → sdk-runtime-BGhyuE-E.mjs} +2 -2
  245. package/dist/{separator-CoFmo8uA.mjs → separator-BFs-Kmv5.mjs} +1 -1
  246. package/dist/server/components.mjs +5909 -5011
  247. package/dist/server/config-validation.mjs +3456 -2354
  248. package/dist/server/config.mjs +3456 -2354
  249. package/dist/server/data.mjs +3454 -2365
  250. package/dist/server/index.mjs +1501 -1491
  251. package/dist/server/next.mjs +7534 -8067
  252. package/dist/server/page-converter.mjs +1900 -2038
  253. package/dist/server/prebuild.mjs +1 -1
  254. package/dist/server/rendering/server.mjs +5618 -4723
  255. package/dist/server/rendering.mjs +6238 -5393
  256. package/dist/server/routing.mjs +3616 -2507
  257. package/dist/server/server.mjs +3300 -3477
  258. package/package.json +1 -1
  259. package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
  260. package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
  261. package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
  262. package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
  263. package/dist/_dts/sdk/src/routing/resolveEntrySubroute.d.ts +0 -36
@@ -1422,16 +1422,15 @@ const coursePricingSchema = z$1.object({
1422
1422
  /**
1423
1423
  * Zod schema for public course data
1424
1424
  */
1425
- const publicCourseSchema = z$1.object({
1426
- id: z$1.string(),
1427
- seriesId: z$1.string(),
1425
+ const publicWholeSeriesOfferingSchema = z$1.object({
1426
+ eventSeriesId: z$1.string(),
1427
+ eventOfferingId: z$1.string(),
1428
1428
  title: z$1.string(),
1429
1429
  slug: z$1.string(),
1430
1430
  description: z$1.unknown().nullable(),
1431
1431
  teamMembers: z$1.array(courseTeamMemberSummarySchema).optional(),
1432
1432
  enrollmentOpen: z$1.boolean(),
1433
- pricing: coursePricingSchema.optional(),
1434
- priceCents: z$1.number().nullable(),
1433
+ pricing: coursePricingSchema,
1435
1434
  currency: z$1.string(),
1436
1435
  paymentTerms: blockBookingPaymentTermsSchema,
1437
1436
  enrollmentCapacity: z$1.number().nullable(),
@@ -1445,38 +1444,13 @@ const publicCourseSchema = z$1.object({
1445
1444
  enrolledCount: z$1.number(),
1446
1445
  availableSpots: z$1.number().nullable(),
1447
1446
  sessions: z$1.array(courseSessionSchema),
1448
- venue: courseVenueSchema.nullable(),
1449
- contentEntryId: z$1.string().nullable()
1447
+ venue: courseVenueSchema.nullable()
1450
1448
  });
1451
- z$1.array(publicCourseSchema);
1452
- //#endregion
1453
- //#region ../blocks/src/system/blocks/event-registration.shared.ts
1454
- /**
1455
- * Flat occurrence context passed from `PageRenderer.$root.occurrenceContext`.
1456
- * Kept in a shared module so the block definition and runtime contracts can
1457
- * depend on the same schema without creating an initialization cycle.
1458
- */
1459
- const occurrenceContextSchema$1 = z$1.object({
1460
- id: z$1.string(),
1461
- seriesId: z$1.string(),
1462
- startsAt: z$1.string(),
1463
- endsAt: z$1.string(),
1464
- timeZone: z$1.string(),
1465
- capacityOverride: z$1.number().nullable().optional(),
1466
- overrides: z$1.record(z$1.string(), z$1.unknown()).nullable().optional()
1467
- }).nullable();
1449
+ /** Deployed course blocks retain this schema alias for stored content. */
1450
+ const publicCourseSchema = publicWholeSeriesOfferingSchema;
1451
+ z$1.array(publicWholeSeriesOfferingSchema);
1468
1452
  //#endregion
1469
1453
  //#region ../blocks/src/system/constants/events.ts
1470
- /**
1471
- * Content type slugs that represent event content.
1472
- * These are the standard slugs used when creating event content types in the CMS.
1473
- *
1474
- * Used by:
1475
- * - Occurrence resolution to detect event pages
1476
- * - Event Calendar block to identify event content
1477
- * - Content type definitions
1478
- */
1479
- const EVENT_CONTENT_TYPE_SLUGS = ["event", "events"];
1480
1454
  const eventCalendarDisplayModeValues = [
1481
1455
  "combined",
1482
1456
  "calendar",
@@ -1490,13 +1464,6 @@ const eventCalendarListLayoutValues = [
1490
1464
  "grid",
1491
1465
  "compact"
1492
1466
  ];
1493
- /**
1494
- * Check if a content type slug represents an event type
1495
- */
1496
- function isEventContentType(slug) {
1497
- if (!slug) return false;
1498
- return EVENT_CONTENT_TYPE_SLUGS.includes(slug);
1499
- }
1500
1467
  //#endregion
1501
1468
  //#region ../theme-core/src/tokens/blockColorTokens.ts
1502
1469
  const blockColorTokenNames = [
@@ -5686,12 +5653,6 @@ function resolveEventRegistrationScope(context) {
5686
5653
  kind: "unsupportedPageSurfaceSubject",
5687
5654
  reason: context.subject.reason
5688
5655
  };
5689
- const entrySlug = context.contentEntry?.slug;
5690
- const entryContentType = context.contentEntry?.contentTypeSlug;
5691
- if (entrySlug && entryContentType && isEventContentType(entryContentType)) return {
5692
- kind: "legacyEventSlug",
5693
- slug: entrySlug
5694
- };
5695
5656
  return { kind: "unscoped" };
5696
5657
  }
5697
5658
  function applyEventRegistrationScope(events, scope) {
@@ -5702,7 +5663,6 @@ function applyEventRegistrationScope(events, scope) {
5702
5663
  const seriesIds = new Set(scope.seriesIds);
5703
5664
  return events.filter((event) => seriesIds.has(event.seriesId));
5704
5665
  }
5705
- case "legacyEventSlug": return events.filter((event) => event.slug === scope.slug);
5706
5666
  case "unsupportedPageSurfaceSubject": return [];
5707
5667
  case "unscoped": return [...events];
5708
5668
  }
@@ -5712,29 +5672,10 @@ function resolveEventRegistrationScopedEvents(events, context) {
5712
5672
  }
5713
5673
  //#endregion
5714
5674
  //#region ../blocks/src/system/runtime/nodes/course-registration.interactive.ts
5715
- const contentEntrySchema$2 = z$1.object({
5716
- id: z$1.string(),
5717
- slug: z$1.string(),
5718
- contentTypeSlug: z$1.string()
5719
- });
5720
- const courseEntrySubrouteContextSchema = z$1.union([z$1.object({
5721
- kind: z$1.literal("course-run"),
5722
- run: z$1.object({
5723
- courseId: z$1.string(),
5724
- seriesId: z$1.string(),
5725
- runSlug: z$1.string(),
5726
- runName: z$1.string().nullable()
5727
- })
5728
- }), z$1.object({
5729
- kind: z$1.literal("event-occurrence"),
5730
- occurrence: occurrenceContextSchema$1
5731
- })]);
5732
5675
  const courseRegistrationSourceSchema = z$1.object({
5733
5676
  siteId: z$1.string().optional(),
5734
5677
  apiBaseUrl: z$1.string().optional(),
5735
5678
  portalToken: z$1.string().nullable().optional(),
5736
- contentEntry: contentEntrySchema$2.nullable().optional(),
5737
- entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
5738
5679
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
5739
5680
  courses: z$1.array(publicCourseSchema).nullable().optional(),
5740
5681
  className: z$1.string().nullable().optional(),
@@ -5756,8 +5697,6 @@ const courseRegistrationDisplaySchema = z$1.object({
5756
5697
  summaryButtonText: z$1.string()
5757
5698
  });
5758
5699
  const courseRegistrationHydrationSchema = z$1.object({
5759
- contentEntry: contentEntrySchema$2.nullable().optional(),
5760
- entrySubrouteContext: courseEntrySubrouteContextSchema.nullable().optional(),
5761
5700
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
5762
5701
  courses: z$1.array(publicCourseSchema).nullable().optional(),
5763
5702
  showSessions: z$1.boolean().optional(),
@@ -5798,8 +5737,6 @@ const courseRegistrationInteractiveIslandPropsCodec = createInteractiveIslandCod
5798
5737
  buildRender: (source) => ({
5799
5738
  display: buildCourseRegistrationDisplay(source),
5800
5739
  hydration: {
5801
- contentEntry: source.contentEntry ?? null,
5802
- entrySubrouteContext: source.entrySubrouteContext ?? null,
5803
5740
  subject: source.subject ?? null,
5804
5741
  courses: source.courses ?? null,
5805
5742
  showSessions: source.showSessions,
@@ -5979,11 +5916,12 @@ const RichTextDocSchema = z$1.object({
5979
5916
  const eventPresetSchema = z$1.enum([
5980
5917
  "event",
5981
5918
  "class",
5919
+ "course",
5982
5920
  "workshop",
5983
5921
  "retreat",
5984
5922
  "performance"
5985
5923
  ]);
5986
- const eventScheduleScopeSchema$3 = z$1.enum(["recurring", "oneOff"]);
5924
+ const eventScheduleScopeSchema$2 = z$1.enum(["recurring", "oneOff"]);
5987
5925
  const publicEventRecurrenceSchema = z$1.discriminatedUnion("kind", [z$1.object({
5988
5926
  kind: z$1.literal("weekly"),
5989
5927
  interval: z$1.number().int().positive(),
@@ -6245,10 +6183,10 @@ const publicTeamMemberSummarySchema = z$1.object({
6245
6183
  * Zod schema for public event data
6246
6184
  */
6247
6185
  const publicEventSchema = z$1.object({
6248
- kind: z$1.enum(["event", "course_session"]).optional(),
6186
+ bookingScope: z$1.enum(["single_occurrence", "whole_series"]),
6249
6187
  eventPreset: eventPresetSchema.optional(),
6250
6188
  eventDestinationMode: eventDestinationModeSchema.optional(),
6251
- scheduleScope: eventScheduleScopeSchema$3.optional(),
6189
+ scheduleScope: eventScheduleScopeSchema$2.optional(),
6252
6190
  recurrence: publicEventRecurrenceSchema.optional(),
6253
6191
  id: z$1.string(),
6254
6192
  occurrenceId: z$1.string(),
@@ -6293,10 +6231,9 @@ const publicEventSchema = z$1.object({
6293
6231
  requireGuestDetails: z$1.boolean().optional(),
6294
6232
  acceptsPasses: z$1.boolean().optional(),
6295
6233
  acceptsMemberships: z$1.boolean().optional(),
6296
- course: z$1.object({
6297
- id: z$1.string(),
6298
- pricing: coursePricingSchema.optional(),
6299
- priceCents: z$1.number().nullable(),
6234
+ wholeSeries: z$1.object({
6235
+ eventSeriesId: z$1.string(),
6236
+ pricing: coursePricingSchema,
6300
6237
  currency: z$1.string(),
6301
6238
  enrollmentOpen: z$1.boolean()
6302
6239
  }).nullable().optional()
@@ -6320,12 +6257,8 @@ function normalizeIdList(parts) {
6320
6257
  }
6321
6258
  //#endregion
6322
6259
  //#region ../blocks/src/system/blocks/events/shared/filtering.ts
6323
- const eventBlockKindValues = [
6324
- "all",
6325
- "courses",
6326
- "events"
6327
- ];
6328
6260
  const eventSurfacePresetValues = [
6261
+ "course",
6329
6262
  "class",
6330
6263
  "workshop",
6331
6264
  "retreat",
@@ -6344,9 +6277,6 @@ const eventScheduleScopeValues = [
6344
6277
  ];
6345
6278
  const unsafeAsEventCategoryId = (value) => value;
6346
6279
  const unsafeAsVenueId = (value) => value;
6347
- function normalizeEventBlockKind(value) {
6348
- return value === "courses" || value === "events" ? value : "all";
6349
- }
6350
6280
  function normalizeEventSurfaceScope(value) {
6351
6281
  return value === "regularClassSchedule" || value === "specialDatedEvents" || value === "custom" ? value : "all";
6352
6282
  }
@@ -6893,7 +6823,7 @@ function resolveEventCta(event, buttonText) {
6893
6823
  const { isFull: isSoldOut } = getEventAvailability(event);
6894
6824
  const destination = resolveRuntimeEventDestination(event);
6895
6825
  const isExternal = destination.kind === "external";
6896
- const defaultButtonText = isExternal ? destination.label : event.kind === "course_session" ? "Book course" : "Book";
6826
+ const defaultButtonText = isExternal ? destination.label : event.bookingScope === "whole_series" ? "Book course" : "Book";
6897
6827
  const effectiveButtonText = buttonText ?? defaultButtonText;
6898
6828
  const href = resolveEventHref(event);
6899
6829
  if (!isExternal && isSoldOut) return {
@@ -6903,7 +6833,7 @@ function resolveEventCta(event, buttonText) {
6903
6833
  hidden: true
6904
6834
  };
6905
6835
  return {
6906
- label: !(event.kind === "course_session" ? event.course?.enrollmentOpen !== false : true) ? "Registration closed" : effectiveButtonText,
6836
+ label: !(event.bookingScope === "whole_series" ? event.wholeSeries?.enrollmentOpen !== false : true) ? "Registration closed" : effectiveButtonText,
6907
6837
  href,
6908
6838
  external: isExternal,
6909
6839
  hidden: false
@@ -6984,15 +6914,8 @@ function buildEventRuntimeFilters(input) {
6984
6914
  if (input.scheduleScope && input.scheduleScope !== "any") params.scheduleScope = input.scheduleScope;
6985
6915
  const venueId = normalizeFilterId(input.filterVenueId);
6986
6916
  const staffMemberId = normalizeFilterId(input.filterStaffMemberId);
6987
- if (input.eventKind === "courses") {
6988
- params.kind = "courses";
6989
- if (venueId) params.venueId = venueId;
6990
- if (staffMemberId) params.staffMemberId = staffMemberId;
6991
- return params;
6992
- }
6993
6917
  const categoryIds = normalizeCsvString(input.filterCategoryIds);
6994
6918
  if (categoryIds) params.categoryIds = categoryIds;
6995
- if (input.eventKind === "events") params.kind = "events";
6996
6919
  if (venueId) params.venueId = venueId;
6997
6920
  if (staffMemberId) params.staffMemberId = staffMemberId;
6998
6921
  return params;
@@ -7002,20 +6925,163 @@ function getEventRuntimeFiltersKey(filters) {
7002
6925
  categoryIds: normalizeCsvString(filters?.categoryIds),
7003
6926
  staffMemberId: normalizeOptionalId(filters?.staffMemberId),
7004
6927
  venueId: normalizeOptionalId(filters?.venueId),
7005
- kind: filters?.kind ?? null,
7006
6928
  eventSurface: filters?.eventSurface ?? null,
7007
6929
  eventPresets: normalizeCsvString(filters?.eventPresets),
7008
6930
  scheduleScope: filters?.scheduleScope ?? null
7009
6931
  });
7010
6932
  }
7011
6933
  //#endregion
6934
+ //#region ../blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.ts
6935
+ const eventSurfaceScopeSchema$1 = z$1.enum(eventSurfaceScopeValues);
6936
+ const eventScheduleScopeSchema$1 = z$1.enum(eventScheduleScopeValues);
6937
+ const eventCollectionFilterSourceSchemaShape = {
6938
+ showFilters: z$1.boolean().nullable().optional(),
6939
+ showCategoryFilter: filterAutoShowSchema.optional(),
6940
+ showVenueFilter: z$1.boolean().nullable().optional(),
6941
+ showStaffFilter: z$1.boolean().nullable().optional(),
6942
+ eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
6943
+ filterEventPresets: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
6944
+ scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
6945
+ filterCategoryIds: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
6946
+ filterStaffMemberId: z$1.string().nullable().optional(),
6947
+ filterVenueId: z$1.string().nullable().optional()
6948
+ };
6949
+ const eventCollectionSourceSchemaShape = {
6950
+ events: z$1.array(publicEventSchema).nullable().optional(),
6951
+ siteId: z$1.string(),
6952
+ apiBaseUrl: z$1.string().optional(),
6953
+ stage: previewStageSchema.optional(),
6954
+ listLayout: eventLayoutSchema.optional(),
6955
+ listColumns: columnOptionSchema.optional(),
6956
+ eventsPerPage: z$1.string().optional(),
6957
+ paginationMode: z$1.enum(["loadMore", "seeAllLink"]).optional(),
6958
+ seeAllUrl: z$1.string().optional(),
6959
+ loadMoreText: z$1.string().optional(),
6960
+ startOfWeek: weekStartSchema.optional(),
6961
+ calendarTabViews: calendarTabViewsSchema.optional(),
6962
+ defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
6963
+ ...eventCollectionFilterSourceSchemaShape,
6964
+ showVenue: z$1.boolean().nullable().optional(),
6965
+ showMap: z$1.boolean().nullable().optional(),
6966
+ showCapacity: z$1.boolean().nullable().optional(),
6967
+ buttonVariant: eventButtonVariantSchema.optional(),
6968
+ buttonText: z$1.string().optional(),
6969
+ emptyMessage: z$1.string().optional(),
6970
+ className: z$1.string().optional()
6971
+ };
6972
+ const eventCollectionDisplaySchemaShape = {
6973
+ events: z$1.array(publicEventSchema),
6974
+ listLayout: eventLayoutSchema,
6975
+ listColumns: columnOptionSchema,
6976
+ eventsPerPage: eventPageSizeSchema,
6977
+ paginationAction: eventListPaginationActionSchema,
6978
+ startOfWeek: weekStartSchema,
6979
+ calendarTabViews: calendarTabViewsSchema,
6980
+ defaultCalendarView: eventCalendarDefaultViewSchema,
6981
+ showFilters: z$1.boolean(),
6982
+ showCategoryFilter: filterAutoShowSchema,
6983
+ showVenueFilter: z$1.boolean(),
6984
+ showStaffFilter: z$1.boolean(),
6985
+ eventSurface: eventSurfaceScopeSchema$1,
6986
+ filterEventPresets: z$1.string().nullable(),
6987
+ scheduleScope: eventScheduleScopeSchema$1,
6988
+ filterCategoryIds: z$1.string().nullable(),
6989
+ filterStaffMemberId: z$1.string().nullable(),
6990
+ filterVenueId: z$1.string().nullable(),
6991
+ showVenue: z$1.boolean(),
6992
+ showMap: z$1.boolean(),
6993
+ showCapacity: z$1.boolean(),
6994
+ buttonVariant: eventButtonVariantSchema,
6995
+ buttonText: z$1.string(),
6996
+ emptyMessage: z$1.string()
6997
+ };
6998
+ const eventCollectionHydrationSchema = z$1.object({
6999
+ siteId: z$1.string(),
7000
+ stage: previewStageSchema.optional(),
7001
+ prefetchedEvents: z$1.boolean(),
7002
+ eventSurface: eventSurfaceScopeSchema$1,
7003
+ filterEventPresets: z$1.string().nullable(),
7004
+ scheduleScope: eventScheduleScopeSchema$1
7005
+ });
7006
+ function buildEventCollectionDisplay(source) {
7007
+ return {
7008
+ ...buildEventCollectionFilterDisplay(source),
7009
+ ...buildEventCollectionPresentationDisplay(source),
7010
+ events: Array.isArray(source.events) ? [...source.events] : [],
7011
+ listLayout: source.listLayout ?? "stack",
7012
+ listColumns: source.listColumns ?? "3",
7013
+ eventsPerPage: resolveEventCalendarListPageSize({ eventsPerPage: source.eventsPerPage }),
7014
+ paginationAction: resolveEventListPaginationAction({
7015
+ paginationMode: source.paginationMode,
7016
+ seeAllUrl: source.seeAllUrl,
7017
+ loadMoreText: source.loadMoreText
7018
+ }),
7019
+ startOfWeek: source.startOfWeek ?? "monday",
7020
+ calendarTabViews: source.calendarTabViews ?? "both",
7021
+ defaultCalendarView: source.defaultCalendarView ?? "month"
7022
+ };
7023
+ }
7024
+ function buildEventCollectionFilterDisplay(source) {
7025
+ return {
7026
+ showFilters: source.showFilters ?? true,
7027
+ showCategoryFilter: source.showCategoryFilter ?? "auto",
7028
+ showVenueFilter: source.showVenueFilter ?? false,
7029
+ showStaffFilter: source.showStaffFilter ?? true,
7030
+ eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7031
+ filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7032
+ scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
7033
+ filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
7034
+ filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
7035
+ filterVenueId: normalizeEventVenueId(source.filterVenueId)
7036
+ };
7037
+ }
7038
+ function buildEventCollectionPresentationDisplay(source) {
7039
+ return {
7040
+ showVenue: source.showVenue ?? true,
7041
+ showMap: source.showMap ?? true,
7042
+ showCapacity: source.showCapacity ?? true,
7043
+ buttonVariant: source.buttonVariant ?? "primary",
7044
+ buttonText: source.buttonText ?? "Book",
7045
+ emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
7046
+ };
7047
+ }
7048
+ function buildEventCollectionHydration(source) {
7049
+ return {
7050
+ siteId: source.siteId,
7051
+ stage: source.stage,
7052
+ prefetchedEvents: source.events != null,
7053
+ eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7054
+ filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7055
+ scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
7056
+ };
7057
+ }
7058
+ function buildEventCollectionListingDisplay(display, prefetchedEvents, className) {
7059
+ const initialEvents = display.events.slice(0, display.eventsPerPage);
7060
+ return {
7061
+ kind: "event-listing",
7062
+ state: initialEvents.length === 0 ? prefetchedEvents ? "empty" : "loading" : "ready",
7063
+ listLayout: display.listLayout,
7064
+ className,
7065
+ emptyMessage: display.emptyMessage,
7066
+ loadingMessage: "Loading events…",
7067
+ containerClass: getContainerClass(display.listLayout, display.listColumns),
7068
+ cardVariant: "default",
7069
+ buttonVariant: display.buttonVariant,
7070
+ buttonText: display.buttonText,
7071
+ showVenue: display.showVenue,
7072
+ showMap: display.showMap,
7073
+ showCapacity: display.showCapacity,
7074
+ orientation: getCardOrientation(display.listLayout),
7075
+ events: initialEvents
7076
+ };
7077
+ }
7078
+ //#endregion
7012
7079
  //#region ../blocks/src/system/runtime/nodes/events/EventListing.interactive.ts
7013
7080
  const legacyEventCardVariantSchema = z$1.enum(["variant1", "variant2"]);
7014
7081
  const eventCardVariantInputSchema = z$1.union([cardVariantRoleSchema, legacyEventCardVariantSchema]);
7015
7082
  const cardOrientationSchema = z$1.enum(["vertical", "horizontal"]);
7016
- const eventBlockKindSchema$2 = z$1.enum(eventBlockKindValues);
7017
- const eventSurfaceScopeSchema$2 = z$1.enum(eventSurfaceScopeValues);
7018
- const eventScheduleScopeSchema$2 = z$1.enum(eventScheduleScopeValues);
7083
+ const eventSurfaceScopeSchema = z$1.enum(eventSurfaceScopeValues);
7084
+ const eventScheduleScopeSchema = z$1.enum(eventScheduleScopeValues);
7019
7085
  const eventListingSourceSchema = z$1.object({
7020
7086
  events: z$1.array(publicEventSchema).nullable().optional(),
7021
7087
  siteId: z$1.string(),
@@ -7035,17 +7101,7 @@ const eventListingSourceSchema = z$1.object({
7035
7101
  showCapacity: z$1.boolean().optional(),
7036
7102
  emptyMessage: z$1.string().optional(),
7037
7103
  className: z$1.string().optional(),
7038
- showFilters: z$1.boolean().nullable().optional(),
7039
- showCategoryFilter: filterAutoShowSchema.optional(),
7040
- showVenueFilter: z$1.boolean().nullable().optional(),
7041
- showStaffFilter: z$1.boolean().nullable().optional(),
7042
- eventKind: eventBlockKindSchema$2.nullable().optional(),
7043
- eventSurface: eventSurfaceScopeSchema$2.nullable().optional(),
7044
- filterEventPresets: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
7045
- scheduleScope: eventScheduleScopeSchema$2.nullable().optional(),
7046
- filterCategoryIds: z$1.string().nullable().optional(),
7047
- filterStaffMemberId: z$1.string().nullable().optional(),
7048
- filterVenueId: z$1.string().nullable().optional()
7104
+ ...eventCollectionFilterSourceSchemaShape
7049
7105
  });
7050
7106
  const eventListingDisplaySchema = z$1.object({
7051
7107
  kind: z$1.literal("event-listing"),
@@ -7077,10 +7133,9 @@ const eventListingHydrationSchema = z$1.object({
7077
7133
  showCategoryFilter: filterAutoShowSchema,
7078
7134
  showVenueFilter: z$1.boolean(),
7079
7135
  showStaffFilter: z$1.boolean(),
7080
- eventKind: eventBlockKindSchema$2,
7081
- eventSurface: eventSurfaceScopeSchema$2,
7136
+ eventSurface: eventSurfaceScopeSchema,
7082
7137
  filterEventPresets: z$1.string().nullable(),
7083
- scheduleScope: eventScheduleScopeSchema$2,
7138
+ scheduleScope: eventScheduleScopeSchema,
7084
7139
  filterCategoryIds: z$1.string().nullable().optional(),
7085
7140
  filterStaffMemberId: z$1.string().nullable().optional(),
7086
7141
  filterVenueId: z$1.string().nullable().optional(),
@@ -7139,7 +7194,6 @@ const eventListingInteractiveIslandPropsCodec = createInteractiveIslandCodec({
7139
7194
  showCategoryFilter: source.showCategoryFilter ?? "auto",
7140
7195
  showVenueFilter: source.showVenueFilter ?? false,
7141
7196
  showStaffFilter: source.showStaffFilter ?? false,
7142
- eventKind: normalizeEventBlockKind(source.eventKind),
7143
7197
  eventSurface: normalizeEventSurfaceScope(source.eventSurface),
7144
7198
  filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
7145
7199
  scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
@@ -9530,8 +9584,8 @@ createBlockManifest({
9530
9584
  from: "$root.occurrenceContext",
9531
9585
  fallback: null
9532
9586
  } },
9533
- contentEntry: { $bind: {
9534
- from: "$root.contentEntry",
9587
+ subject: { $bind: {
9588
+ from: "$root.subject",
9535
9589
  fallback: null
9536
9590
  } },
9537
9591
  events: { $bind: { from: "data.eventDetailsData.events" } },
@@ -9563,7 +9617,7 @@ createBlockManifest({
9563
9617
  })], { gap: "lg" })
9564
9618
  })]
9565
9619
  });
9566
- const occurrenceContextSchema = z$1.object({
9620
+ const occurrenceContextSchema$1 = z$1.object({
9567
9621
  id: z$1.string(),
9568
9622
  seriesId: z$1.string(),
9569
9623
  startsAt: z$1.string(),
@@ -9592,7 +9646,7 @@ z$1.object({
9592
9646
  sitePasses: publicPassProductCollectionSchema,
9593
9647
  siteMemberships: publicMembershipProductCollectionSchema,
9594
9648
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
9595
- }).optional(), occurrenceContextSchema.optional();
9649
+ }).optional(), occurrenceContextSchema$1.optional();
9596
9650
  //#endregion
9597
9651
  //#region ../blocks/src/contracts/non-block-islands.ts
9598
9652
  const accordionIslandSchema = z$1.object({
@@ -9634,14 +9688,9 @@ const eventDetailsOccurrenceContextSchema = z$1.object({
9634
9688
  endsAt: z$1.string(),
9635
9689
  timeZone: z$1.string()
9636
9690
  });
9637
- const eventDetailsContentEntrySchema = z$1.object({
9638
- id: z$1.string(),
9639
- slug: z$1.string(),
9640
- contentTypeSlug: z$1.string()
9641
- });
9642
9691
  const eventDetailsIslandSchema = z$1.object({
9643
9692
  occurrenceContext: eventDetailsOccurrenceContextSchema.nullable().optional(),
9644
- contentEntry: eventDetailsContentEntrySchema.nullable().optional(),
9693
+ subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
9645
9694
  events: z$1.array(publicEventSchema).nullable().optional(),
9646
9695
  showVenue: z$1.boolean().optional(),
9647
9696
  showMap: z$1.boolean().optional(),
@@ -9676,95 +9725,30 @@ const eventDetailsIslandPropsCodec = createZodCodec(eventDetailsIslandSchema);
9676
9725
  const locationMapIslandPropsCodec = createZodCodec(locationMapIslandSchema);
9677
9726
  //#endregion
9678
9727
  //#region ../blocks/src/system/runtime/nodes/events/EventCalendar.interactive.ts
9679
- const eventBlockKindSchema$1 = z$1.enum(eventBlockKindValues);
9680
- const eventSurfaceScopeSchema$1 = z$1.enum(eventSurfaceScopeValues);
9681
- const eventScheduleScopeSchema$1 = z$1.enum(eventScheduleScopeValues);
9682
9728
  const eventCalendarSourceSchema = z$1.object({
9683
- events: z$1.array(publicEventSchema).nullable().optional(),
9684
- siteId: z$1.string(),
9685
- apiBaseUrl: z$1.string().optional(),
9686
- stage: previewStageSchema.optional(),
9729
+ ...eventCollectionSourceSchemaShape,
9687
9730
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
9688
9731
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
9689
- listLayout: eventLayoutSchema.optional(),
9690
- listColumns: columnOptionSchema.optional(),
9691
9732
  layout: eventLayoutSchema.optional(),
9692
- columns: columnOptionSchema.optional(),
9693
- eventsPerPage: z$1.string().optional(),
9694
- paginationMode: z$1.enum(["loadMore", "seeAllLink"]).optional(),
9695
- seeAllUrl: z$1.string().optional(),
9696
- loadMoreText: z$1.string().optional(),
9697
- startOfWeek: weekStartSchema.optional(),
9698
- calendarTabViews: calendarTabViewsSchema.optional(),
9699
- defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
9700
- showFilters: z$1.boolean().nullable().optional(),
9701
- showCategoryFilter: filterAutoShowSchema.optional(),
9702
- showVenueFilter: z$1.boolean().nullable().optional(),
9703
- showStaffFilter: z$1.boolean().nullable().optional(),
9704
- kind: eventBlockKindSchema$1.nullable().optional(),
9705
- eventSurface: eventSurfaceScopeSchema$1.nullable().optional(),
9706
- filterEventPresets: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
9707
- scheduleScope: eventScheduleScopeSchema$1.nullable().optional(),
9708
- filterCategoryIds: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
9709
- filterStaffMemberId: z$1.string().nullable().optional(),
9710
- filterVenueId: z$1.string().nullable().optional(),
9711
- buttonVariant: eventButtonVariantSchema.optional(),
9712
- buttonText: z$1.string().optional(),
9733
+ columns: eventCollectionSourceSchemaShape.listColumns,
9713
9734
  boardTitle: z$1.string().optional(),
9714
9735
  footerNote: z$1.string().optional(),
9715
9736
  elevated: z$1.boolean().nullable().optional(),
9716
- banded: z$1.boolean().nullable().optional(),
9717
- showVenue: z$1.boolean().nullable().optional(),
9718
- showMap: z$1.boolean().nullable().optional(),
9719
- showCapacity: z$1.boolean().nullable().optional(),
9720
- emptyMessage: z$1.string().optional(),
9721
- className: z$1.string().optional()
9737
+ banded: z$1.boolean().nullable().optional()
9722
9738
  });
9723
9739
  const eventCalendarDisplaySchema = z$1.object({
9724
9740
  kind: z$1.literal("event-calendar"),
9725
9741
  displayMode: eventCalendarDisplayModeSchema,
9726
9742
  className: z$1.string().nullable(),
9727
- events: z$1.array(publicEventSchema),
9728
- listLayout: eventLayoutSchema,
9729
- listColumns: columnOptionSchema,
9730
- eventsPerPage: eventPageSizeSchema,
9731
- paginationAction: eventListPaginationActionSchema,
9732
- startOfWeek: weekStartSchema,
9733
- calendarTabViews: calendarTabViewsSchema,
9734
- defaultCalendarView: eventCalendarDefaultViewSchema,
9735
- showFilters: z$1.boolean(),
9736
- showCategoryFilter: filterAutoShowSchema,
9737
- showVenueFilter: z$1.boolean(),
9738
- showStaffFilter: z$1.boolean(),
9739
- eventKind: eventBlockKindSchema$1,
9740
- eventSurface: eventSurfaceScopeSchema$1,
9741
- filterEventPresets: z$1.string().nullable(),
9742
- scheduleScope: eventScheduleScopeSchema$1,
9743
- filterCategoryIds: z$1.string().nullable(),
9744
- filterStaffMemberId: z$1.string().nullable(),
9745
- filterVenueId: z$1.string().nullable(),
9746
- buttonVariant: eventButtonVariantSchema,
9747
- buttonText: z$1.string(),
9743
+ ...eventCollectionDisplaySchemaShape,
9748
9744
  boardTitle: z$1.string().optional(),
9749
9745
  footerNote: z$1.string().optional(),
9750
9746
  seeAllUrl: z$1.string().optional(),
9751
9747
  loadMoreText: z$1.string().optional(),
9752
9748
  elevated: z$1.boolean(),
9753
- banded: z$1.boolean(),
9754
- showVenue: z$1.boolean(),
9755
- showMap: z$1.boolean(),
9756
- showCapacity: z$1.boolean(),
9757
- emptyMessage: z$1.string()
9758
- });
9759
- const eventCalendarHydrationSchema = z$1.object({
9760
- siteId: z$1.string(),
9761
- stage: previewStageSchema.optional(),
9762
- prefetchedEvents: z$1.boolean(),
9763
- eventKind: eventBlockKindSchema$1,
9764
- eventSurface: eventSurfaceScopeSchema$1,
9765
- filterEventPresets: z$1.string().nullable(),
9766
- scheduleScope: eventScheduleScopeSchema$1
9749
+ banded: z$1.boolean()
9767
9750
  });
9751
+ const eventCalendarHydrationSchema = eventCollectionHydrationSchema;
9768
9752
  const eventCalendarRenderSchema = z$1.object({
9769
9753
  display: eventCalendarDisplaySchema,
9770
9754
  hydration: eventCalendarHydrationSchema
@@ -9788,66 +9772,25 @@ function normalizeOptionalText(value) {
9788
9772
  function buildEventCalendarDisplay(source) {
9789
9773
  const listLayout = source.listLayout ?? source.layout ?? "stack";
9790
9774
  return {
9775
+ ...buildEventCollectionDisplay({
9776
+ ...source,
9777
+ listLayout,
9778
+ listColumns: source.listColumns ?? source.columns
9779
+ }),
9791
9780
  kind: "event-calendar",
9792
9781
  displayMode: source.variant ?? source.displayMode ?? "combined",
9793
9782
  className: source.className ?? null,
9794
9783
  events: (source.events ?? []).slice().sort((left, right) => new Date(left.startsAt).getTime() - new Date(right.startsAt).getTime()),
9795
- listLayout,
9796
- listColumns: source.listColumns ?? source.columns ?? "3",
9797
- eventsPerPage: resolveEventCalendarListPageSize({ eventsPerPage: source.eventsPerPage }),
9798
- paginationAction: resolveEventListPaginationAction({
9799
- paginationMode: source.paginationMode,
9800
- seeAllUrl: source.seeAllUrl,
9801
- loadMoreText: source.loadMoreText
9802
- }),
9803
- startOfWeek: source.startOfWeek ?? "monday",
9804
- calendarTabViews: source.calendarTabViews ?? "both",
9805
- defaultCalendarView: source.defaultCalendarView ?? "month",
9806
- showFilters: source.showFilters ?? true,
9807
- showCategoryFilter: source.showCategoryFilter ?? "auto",
9808
- showVenueFilter: source.showVenueFilter ?? false,
9809
- showStaffFilter: source.showStaffFilter ?? true,
9810
- eventKind: normalizeEventBlockKind(source.kind),
9811
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
9812
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
9813
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
9814
- filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
9815
- filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
9816
- filterVenueId: normalizeEventVenueId(source.filterVenueId),
9817
- buttonVariant: source.buttonVariant ?? "primary",
9818
- buttonText: source.buttonText ?? "Book",
9819
9784
  boardTitle: normalizeOptionalText(source.boardTitle),
9820
9785
  footerNote: normalizeOptionalText(source.footerNote),
9821
9786
  seeAllUrl: normalizeOptionalText(source.seeAllUrl),
9822
9787
  loadMoreText: normalizeOptionalText(source.loadMoreText),
9823
9788
  elevated: source.elevated ?? false,
9824
- banded: source.banded ?? false,
9825
- showVenue: source.showVenue ?? true,
9826
- showMap: source.showMap ?? true,
9827
- showCapacity: source.showCapacity ?? true,
9828
- emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
9789
+ banded: source.banded ?? false
9829
9790
  };
9830
9791
  }
9831
9792
  function buildEventCalendarListingDisplay(display, prefetchedEvents, className = display.className) {
9832
- const pageSize = display.eventsPerPage;
9833
- const initialEvents = display.events.slice(0, pageSize);
9834
- return {
9835
- kind: "event-listing",
9836
- state: initialEvents.length === 0 ? prefetchedEvents ? "empty" : "loading" : "ready",
9837
- listLayout: display.listLayout,
9838
- className,
9839
- emptyMessage: display.emptyMessage,
9840
- loadingMessage: "Loading events…",
9841
- containerClass: getContainerClass(display.listLayout, display.listColumns),
9842
- cardVariant: "default",
9843
- buttonVariant: display.buttonVariant,
9844
- buttonText: display.buttonText,
9845
- showVenue: display.showVenue,
9846
- showMap: display.showMap,
9847
- showCapacity: display.showCapacity,
9848
- orientation: getCardOrientation(display.listLayout),
9849
- events: initialEvents
9850
- };
9793
+ return buildEventCollectionListingDisplay(display, prefetchedEvents, className);
9851
9794
  }
9852
9795
  function buildEventCalendarListingRender(render, className = render.display.className) {
9853
9796
  const { display, hydration } = render;
@@ -9863,7 +9806,6 @@ function buildEventCalendarListingRender(render, className = render.display.clas
9863
9806
  showCategoryFilter: display.showCategoryFilter,
9864
9807
  showVenueFilter: display.showVenueFilter,
9865
9808
  showStaffFilter: display.showStaffFilter,
9866
- eventKind: display.eventKind,
9867
9809
  eventSurface: display.eventSurface,
9868
9810
  filterEventPresets: display.filterEventPresets,
9869
9811
  scheduleScope: display.scheduleScope,
@@ -9883,15 +9825,7 @@ const eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
9883
9825
  },
9884
9826
  buildRender: (source) => ({
9885
9827
  display: buildEventCalendarDisplay(source),
9886
- hydration: {
9887
- siteId: source.siteId,
9888
- stage: source.stage,
9889
- prefetchedEvents: source.events != null,
9890
- eventKind: normalizeEventBlockKind(source.kind),
9891
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
9892
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
9893
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
9894
- }
9828
+ hydration: buildEventCollectionHydration(source)
9895
9829
  })
9896
9830
  }),
9897
9831
  mode: "event-calendar",
@@ -9905,80 +9839,13 @@ const eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
9905
9839
  });
9906
9840
  //#endregion
9907
9841
  //#region ../blocks/src/system/runtime/nodes/events/EventCombined.interactive.ts
9908
- const eventBlockKindSchema = z$1.enum(eventBlockKindValues);
9909
- const eventSurfaceScopeSchema = z$1.enum(eventSurfaceScopeValues);
9910
- const eventScheduleScopeSchema = z$1.enum(eventScheduleScopeValues);
9911
- const eventCombinedSourceSchema = z$1.object({
9912
- events: z$1.array(publicEventSchema).nullable().optional(),
9913
- siteId: z$1.string(),
9914
- apiBaseUrl: z$1.string().optional(),
9915
- stage: previewStageSchema.optional(),
9916
- listLayout: eventLayoutSchema.optional(),
9917
- listColumns: columnOptionSchema.optional(),
9918
- eventsPerPage: z$1.string().optional(),
9919
- paginationMode: z$1.enum(["loadMore", "seeAllLink"]).optional(),
9920
- seeAllUrl: z$1.string().optional(),
9921
- loadMoreText: z$1.string().optional(),
9922
- startOfWeek: weekStartSchema.optional(),
9923
- calendarTabViews: calendarTabViewsSchema.optional(),
9924
- defaultCalendarView: eventCalendarDefaultViewSchema.optional(),
9925
- showFilters: z$1.boolean().nullable().optional(),
9926
- showCategoryFilter: filterAutoShowSchema.optional(),
9927
- showVenueFilter: z$1.boolean().nullable().optional(),
9928
- showStaffFilter: z$1.boolean().nullable().optional(),
9929
- eventKind: eventBlockKindSchema.nullable().optional(),
9930
- eventSurface: eventSurfaceScopeSchema.nullable().optional(),
9931
- filterEventPresets: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
9932
- scheduleScope: eventScheduleScopeSchema.nullable().optional(),
9933
- filterCategoryIds: z$1.union([z$1.string(), z$1.array(z$1.string())]).nullable().optional(),
9934
- filterStaffMemberId: z$1.string().nullable().optional(),
9935
- filterVenueId: z$1.string().nullable().optional(),
9936
- showVenue: z$1.boolean().nullable().optional(),
9937
- showMap: z$1.boolean().nullable().optional(),
9938
- showCapacity: z$1.boolean().nullable().optional(),
9939
- buttonVariant: eventButtonVariantSchema.optional(),
9940
- buttonText: z$1.string().optional(),
9941
- emptyMessage: z$1.string().optional(),
9942
- className: z$1.string().optional()
9943
- });
9842
+ const eventCombinedSourceSchema = z$1.object({ ...eventCollectionSourceSchemaShape });
9944
9843
  const eventCombinedDisplaySchema = z$1.object({
9945
9844
  kind: z$1.literal("event-combined"),
9946
9845
  className: z$1.string().nullable(),
9947
- events: z$1.array(publicEventSchema),
9948
- listLayout: eventLayoutSchema,
9949
- listColumns: columnOptionSchema,
9950
- eventsPerPage: eventPageSizeSchema,
9951
- paginationAction: eventListPaginationActionSchema,
9952
- startOfWeek: weekStartSchema,
9953
- calendarTabViews: calendarTabViewsSchema,
9954
- defaultCalendarView: eventCalendarDefaultViewSchema,
9955
- showFilters: z$1.boolean(),
9956
- showCategoryFilter: filterAutoShowSchema,
9957
- showVenueFilter: z$1.boolean(),
9958
- showStaffFilter: z$1.boolean(),
9959
- eventKind: eventBlockKindSchema,
9960
- eventSurface: eventSurfaceScopeSchema,
9961
- filterEventPresets: z$1.string().nullable(),
9962
- scheduleScope: eventScheduleScopeSchema,
9963
- filterCategoryIds: z$1.string().nullable(),
9964
- filterStaffMemberId: z$1.string().nullable(),
9965
- filterVenueId: z$1.string().nullable(),
9966
- showVenue: z$1.boolean(),
9967
- showMap: z$1.boolean(),
9968
- showCapacity: z$1.boolean(),
9969
- buttonVariant: eventButtonVariantSchema,
9970
- buttonText: z$1.string(),
9971
- emptyMessage: z$1.string()
9972
- });
9973
- const eventCombinedHydrationSchema = z$1.object({
9974
- siteId: z$1.string(),
9975
- stage: previewStageSchema.optional(),
9976
- prefetchedEvents: z$1.boolean(),
9977
- eventKind: eventBlockKindSchema,
9978
- eventSurface: eventSurfaceScopeSchema,
9979
- filterEventPresets: z$1.string().nullable(),
9980
- scheduleScope: eventScheduleScopeSchema
9846
+ ...eventCollectionDisplaySchemaShape
9981
9847
  });
9848
+ const eventCombinedHydrationSchema = eventCollectionHydrationSchema;
9982
9849
  const eventCombinedRenderSchema = z$1.object({
9983
9850
  display: eventCombinedDisplaySchema,
9984
9851
  hydration: eventCombinedHydrationSchema
@@ -9990,39 +9857,10 @@ const eventCombinedIslandMetaCodec = createZodCodec(z$1.object({
9990
9857
  }));
9991
9858
  const eventCombinedIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
9992
9859
  function buildEventCombinedDisplay(source) {
9993
- const listLayout = source.listLayout ?? "stack";
9994
9860
  return {
9861
+ ...buildEventCollectionDisplay(source),
9995
9862
  kind: "event-combined",
9996
- className: source.className ?? null,
9997
- events: Array.isArray(source.events) ? [...source.events] : [],
9998
- listLayout,
9999
- listColumns: source.listColumns ?? "3",
10000
- eventsPerPage: resolveEventCalendarListPageSize({ eventsPerPage: source.eventsPerPage }),
10001
- paginationAction: resolveEventListPaginationAction({
10002
- paginationMode: source.paginationMode,
10003
- seeAllUrl: source.seeAllUrl,
10004
- loadMoreText: source.loadMoreText
10005
- }),
10006
- startOfWeek: source.startOfWeek ?? "monday",
10007
- calendarTabViews: source.calendarTabViews ?? "both",
10008
- defaultCalendarView: source.defaultCalendarView ?? "month",
10009
- showFilters: source.showFilters ?? true,
10010
- showCategoryFilter: source.showCategoryFilter ?? "auto",
10011
- showVenueFilter: source.showVenueFilter ?? false,
10012
- showStaffFilter: source.showStaffFilter ?? true,
10013
- eventKind: normalizeEventBlockKind(source.eventKind),
10014
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
10015
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
10016
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope),
10017
- filterCategoryIds: normalizeEventCategoryIdsCsv(source.filterCategoryIds),
10018
- filterStaffMemberId: normalizeEventStaffMemberId(source.filterStaffMemberId),
10019
- filterVenueId: normalizeEventVenueId(source.filterVenueId),
10020
- showVenue: source.showVenue ?? true,
10021
- showMap: source.showMap ?? true,
10022
- showCapacity: source.showCapacity ?? true,
10023
- buttonVariant: source.buttonVariant ?? "primary",
10024
- buttonText: source.buttonText ?? "Book",
10025
- emptyMessage: source.emptyMessage ?? "No upcoming events scheduled."
9863
+ className: source.className ?? null
10026
9864
  };
10027
9865
  }
10028
9866
  const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
@@ -10034,15 +9872,7 @@ const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
10034
9872
  },
10035
9873
  buildRender: (source) => ({
10036
9874
  display: buildEventCombinedDisplay(source),
10037
- hydration: {
10038
- siteId: source.siteId,
10039
- stage: source.stage,
10040
- prefetchedEvents: source.events != null,
10041
- eventKind: normalizeEventBlockKind(source.eventKind),
10042
- eventSurface: normalizeEventSurfaceScope(source.eventSurface),
10043
- filterEventPresets: normalizeEventSurfacePresetsCsv(source.filterEventPresets),
10044
- scheduleScope: normalizeEventScheduleScope(source.scheduleScope)
10045
- }
9875
+ hydration: buildEventCollectionHydration(source)
10046
9876
  })
10047
9877
  }),
10048
9878
  mode: "event-combined",
@@ -10055,6 +9885,22 @@ const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
10055
9885
  })
10056
9886
  });
10057
9887
  //#endregion
9888
+ //#region ../blocks/src/system/blocks/event-registration.shared.ts
9889
+ /**
9890
+ * Flat occurrence context passed from `PageRenderer.$root.occurrenceContext`.
9891
+ * Kept in a shared module so the block definition and runtime contracts can
9892
+ * depend on the same schema without creating an initialization cycle.
9893
+ */
9894
+ const occurrenceContextSchema = z$1.object({
9895
+ id: z$1.string(),
9896
+ seriesId: z$1.string(),
9897
+ startsAt: z$1.string(),
9898
+ endsAt: z$1.string(),
9899
+ timeZone: z$1.string(),
9900
+ capacityOverride: z$1.number().nullable().optional(),
9901
+ overrides: z$1.record(z$1.string(), z$1.unknown()).nullable().optional()
9902
+ }).nullable();
9903
+ //#endregion
10058
9904
  //#region ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
10059
9905
  /**
10060
9906
  * Steps that are part of the main wizard and should show the step indicator
@@ -10170,19 +10016,13 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
10170
10016
  "Details",
10171
10017
  "Payment"
10172
10018
  ];
10173
- const contentEntrySchema$1 = z$1.object({
10174
- id: z$1.string(),
10175
- slug: z$1.string(),
10176
- contentTypeSlug: z$1.string()
10177
- });
10178
10019
  const eventRegistrationPublicEventSchema = z$1.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
10179
10020
  const eventRegistrationSourceSchema = z$1.object({
10180
10021
  siteId: z$1.string().optional(),
10181
10022
  apiBaseUrl: z$1.string().optional(),
10182
10023
  portalToken: z$1.string().nullable().optional(),
10183
10024
  previewToken: z$1.string().nullable().optional(),
10184
- occurrenceContext: occurrenceContextSchema$1.optional(),
10185
- contentEntry: contentEntrySchema$1.nullable().optional(),
10025
+ occurrenceContext: occurrenceContextSchema.optional(),
10186
10026
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
10187
10027
  events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
10188
10028
  className: z$1.string().nullable().optional(),
@@ -10210,8 +10050,7 @@ const eventRegistrationDisplaySchema = z$1.object({
10210
10050
  summaryButtonText: z$1.string()
10211
10051
  });
10212
10052
  const eventRegistrationHydrationSchema = z$1.object({
10213
- occurrenceContext: occurrenceContextSchema$1.optional(),
10214
- contentEntry: contentEntrySchema$1.nullable().optional(),
10053
+ occurrenceContext: occurrenceContextSchema.optional(),
10215
10054
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
10216
10055
  events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
10217
10056
  maxTickets: z$1.string().optional(),
@@ -10267,8 +10106,7 @@ function buildEventRegistrationShellStepLabels(source) {
10267
10106
  function scopeEventRegistrationEvents(source) {
10268
10107
  return resolveEventRegistrationScopedEvents(toRegistrationEvents(source.events ?? []), {
10269
10108
  occurrenceContext: source.occurrenceContext,
10270
- subject: source.subject,
10271
- contentEntry: source.contentEntry
10109
+ subject: source.subject
10272
10110
  });
10273
10111
  }
10274
10112
  function shellLabelForRegistrationStep(step, events) {
@@ -10305,7 +10143,6 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
10305
10143
  display: buildEventRegistrationDisplay(source),
10306
10144
  hydration: {
10307
10145
  occurrenceContext: source.occurrenceContext ?? null,
10308
- contentEntry: source.contentEntry ?? null,
10309
10146
  subject: source.subject ?? null,
10310
10147
  events: source.events ?? null,
10311
10148
  maxTickets: source.maxTickets ?? void 0,
@@ -11732,4 +11569,4 @@ function defineIslandPropsDecoder(kind) {
11732
11569
  };
11733
11570
  }
11734
11571
  //#endregion
11735
- export { hexToRgb as $, formatDate as A, formatBookingInstant as At, resolveEventCta as B, publicEventPricingCurrency as Bt, getWizardStepsForContext as C, ok as Ct, normalizeCsvIds as D, addLocalScheduleDays as Dt, getEventRuntimeFiltersKey as E, reportWorkflowSuccess as Et, formatEventTeacherLine as F, resolveBookingTimeZoneId as Ft, getLocalDateKey as G, formatCurrencyAmount as Gt, resolveRuntimeEventPricing as H, publicEventPricingType as Ht, formatTime as I, toBookingTimeZone as It, RichTextDocSchema as J, getLocalMinuteOfDay as K, assertNever$2 as Kt, getCardOrientation as L, toScheduledBookingDateTime as Lt, formatEventDateParts as M, formatLocalScheduleDate as Mt, formatEventPrice as N, getBookingLocalDateKey as Nt, normalizeCsvString as O, formatBookingDate as Ot, formatEventPriceDisplay as P, parseBookingLocalDate as Pt, relativeLuminance as Q, getContainerClass as R, parseEventPageSurfaceSubject as Rt, getStepNumber as S, err as St, buildEventRuntimeFilters as T, reportWorkflowError as Tt, getEventAvailability as U, publicEventScalarPrice as Ut, resolveEventLinkProps as V, publicEventPricingMode as Vt, getEventAvailabilityStatus as W, publicEventTicketTypes as Wt, resolveEventRegistrationScopedEvents as X, isRecord$3 as Y, themeButtonClassName as Z, findPreSelectedEvent as _, resolveDefaultBookingServiceId as _t, buildProductDetailDisplay as a, deriveBookingFormViewState as at, resolveRegistrationTarget as b, assertNever$1 as bt, EMPTY_COMMERCE_CART_STATE as c, getBookingRedirectStateFromLocation as ct, deriveCommerceCheckoutState as d, isBookingServiceSlidingAmountInRange as dt, isCssColorLiteral as et, parseStoredCommerceCartState as f, parseBookingCurrencyInputToCents as ft, findEventByOccurrenceId as g, resolveBookingSiteId as gt, toRegistrationEvents as h, resolveBookingPaymentStep as ht, buildProductCardDisplay as i, logger as it, formatEventCompactDateRail as j, formatBookingTime as jt, normalizeOptionalId as k, formatBookingDateTime as kt, buildPassCartItem as l, getBookingServiceSlidingScale as lt, reduceCommerceCart as m, resolveAppointmentCheckoutVerificationState as mt, getShopDisplayForItems as n, resolveTokenOrCssColorValue as nt, formatCommercePrice as o, formatBookingCentsAsCurrencyInput as ot, productItemKey as p, prepareBookingSubmission as pt, normalizeEventBlockKind as q, buildCartDisplay as r, normalizeCardVariantRole as rt, formatInterval as s, formatBookingSubmissionPreparationError as st, defineIslandPropsDecoder as t, resolveOnColorForThemeToken as tt, buildProductCartItem as u, getBookingSuccessMessage as ut, resolveDiscountContext as v, toSelectedCollectionOptionKind as vt, buildEventCalendarListingRender as w, okWith as wt, WIZARD_STEPS as x, clearWorkflowFeedback as xt, resolveEventRequiresPayment as y, BOOKING_FORM_DATA_RESERVED_KEYS as yt, groupEventsByDate as z, formatBookingPriceDisplay as zt };
11572
+ export { isCssColorLiteral as $, formatDate as A, formatBookingTime as At, resolveEventCta as B, publicEventPricingMode as Bt, getWizardStepsForContext as C, okWith as Ct, normalizeCsvIds as D, formatBookingDate as Dt, getEventRuntimeFiltersKey as E, addLocalScheduleDays as Et, formatEventTeacherLine as F, toBookingTimeZone as Ft, getLocalDateKey as G, assertNever$2 as Gt, resolveRuntimeEventPricing as H, publicEventScalarPrice as Ht, formatTime as I, toScheduledBookingDateTime as It, isRecord$3 as J, getLocalMinuteOfDay as K, getCardOrientation as L, parseEventPageSurfaceSubject as Lt, formatEventDateParts as M, getBookingLocalDateKey as Mt, formatEventPrice as N, parseBookingLocalDate as Nt, normalizeCsvString as O, formatBookingDateTime as Ot, formatEventPriceDisplay as P, resolveBookingTimeZoneId as Pt, hexToRgb as Q, getContainerClass as R, formatBookingPriceDisplay as Rt, getStepNumber as S, ok as St, buildEventRuntimeFilters as T, reportWorkflowSuccess as Tt, getEventAvailability as U, publicEventTicketTypes as Ut, resolveEventLinkProps as V, publicEventPricingType as Vt, getEventAvailabilityStatus as W, formatCurrencyAmount as Wt, themeButtonClassName as X, resolveEventRegistrationScopedEvents as Y, relativeLuminance as Z, findPreSelectedEvent as _, toSelectedCollectionOptionKind as _t, buildProductDetailDisplay as a, formatBookingCentsAsCurrencyInput as at, resolveRegistrationTarget as b, clearWorkflowFeedback as bt, EMPTY_COMMERCE_CART_STATE as c, getBookingServiceSlidingScale as ct, deriveCommerceCheckoutState as d, parseBookingCurrencyInputToCents as dt, resolveOnColorForThemeToken as et, parseStoredCommerceCartState as f, prepareBookingSubmission as ft, findEventByOccurrenceId as g, resolveDefaultBookingServiceId as gt, toRegistrationEvents as h, resolveBookingSiteId as ht, buildProductCardDisplay as i, deriveBookingFormViewState as it, formatEventCompactDateRail as j, formatLocalScheduleDate as jt, normalizeOptionalId as k, formatBookingInstant as kt, buildPassCartItem as l, getBookingSuccessMessage as lt, reduceCommerceCart as m, resolveBookingPaymentStep as mt, getShopDisplayForItems as n, normalizeCardVariantRole as nt, formatCommercePrice as o, formatBookingSubmissionPreparationError as ot, productItemKey as p, resolveAppointmentCheckoutVerificationState as pt, RichTextDocSchema as q, buildCartDisplay as r, logger as rt, formatInterval as s, getBookingRedirectStateFromLocation as st, defineIslandPropsDecoder as t, resolveTokenOrCssColorValue as tt, buildProductCartItem as u, isBookingServiceSlidingAmountInRange as ut, resolveDiscountContext as v, BOOKING_FORM_DATA_RESERVED_KEYS as vt, buildEventCalendarListingRender as w, reportWorkflowError as wt, WIZARD_STEPS as x, err as xt, resolveEventRequiresPayment as y, assertNever$1 as yt, groupEventsByDate as z, publicEventPricingCurrency as zt };