@riverbankcms/sdk 0.123.0 → 0.124.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 (259) hide show
  1. package/README.md +14 -9
  2. package/dist/{PreviewEditorSidebar-DvJFmC29.mjs → PreviewEditorSidebar-DBmAJJkQ.mjs} +22 -39
  3. package/dist/{PreviewEditorUI-DVHP4bCo.mjs → PreviewEditorUI-CfGaz9cY.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-07EE4uWL.mjs → PreviewQueryProvider-BH-3-jSj.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-BE5eFayo.mjs → SdkPreviewModeRuntime-BW9Z8j8T.mjs} +1020 -1234
  6. package/dist/{SiteChromeCustomizeContext-4hn4A0HX.mjs → SiteChromeCustomizeContext-2z8moxYf.mjs} +1900 -1959
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1236 -4152
  8. package/dist/_dts/api/src/appointmentEndpointDefinitions.d.ts +435 -0
  9. package/dist/_dts/api/src/bookingClosures.d.ts +3 -3
  10. package/dist/_dts/api/src/bookingConfig.d.ts +72 -73
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +26 -35
  12. package/dist/_dts/api/src/bookingRecords.d.ts +4 -15
  13. package/dist/_dts/api/src/bookingVerticalCatalog.d.ts +746 -0
  14. package/dist/_dts/api/src/bookingVerticalPreset.d.ts +38 -0
  15. package/dist/_dts/api/src/bookingVerticals.d.ts +11 -652
  16. package/dist/_dts/api/src/bookings.d.ts +11 -9
  17. package/dist/_dts/api/src/cache-tags.d.ts +2 -2
  18. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +10 -10
  19. package/dist/_dts/api/src/common/envelope.d.ts +2 -0
  20. package/dist/_dts/api/src/contentRuntime.d.ts +0 -17
  21. package/dist/_dts/api/src/courseEndpointDefinitions.d.ts +99 -0
  22. package/dist/_dts/api/src/courses.d.ts +22 -33
  23. package/dist/_dts/api/src/defineEndpointDefinitions.d.ts +14 -0
  24. package/dist/_dts/api/src/demoMutationPolicies.d.ts +4 -0
  25. package/dist/_dts/api/src/endpoints.d.ts +3740 -3733
  26. package/dist/_dts/api/src/event-destination-policy.d.ts +1 -1
  27. package/dist/_dts/api/src/event-presentation.d.ts +4 -9
  28. package/dist/_dts/api/src/index.d.ts +9 -11
  29. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +376 -0
  30. package/dist/_dts/api/src/participantMessaging.d.ts +2 -2
  31. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  32. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +272 -0
  33. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +274 -0
  34. package/dist/_dts/api/src/publicExperience/newsletterEndpoints.d.ts +31 -0
  35. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +152 -0
  36. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +95 -0
  37. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +154 -0
  38. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +10 -962
  39. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +52 -0
  40. package/dist/_dts/api/src/sdkContracts.d.ts +0 -51
  41. package/dist/_dts/api/src/sdkEntryReadEndpoints.d.ts +23 -0
  42. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -38
  43. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +3 -4
  44. package/dist/_dts/blocks/src/PageRenderer.d.ts +4 -15
  45. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  46. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +0 -16
  47. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +6 -222
  48. package/dist/_dts/blocks/src/portal/types.d.ts +3 -3
  49. package/dist/_dts/blocks/src/subroutes/fold.d.ts +1 -14
  50. package/dist/_dts/blocks/src/subroutes/index.d.ts +1 -1
  51. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +3 -3
  52. package/dist/_dts/blocks/src/system/blocks/course-details.d.ts +0 -11
  53. package/dist/_dts/blocks/src/system/blocks/course-registration.d.ts +3 -4
  54. package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +1 -1
  55. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +401 -12
  56. package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +9 -10
  57. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +14 -13
  58. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +1 -2
  59. package/dist/_dts/blocks/src/system/blocks/events/shared/filtering.d.ts +1 -4
  60. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +19 -18
  61. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -11
  62. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +2 -2
  63. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  64. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +10 -10
  65. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +10 -10
  66. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  67. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +162 -0
  68. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +59 -0
  69. package/dist/_dts/blocks/src/system/runtime/api/types/courses.d.ts +134 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/discounts.d.ts +85 -0
  71. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +241 -0
  72. package/dist/_dts/blocks/src/system/runtime/api/types/forms.d.ts +53 -0
  73. package/dist/_dts/blocks/src/system/runtime/api/types/newsletter.d.ts +32 -0
  74. package/dist/_dts/blocks/src/system/runtime/api/types/portal.d.ts +220 -0
  75. package/dist/_dts/blocks/src/system/runtime/api/types/shop.d.ts +176 -0
  76. package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +12 -1121
  77. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +19 -583
  78. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +9 -276
  79. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +1 -12
  80. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +0 -1
  81. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessWholeSeriesRegistrationFlow.d.ts +0 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +2 -3
  83. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/logic.d.ts +1 -18
  84. package/dist/_dts/blocks/src/system/runtime/nodes/course-details/runs.d.ts +0 -2
  85. package/dist/_dts/blocks/src/system/runtime/nodes/course-details.server.d.ts +1 -5
  86. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/courseRegistrationViewState.d.ts +21 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/index.d.ts +1 -1
  88. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/pricing.d.ts +14 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +0 -25
  90. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseEligibility.d.ts +24 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCoursePaymentVerification.d.ts +9 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationActions.d.ts +35 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationPortal.d.ts +7 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationSelection.d.ts +31 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +80 -55
  96. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseWaitlistSelection.d.ts +14 -0
  97. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/whole-series-registration.headless.contract.d.ts +4 -5
  98. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +0 -38
  99. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.server.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +1 -2
  101. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +0 -1
  102. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +12 -0
  103. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +0 -4
  104. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +0 -9
  105. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +0 -5
  106. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +0 -11
  107. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +13 -0
  108. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +0 -21
  109. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.server.d.ts +1 -1
  110. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +24 -433
  111. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -2
  112. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +52 -266
  113. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +5 -15
  114. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventFilters.d.ts +0 -8
  115. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1573 -0
  116. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +1 -3
  117. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +2 -3
  118. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +2 -2
  119. package/dist/_dts/content-model/src/content-types/builtin-schemas.d.ts +0 -5
  120. package/dist/_dts/content-model/src/content-types/builtins.d.ts +0 -5
  121. package/dist/_dts/content-model/src/templates/defaults.d.ts +6 -3
  122. package/dist/_dts/core/src/editor-state.d.ts +1 -13
  123. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1580 -120
  124. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +6 -6
  125. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +6 -1
  126. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +27 -4
  127. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +1 -2
  128. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +1 -1
  129. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +4 -6
  130. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +1 -1
  131. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +1 -1
  132. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -1
  133. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +1 -1
  134. package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +23 -0
  135. package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +25 -0
  136. package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -52
  137. package/dist/_dts/sdk/src/cli/content/writer.d.ts +3 -81
  138. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +6 -9
  139. package/dist/_dts/sdk/src/client/contentReadOperations.d.ts +40 -0
  140. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -3
  141. package/dist/_dts/sdk/src/client/management/types.d.ts +3 -91
  142. package/dist/_dts/sdk/src/client/runtimeCacheKeys.d.ts +72 -0
  143. package/dist/_dts/sdk/src/client/runtimeCachePolicy.d.ts +10 -75
  144. package/dist/_dts/sdk/src/client/types.d.ts +7 -33
  145. package/dist/_dts/sdk/src/components.d.ts +1 -1
  146. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  147. package/dist/_dts/sdk/src/config/validation.d.ts +3 -6
  148. package/dist/_dts/sdk/src/contracts/index.d.ts +1 -1
  149. package/dist/_dts/sdk/src/contracts/page.d.ts +0 -8
  150. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +1 -34
  151. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +4 -3
  152. package/dist/_dts/sdk/src/next/catch-all-utils.d.ts +0 -11
  153. package/dist/_dts/sdk/src/next/catch-all.d.ts +1 -76
  154. package/dist/_dts/sdk/src/next/types.d.ts +0 -19
  155. package/dist/_dts/sdk/src/public-api/contracts.d.ts +7 -207
  156. package/dist/_dts/sdk/src/public-api/runtime.d.ts +1 -1
  157. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +2 -1
  158. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +2 -2
  159. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +0 -7
  160. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +81 -0
  161. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -1
  162. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -51
  163. package/dist/_dts/sdk/src/rendering/overrides.d.ts +2 -1
  164. package/dist/_dts/sdk/src/routing/entrySubroutes.d.ts +6 -6
  165. package/dist/_dts/sdk/src/routing/index.d.ts +0 -2
  166. package/dist/_dts/sdk/src/routing/resolveOccurrence.d.ts +3 -3
  167. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +10 -39
  168. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  169. package/dist/_dts/sdk/src/version.d.ts +1 -1
  170. package/dist/_dts/site-commands/src/adapter.d.ts +1 -1
  171. package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +100 -0
  172. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +2 -2
  173. package/dist/_dts/site-commands/src/commandContract.d.ts +1242 -0
  174. package/dist/_dts/site-commands/src/commandDomain.d.ts +20 -0
  175. package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +7 -0
  176. package/dist/_dts/site-commands/src/commandValidation.d.ts +10 -0
  177. package/dist/_dts/site-commands/src/commands.d.ts +729 -2659
  178. package/dist/_dts/site-commands/src/domain.d.ts +1 -1
  179. package/dist/_dts/site-commands/src/eventCommandContent.d.ts +11 -0
  180. package/dist/_dts/site-commands/src/exposure.d.ts +1 -1
  181. package/dist/_dts/site-commands/src/index.d.ts +6 -0
  182. package/dist/_dts/site-commands/src/metadata.d.ts +1 -27
  183. package/dist/_dts/site-commands/src/planner.d.ts +1 -1
  184. package/dist/_dts/site-commands/src/refContributions.d.ts +1 -1
  185. package/dist/_dts/site-commands/src/refs.d.ts +1 -4
  186. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +378 -0
  187. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +46 -0
  188. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +2 -2
  189. package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +21 -0
  190. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +58 -0
  191. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +1 -0
  192. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  193. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +47 -24
  194. package/dist/cli/index.mjs +7250 -8478
  195. package/dist/cli/init-docs/content/cli-reference.md +5 -21
  196. package/dist/cli/init-docs/content/content-management.md +4 -5
  197. package/dist/client/{DiscountCodeDisclosure-DIWj-P9v.mjs → DiscountCodeDisclosure-DxvjKvck.mjs} +2 -2
  198. package/dist/client/{EventCombined.client-De8YWBSr.mjs → EventCombined.client-BydMGc4c.mjs} +5 -16
  199. package/dist/client/{EventListing.client-seHTjimY.mjs → EventListing.client-vpzhhysN.mjs} +3 -10
  200. package/dist/client/{LeafletStaticMap-BmQxFcJW.mjs → LeafletStaticMap-CB07rpf8.mjs} +1 -1
  201. package/dist/client/{MagicLinkForm-OoJAIUIj.mjs → MagicLinkForm-BzyRJ8VF.mjs} +2 -2
  202. package/dist/client/{StepIndicator-CiZ8kdPk.mjs → StepIndicator-CTcGf8Be.mjs} +2 -2
  203. package/dist/client/{accordion-6lnN__XJ.mjs → accordion-B-DUDLRD.mjs} +1 -1
  204. package/dist/client/{bookingForm-5uyqhONU.mjs → bookingForm-DSbClLcZ.mjs} +6 -6
  205. package/dist/client/bookings.mjs +753 -818
  206. package/dist/client/{carousel-Dtnifil_.mjs → carousel-B6Ccdx8M.mjs} +1 -1
  207. package/dist/client/{cart-5Tc5S7NV.mjs → cart-BZh8G8wM.mjs} +3 -3
  208. package/dist/client/{checkout-CYKKN5Hr.mjs → checkout-o6zaC-kM.mjs} +3 -3
  209. package/dist/client/client.mjs +6859 -7149
  210. package/dist/client/{context-BGZNlGXB.mjs → context-CJz1Vlsz.mjs} +40 -43
  211. package/dist/client/{courseRegistration-CxCBybB4.mjs → courseRegistration-Cf11pNDs.mjs} +606 -621
  212. package/dist/client/{eventCalendar-Xj2jZS9X.mjs → eventCalendar-BeXrdsSE.mjs} +5 -13
  213. package/dist/client/{eventCombined-CgcMoOgM.mjs → eventCombined-DA76PZgG.mjs} +3 -3
  214. package/dist/client/{eventDetails-CEAH8Edc.mjs → eventDetails-BLxg0rok.mjs} +140 -116
  215. package/dist/client/{eventListing-qyPVQ0wP.mjs → eventListing-tO9LheBX.mjs} +3 -3
  216. package/dist/client/{eventRegistration-DDu79CtL.mjs → eventRegistration-Cnene9D9.mjs} +165 -68
  217. package/dist/client/{form-Bc7JKI7I.mjs → form-DZf72CHB.mjs} +2 -2
  218. package/dist/client/{headerSection-vTku_LEl.mjs → headerSection-Hioja5Cr.mjs} +2 -2
  219. package/dist/client/hooks.mjs +3452 -2365
  220. package/dist/client/{locationMap-Bg7X4Jna.mjs → locationMap-DwhUXEix.mjs} +2 -2
  221. package/dist/client/{newsletterForm-lpylVdp5.mjs → newsletterForm-C350bEQf.mjs} +2 -2
  222. package/dist/client/{pricing-DE8fjJiT.mjs → pricing-BYWN_ATa.mjs} +3 -19
  223. package/dist/client/{productDetail-D7Bo2RMH.mjs → productDetail-CCqCyXgU.mjs} +3 -3
  224. package/dist/client/{productList-VjnZqiqN.mjs → productList-BAiNJrOU.mjs} +3 -3
  225. package/dist/client/{propsDecoder-DreFXjNP.mjs → propsDecoder-DeunRj6m.mjs} +210 -378
  226. package/dist/client/rendering/client.mjs +2541 -2813
  227. package/dist/client/rendering/islands.mjs +18 -18
  228. package/dist/client/rendering.mjs +5622 -4734
  229. package/dist/client/{shop-IRsHHbf7.mjs → shop-DUmCdBtw.mjs} +6 -6
  230. package/dist/client/{shop-commerce-gnI8PieZ.mjs → shop-commerce-CY27mEUr.mjs} +5 -5
  231. package/dist/client/{shop-commerce-store-BTbrhObn.mjs → shop-commerce-store-ChXPbWfa.mjs} +1 -1
  232. package/dist/client/{shopShared-D6KS2_qk.mjs → shopShared-q0kin1cv.mjs} +3 -3
  233. package/dist/client/{useDiscountCodeUi-DCccGCxV.mjs → useDiscountCodeUi-I-92-x2V.mjs} +2 -2
  234. package/dist/client/{useEventFilters-eGs3rPZQ.mjs → useEventFilters-DlcVluZh.mjs} +59 -124
  235. package/dist/client/{usePolling-CvSU2sur.mjs → usePolling-Bz7GFV_a.mjs} +2 -2
  236. package/dist/preview-next/before-render.mjs +1115 -1044
  237. package/dist/preview-next/client/runtime.mjs +4 -4
  238. package/dist/preview-next/middleware.mjs +1118 -1047
  239. package/dist/{previewAuthStore-ShY26RNz.mjs → previewAuthStore-CJX21dGi.mjs} +1121 -1047
  240. package/dist/{sdk-runtime-CJxkFq2B.mjs → sdk-runtime-OnPM8Z69.mjs} +2 -2
  241. package/dist/{separator-CoFmo8uA.mjs → separator-CPtfzHqA.mjs} +1 -1
  242. package/dist/server/components.mjs +4560 -3672
  243. package/dist/server/config-validation.mjs +3454 -2356
  244. package/dist/server/config.mjs +3454 -2356
  245. package/dist/server/data.mjs +3452 -2367
  246. package/dist/server/index.mjs +1501 -1491
  247. package/dist/server/next.mjs +7524 -8067
  248. package/dist/server/page-converter.mjs +1898 -2040
  249. package/dist/server/prebuild.mjs +1 -1
  250. package/dist/server/rendering/server.mjs +4258 -3373
  251. package/dist/server/rendering.mjs +6228 -5393
  252. package/dist/server/routing.mjs +3614 -2509
  253. package/dist/server/server.mjs +3298 -3479
  254. package/package.json +1 -1
  255. package/dist/_dts/api/src/previewContentContract.d.ts +0 -4
  256. package/dist/_dts/sdk/src/cli/commands/course.d.ts +0 -6
  257. package/dist/_dts/sdk/src/cli/commands/push/scopes/courses.d.ts +0 -4
  258. package/dist/_dts/sdk/src/client/management/courses.d.ts +0 -10
  259. 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,10 +9584,6 @@ createBlockManifest({
9530
9584
  from: "$root.occurrenceContext",
9531
9585
  fallback: null
9532
9586
  } },
9533
- contentEntry: { $bind: {
9534
- from: "$root.contentEntry",
9535
- fallback: null
9536
- } },
9537
9587
  events: { $bind: { from: "data.eventDetailsData.events" } },
9538
9588
  showVenue: { $bind: { from: "content.showVenue" } },
9539
9589
  showMap: { $bind: { from: "content.showMap" } },
@@ -9563,7 +9613,7 @@ createBlockManifest({
9563
9613
  })], { gap: "lg" })
9564
9614
  })]
9565
9615
  });
9566
- const occurrenceContextSchema = z$1.object({
9616
+ const occurrenceContextSchema$1 = z$1.object({
9567
9617
  id: z$1.string(),
9568
9618
  seriesId: z$1.string(),
9569
9619
  startsAt: z$1.string(),
@@ -9592,7 +9642,7 @@ z$1.object({
9592
9642
  sitePasses: publicPassProductCollectionSchema,
9593
9643
  siteMemberships: publicMembershipProductCollectionSchema,
9594
9644
  autoApplyDiscount: eventAutoApplyDiscountPreviewSchema.nullable().optional().default(null)
9595
- }).optional(), occurrenceContextSchema.optional();
9645
+ }).optional(), occurrenceContextSchema$1.optional();
9596
9646
  //#endregion
9597
9647
  //#region ../blocks/src/contracts/non-block-islands.ts
9598
9648
  const accordionIslandSchema = z$1.object({
@@ -9634,14 +9684,8 @@ const eventDetailsOccurrenceContextSchema = z$1.object({
9634
9684
  endsAt: z$1.string(),
9635
9685
  timeZone: z$1.string()
9636
9686
  });
9637
- const eventDetailsContentEntrySchema = z$1.object({
9638
- id: z$1.string(),
9639
- slug: z$1.string(),
9640
- contentTypeSlug: z$1.string()
9641
- });
9642
9687
  const eventDetailsIslandSchema = z$1.object({
9643
9688
  occurrenceContext: eventDetailsOccurrenceContextSchema.nullable().optional(),
9644
- contentEntry: eventDetailsContentEntrySchema.nullable().optional(),
9645
9689
  events: z$1.array(publicEventSchema).nullable().optional(),
9646
9690
  showVenue: z$1.boolean().optional(),
9647
9691
  showMap: z$1.boolean().optional(),
@@ -9676,95 +9720,30 @@ const eventDetailsIslandPropsCodec = createZodCodec(eventDetailsIslandSchema);
9676
9720
  const locationMapIslandPropsCodec = createZodCodec(locationMapIslandSchema);
9677
9721
  //#endregion
9678
9722
  //#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
9723
  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(),
9724
+ ...eventCollectionSourceSchemaShape,
9687
9725
  variant: eventCalendarDisplayModeSchema.nullable().optional(),
9688
9726
  displayMode: eventCalendarDisplayModeSchema.nullable().optional(),
9689
- listLayout: eventLayoutSchema.optional(),
9690
- listColumns: columnOptionSchema.optional(),
9691
9727
  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(),
9728
+ columns: eventCollectionSourceSchemaShape.listColumns,
9713
9729
  boardTitle: z$1.string().optional(),
9714
9730
  footerNote: z$1.string().optional(),
9715
9731
  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()
9732
+ banded: z$1.boolean().nullable().optional()
9722
9733
  });
9723
9734
  const eventCalendarDisplaySchema = z$1.object({
9724
9735
  kind: z$1.literal("event-calendar"),
9725
9736
  displayMode: eventCalendarDisplayModeSchema,
9726
9737
  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(),
9738
+ ...eventCollectionDisplaySchemaShape,
9748
9739
  boardTitle: z$1.string().optional(),
9749
9740
  footerNote: z$1.string().optional(),
9750
9741
  seeAllUrl: z$1.string().optional(),
9751
9742
  loadMoreText: z$1.string().optional(),
9752
9743
  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
9744
+ banded: z$1.boolean()
9767
9745
  });
9746
+ const eventCalendarHydrationSchema = eventCollectionHydrationSchema;
9768
9747
  const eventCalendarRenderSchema = z$1.object({
9769
9748
  display: eventCalendarDisplaySchema,
9770
9749
  hydration: eventCalendarHydrationSchema
@@ -9788,66 +9767,25 @@ function normalizeOptionalText(value) {
9788
9767
  function buildEventCalendarDisplay(source) {
9789
9768
  const listLayout = source.listLayout ?? source.layout ?? "stack";
9790
9769
  return {
9770
+ ...buildEventCollectionDisplay({
9771
+ ...source,
9772
+ listLayout,
9773
+ listColumns: source.listColumns ?? source.columns
9774
+ }),
9791
9775
  kind: "event-calendar",
9792
9776
  displayMode: source.variant ?? source.displayMode ?? "combined",
9793
9777
  className: source.className ?? null,
9794
9778
  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
9779
  boardTitle: normalizeOptionalText(source.boardTitle),
9820
9780
  footerNote: normalizeOptionalText(source.footerNote),
9821
9781
  seeAllUrl: normalizeOptionalText(source.seeAllUrl),
9822
9782
  loadMoreText: normalizeOptionalText(source.loadMoreText),
9823
9783
  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."
9784
+ banded: source.banded ?? false
9829
9785
  };
9830
9786
  }
9831
9787
  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
- };
9788
+ return buildEventCollectionListingDisplay(display, prefetchedEvents, className);
9851
9789
  }
9852
9790
  function buildEventCalendarListingRender(render, className = render.display.className) {
9853
9791
  const { display, hydration } = render;
@@ -9863,7 +9801,6 @@ function buildEventCalendarListingRender(render, className = render.display.clas
9863
9801
  showCategoryFilter: display.showCategoryFilter,
9864
9802
  showVenueFilter: display.showVenueFilter,
9865
9803
  showStaffFilter: display.showStaffFilter,
9866
- eventKind: display.eventKind,
9867
9804
  eventSurface: display.eventSurface,
9868
9805
  filterEventPresets: display.filterEventPresets,
9869
9806
  scheduleScope: display.scheduleScope,
@@ -9883,15 +9820,7 @@ const eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
9883
9820
  },
9884
9821
  buildRender: (source) => ({
9885
9822
  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
- }
9823
+ hydration: buildEventCollectionHydration(source)
9895
9824
  })
9896
9825
  }),
9897
9826
  mode: "event-calendar",
@@ -9905,80 +9834,13 @@ const eventCalendarInteractiveIslandPropsCodec = createInteractiveIslandCodec({
9905
9834
  });
9906
9835
  //#endregion
9907
9836
  //#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
- });
9837
+ const eventCombinedSourceSchema = z$1.object({ ...eventCollectionSourceSchemaShape });
9944
9838
  const eventCombinedDisplaySchema = z$1.object({
9945
9839
  kind: z$1.literal("event-combined"),
9946
9840
  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
9841
+ ...eventCollectionDisplaySchemaShape
9981
9842
  });
9843
+ const eventCombinedHydrationSchema = eventCollectionHydrationSchema;
9982
9844
  const eventCombinedRenderSchema = z$1.object({
9983
9845
  display: eventCombinedDisplaySchema,
9984
9846
  hydration: eventCombinedHydrationSchema
@@ -9990,39 +9852,10 @@ const eventCombinedIslandMetaCodec = createZodCodec(z$1.object({
9990
9852
  }));
9991
9853
  const eventCombinedIslandMetaKeys = defineInteractiveIslandMetaKeys("siteId", "apiBaseUrl", "stage");
9992
9854
  function buildEventCombinedDisplay(source) {
9993
- const listLayout = source.listLayout ?? "stack";
9994
9855
  return {
9856
+ ...buildEventCollectionDisplay(source),
9995
9857
  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."
9858
+ className: source.className ?? null
10026
9859
  };
10027
9860
  }
10028
9861
  const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
@@ -10034,15 +9867,7 @@ const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
10034
9867
  },
10035
9868
  buildRender: (source) => ({
10036
9869
  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
- }
9870
+ hydration: buildEventCollectionHydration(source)
10046
9871
  })
10047
9872
  }),
10048
9873
  mode: "event-combined",
@@ -10055,6 +9880,22 @@ const eventCombinedInteractiveIslandPropsCodec = createInteractiveIslandCodec({
10055
9880
  })
10056
9881
  });
10057
9882
  //#endregion
9883
+ //#region ../blocks/src/system/blocks/event-registration.shared.ts
9884
+ /**
9885
+ * Flat occurrence context passed from `PageRenderer.$root.occurrenceContext`.
9886
+ * Kept in a shared module so the block definition and runtime contracts can
9887
+ * depend on the same schema without creating an initialization cycle.
9888
+ */
9889
+ const occurrenceContextSchema = z$1.object({
9890
+ id: z$1.string(),
9891
+ seriesId: z$1.string(),
9892
+ startsAt: z$1.string(),
9893
+ endsAt: z$1.string(),
9894
+ timeZone: z$1.string(),
9895
+ capacityOverride: z$1.number().nullable().optional(),
9896
+ overrides: z$1.record(z$1.string(), z$1.unknown()).nullable().optional()
9897
+ }).nullable();
9898
+ //#endregion
10058
9899
  //#region ../blocks/src/system/runtime/nodes/event-registration/wizardSteps.ts
10059
9900
  /**
10060
9901
  * Steps that are part of the main wizard and should show the step indicator
@@ -10170,19 +10011,13 @@ const EVENT_REGISTRATION_SHELL_STEP_LABELS = [
10170
10011
  "Details",
10171
10012
  "Payment"
10172
10013
  ];
10173
- const contentEntrySchema$1 = z$1.object({
10174
- id: z$1.string(),
10175
- slug: z$1.string(),
10176
- contentTypeSlug: z$1.string()
10177
- });
10178
10014
  const eventRegistrationPublicEventSchema = z$1.preprocess(normalizeEventRegistrationEventInput, publicEventSchema);
10179
10015
  const eventRegistrationSourceSchema = z$1.object({
10180
10016
  siteId: z$1.string().optional(),
10181
10017
  apiBaseUrl: z$1.string().optional(),
10182
10018
  portalToken: z$1.string().nullable().optional(),
10183
10019
  previewToken: z$1.string().nullable().optional(),
10184
- occurrenceContext: occurrenceContextSchema$1.optional(),
10185
- contentEntry: contentEntrySchema$1.nullable().optional(),
10020
+ occurrenceContext: occurrenceContextSchema.optional(),
10186
10021
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
10187
10022
  events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
10188
10023
  className: z$1.string().nullable().optional(),
@@ -10210,8 +10045,7 @@ const eventRegistrationDisplaySchema = z$1.object({
10210
10045
  summaryButtonText: z$1.string()
10211
10046
  });
10212
10047
  const eventRegistrationHydrationSchema = z$1.object({
10213
- occurrenceContext: occurrenceContextSchema$1.optional(),
10214
- contentEntry: contentEntrySchema$1.nullable().optional(),
10048
+ occurrenceContext: occurrenceContextSchema.optional(),
10215
10049
  subject: eventRegistrationPageSurfaceSubjectSchema.nullable().optional(),
10216
10050
  events: z$1.array(eventRegistrationPublicEventSchema).nullable().optional(),
10217
10051
  maxTickets: z$1.string().optional(),
@@ -10267,8 +10101,7 @@ function buildEventRegistrationShellStepLabels(source) {
10267
10101
  function scopeEventRegistrationEvents(source) {
10268
10102
  return resolveEventRegistrationScopedEvents(toRegistrationEvents(source.events ?? []), {
10269
10103
  occurrenceContext: source.occurrenceContext,
10270
- subject: source.subject,
10271
- contentEntry: source.contentEntry
10104
+ subject: source.subject
10272
10105
  });
10273
10106
  }
10274
10107
  function shellLabelForRegistrationStep(step, events) {
@@ -10305,7 +10138,6 @@ const eventRegistrationBlockRuntime = defineClientOwnedBlockRuntime({
10305
10138
  display: buildEventRegistrationDisplay(source),
10306
10139
  hydration: {
10307
10140
  occurrenceContext: source.occurrenceContext ?? null,
10308
- contentEntry: source.contentEntry ?? null,
10309
10141
  subject: source.subject ?? null,
10310
10142
  events: source.events ?? null,
10311
10143
  maxTickets: source.maxTickets ?? void 0,
@@ -11732,4 +11564,4 @@ function defineIslandPropsDecoder(kind) {
11732
11564
  };
11733
11565
  }
11734
11566
  //#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 };
11567
+ 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 };