@riverbankcms/sdk 0.136.0 → 0.138.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 (343) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/README.md +7 -4
  3. package/dist/{PreviewEditorSidebar-BU5ZlhQR.mjs → PreviewEditorSidebar-BVPur_CU.mjs} +12 -18
  4. package/dist/{PreviewEditorUI-9XkHL-bC.mjs → PreviewEditorUI-DLhWX8oh.mjs} +3 -3
  5. package/dist/{PreviewQueryProvider-wbEpXryy.mjs → PreviewQueryProvider-BguJY1SW.mjs} +1 -1
  6. package/dist/{SdkPreviewModeRuntime-CnWmj-2B.mjs → SdkPreviewModeRuntime-Tda6qw4z.mjs} +1375 -495
  7. package/dist/{SiteChromeCustomizeContext-B6d5zkog.mjs → SiteChromeCustomizeContext-BHFgMjde.mjs} +35665 -33602
  8. package/dist/_dts/ai/src/contracts/proposals.d.ts +7226 -3057
  9. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +1223 -811
  10. package/dist/_dts/ai/src/designer/themePatch.d.ts +5 -10
  11. package/dist/_dts/api/src/accessAdmin.d.ts +16 -18
  12. package/dist/_dts/api/src/accountApi.d.ts +49 -2
  13. package/dist/_dts/api/src/appointmentServiceContracts.d.ts +83 -0
  14. package/dist/_dts/api/src/appointmentServiceLocation.d.ts +12 -0
  15. package/dist/_dts/api/src/appointmentServiceVisibility.d.ts +14 -0
  16. package/dist/_dts/api/src/appointmentSetup.d.ts +8 -0
  17. package/dist/_dts/api/src/bookingConfig.d.ts +35 -87
  18. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +1 -1
  19. package/dist/_dts/api/src/bookingOperations.d.ts +2 -69
  20. package/dist/_dts/api/src/bookingRecords.d.ts +2 -2
  21. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +2 -2
  22. package/dist/_dts/api/src/bookingServicePricing.d.ts +47 -0
  23. package/dist/_dts/api/src/bookings.d.ts +2 -2
  24. package/dist/_dts/api/src/cache-tags.d.ts +7 -2
  25. package/dist/_dts/api/src/common/index.d.ts +1 -0
  26. package/dist/_dts/api/src/common/zodFieldErrors.d.ts +34 -0
  27. package/dist/_dts/api/src/communications.d.ts +14 -8
  28. package/dist/_dts/api/src/contentRuntime.d.ts +3 -6
  29. package/dist/_dts/api/src/domainConnection.d.ts +41 -0
  30. package/dist/_dts/api/src/endpoints.d.ts +1636 -1637
  31. package/dist/_dts/api/src/eventAttendanceLabels.d.ts +2 -2
  32. package/dist/_dts/api/src/eventManagementContracts.d.ts +10 -14
  33. package/dist/_dts/api/src/index.d.ts +11 -9
  34. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  35. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  36. package/dist/_dts/api/src/media.d.ts +19 -2
  37. package/dist/_dts/api/src/occurrenceScheduling.d.ts +1 -1
  38. package/dist/_dts/api/src/participantMessaging.d.ts +3 -3
  39. package/dist/_dts/api/src/public/endpoints.d.ts +1 -1
  40. package/dist/_dts/api/src/publicBookingAvailabilityEndpointDefinitions.d.ts +62 -0
  41. package/dist/_dts/api/src/publicBookingService.d.ts +109 -2
  42. package/dist/_dts/api/src/publicEventCheckoutEndpointDefinitions.d.ts +27 -0
  43. package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
  44. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -1
  45. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +30 -148
  46. package/dist/_dts/api/src/publicExperience/sharedTypes.d.ts +8 -26
  47. package/dist/_dts/api/src/publicExperience/siteEndpoints.d.ts +5 -13
  48. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +2 -3
  49. package/dist/_dts/api/src/schemas/admin-allowed-domains.d.ts +76 -0
  50. package/dist/_dts/api/src/schemas/admin-observability-logs.d.ts +61 -0
  51. package/dist/_dts/api/src/schemas/admin-users.d.ts +80 -0
  52. package/dist/_dts/api/src/schemas/newsletter-memberships.d.ts +98 -0
  53. package/dist/_dts/api/src/schemas/sdk-entries.d.ts +128 -0
  54. package/dist/_dts/api/src/schemas/site-api-keys.d.ts +112 -0
  55. package/dist/_dts/api/src/schemas/support.d.ts +35 -0
  56. package/dist/_dts/api/src/sdk-event-booking-offer.d.ts +14 -0
  57. package/dist/_dts/api/src/sdk-event-payment-terms.d.ts +4 -16
  58. package/dist/_dts/api/src/sdk-event-upsert.d.ts +11 -21
  59. package/dist/_dts/api/src/sdkContracts.d.ts +8 -23
  60. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +37 -0
  61. package/dist/_dts/api/src/sdkMediaContracts.d.ts +40 -0
  62. package/dist/_dts/api/src/sdkMediaEndpointDefinitions.d.ts +66 -0
  63. package/dist/_dts/api/src/sdkThemeWire.d.ts +157 -146
  64. package/dist/_dts/api/src/siteInfrastructure.d.ts +37 -37
  65. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +35 -54
  66. package/dist/_dts/api/src/siteOnboarding.d.ts +3 -3
  67. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +38 -16
  68. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +37 -17
  69. package/dist/_dts/api/src/types.d.ts +2 -2
  70. package/dist/_dts/api/src/{wholeSeriesOfferings.d.ts → wholeSeriesRuns.d.ts} +11 -67
  71. package/dist/_dts/block-form/src/FormRenderer.d.ts +3 -1
  72. package/dist/_dts/block-form/src/backend/store-backend.d.ts +2 -1
  73. package/dist/_dts/block-form/src/backend/types.d.ts +2 -0
  74. package/dist/_dts/block-form/src/context/FormFocusContext.d.ts +7 -0
  75. package/dist/_dts/block-form/src/index.d.ts +2 -0
  76. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +2 -1
  77. package/dist/_dts/block-form/src/utils/promotedFieldBackend.d.ts +8 -0
  78. package/dist/_dts/block-form/src/utils/promotedFieldPlan.d.ts +18 -0
  79. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +8 -1
  80. package/dist/_dts/blocks/src/BlockErrorBoundary.d.ts +46 -0
  81. package/dist/_dts/blocks/src/PageRenderer.d.ts +2 -141
  82. package/dist/_dts/blocks/src/contracts/index.d.ts +2 -0
  83. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +12 -6
  84. package/dist/_dts/blocks/src/index.d.ts +1 -0
  85. package/dist/_dts/blocks/src/pageRenderAudience.d.ts +54 -0
  86. package/dist/_dts/blocks/src/pageRenderDiagnostics.d.ts +26 -0
  87. package/dist/_dts/blocks/src/pageRenderPlan.d.ts +116 -0
  88. package/dist/_dts/blocks/src/pageRenderPreparation.d.ts +109 -0
  89. package/dist/_dts/blocks/src/pageRendererBoundaries.d.ts +1 -0
  90. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +154 -0
  91. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  92. package/dist/_dts/blocks/src/server.d.ts +1 -0
  93. package/dist/_dts/blocks/src/system/blocks/event-registration.d.ts +12 -20
  94. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +1 -1
  95. package/dist/_dts/blocks/src/system/blocks/events/eventCalendarDataLoaders.d.ts +3 -0
  96. package/dist/_dts/blocks/src/system/blocks/events/shared/calendarWindow.d.ts +95 -0
  97. package/dist/_dts/blocks/src/system/blocks/events/shared/index.d.ts +1 -0
  98. package/dist/_dts/blocks/src/system/blocks/events/shared/runGrouping.d.ts +37 -0
  99. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +1046 -773
  100. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +59 -46
  101. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +3 -3
  102. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +161 -161
  103. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +13 -6
  104. package/dist/_dts/blocks/src/system/blocks/offerings-preview/scheduleSummary.d.ts +10 -4
  105. package/dist/_dts/blocks/src/system/constants/buttonRoles.d.ts +2 -2
  106. package/dist/_dts/blocks/src/system/constants/events.d.ts +4 -0
  107. package/dist/_dts/blocks/src/system/customize/facets.d.ts +4 -4
  108. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  109. package/dist/_dts/blocks/src/system/data/publicLoaderCachePolicy.d.ts +5 -9
  110. package/dist/_dts/blocks/src/system/manifest/schema.d.ts +83 -83
  111. package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +12 -3
  112. package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -8
  113. package/dist/_dts/blocks/src/system/runtime/api/index.d.ts +1 -1
  114. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +13 -0
  115. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -20
  116. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +32 -37
  117. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +15 -18
  118. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +11 -8
  119. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.state.d.ts +38 -22
  120. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +7 -0
  121. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.d.ts +2 -2
  122. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/logic.d.ts +16 -4
  123. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ErrorStep.d.ts +3 -5
  124. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/EventRegistrationWizardActions.d.ts +4 -2
  125. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +1 -1
  126. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +5 -3
  127. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +1 -1
  128. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventScope.d.ts +1 -1
  129. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +2 -0
  130. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +15 -0
  131. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +2 -2
  132. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorPresentation.d.ts +5 -0
  133. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +25 -0
  134. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationEventAdapter.d.ts +14 -3
  135. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationSurface.d.ts +3 -21
  136. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationWizardContext.d.ts +4 -0
  137. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/siteCreditPreview.d.ts +0 -3
  138. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ticketSelectionLines.d.ts +14 -16
  139. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +13 -15
  140. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationStripeReturn.d.ts +7 -3
  141. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +9 -3
  142. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +25 -23
  143. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useWaitlistClaimRestoration.d.ts +2 -0
  144. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +11 -4
  145. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +8 -13
  146. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +5 -0
  147. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +1 -0
  148. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +11 -3
  149. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/capacity.d.ts +164 -0
  150. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/cta.d.ts +29 -0
  151. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/dates.d.ts +47 -0
  152. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/index.d.ts +14 -0
  153. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/people.d.ts +6 -0
  154. package/dist/_dts/blocks/src/system/runtime/nodes/events/domain/pricing.d.ts +24 -0
  155. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/OfferingTitle.d.ts +11 -0
  156. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +1 -1
  157. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekBoardView.d.ts +1 -1
  158. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +1080 -560
  159. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.d.ts +2 -2
  160. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/index.d.ts +3 -1
  161. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listingLayout.d.ts +23 -0
  162. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +2 -2
  163. package/dist/_dts/blocks/src/system/runtime/nodes/shared/contract-schemas.d.ts +7 -7
  164. package/dist/_dts/blocks/src/system/transforms/registry/eventCalendar.d.ts +11 -0
  165. package/dist/_dts/commerce/src/moneyReport.d.ts +1 -1
  166. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  167. package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +57 -0
  168. package/dist/_dts/commerce/src/purchase/eventOrderOptionSnapshot.d.ts +3 -0
  169. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -0
  170. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +6 -3
  171. package/dist/_dts/commerce/src/purchase/types.d.ts +3 -2
  172. package/dist/_dts/commerce/src/waitlists.d.ts +1 -1
  173. package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +4 -0
  174. package/dist/_dts/content-editor/src/controller/useBlockedPublishPlan.d.ts +11 -0
  175. package/dist/_dts/content-editor/src/hooks/applyBlockedPublishPlan.d.ts +1 -1
  176. package/dist/_dts/content-editor/src/hooks/blockedPublishPlan.d.ts +13 -5
  177. package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +5 -1
  178. package/dist/_dts/content-editor/src/hooks/validateBlocksForPublish.d.ts +34 -2
  179. package/dist/_dts/content-editor/src/index.d.ts +2 -1
  180. package/dist/_dts/content-editor/src/ui/blockValidationManifestRegistry.d.ts +2 -0
  181. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +4 -2
  182. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +27 -5
  183. package/dist/_dts/content-model/src/content-types/schema.d.ts +3 -3
  184. package/dist/_dts/content-model/src/templates/defaults.d.ts +11 -0
  185. package/dist/_dts/core/src/branded.d.ts +28 -9
  186. package/dist/_dts/core/src/event-booking-offer-parser.d.ts +82 -0
  187. package/dist/_dts/core/src/event-booking-offer.d.ts +89 -0
  188. package/dist/_dts/core/src/event-page-surface-subject.d.ts +81 -4
  189. package/dist/_dts/core/src/event-pricing.d.ts +81 -89
  190. package/dist/_dts/core/src/index.d.ts +3 -0
  191. package/dist/_dts/core/src/non-empty-array.d.ts +3 -0
  192. package/dist/_dts/core/src/whole-series-run-schedule.d.ts +92 -0
  193. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +495 -279
  194. package/dist/_dts/db/src/index.d.ts +1 -0
  195. package/dist/_dts/db/src/utils/postgrestFilter.d.ts +2 -0
  196. package/dist/_dts/editor-blocks/src/BlockForm.d.ts +2 -6
  197. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +1 -1
  198. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +2 -2
  199. package/dist/_dts/editor-blocks/src/block-editor/BlockSettingsModal.d.ts +4 -2
  200. package/dist/_dts/editor-blocks/src/block-editor/hooks/useBlockValidationManifests.d.ts +1 -0
  201. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +22 -7
  202. package/dist/_dts/editor-blocks/src/block-editor/useSettingsFieldFocus.d.ts +18 -0
  203. package/dist/_dts/media-core/src/bulkDeletePlanning.d.ts +4 -0
  204. package/dist/_dts/media-core/src/fileDomain.d.ts +3 -0
  205. package/dist/_dts/preview-next/src/client/blocks/previewBatchLoaderParams.d.ts +2 -0
  206. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -0
  207. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +1 -0
  208. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +3 -2
  209. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +1 -1
  210. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +2 -0
  211. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlSaveRequest.d.ts +51 -0
  212. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +24 -2
  213. package/dist/_dts/preview-next/src/client/preview/siteStylePreviewPlanner.d.ts +23 -1
  214. package/dist/_dts/preview-next/src/client/preview/usePersistedHeaderPreferences.d.ts +8 -0
  215. package/dist/_dts/sdk/src/client/{eventSubrouteReadOperations.d.ts → publicEventReadOperations.d.ts} +4 -3
  216. package/dist/_dts/sdk/src/client/types.d.ts +6 -10
  217. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  218. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  219. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +5 -0
  220. package/dist/_dts/sdk/src/data/prefetchBlockData.d.ts +2 -3
  221. package/dist/_dts/sdk/src/manifest/passes/pass1-fields.d.ts +8 -8
  222. package/dist/_dts/sdk/src/next/tags.d.ts +5 -8
  223. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -26
  224. package/dist/_dts/sdk/src/rendering/helpers/footerPageOutline.d.ts +9 -1
  225. package/dist/_dts/sdk/src/rendering/index.d.ts +1 -0
  226. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +6 -53
  227. package/dist/_dts/sdk/src/rendering/server.d.ts +1 -0
  228. package/dist/_dts/sdk/src/version.d.ts +1 -1
  229. package/dist/_dts/theme-core/src/accordions/types.d.ts +5 -5
  230. package/dist/_dts/theme-core/src/buttons/styles/recipes/flatInk.d.ts +25 -25
  231. package/dist/_dts/theme-core/src/buttons/styles/registry.d.ts +25 -25
  232. package/dist/_dts/theme-core/src/buttons/styles/selection.d.ts +7 -7
  233. package/dist/_dts/theme-core/src/buttons/types.d.ts +22 -22
  234. package/dist/_dts/theme-core/src/cards/types.d.ts +49 -49
  235. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  236. package/dist/_dts/theme-core/src/gradients/types.d.ts +5 -0
  237. package/dist/_dts/theme-core/src/header/interactionPalette.d.ts +26 -3
  238. package/dist/_dts/theme-core/src/inputs/types.d.ts +2 -2
  239. package/dist/_dts/theme-core/src/interactive/baseSchema.d.ts +1 -1
  240. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +195 -195
  241. package/dist/_dts/theme-core/src/navigation/types.d.ts +3 -3
  242. package/dist/_dts/theme-core/src/palette/colors.d.ts +1 -1
  243. package/dist/_dts/theme-core/src/palette/curated/types.d.ts +2 -2
  244. package/dist/_dts/theme-core/src/schema.d.ts +258 -257
  245. package/dist/_dts/theme-core/src/shared/componentStyles.d.ts +1 -1
  246. package/dist/_dts/theme-core/src/site-styles/backgroundAppearance.d.ts +2 -2
  247. package/dist/_dts/theme-core/src/site-styles/cardRoleVocabulary.d.ts +1 -1
  248. package/dist/_dts/theme-core/src/site-styles/compilationPlan.d.ts +43 -3
  249. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +10 -0
  250. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +4 -4
  251. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +2 -2
  252. package/dist/_dts/theme-core/src/site-styles/headerBrandPresentation.d.ts +63 -0
  253. package/dist/_dts/theme-core/src/site-styles/headerBytesComparison.d.ts +30 -0
  254. package/dist/_dts/theme-core/src/site-styles/headerInteractionPalette.d.ts +50 -1
  255. package/dist/_dts/theme-core/src/site-styles/headerLayoutCatalog.d.ts +48 -9
  256. package/dist/_dts/theme-core/src/site-styles/headerPreferences.d.ts +162 -0
  257. package/dist/_dts/theme-core/src/site-styles/headerPreferencesPersistence.d.ts +73 -0
  258. package/dist/_dts/theme-core/src/site-styles/headerRecompile.d.ts +118 -0
  259. package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +10 -1
  260. package/dist/_dts/theme-core/src/site-styles/headerStyleDefaults.d.ts +1 -1
  261. package/dist/_dts/theme-core/src/site-styles/headerStyleRecipe.d.ts +7 -0
  262. package/dist/_dts/theme-core/src/site-styles/index.d.ts +5 -0
  263. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  264. package/dist/_dts/theme-core/src/site-styles/siteChromeBackgrounds.d.ts +20 -1
  265. package/dist/_dts/theme-core/src/site-styles/siteChromeNavPreferences.d.ts +43 -2
  266. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  267. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +3 -3
  268. package/dist/_dts/ui/src/badge.d.ts +1 -1
  269. package/dist/_dts/ui/src/button.d.ts +2 -2
  270. package/dist/client/{BookingConsentAgreement-DCch21a6.mjs → BookingConsentAgreement-DQUik1Mx.mjs} +2 -2
  271. package/dist/client/{DiscountCodeDisclosure-DIj1T59K.mjs → DiscountCodeDisclosure-CU67Q4vH.mjs} +1 -1
  272. package/dist/client/{EventCombined.client-BWVNlXTx.mjs → EventCombined.client-a02TXUgg.mjs} +233 -348
  273. package/dist/client/{EventListing.client-DVFCDe3i.mjs → EventListing.client-99qx7jFl.mjs} +2 -2
  274. package/dist/client/{LeafletStaticMap-BY5mIHw9.mjs → LeafletStaticMap-CWzcq73L.mjs} +1 -1
  275. package/dist/client/{accordion-CK29E8rG.mjs → accordion-D1nb3-Oj.mjs} +1 -1
  276. package/dist/client/{bookingForm-DFvnet-N.mjs → bookingForm-BGrmLhaO.mjs} +5 -5
  277. package/dist/client/bookings.mjs +10555 -10475
  278. package/dist/client/{carousel-BVU5NQlb.mjs → carousel-DSmOx3ad.mjs} +1 -1
  279. package/dist/client/{cart-BNItcZVa.mjs → cart-COWeOIUk.mjs} +3 -3
  280. package/dist/client/{checkout-Bu6iCdkP.mjs → checkout-CeysaIJK.mjs} +3 -3
  281. package/dist/client/client.mjs +58968 -57441
  282. package/dist/client/{context-BImarOAq.mjs → context-DBzX85Xc.mjs} +46 -18
  283. package/dist/client/dates-DCYhZBlW.mjs +264 -0
  284. package/dist/client/{eventCalendar-DS2h-UXD.mjs → eventCalendar-BgsN73Ul.mjs} +21 -44
  285. package/dist/client/{eventCombined-Drt4Oq9p.mjs → eventCombined-DcZQAMQP.mjs} +3 -3
  286. package/dist/client/{eventDetails-Bl2vWgTX.mjs → eventDetails-BWwGJ54l.mjs} +131 -51
  287. package/dist/client/{eventListing-CS7PHY7v.mjs → eventListing-DqYqV8vp.mjs} +3 -3
  288. package/dist/client/{eventRegistration-D-j8eNy2.mjs → eventRegistration-DQGDgu_e.mjs} +1122 -803
  289. package/dist/client/{form-RMpoLTyr.mjs → form-ClfpasVT.mjs} +2 -2
  290. package/dist/client/{headerSection-BYE3Lb3k.mjs → headerSection-BuOMe98N.mjs} +2 -2
  291. package/dist/client/hooks.mjs +9630 -9526
  292. package/dist/client/{locationMap-BxSr7Kkh.mjs → locationMap-CEqu_sfa.mjs} +2 -2
  293. package/dist/client/{newsletterForm-DerbXwFC.mjs → newsletterForm-IbrHjMxy.mjs} +2 -2
  294. package/dist/client/pricing-xj7MPZlK.mjs +314 -0
  295. package/dist/client/{productDetail-4SZCLhAf.mjs → productDetail-vxqTt5Xj.mjs} +3 -3
  296. package/dist/client/{productList-D7AP4GNq.mjs → productList-OTdZu8sb.mjs} +3 -3
  297. package/dist/client/{propsDecoder-pzBeCh14.mjs → propsDecoder-CY9gGEF7.mjs} +786 -1194
  298. package/dist/client/rendering/client.mjs +11481 -10469
  299. package/dist/client/rendering/islands.mjs +17 -17
  300. package/dist/client/rendering.mjs +26871 -25232
  301. package/dist/client/{scrollToBlock-CduAKf8T.mjs → scrollToBlock--BFV6kl-.mjs} +1 -1
  302. package/dist/client/{shop-Cp5p_kGe.mjs → shop-CP4YbDL9.mjs} +6 -6
  303. package/dist/client/{shop-commerce-DicXYaYX.mjs → shop-commerce-APs4XBXE.mjs} +5 -5
  304. package/dist/client/{shop-commerce-store-CGWnpY4K.mjs → shop-commerce-store-CAVLxLFr.mjs} +1 -1
  305. package/dist/client/{shopShared-BDf9ljkm.mjs → shopShared-BnSRrwXI.mjs} +3 -3
  306. package/dist/client/{useEventFilters-DeeyGYuk.mjs → useEventFilters-1a1by4c8.mjs} +33 -18
  307. package/dist/preview-next/before-render.mjs +186 -148
  308. package/dist/preview-next/client/runtime.mjs +4 -4
  309. package/dist/preview-next/keepAlive.mjs +186 -148
  310. package/dist/preview-next/middleware.mjs +186 -148
  311. package/dist/{previewAuthStore-DbqBol0V.mjs → previewAuthStore-BkEgnYPP.mjs} +186 -148
  312. package/dist/{sdk-runtime-19MO27F0.mjs → sdk-runtime-DwGfsT0S.mjs} +2 -2
  313. package/dist/{separator-DaPLtJ1f.mjs → separator-BeqDLneQ.mjs} +1 -1
  314. package/dist/server/components.mjs +53243 -51879
  315. package/dist/server/config-validation.mjs +1015 -906
  316. package/dist/server/config.mjs +1019 -910
  317. package/dist/server/data.mjs +10304 -10200
  318. package/dist/server/index.mjs +217 -198
  319. package/dist/server/next/tags.mjs +18 -4
  320. package/dist/server/next.mjs +62787 -61617
  321. package/dist/server/page-converter.mjs +797 -917
  322. package/dist/server/prebuild.mjs +1 -1
  323. package/dist/server/rendering/server.mjs +52557 -51365
  324. package/dist/server/rendering.mjs +54373 -53054
  325. package/dist/server/routing.mjs +13274 -13142
  326. package/dist/server/server.mjs +1076 -1154
  327. package/dist/server/theme-bridge.mjs +69 -9
  328. package/dist/server/theme.mjs +27 -8
  329. package/dist/styles/index.css +32 -1
  330. package/package.json +1 -1
  331. package/dist/_dts/api/src/publicExperience/wholeSeriesEndpoints.d.ts +0 -65
  332. package/dist/_dts/api/src/publicWholeSeriesEndpointDefinitions.d.ts +0 -20
  333. package/dist/_dts/api/src/sdk-event-pricing.d.ts +0 -61
  334. package/dist/_dts/blocks/src/system/blocks/events/whole-series/index.d.ts +0 -3
  335. package/dist/_dts/blocks/src/system/blocks/events/whole-series/pricing.d.ts +0 -50
  336. package/dist/_dts/blocks/src/system/blocks/events/whole-series/schemas.d.ts +0 -135
  337. package/dist/_dts/blocks/src/system/blocks/events/whole-series/types.d.ts +0 -87
  338. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCapacity.d.ts +0 -48
  339. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/pricing.d.ts +0 -17
  340. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +0 -100
  341. package/dist/_dts/sdk/src/client/wholeSeriesReadOperations.d.ts +0 -11
  342. package/dist/_dts/sdk/src/public-api/wholeSeriesContracts.d.ts +0 -2
  343. /package/dist/_dts/blocks/src/system/runtime/nodes/events/{shared → domain}/destination.d.ts +0 -0
@@ -1,6 +1,8 @@
1
- import { B as formatEventPrice, J as resolveEventLinkProps, Jt as toBookingTimeZone, O as resolveEventRegistrationScopedEvents, Qt as publicEventPricingType, Wt as getBookingLocalDateKey, Xt as publicEventPricingCurrency, Y as resolveRuntimeEventPricing, Yt as toScheduledBookingDateTime, et as formatWholeSeriesPriceAmount, nt as resolveWholeSeriesPricingState, t as defineIslandPropsDecoder, tn as formatCurrencyAmount, tt as formatWholeSeriesPriceDisplay, z as formatEventDateParts } from "./propsDecoder-pzBeCh14.mjs";
1
+ import { $t as toBookingTimeZone, Bt as CANCELLED_SESSION_STATUS, O as resolveEventRegistrationScopedEvents, Vt as resolveWholeSeriesBookingPhase, Yt as getBookingLocalDateKey, an as publicEventPricingCurrency, in as isPublicEventPricingOptionDisplayable, ln as publicEventPricingType, nn as formatBookingPriceDisplay, on as publicEventPricingDisplay, t as defineIslandPropsDecoder, tn as toScheduledBookingDateTime, un as formatCurrencyAmount } from "./propsDecoder-CY9gGEF7.mjs";
2
+ import { l as formatTotalCapacity, n as formatEventPriceAmount, t as formatEventPrice } from "./pricing-xj7MPZlK.mjs";
3
+ import { l as resolveEventLinkProps, r as formatEventDateParts } from "./dates-DCYhZBlW.mjs";
2
4
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
3
- import { t as LeafletStaticMap } from "./LeafletStaticMap-BY5mIHw9.mjs";
5
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-CWzcq73L.mjs";
4
6
  import "react";
5
7
  import { jsx, jsxs } from "react/jsx-runtime";
6
8
  //#region ../blocks/src/system/runtime/nodes/events/shared/eventProductEligibility.ts
@@ -27,10 +29,9 @@ function membershipCoversEvent(args, event) {
27
29
  function filterPassesForEvent(sitePasses, event) {
28
30
  if (!sitePasses || !event) return [];
29
31
  if (event.requiresRegistration === false) return [];
30
- const acceptsPasses = event.acceptsPasses ?? true;
31
32
  const eventCategoryId = event.eventCategory?.id ?? null;
32
33
  return sitePasses.filter((pass) => pass.productUseCase === "event_pass" && passCoversEvent({ eligibleCategoryIds: pass.eligibleCategoryIds }, {
33
- acceptsPasses,
34
+ acceptsPasses: event.acceptsPasses,
34
35
  eventCategoryId
35
36
  }));
36
37
  }
@@ -44,10 +45,9 @@ function filterPassesForEvent(sitePasses, event) {
44
45
  function filterMembershipsForEvent(siteMemberships, event) {
45
46
  if (!siteMemberships || !event) return [];
46
47
  if (event.requiresRegistration === false) return [];
47
- const acceptsMemberships = event.acceptsMemberships ?? true;
48
48
  const eventCategoryId = event.eventCategory?.id ?? null;
49
49
  return siteMemberships.filter((membership) => membershipCoversEvent({ eligibleCategoryIds: membership.eligibleCategoryIds }, {
50
- acceptsMemberships,
50
+ acceptsMemberships: event.acceptsMemberships,
51
51
  eventCategoryId
52
52
  }));
53
53
  }
@@ -127,11 +127,18 @@ function isWholeSeriesEvent(event) {
127
127
  function isOrdinaryEvent(event) {
128
128
  return event.bookingScope === "single_occurrence";
129
129
  }
130
- function deriveWholeSeriesPhase(sessions, nowIso) {
131
- const now = Date.parse(nowIso);
132
- if (now < Date.parse(sessions[0].startsAt)) return "upcoming";
133
- const finalSession = sessions[sessions.length - 1] ?? sessions[0];
134
- return now <= Date.parse(finalSession.endsAt) ? "inProgress" : "completed";
130
+ /**
131
+ * Where the run has got to, as the page should say it.
132
+ *
133
+ * `run.lifecycle` is the canonical answer and it is projected server-side. The
134
+ * one thing a cached page can outlive is the start of the first session, and
135
+ * the shared booking phase is what notices that, so an otherwise-upcoming run
136
+ * that has begun is reported as under way. Nothing else is re-derived: reading
137
+ * the state off the occurrence dates instead is how this block came to
138
+ * contradict the run it was describing.
139
+ */
140
+ function renderedRunLifecycle(run, bookingPhase) {
141
+ return run.lifecycle === "upcoming" && bookingPhase.kind === "closed" && bookingPhase.reason === "in-progress" ? "in_progress" : run.lifecycle;
135
142
  }
136
143
  function selectRelatedDates(input) {
137
144
  if (!input.seriesId) return [];
@@ -159,16 +166,16 @@ function selectEventDetails(args) {
159
166
  limit: otherLimit
160
167
  });
161
168
  if (isWholeSeriesEvent(selected)) {
162
- const [firstSession, ...remainingSessions] = [selected, ...otherDates].filter(isWholeSeriesEvent).sort((left, right) => Date.parse(left.startsAt) - Date.parse(right.startsAt));
163
- if (!firstSession) return emptySelection(timeZone);
164
- const nonEmptySessions = [firstSession, ...remainingSessions];
169
+ const run = selected.run;
170
+ const bookingPhase = resolveWholeSeriesBookingPhase(run, new Date(args.nowIso));
165
171
  return {
166
172
  kind: "wholeSeries",
167
- phase: deriveWholeSeriesPhase(nonEmptySessions, args.nowIso),
173
+ lifecycle: renderedRunLifecycle(run, bookingPhase),
174
+ bookingPhase,
168
175
  mode,
169
176
  selected,
170
- otherDates: otherDates.filter(isWholeSeriesEvent),
171
- sessions: nonEmptySessions,
177
+ run,
178
+ sessions: run.sessions,
172
179
  timeZone
173
180
  };
174
181
  }
@@ -247,25 +254,26 @@ function DateTimeTile({ startsAt, endsAt, timeZone }) {
247
254
  //#endregion
248
255
  //#region ../blocks/src/system/runtime/nodes/event-details/WholeSeriesPricingDisplay.tsx
249
256
  function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
257
+ const options = pricing.kind === "tiered" ? pricing.options.filter((option) => option.isActive) : [];
250
258
  return /* @__PURE__ */ jsxs("div", {
251
259
  className: "rb-mt-6",
252
260
  children: [
253
261
  /* @__PURE__ */ jsx("div", {
254
262
  className: "rb-label rb-mb-2",
255
- children: pricing.selectableOptions.length > 1 ? "Pricing" : "Cost"
263
+ children: options.length > 1 ? "Pricing" : "Cost"
256
264
  }),
257
- pricing.selectableOptions.length > 1 ? /* @__PURE__ */ jsx("div", {
265
+ options.length > 1 ? /* @__PURE__ */ jsx("div", {
258
266
  className: "rb-flex rb-flex-col rb-gap-2",
259
- children: pricing.selectableOptions.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
267
+ children: options.map((option) => /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("strong", { children: [
260
268
  option.name,
261
269
  ":",
262
270
  " ",
263
- formatWholeSeriesPriceAmount(option.priceAmount, pricing.currency)
271
+ formatEventPriceAmount(option.priceAmount, pricing.currency)
264
272
  ] }), option.description ? /* @__PURE__ */ jsx("p", {
265
273
  className: "rb-caption status-muted",
266
274
  children: option.description
267
275
  }) : null] }, option.id))
268
- }) : /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: formatWholeSeriesPriceDisplay(pricing.display) }) }),
276
+ }) : /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: formatBookingPriceDisplay(publicEventPricingDisplay(pricing)) }) }),
269
277
  acceptedItems.length > 0 ? /* @__PURE__ */ jsxs("p", {
270
278
  className: "rb-caption rb-mt-1",
271
279
  children: ["You can also attend with: ", acceptedItems.join(", ")]
@@ -276,7 +284,7 @@ function WholeSeriesPricingDisplay({ pricing, acceptedItems }) {
276
284
  //#endregion
277
285
  //#region ../blocks/src/system/runtime/nodes/event-details/view.tsx
278
286
  function formatAutoApplyDiscountLine(preview, currency) {
279
- const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatWholeSeriesPriceAmount(preview.discountAmountCents, currency)} off`;
287
+ const rate = preview.discountType === "percent" ? `${preview.discountPercent}% off` : `${formatEventPriceAmount(preview.discountAmountCents, currency)} off`;
280
288
  const label = preview.publicLabel.trim() || "Discount";
281
289
  return preview.minTicketsRequired && preview.minTicketsRequired > 1 ? `${label} — ${rate} when buying ${preview.minTicketsRequired}+ tickets` : `${label} — ${rate} applied automatically`;
282
290
  }
@@ -290,8 +298,8 @@ function TeamMemberName({ name, profilePath }) {
290
298
  function formatTicketTypePrice(ticketType, currency) {
291
299
  return formatCurrencyAmount(ticketType.priceAmount, currency, { decimals: "auto" });
292
300
  }
293
- function getActiveTicketTypes(event) {
294
- return event.pricing.kind === "ticket_types" ? event.pricing.ticketTypes.filter((ticketType) => ticketType.isActive).sort((left, right) => left.sortOrder - right.sortOrder) : [];
301
+ function getDisplayablePricingOptions(event) {
302
+ return event.pricing.kind === "tiered" ? event.pricing.options.filter(isPublicEventPricingOptionDisplayable).sort((left, right) => left.sortOrder - right.sortOrder) : [];
295
303
  }
296
304
  function TicketTypePriceList({ ticketTypes, currency }) {
297
305
  if (ticketTypes.length === 0) return null;
@@ -306,7 +314,7 @@ function TicketTypePriceList({ ticketTypes, currency }) {
306
314
  }, ticketType.id))
307
315
  });
308
316
  }
309
- function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCostLabel, eventPricingCurrency, ticketTypes, autoApplyDiscount }) {
317
+ function EventPricingDetails({ isDropIn, wholeSeriesPricingDisplay, acceptedItems, eventCostLabel, eventPricingCurrency, ticketTypes, autoApplyDiscount }) {
310
318
  if (isDropIn) return /* @__PURE__ */ jsxs("div", {
311
319
  className: "rb-mt-6",
312
320
  children: [/* @__PURE__ */ jsx("div", {
@@ -317,8 +325,8 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
317
325
  children: "No registration required - just show up"
318
326
  })]
319
327
  });
320
- if (coursePricing) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
321
- pricing: coursePricing,
328
+ if (wholeSeriesPricingDisplay) return /* @__PURE__ */ jsx(WholeSeriesPricingDisplay, {
329
+ pricing: wholeSeriesPricingDisplay,
322
330
  acceptedItems: [...acceptedItems]
323
331
  });
324
332
  if (eventCostLabel) return /* @__PURE__ */ jsxs("div", {
@@ -329,14 +337,14 @@ function EventPricingDetails({ isDropIn, coursePricing, acceptedItems, eventCost
329
337
  children: "Cost"
330
338
  }),
331
339
  /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: eventCostLabel }) }),
332
- autoApplyDiscount ? /* @__PURE__ */ jsx("p", {
340
+ autoApplyDiscount && eventPricingCurrency ? /* @__PURE__ */ jsx("p", {
333
341
  className: "rb-caption rb-mt-1",
334
342
  children: formatAutoApplyDiscountLine(autoApplyDiscount, eventPricingCurrency)
335
343
  }) : null,
336
- /* @__PURE__ */ jsx(TicketTypePriceList, {
344
+ eventPricingCurrency ? /* @__PURE__ */ jsx(TicketTypePriceList, {
337
345
  ticketTypes,
338
346
  currency: eventPricingCurrency
339
- }),
347
+ }) : null,
340
348
  acceptedItems.length > 0 ? /* @__PURE__ */ jsxs("p", {
341
349
  className: "rb-caption rb-mt-1",
342
350
  children: ["You can also attend with: ", acceptedItems.join(", ")]
@@ -363,7 +371,7 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
363
371
  /* @__PURE__ */ jsxs("div", { children: [
364
372
  /* @__PURE__ */ jsx("div", {
365
373
  className: "rb-label rb-mb-2",
366
- children: selection.kind === "wholeSeries" ? selection.phase === "upcoming" ? "First session" : selection.phase === "inProgress" ? "Course in progress" : "Course finished" : selection.mode === "next" ? "Next date" : "Date"
374
+ children: selection.kind === "wholeSeries" ? runLifecycleLabel(selection.lifecycle) : selection.mode === "next" ? "Next date" : "Date"
367
375
  }),
368
376
  /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: date }) }),
369
377
  /* @__PURE__ */ jsx("p", {
@@ -406,27 +414,102 @@ function EventFacts({ selection, selected, venue, teamMembers, pricing, showCapa
406
414
  children: [/* @__PURE__ */ jsx("div", {
407
415
  className: "rb-label rb-mb-2",
408
416
  children: "Places"
409
- }), /* @__PURE__ */ jsxs("p", { children: [selected.capacity, " places"] })]
417
+ }), /* @__PURE__ */ jsx("p", { children: formatTotalCapacity(selected.capacity) })]
410
418
  }) : null,
411
419
  pricing,
412
- selected.bookingScope === "whole_series" ? /* @__PURE__ */ jsxs("div", {
413
- className: "rb-mt-6",
414
- children: [/* @__PURE__ */ jsx("div", {
415
- className: "rb-label rb-mb-2",
416
- children: "Registration"
417
- }), /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: selected.wholeSeries?.enrollmentOpen ? "Open" : "Closed" }) })]
420
+ selection.kind === "wholeSeries" ? /* @__PURE__ */ jsx(BookingState, { phase: selection.bookingPhase }) : null
421
+ ]
422
+ });
423
+ }
424
+ /**
425
+ * Where the run has got to, in the words a visitor would use.
426
+ *
427
+ * A cancelled run says so plainly rather than being described by its dates,
428
+ * which is what happens when the label is inferred from the schedule alone.
429
+ */
430
+ function runLifecycleLabel(lifecycle) {
431
+ switch (lifecycle) {
432
+ case "upcoming": return "First session";
433
+ case "in_progress": return "In progress";
434
+ case "completed": return "Finished";
435
+ case "cancelled": return "Cancelled";
436
+ }
437
+ }
438
+ /**
439
+ * Whether these dates still take bookings, and if not, why.
440
+ *
441
+ * The run decides, not its enrolment flag on its own: a cancelled run can still
442
+ * carry an open enrolment window and future dates, and saying "Open" here while
443
+ * the booking panel beside it says cancelled is the contradiction a visitor
444
+ * actually notices.
445
+ */
446
+ function BookingState({ phase }) {
447
+ return /* @__PURE__ */ jsxs("div", {
448
+ className: "rb-mt-6",
449
+ children: [
450
+ /* @__PURE__ */ jsx("div", {
451
+ className: "rb-label rb-mb-2",
452
+ children: "Booking"
453
+ }),
454
+ /* @__PURE__ */ jsx("p", { children: /* @__PURE__ */ jsx("strong", { children: phase.kind === "open" ? "Open" : "Closed" }) }),
455
+ phase.kind === "closed" ? /* @__PURE__ */ jsx("p", {
456
+ className: "rb-caption",
457
+ children: bookingClosedReason(phase.reason)
418
458
  }) : null
419
459
  ]
420
460
  });
421
461
  }
462
+ function bookingClosedReason(reason) {
463
+ switch (reason) {
464
+ case "cancelled": return "These dates have been cancelled.";
465
+ case "in-progress": return "Bookings closed when the first session began.";
466
+ case "completed": return "These dates have finished.";
467
+ case "enrolment-closed": return "Bookings for these dates have closed.";
468
+ case "no-sessions": return "No dates are currently scheduled.";
469
+ }
470
+ }
471
+ /**
472
+ * The run's own schedule, cancellations included and labelled.
473
+ *
474
+ * Every session belongs to the run whose page this is, so the schedule is a
475
+ * list rather than a set of links to somewhere else. A cancelled week stays on
476
+ * the list and says so: dropping it would leave a visitor wondering whether
477
+ * they had misremembered the dates.
478
+ */
479
+ function SessionSchedule({ sessions, timeZone }) {
480
+ if (sessions.length === 0) return null;
481
+ return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
482
+ className: "rb-label",
483
+ children: "Session schedule"
484
+ }), /* @__PURE__ */ jsx("div", {
485
+ className: "rb-mt-2 rb-tiles-grid",
486
+ children: sessions.map((session) => {
487
+ const cancelled = session.status === CANCELLED_SESSION_STATUS;
488
+ return /* @__PURE__ */ jsxs("div", {
489
+ className: `rb-tile${cancelled ? " rb-tile--cancelled" : ""}`,
490
+ children: [/* @__PURE__ */ jsx(DateTimeTile, {
491
+ startsAt: session.startsAt,
492
+ endsAt: session.endsAt,
493
+ timeZone
494
+ }), cancelled ? /* @__PURE__ */ jsx("p", {
495
+ className: "rb-caption status-muted",
496
+ children: "Cancelled"
497
+ }) : null]
498
+ }, session.occurrenceId);
499
+ })
500
+ })] });
501
+ }
422
502
  function OtherEventDates({ selection }) {
423
503
  if (selection.kind === "empty") return null;
424
- const isWholeSeries = selection.kind === "wholeSeries";
425
- const dates = isWholeSeries ? selection.sessions : selection.otherDates;
504
+ if (selection.kind === "wholeSeries") return /* @__PURE__ */ jsx(SessionSchedule, {
505
+ sessions: selection.sessions,
506
+ timeZone: selection.timeZone
507
+ });
508
+ const dates = selection.otherDates;
426
509
  if (dates.length === 0) return null;
427
510
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
428
511
  className: "rb-label",
429
- children: isWholeSeries ? "Session schedule" : "Other dates"
512
+ children: "Other dates"
430
513
  }), /* @__PURE__ */ jsx("div", {
431
514
  className: "rb-mt-2 rb-tiles-grid",
432
515
  children: dates.map((event) => /* @__PURE__ */ jsx("a", {
@@ -465,13 +548,10 @@ function SelectedEventDetailsView({ selection, showVenue, showMap, showOtherDate
465
548
  const selected = selection.selected;
466
549
  const venue = showVenue ? selected.venue : void 0;
467
550
  const isDropIn = selected.bookingScope === "single_occurrence" && selected.requiresRegistration === false;
468
- const wholeSeriesPricing = selected.bookingScope === "whole_series" && selected.wholeSeries ? resolveWholeSeriesPricingState({
469
- pricing: selected.wholeSeries.pricing,
470
- currency: selected.wholeSeries.currency
471
- }) : null;
472
- const eventPricing = resolveRuntimeEventPricing(selected);
473
- const currency = publicEventPricingCurrency(eventPricing) ?? "USD";
474
- const showEventCost = showCost && publicEventPricingType(eventPricing) === "paid" && !isDropIn && wholeSeriesPricing === null;
551
+ const wholeSeriesPricing = selected.bookingScope === "whole_series" && selected.pricing.kind !== "external" ? selected.pricing : null;
552
+ const eventPricing = selected.pricing;
553
+ const currency = publicEventPricingCurrency(eventPricing);
554
+ const showEventCost = showCost && publicEventPricingType(eventPricing) !== "free" && !isDropIn && wholeSeriesPricing === null;
475
555
  return /* @__PURE__ */ jsxs("div", {
476
556
  className: "rb-flex rb-flex-col rb-gap-6 rb-text-left",
477
557
  children: [
@@ -490,11 +570,11 @@ function SelectedEventDetailsView({ selection, showVenue, showMap, showOtherDate
490
570
  showCapacity,
491
571
  pricing: /* @__PURE__ */ jsx(EventPricingDetails, {
492
572
  isDropIn,
493
- coursePricing: showCost ? wholeSeriesPricing : null,
573
+ wholeSeriesPricingDisplay: showCost ? wholeSeriesPricing : null,
494
574
  acceptedItems,
495
575
  eventCostLabel: showEventCost ? formatEventPrice(selected) : null,
496
576
  eventPricingCurrency: currency,
497
- ticketTypes: showEventCost ? getActiveTicketTypes(selected) : [],
577
+ ticketTypes: showEventCost ? getDisplayablePricingOptions(selected) : [],
498
578
  autoApplyDiscount: autoApplyDiscount ?? null
499
579
  })
500
580
  }), /* @__PURE__ */ jsx(EventVenueMap, {
@@ -1,8 +1,8 @@
1
- import { t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
2
- import { t as BlockApiProvider } from "./context-BImarOAq.mjs";
1
+ import { t as defineIslandPropsDecoder } from "./propsDecoder-CY9gGEF7.mjs";
2
+ import { t as BlockApiProvider } from "./context-DBzX85Xc.mjs";
3
3
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
4
4
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
5
- import { t as EventListingClient } from "./EventListing.client-DVFCDe3i.mjs";
5
+ import { t as EventListingClient } from "./EventListing.client-99qx7jFl.mjs";
6
6
  import "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/rendering/islands/enhancers/eventListing.tsx