@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,5 +1,5 @@
1
1
  "use client";
2
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-DIj1T59K.mjs";
2
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
3
3
  import { useEffect, useReducer, useRef } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region ../blocks/src/system/runtime/shared/components/CheckIcon.tsx
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import { At as assertNever, nn as assertNever$1, o as formatCommercePrice, s as formatInterval, st as themeButtonClassName, t as defineIslandPropsDecoder } from "./propsDecoder-pzBeCh14.mjs";
3
- import { n as useBlockApi } from "./context-BImarOAq.mjs";
4
- import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock-CduAKf8T.mjs";
5
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIj1T59K.mjs";
2
+ import { Nt as assertNever, dn as assertNever$1, o as formatCommercePrice, s as formatInterval, t as defineIslandPropsDecoder, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
3
+ import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
4
+ import { a as CheckIcon, i as StateIcon, n as useDiscountCodeUi, r as TerminalPanel, t as scrollToBlock } from "./scrollToBlock--BFV6kl-.mjs";
5
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as createBodyThemePortalRoot } from "./themePortalRoot-AGs4cE7t.mjs";
8
8
  import { n as consumeSearchParams } from "./urlParams-D71VXFGx.mjs";
9
9
  import { t as CrossIcon } from "./CrossIcon-Dn1KRKW5.mjs";
10
- import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-BDf9ljkm.mjs";
11
- import { t as addPassToCommerceCart } from "./shop-commerce-store-CGWnpY4K.mjs";
10
+ import { _ as MembershipCardView, a as getDiscountApplyFeedback, b as PassesMembershipsSectionView, d as planDirectShopCheckoutRequest, i as getAppliedDiscountCode, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, t as mountShopBlockIsland, v as PassCardView, y as PassPurchaseUnavailable } from "./shopShared-BnSRrwXI.mjs";
11
+ import { t as addPassToCommerceCart } from "./shop-commerce-store-CAVLxLFr.mjs";
12
12
  import { t as ModalShell } from "./ModalShell-CqkBvBIC.mjs";
13
13
  import React, { useCallback, useEffect, useRef, useState } from "react";
14
14
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,14 +1,14 @@
1
1
  "use client";
2
- import { At as assertNever, Ft as reportWorkflowError, Ot as RichTextDocSchema, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, i as buildProductCardDisplay, jt as clearWorkflowFeedback, lt as logger, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, st as themeButtonClassName, u as buildProductCartItem } from "./propsDecoder-pzBeCh14.mjs";
3
- import { n as useBlockApi } from "./context-BImarOAq.mjs";
4
- import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-DIj1T59K.mjs";
2
+ import { Nt as assertNever, Pt as clearWorkflowFeedback, Rt as reportWorkflowError, a as buildProductDetailDisplay, d as deriveCommerceCheckoutState, ft as logger, i as buildProductCardDisplay, jt as RichTextDocSchema, n as getShopDisplayForItems, o as formatCommercePrice, p as productItemKey, u as buildProductCartItem, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
3
+ import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
4
+ import { t as DiscountCodeDisclosure } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
5
5
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
6
6
  import { n as RichText, t as buildCheckoutReturnUrls } from "./checkoutUrls-BuseL0dw.mjs";
7
7
  import { t as consumeSearchParam } from "./urlParams-D71VXFGx.mjs";
8
8
  import { t as CarouselNodeClient } from "./carousel.client-59G_WMr4.mjs";
9
9
  import { t as resolveDedicatedCheckoutPath } from "./checkoutRoute-ClwHwYVA.mjs";
10
- import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-BDf9ljkm.mjs";
11
- import { n as useCommerceCart } from "./shop-commerce-store-CGWnpY4K.mjs";
10
+ import { C as ProductGalleryFrameView, S as ProductDetailView, T as VariantSelectView, a as getDiscountApplyFeedback, c as aggregateCartDiscountUiState, f as planUnifiedCheckoutRequest, g as CheckoutShellView, h as CartShellView, i as getAppliedDiscountCode, l as checkoutFormForDiscountUiState, m as useTransientShopAddFeedback, n as useDiscountApply, o as initialDiscountApplyState, p as ShopAddFeedback, r as discountApplyReducer, s as isDiscountApplyInFlight, u as planCartDiscountAvailabilityRequests, w as ProductListSectionView, x as ProductCardView } from "./shopShared-BnSRrwXI.mjs";
11
+ import { n as useCommerceCart } from "./shop-commerce-store-CAVLxLFr.mjs";
12
12
  import * as React$1 from "react";
13
13
  import { useEffect, useState } from "react";
14
14
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-pzBeCh14.mjs";
2
+ import { c as EMPTY_COMMERCE_CART_STATE, f as parseStoredCommerceCartState, l as buildPassCartItem, m as reduceCommerceCart } from "./propsDecoder-CY9gGEF7.mjs";
3
3
  import * as React$1 from "react";
4
4
  //#region ../blocks/src/system/runtime/nodes/shop-commerce-store.ts
5
5
  const EMPTY_STATE = EMPTY_COMMERCE_CART_STATE;
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { E as ok, T as err } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { At as assertNever } from "./propsDecoder-pzBeCh14.mjs";
4
- import { t as BlockApiProvider } from "./context-BImarOAq.mjs";
5
- import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-DIj1T59K.mjs";
3
+ import { Nt as assertNever } from "./propsDecoder-CY9gGEF7.mjs";
4
+ import { t as BlockApiProvider } from "./context-DBzX85Xc.mjs";
5
+ import { i as getAutoAppliedDiscountPreview, n as discountAvailabilityAllowsManualEntry, r as discountAvailabilityHasDiscounts } from "./DiscountCodeDisclosure-CU67Q4vH.mjs";
6
6
  import { t as FeedbackMessage } from "./FeedbackMessage-CtLvvS_d.mjs";
7
7
  import { t as mountReactIsland } from "./reactMount-SY8AVRof.mjs";
8
8
  import { t as buildRouteIslandApiConfig } from "./routeIslandApiConfig-UNsfPcYq.mjs";
@@ -1,9 +1,11 @@
1
1
  "use client";
2
2
  import { d as hexToRgb, u as relativeLuminance } from "./colorStyles-CrxJrPjJ.mjs";
3
- import { A as isSemanticSpacing, At as assertNever, B as formatEventPrice, F as normalizeCsvString, H as formatEventTeacherLine, I as normalizeOptionalId, L as formatDate, N as getEventRuntimeFiltersKey, P as normalizeCsvIds, R as formatEventCompactDateRail, U as formatTime, X as getEventAvailability, at as resolveOnColorForThemeToken, ct as normalizeCardRole, it as isCssColorLiteral, j as resolveSpacing, k as SEMANTIC_SPACING_VALUES, ot as resolveTokenOrCssColorValue, q as resolveEventCta, rt as boxBackgroundSchema, st as themeButtonClassName } from "./propsDecoder-pzBeCh14.mjs";
3
+ import { A as isSemanticSpacing, H as normalizeCsvIds, Nt as assertNever, U as normalizeCsvString, V as getEventRuntimeFiltersKey, W as normalizeOptionalId, ct as resolveOnColorForThemeToken, dt as normalizeCardRole, j as resolveSpacing, k as SEMANTIC_SPACING_VALUES, lt as resolveTokenOrCssColorValue, ot as boxBackgroundSchema, st as isCssColorLiteral, ut as themeButtonClassName } from "./propsDecoder-CY9gGEF7.mjs";
4
4
  import { a as getCurrentResolveImageUrlContext, i as computeMediaTransformStyle, l as resolveMediaNodeResponsiveImage, n as MediaPlaceholder, o as renderAudio, s as renderVideo, t as ImagePresets } from "./media-BOHuueS5.mjs";
5
- import { n as useBlockApi } from "./context-BImarOAq.mjs";
6
- import { t as LeafletStaticMap } from "./LeafletStaticMap-BY5mIHw9.mjs";
5
+ import { o as formatEventRemainingPlaces, t as formatEventPrice } from "./pricing-xj7MPZlK.mjs";
6
+ import { c as resolveEventCta, i as formatTime, l as resolveEventLinkProps, n as formatEventCompactDateRail, t as formatDate } from "./dates-DCYhZBlW.mjs";
7
+ import { n as useBlockApi } from "./context-DBzX85Xc.mjs";
8
+ import { t as LeafletStaticMap } from "./LeafletStaticMap-CWzcq73L.mjs";
7
9
  import { useCallback, useEffect, useId, useMemo, useReducer, useRef, useState } from "react";
8
10
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
11
  //#region ../theme-core/src/palette/utils/textColor.ts
@@ -47,6 +49,22 @@ function clamp255(value) {
47
49
  return Math.max(0, Math.min(255, value));
48
50
  }
49
51
  //#endregion
52
+ //#region ../blocks/src/system/runtime/nodes/events/domain/people.ts
53
+ function formatTeamMemberNames(names) {
54
+ const normalized = names.map((name) => name.trim()).filter(Boolean);
55
+ if (normalized.length === 0) return null;
56
+ const [firstName, secondName] = normalized;
57
+ if (!firstName) return null;
58
+ if (normalized.length === 1) return firstName;
59
+ if (normalized.length === 2 && secondName) return `${firstName} and ${secondName}`;
60
+ const finalName = normalized[normalized.length - 1] ?? "";
61
+ return `${normalized.slice(0, -1).join(", ")}, and ${finalName}`;
62
+ }
63
+ function formatEventTeacherLine(event) {
64
+ const names = formatTeamMemberNames((event.teamMembers ?? []).map((teamMember) => teamMember.name));
65
+ return names ? `with ${names}` : null;
66
+ }
67
+ //#endregion
50
68
  //#region ../blocks/src/system/runtime/nodes/events/shared/EmptyState.tsx
51
69
  /**
52
70
  * EmptyState Component
@@ -448,7 +466,6 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
448
466
  const formattedDate = formatDate(event.startsAt, { timeZone });
449
467
  const formattedTime = `${formatTime(event.startsAt, { timeZone })} - ${formatTime(event.endsAt, { timeZone })}`;
450
468
  const cta = resolveEventCta(event, buttonText);
451
- const { available: spotsLeft, isFull: isSoldOut } = getEventAvailability(event);
452
469
  const cardClass = boxStyleClassNames({ role: cardRole }, { baseClass: "event-card" });
453
470
  const buttonClass = themeButtonClassName({
454
471
  variant: buttonVariant,
@@ -464,10 +481,7 @@ const EventCard = ({ event, cardRole = "default", buttonVariant = "primary", but
464
481
  } : null;
465
482
  const hasImage = Boolean(showImage && image);
466
483
  const teacherLine = formatEventTeacherLine(event);
467
- const capacityText = showCapacity ? formatCapacityText(event, {
468
- isSoldOut,
469
- spotsLeft
470
- }) : null;
484
+ const capacityText = showCapacity ? formatEventRemainingPlaces(event, { full: "Sold out" }) : null;
471
485
  return /* @__PURE__ */ jsxs("article", {
472
486
  className: `${cardClass} group rb-flex rb-flex-col rb-h-full ${eventCardOrientationClass(orientation)}`,
473
487
  "data-orientation": orientation,
@@ -533,7 +547,11 @@ function EventCardContent(props) {
533
547
  }),
534
548
  /* @__PURE__ */ jsx("h3", {
535
549
  className: "card-title rb-mb-3",
536
- children: props.title
550
+ children: /* @__PURE__ */ jsx("a", {
551
+ className: "event-title-link",
552
+ ...resolveEventLinkProps(event),
553
+ children: props.title
554
+ })
537
555
  }),
538
556
  /* @__PURE__ */ jsx("div", {
539
557
  className: "rb-mb-2 rb-caption",
@@ -610,13 +628,6 @@ function eventCardOrientationClass(orientation) {
610
628
  case "vertical": return "event-card--vertical";
611
629
  }
612
630
  }
613
- function formatCapacityText(event, options) {
614
- if (event.capacity == null) return null;
615
- if (options.isSoldOut) return "Sold out";
616
- if (options.spotsLeft == null) return null;
617
- const count = options.spotsLeft;
618
- return `${count} ${count === 1 ? "spot" : "spots"} available`;
619
- }
620
631
  function getCategoryBadgeStyle(background) {
621
632
  const normalized = background?.trim() ?? "";
622
633
  if (!normalized) return {
@@ -1005,7 +1016,11 @@ const EventCompactRow = ({ event, buttonVariant = "primary", buttonText }) => {
1005
1016
  className: "event-compact-row-content",
1006
1017
  children: [/* @__PURE__ */ jsx("h3", {
1007
1018
  className: "event-compact-row-title",
1008
- children: event.title
1019
+ children: /* @__PURE__ */ jsx("a", {
1020
+ className: "event-title-link",
1021
+ ...resolveEventLinkProps(event),
1022
+ children: event.title
1023
+ })
1009
1024
  }), /* @__PURE__ */ jsxs("div", {
1010
1025
  className: "event-compact-row-meta",
1011
1026
  children: [
@@ -1638,4 +1653,4 @@ function useEventFilters({ showCategoryFilter = "auto", showVenueFilter = false,
1638
1653
  };
1639
1654
  }
1640
1655
  //#endregion
1641
- export { EventCardClient as a, EventPaginatedListView as i, useEventPagination as n, EventFilters as o, toError as r, useEventFilters as t };
1656
+ export { EventCardClient as a, EventPaginatedListView as i, useEventPagination as n, EventFilters as o, toError as r, formatEventTeacherLine as s, useEventFilters as t };
@@ -76,7 +76,6 @@ const TAG_TEMPLATES = {
76
76
  formSubmissionsBySlug: "riverbank:form-submissions:{slug}",
77
77
  publicEvents: "riverbank:site:{siteId}:public-events",
78
78
  publicEventFilters: "riverbank:site:{siteId}:public-event-filters",
79
- publicWholeSeriesOfferings: "riverbank:site:{siteId}:public-whole-series-offerings",
80
79
  publicTeamMembers: "riverbank:site:{siteId}:public-team-members",
81
80
  publicProducts: "riverbank:site:{siteId}:public-products",
82
81
  publicPasses: "riverbank:site:{siteId}:public-passes",
@@ -85,6 +84,7 @@ const TAG_TEMPLATES = {
85
84
  publicShop: "riverbank:site:{siteId}:public-shop",
86
85
  publicCheckout: "riverbank:site:{siteId}:public-checkout",
87
86
  publicBookingServices: "riverbank:site:{siteId}:public-booking-services",
87
+ publicBookingAvailability: "riverbank:site:{siteId}:public-booking-availability",
88
88
  siteNavigation: "riverbank:site:{siteId}:navigation",
89
89
  navigationMenuById: "riverbank:navigation-menu:{menuId}",
90
90
  navigationItemById: "riverbank:navigation-item:{itemId}",
@@ -1211,30 +1211,15 @@ const NEWSLETTER_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1211
1211
  }
1212
1212
  });
1213
1213
  //#endregion
1214
- //#region ../api/src/publicWholeSeriesEndpointDefinitions.ts
1215
- const PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1216
- listPublicWholeSeriesOfferings: {
1217
- path: "/public/sites/{siteId}/dated-offerings/whole-series",
1214
+ //#region ../api/src/publicEventEndpointDefinitions.ts
1215
+ const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1216
+ listPublicEventCalendarWindow: {
1217
+ path: "/public/sites/{siteId}/events/calendar-window",
1218
1218
  method: "GET",
1219
- revalidate: 60,
1220
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings],
1221
- errors: ["server:internal_error"],
1219
+ revalidate: 0,
1222
1220
  auth: "public",
1223
1221
  responseKind: "json"
1224
1222
  },
1225
- getPublicWholeSeriesOffering: {
1226
- path: "/public/sites/{siteId}/dated-offerings/whole-series/{eventSeriesId}",
1227
- method: "GET",
1228
- revalidate: 60,
1229
- tags: [TAG_TEMPLATES.publicWholeSeriesOfferings],
1230
- errors: ["resource:not_found", "server:internal_error"],
1231
- auth: "public",
1232
- responseKind: "json"
1233
- }
1234
- });
1235
- //#endregion
1236
- //#region ../api/src/publicEventEndpointDefinitions.ts
1237
- const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1238
1223
  resolvePublicEventCheckoutReturn: {
1239
1224
  path: "/public/sites/{siteId}/events/checkout-return",
1240
1225
  method: "POST",
@@ -1266,6 +1251,99 @@ const PUBLIC_EVENT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1266
1251
  }
1267
1252
  });
1268
1253
  //#endregion
1254
+ //#region ../api/src/publicEventCheckoutEndpointDefinitions.ts
1255
+ /**
1256
+ * The public event registration/checkout endpoints, extracted from
1257
+ * `endpoints.ts`.
1258
+ *
1259
+ * They were moved out for the same reason the `sdkMedia*` block was: adding the
1260
+ * `errors` metadata `require-api-endpoint-errors` asks of a newly-added endpoint
1261
+ * pushed `endpoints.ts` past its `max-lines` baseline. The block is spread back
1262
+ * at the exact position it occupied, so `API_ENDPOINTS` key order is unchanged.
1263
+ * (The endpoint that originally motivated the move, `checkPublicEventEligibility`,
1264
+ * was since deleted on dev by #1326.)
1265
+ */
1266
+ const PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1267
+ registerForEvent: {
1268
+ path: "/public/sites/{siteId}/events/register",
1269
+ method: "POST",
1270
+ tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
1271
+ auth: "public",
1272
+ responseKind: "json"
1273
+ },
1274
+ createPublicEventCheckout: {
1275
+ path: "/public/sites/{siteId}/events/checkout",
1276
+ method: "POST",
1277
+ tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
1278
+ auth: "public",
1279
+ responseKind: "json"
1280
+ }
1281
+ });
1282
+ //#endregion
1283
+ //#region ../api/src/publicBookingAvailabilityEndpointDefinitions.ts
1284
+ /**
1285
+ * Public appointment reads: the service catalogue and the bookable slot grid.
1286
+ *
1287
+ * These are the reads that appointment writes invalidate. They carry canonical
1288
+ * `riverbank:*` tags because the frontend revalidate endpoint discards anything
1289
+ * else, which is why the legacy `site-{siteId}` tag they used to declare could
1290
+ * never actually be cleared (issue 1364).
1291
+ *
1292
+ * Slot availability depends on both tags: the grid moves when a booking lands,
1293
+ * and again when the service definition behind it changes.
1294
+ */
1295
+ const PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1296
+ getPublicBookingServices: {
1297
+ path: "/public/bookings/services",
1298
+ method: "GET",
1299
+ revalidate: 60,
1300
+ tags: [TAG_TEMPLATES.publicBookingServices],
1301
+ auth: "public",
1302
+ responseKind: "json"
1303
+ },
1304
+ getPublicBookingService: {
1305
+ path: "/public/bookings/services/{serviceId}",
1306
+ method: "GET",
1307
+ revalidate: 60,
1308
+ tags: [TAG_TEMPLATES.publicBookingServices],
1309
+ auth: "public",
1310
+ responseKind: "json"
1311
+ },
1312
+ getPublicBookingResourcesReference: {
1313
+ path: "/public/bookings/resources/reference",
1314
+ method: "GET",
1315
+ revalidate: 60,
1316
+ tags: [TAG_TEMPLATES.publicBookingServices],
1317
+ auth: "public",
1318
+ responseKind: "json"
1319
+ },
1320
+ getPublicBookingAvailableDates: {
1321
+ path: "/public/bookings/availability/dates",
1322
+ method: "GET",
1323
+ revalidate: 60,
1324
+ tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
1325
+ auth: "public",
1326
+ responseKind: "json"
1327
+ },
1328
+ getPublicBookingAvailableSlots: {
1329
+ path: "/public/bookings/availability/slots",
1330
+ method: "GET",
1331
+ revalidate: 60,
1332
+ tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
1333
+ auth: "public",
1334
+ responseKind: "json"
1335
+ },
1336
+ getPublicWeeklySlotAvailability: {
1337
+ path: "/public/bookings/weekly-slot-availability",
1338
+ method: "GET",
1339
+ revalidate: 60,
1340
+ tags: [TAG_TEMPLATES.publicBookingAvailability, TAG_TEMPLATES.publicBookingServices],
1341
+ auth: "public",
1342
+ responseKind: "json",
1343
+ errors: []
1344
+ }
1345
+ });
1346
+ //#endregion
1269
1347
  //#region ../api/src/siteApiKeyEndpointDefinitions.ts
1270
1348
  const SITE_API_KEY_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1271
1349
  listSiteApiKeys: {
@@ -1626,6 +1704,88 @@ const SDK_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1626
1704
  errors: ["validation:invalid_input", "server:internal_error"]
1627
1705
  }
1628
1706
  });
1707
+ //#endregion
1708
+ //#region ../api/src/sdkMediaEndpointDefinitions.ts
1709
+ /** SDK media lookup, listing, deletion and upload endpoints (management-key authenticated). */
1710
+ const SDK_MEDIA_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
1711
+ sdkMediaExists: {
1712
+ path: "/sdk/{siteId}/media/exists",
1713
+ method: "POST",
1714
+ errors: ["validation:invalid_input"],
1715
+ auth: "service",
1716
+ responseKind: "json"
1717
+ },
1718
+ sdkMediaFindByChecksum: {
1719
+ path: "/sdk/{siteId}/media/find-by-checksum",
1720
+ method: "POST",
1721
+ errors: ["server:internal_error"],
1722
+ auth: "service",
1723
+ responseKind: "json"
1724
+ },
1725
+ sdkMediaResolve: {
1726
+ path: "/sdk/{siteId}/media/resolve",
1727
+ method: "POST",
1728
+ errors: ["server:internal_error"],
1729
+ auth: "service",
1730
+ responseKind: "json"
1731
+ },
1732
+ sdkMediaList: {
1733
+ path: "/sdk/{siteId}/media",
1734
+ method: "GET",
1735
+ auth: "service",
1736
+ errors: [],
1737
+ responseKind: "json"
1738
+ },
1739
+ sdkMediaDownload: {
1740
+ path: "/sdk/{siteId}/media/{identifier}/download",
1741
+ method: "GET",
1742
+ auth: "service",
1743
+ errors: [],
1744
+ responseKind: "json"
1745
+ },
1746
+ sdkMediaDeletePreview: {
1747
+ path: "/sdk/{siteId}/media/{identifier}/delete-preview",
1748
+ method: "POST",
1749
+ auth: "service",
1750
+ errors: [],
1751
+ responseKind: "json"
1752
+ },
1753
+ sdkMediaDeleteApply: {
1754
+ path: "/sdk/{siteId}/media/{identifier}",
1755
+ method: "DELETE",
1756
+ auth: "service",
1757
+ errors: [],
1758
+ responseKind: "json"
1759
+ },
1760
+ sdkMediaUploadUrl: {
1761
+ path: "/sdk/{siteId}/media/upload-url",
1762
+ method: "POST",
1763
+ errors: [
1764
+ "resource:not_found",
1765
+ "validation:invalid_input",
1766
+ "resource:conflict",
1767
+ "validation:payload_too_large",
1768
+ "billing:plan_limit_exceeded",
1769
+ "server:internal_error"
1770
+ ],
1771
+ auth: "service",
1772
+ responseKind: "json"
1773
+ },
1774
+ sdkMediaUploadFinalize: {
1775
+ path: "/sdk/{siteId}/media/upload",
1776
+ method: "POST",
1777
+ errors: [
1778
+ "resource:not_found",
1779
+ "validation:invalid_input",
1780
+ "resource:conflict",
1781
+ "validation:payload_too_large",
1782
+ "billing:plan_limit_exceeded",
1783
+ "server:internal_error"
1784
+ ],
1785
+ auth: "service",
1786
+ responseKind: "json"
1787
+ }
1788
+ });
1629
1789
  const API_ENDPOINTS = {
1630
1790
  ...ACCOUNT_ENDPOINT_DEFINITIONS,
1631
1791
  ...PUBLIC_EVENT_ENDPOINT_DEFINITIONS,
@@ -3766,26 +3926,6 @@ const API_ENDPOINTS = {
3766
3926
  auth: "public",
3767
3927
  responseKind: "json"
3768
3928
  },
3769
- createTheme: {
3770
- path: "/ai/chat/create-theme",
3771
- method: "POST",
3772
- revalidate: 60,
3773
- tags: ["theme", "ai-theme"],
3774
- auth: "user",
3775
- responseKind: "json"
3776
- },
3777
- generateThemes: {
3778
- path: "/theme/generate",
3779
- method: "POST",
3780
- errors: [
3781
- "validation:invalid_input",
3782
- "resource:not_found",
3783
- "server:internal_error"
3784
- ],
3785
- tags: ["theme"],
3786
- auth: "user",
3787
- responseKind: "json"
3788
- },
3789
3929
  extractThemeFromInspiration: {
3790
3930
  path: "/theme/extract-from-inspiration",
3791
3931
  method: "POST",
@@ -3959,7 +4099,7 @@ const API_ENDPOINTS = {
3959
4099
  method: "DELETE",
3960
4100
  tags: ["media", "media-{assetId}"],
3961
4101
  auth: "user",
3962
- responseKind: "void"
4102
+ responseKind: "json"
3963
4103
  },
3964
4104
  mediaBulkDelete: {
3965
4105
  path: "/media/bulk-delete",
@@ -4517,55 +4657,7 @@ const API_ENDPOINTS = {
4517
4657
  auth: "public",
4518
4658
  responseKind: "json"
4519
4659
  },
4520
- getPublicBookingServices: {
4521
- path: "/public/bookings/services",
4522
- method: "GET",
4523
- revalidate: 60,
4524
- tags: ["site-{siteId}"],
4525
- auth: "public",
4526
- responseKind: "json"
4527
- },
4528
- getPublicBookingService: {
4529
- path: "/public/bookings/services/{serviceId}",
4530
- method: "GET",
4531
- revalidate: 60,
4532
- tags: ["site-{siteId}"],
4533
- auth: "public",
4534
- responseKind: "json"
4535
- },
4536
- getPublicBookingResourcesReference: {
4537
- path: "/public/bookings/resources/reference",
4538
- method: "GET",
4539
- revalidate: 60,
4540
- tags: ["site-{siteId}"],
4541
- auth: "public",
4542
- responseKind: "json"
4543
- },
4544
- getPublicBookingAvailableDates: {
4545
- path: "/public/bookings/availability/dates",
4546
- method: "GET",
4547
- revalidate: 300,
4548
- tags: ["site-{siteId}"],
4549
- auth: "public",
4550
- responseKind: "json"
4551
- },
4552
- getPublicBookingAvailableSlots: {
4553
- path: "/public/bookings/availability/slots",
4554
- method: "GET",
4555
- revalidate: 60,
4556
- tags: ["site-{siteId}"],
4557
- auth: "public",
4558
- responseKind: "json"
4559
- },
4560
- getPublicWeeklySlotAvailability: {
4561
- path: "/public/bookings/weekly-slot-availability",
4562
- method: "GET",
4563
- revalidate: 60,
4564
- tags: ["site-{siteId}"],
4565
- auth: "public",
4566
- responseKind: "json",
4567
- errors: []
4568
- },
4660
+ ...PUBLIC_BOOKING_AVAILABILITY_ENDPOINT_DEFINITIONS,
4569
4661
  createPublicBookingAppointment: {
4570
4662
  path: "/public/bookings/appointments",
4571
4663
  method: "POST",
@@ -4855,7 +4947,6 @@ const API_ENDPOINTS = {
4855
4947
  auth: "public",
4856
4948
  responseKind: "json"
4857
4949
  },
4858
- ...PUBLIC_WHOLE_SERIES_ENDPOINT_DEFINITIONS,
4859
4950
  listPublicTeamMembers: {
4860
4951
  path: "/public/sites/{siteId}/team-members",
4861
4952
  method: "GET",
@@ -4868,11 +4959,7 @@ const API_ENDPOINTS = {
4868
4959
  resolveWaitlistClaim: {
4869
4960
  path: "/public/sites/{siteId}/waitlists/claim/resolve",
4870
4961
  method: "POST",
4871
- tags: [
4872
- TAG_TEMPLATES.publicWholeSeriesOfferings,
4873
- TAG_TEMPLATES.publicEvents,
4874
- "waitlist-claims"
4875
- ],
4962
+ tags: [TAG_TEMPLATES.publicEvents, "waitlist-claims"],
4876
4963
  auth: "public",
4877
4964
  responseKind: "json",
4878
4965
  errors: [
@@ -4957,27 +5044,7 @@ const API_ENDPOINTS = {
4957
5044
  responseKind: "json",
4958
5045
  errors: []
4959
5046
  },
4960
- registerForEvent: {
4961
- path: "/public/sites/{siteId}/events/register",
4962
- method: "POST",
4963
- tags: [TAG_TEMPLATES.publicEvents, "event-registration"],
4964
- auth: "public",
4965
- responseKind: "json"
4966
- },
4967
- createPublicEventCheckout: {
4968
- path: "/public/sites/{siteId}/events/checkout",
4969
- method: "POST",
4970
- tags: [TAG_TEMPLATES.publicEvents, "event-checkout"],
4971
- auth: "public",
4972
- responseKind: "json"
4973
- },
4974
- checkPublicEventEligibility: {
4975
- path: "/public/sites/{siteId}/events/check-eligibility",
4976
- method: "POST",
4977
- tags: [TAG_TEMPLATES.publicEvents, "event-eligibility"],
4978
- auth: "public",
4979
- responseKind: "json"
4980
- },
5047
+ ...PUBLIC_EVENT_CHECKOUT_ENDPOINT_DEFINITIONS,
4981
5048
  getPublicEventRegistrationStatus: {
4982
5049
  path: "/public/sites/{siteId}/events/registration-status",
4983
5050
  method: "GET",
@@ -6545,42 +6612,13 @@ const API_ENDPOINTS = {
6545
6612
  auth: "user",
6546
6613
  responseKind: "json"
6547
6614
  },
6615
+ ...SDK_MEDIA_ENDPOINT_DEFINITIONS,
6548
6616
  sdkIdentifiersBackfill: {
6549
6617
  path: "/sdk/{siteId}/identifiers/backfill",
6550
6618
  method: "POST",
6551
6619
  auth: "service",
6552
6620
  responseKind: "json"
6553
6621
  },
6554
- sdkMediaExists: {
6555
- path: "/sdk/{siteId}/media/exists",
6556
- method: "POST",
6557
- auth: "service",
6558
- responseKind: "json"
6559
- },
6560
- sdkMediaFindByChecksum: {
6561
- path: "/sdk/{siteId}/media/find-by-checksum",
6562
- method: "POST",
6563
- auth: "service",
6564
- responseKind: "json"
6565
- },
6566
- sdkMediaResolve: {
6567
- path: "/sdk/{siteId}/media/resolve",
6568
- method: "POST",
6569
- auth: "service",
6570
- responseKind: "json"
6571
- },
6572
- sdkMediaUploadUrl: {
6573
- path: "/sdk/{siteId}/media/upload-url",
6574
- method: "POST",
6575
- auth: "service",
6576
- responseKind: "json"
6577
- },
6578
- sdkMediaUploadFinalize: {
6579
- path: "/sdk/{siteId}/media/upload",
6580
- method: "POST",
6581
- auth: "service",
6582
- responseKind: "json"
6583
- },
6584
6622
  sdkUpdateWorkflowRunStatus: {
6585
6623
  path: "/sdk/{siteId}/workflows/runs/{runId}/status",
6586
6624
  method: "POST",
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-wbEpXryy.mjs";
2
+ import { a as usePreviewLayout, i as useOptionalPreviewLayout, n as createPreviewQueryClient, r as PreviewLayoutProvider, t as PreviewQueryProvider } from "../../PreviewQueryProvider-BguJY1SW.mjs";
3
3
  import React from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/preview-next/client/runtime.tsx
6
6
  const LazySdkPreviewMode = React.lazy(async () => {
7
- return { default: (await import("../../SdkPreviewModeRuntime-CnWmj-2B.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
7
+ return { default: (await import("../../SdkPreviewModeRuntime-Tda6qw4z.mjs").then((n) => n.n)).SdkPreviewModeRuntime };
8
8
  });
9
9
  const LazyPreviewShell = React.lazy(async () => {
10
- return { default: (await import("../../sdk-runtime-19MO27F0.mjs")).PreviewShell };
10
+ return { default: (await import("../../sdk-runtime-DwGfsT0S.mjs")).PreviewShell };
11
11
  });
12
12
  const LazyPreviewShellLayout = React.lazy(async () => {
13
- return { default: (await import("../../sdk-runtime-19MO27F0.mjs")).PreviewShellLayout };
13
+ return { default: (await import("../../sdk-runtime-DwGfsT0S.mjs")).PreviewShellLayout };
14
14
  });
15
15
  function SdkPreviewMode(props) {
16
16
  return /* @__PURE__ */ jsx(React.Suspense, {