@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
@@ -0,0 +1,109 @@
1
+ import type { SystemBlockComponent } from './system';
2
+ import type { RouteMap } from './system/transforms';
3
+ import type { ResolveImageUrlContext } from './system/runtime/nodes/media';
4
+ import { type PageThemeResources } from './pageRenderingMode';
5
+ import type { PresentationBlock } from './pageRenderAdmission';
6
+ import type { RenderAudience } from './pageRenderAudience';
7
+ import type { PageRuntimeBoundary } from './pageRendererBoundaries';
8
+ import type { BlockOverrideProps, PageRendererDataContext } from './pageRendererContracts';
9
+ import { type PageBlockRenderPlanEntry, type PageRenderPlan } from './pageRenderPlan';
10
+ /**
11
+ * What preparing a block produced.
12
+ *
13
+ * - `plan-decided` — nothing to prepare; the plan already settled this
14
+ * entry (a diagnostic, or an override with no
15
+ * definition behind it).
16
+ * - `content` — the props and component the block will render with.
17
+ * - `editor-unpreviewable` — relaxed editor validation rejected the draft.
18
+ * - `render-threw` — building the element threw. Authoring keeps the
19
+ * entry and diagnoses it; public drops the entry
20
+ * entirely (see `preparePageRender`).
21
+ */
22
+ export type PreparedBlockRender = Readonly<{
23
+ kind: 'plan-decided';
24
+ }> | Readonly<{
25
+ kind: 'content';
26
+ baseProps: BlockOverrideProps;
27
+ component: SystemBlockComponent<Record<string, unknown>> | undefined;
28
+ hasResolvedData: boolean;
29
+ routes: RouteMap | undefined;
30
+ }> | Readonly<{
31
+ kind: 'editor-unpreviewable';
32
+ }> | Readonly<{
33
+ kind: 'render-threw';
34
+ }>;
35
+ export type PreparedPlanEntry = Readonly<{
36
+ entry: PageBlockRenderPlanEntry;
37
+ prepared: PreparedBlockRender;
38
+ }>;
39
+ export type PageRenderPreparation = Readonly<{
40
+ entries: readonly PreparedPlanEntry[];
41
+ /**
42
+ * Plan entries whose element construction threw, in page order.
43
+ *
44
+ * The whole entry rather than its block, because a public render drops these
45
+ * from `entries` before anything downstream can guard them, so the render edge
46
+ * has to replay the overrides-only guard over the entry's own `override`.
47
+ */
48
+ constructionFailures: readonly PageBlockRenderPlanEntry[];
49
+ runtimeBoundaries: readonly PageRuntimeBoundary[] | undefined;
50
+ }>;
51
+ export type PreparePageRenderInput = Readonly<{
52
+ plan: PageRenderPlan;
53
+ audience: RenderAudience;
54
+ dataContext: PageRendererDataContext | undefined;
55
+ routeMap: RouteMap | undefined;
56
+ themeResources: PageThemeResources;
57
+ imageResolveContext: ResolveImageUrlContext;
58
+ previewStage: 'published' | 'preview';
59
+ }>;
60
+ /**
61
+ * Stage two of the render plan.
62
+ *
63
+ * `buildPageRenderPlan` decides everything knowable from the page and the block
64
+ * registries. This pass decides everything knowable once the *render* inputs are
65
+ * in scope — routes, resolved data, theme resources — which is where content
66
+ * parsing, link hydration and data resolution can throw.
67
+ *
68
+ * Why a second stage rather than folding `render-threw` into `buildPageRenderPlan`
69
+ * with the other three reasons: the work that throws reads `dataContext`,
70
+ * `routeMap` and `themeResources`, none of which are plan inputs. Adding them
71
+ * would make every plan entry a fresh object on every render whose `dataContext`
72
+ * identity changed, and entry identity is exactly what `MemoBlockSection`'s
73
+ * comparator uses to skip a block subtree. So the decision moves as early as its
74
+ * inputs allow — before any wrapper markup exists — and no earlier.
75
+ *
76
+ * Pure, and memoised by the caller. Failures come back as data so the logging
77
+ * stays at the edge (decision D3), matching `buildPageRenderPlan`.
78
+ */
79
+ export declare function preparePageRender(input: PreparePageRenderInput): PageRenderPreparation;
80
+ /**
81
+ * The serialisable prop bundle every block component and override receives.
82
+ *
83
+ * Shared by the with-definition and override-without-definition paths, which
84
+ * differ only in the content and resolved data they pass in.
85
+ */
86
+ export declare function buildBlockOverrideProps(input: Readonly<{
87
+ content: Record<string, unknown>;
88
+ data: Record<string, unknown> | undefined;
89
+ block: PresentationBlock;
90
+ themeResources: PageThemeResources;
91
+ dataContext: PageRendererDataContext | undefined;
92
+ imageResolveContext: ResolveImageUrlContext;
93
+ }>): BlockOverrideProps;
94
+ /** What this render is *about* — the entry, occurrence or surface in scope. */
95
+ export declare function blockSubjectProps(dataContext: PageRendererDataContext | undefined): {
96
+ occurrenceContext: Readonly<{
97
+ id: string;
98
+ seriesId: string;
99
+ startsAt: string;
100
+ endsAt: string;
101
+ timeZone: string;
102
+ capacityOverride?: number | null;
103
+ overrides?: Record<string, unknown> | null;
104
+ }> | null;
105
+ entrySubrouteContext: import("../../core/src/index").EventPageSubrouteContext | null;
106
+ contentEntry: Record<string, unknown> | null;
107
+ pageSurface: Record<string, unknown> | null;
108
+ subject: import("../../core/src/index").EventPageSurfaceSubjectWire | null;
109
+ };
@@ -4,6 +4,7 @@ import type { Block } from './structure/schema';
4
4
  export type PageBlockPosition = 'only' | 'first' | 'middle' | 'last';
5
5
  export type PageRuntimeBoundary = CompiledBoundaryRuntime<string>;
6
6
  export type PageBoundaryWrapper = (boundary: PageRuntimeBoundary, rendered: React.ReactNode) => React.ReactNode;
7
+ export declare const boundaryKey: (previousBlockId: string, nextBlockId: string) => string;
7
8
  export declare function isSiteStyleTransitionStyleGroup(value: string | undefined): value is string;
8
9
  export declare function boundaryMapForAdjacentBlockIds(boundaries: readonly PageRuntimeBoundary[]): ReadonlyMap<string, PageRuntimeBoundary>;
9
10
  export declare function boundaryBetweenBlocks(previousBlock: Block | null, nextBlock: Block | null, boundaries: ReadonlyMap<string, PageRuntimeBoundary>): PageRuntimeBoundary | null;
@@ -0,0 +1,154 @@
1
+ import type * as React from 'react';
2
+ import type { Theme } from '../../theme-core/src/schema';
3
+ import type { ThemeTokens } from './system/theme';
4
+ import type { SdkCustomBlock } from './system/manifest/schema';
5
+ import type { MediaAssetIndexItem, ResolveImageUrlContext, ResolveImageUrlContextInput } from './system/runtime/nodes/media';
6
+ import type { RouteMap } from './system/transforms';
7
+ import type { BookingOfferingPresetSummary } from './system/blocks/offerings-preview/model';
8
+ /**
9
+ * Occurrence context for event pages.
10
+ * Passed through to blocks that need occurrence information (e.g., event-registration).
11
+ */
12
+ export type OccurrenceContextData = import('../../core/src/index').EventOccurrenceContextData;
13
+ /**
14
+ * Event-occurrence subroute context.
15
+ */
16
+ export type EntrySubrouteContextData = import('../../core/src/index').EventPageSubrouteContext;
17
+ /**
18
+ * Props passed to block override components.
19
+ *
20
+ * These props are RSC-safe (no functions) so overrides can be Client Components.
21
+ * Unlike internal SDK block components, overrides don't receive `registry` or
22
+ * `fragmentRegistry` which contain function references that can't cross the
23
+ * RSC serialization boundary.
24
+ *
25
+ * @example
26
+ * ```tsx
27
+ * 'use client';
28
+ *
29
+ * import type { BlockOverrideProps, HeroContent } from '@riverbankcms/sdk/rendering';
30
+ *
31
+ * export function CustomHero({ content, theme, data }: BlockOverrideProps<HeroContent>) {
32
+ * const [expanded, setExpanded] = useState(false);
33
+ * return <div>...</div>;
34
+ * }
35
+ * ```
36
+ */
37
+ export type BlockOverrideProps<TContent = Record<string, unknown>> = {
38
+ /** Block content data */
39
+ content: TContent;
40
+ /** Theme tokens for styling */
41
+ theme?: ThemeTokens;
42
+ /** Full theme configuration */
43
+ themeConfig?: Theme;
44
+ /** Pre-fetched data from data loaders */
45
+ data?: Record<string, unknown>;
46
+ /** Site UUID (useful for media URL resolution in override components) */
47
+ siteId?: string;
48
+ /** Dashboard API URL for client-side block runtime calls. */
49
+ apiBaseUrl?: string;
50
+ /** Canonical site timezone for calendar/date behavior. */
51
+ bookingTimeZone?: string;
52
+ /** Customer portal token for Bearer-authenticated block runtime calls. */
53
+ portalToken?: string | null;
54
+ /** Preview bearer token for preview-aware block runtime calls. */
55
+ previewToken?: string | null;
56
+ /** Render stage for preview-aware block runtime calls. */
57
+ stage?: 'published' | 'preview';
58
+ /** Event-occurrence context for template-aware block overrides. */
59
+ occurrenceContext?: OccurrenceContextData | null;
60
+ /** Generic entry subroute context for template-aware block overrides. */
61
+ entrySubrouteContext?: EntrySubrouteContextData | null;
62
+ /** Content entry context for template-aware block overrides. */
63
+ contentEntry?: Record<string, unknown> | null;
64
+ /** Native page-surface context for template-aware block overrides. */
65
+ pageSurface?: Record<string, unknown> | null;
66
+ /** Subject descriptor for native page-surface block overrides. */
67
+ subject?: import('../../core/src/index').EventPageSurfaceSubjectWire | null;
68
+ /** Supabase project URL (useful for media URL resolution in override components) */
69
+ supabaseUrl?: string;
70
+ /** Full image-resolution context including canonical media sidecars. */
71
+ imageResolveContext?: ResolveImageUrlContext;
72
+ /** Block instance ID (null for unsaved blocks) */
73
+ blockId: string | null;
74
+ /** Block kind identifier (e.g., "block.hero" or "custom.my-block") */
75
+ blockKind: string;
76
+ };
77
+ /**
78
+ * Block override component type.
79
+ *
80
+ * Override components can be either Server Components or Client Components.
81
+ * They receive only serializable props (no functions) to support RSC boundaries.
82
+ *
83
+ * @example Server Component override
84
+ * ```tsx
85
+ * export function CustomHero({ content, theme, data }: BlockOverrideProps<HeroContent>) {
86
+ * return <div className="custom-hero">...</div>;
87
+ * }
88
+ * ```
89
+ *
90
+ * @example Client Component override
91
+ * ```tsx
92
+ * 'use client';
93
+ *
94
+ * export function CustomHero({ content, theme, data }: BlockOverrideProps<HeroContent>) {
95
+ * const [state, setState] = useState(null);
96
+ * return <div className="custom-hero">...</div>;
97
+ * }
98
+ * ```
99
+ */
100
+ export type BlockOverrideComponent = React.ComponentType<BlockOverrideProps<unknown>>;
101
+ /**
102
+ * Map of block kinds to custom override components.
103
+ * Keys can be either:
104
+ * - Full block kind: "block.hero"
105
+ * - Short form: "hero" (will match "block.hero")
106
+ *
107
+ * @example
108
+ * ```tsx
109
+ * const overrides: BlockOverrides = {
110
+ * 'hero': CustomHero, // CustomHero uses BlockOverrideProps<HeroContent>
111
+ * 'body-text': CustomBodyText, // CustomBodyText uses BlockOverrideProps<BodyTextContent>
112
+ * };
113
+ * ```
114
+ */
115
+ export type BlockOverrides = Record<string, BlockOverrideComponent>;
116
+ /**
117
+ * SDK site configuration for custom block rendering.
118
+ * Minimal type containing only what PageRenderer needs.
119
+ */
120
+ export type SdkConfigForRenderer = {
121
+ customBlocks?: SdkCustomBlock[];
122
+ };
123
+ /**
124
+ * Everything a render pass knows that the page outline does not: routing, the
125
+ * subject in scope, session tokens and pre-resolved block data.
126
+ *
127
+ * Lives here rather than in `PageRenderer.tsx` because the preparation pass
128
+ * needs it too, and a type shared by two modules should not be owned by one of
129
+ * them. Not part of the package's public surface — the SDK re-declares its own.
130
+ */
131
+ export type PageRendererDataContext = {
132
+ siteId?: string;
133
+ pageId?: string;
134
+ resolvedData?: Record<string, Record<string, unknown>>;
135
+ previewStage?: 'published' | 'preview';
136
+ previewToken?: string | null;
137
+ routes?: RouteMap;
138
+ pagesByIdentifier?: Record<string, string>;
139
+ entriesByIdentifier?: Record<string, Record<string, string>>;
140
+ occurrenceContext?: OccurrenceContextData | null;
141
+ entrySubrouteContext?: EntrySubrouteContextData | null;
142
+ contentEntry?: Record<string, unknown> | null;
143
+ pageSurface?: Record<string, unknown> | null;
144
+ subject?: import('../../core/src/index').EventPageSurfaceSubjectWire | null;
145
+ editableRouteMetadataFieldIds?: ReadonlyArray<string> | null;
146
+ supabaseUrl?: string;
147
+ mediaAssets?: readonly MediaAssetIndexItem[];
148
+ imageResolveContext?: ResolveImageUrlContextInput;
149
+ apiBaseUrl?: string;
150
+ portalToken?: string | null;
151
+ bookingOfferingPresets?: readonly BookingOfferingPresetSummary[];
152
+ bookingTimeZone?: string;
153
+ eventRegistrationOverlayEnabled?: boolean;
154
+ };
@@ -69,7 +69,7 @@ export interface CustomerMembership {
69
69
  canceledAt: string | null;
70
70
  }
71
71
  export interface EventTicketBreakdownLine {
72
- ticketTypeId: string | null;
72
+ pricingOptionId: string | null;
73
73
  label: string;
74
74
  quantity: number;
75
75
  }
@@ -1,4 +1,5 @@
1
1
  export { default as PageRenderer, EditorPageRenderer, MissingBlockOverrideError, } from './PageRenderer';
2
+ export type { RenderAudience as PageRenderAudience } from './pageRenderAudience';
2
3
  export type { BlockOverrideComponent, BlockOverrideProps, BlockOverrides, EntrySubrouteContextData, EditorPageRendererProps, OccurrenceContextData, PageBlockRenderAdmissionError, PageBlockPosition, PageRuntimeBoundary, RenderablePageBlock, RenderablePageOutline, SdkConfigForRenderer, } from './PageRenderer';
3
4
  export * from './subroutes';
4
5
  export { ThemeScope } from '../../theme-core/src/ThemeScope';
@@ -1,3 +1,4 @@
1
+ import type { PublicEventPricingOption } from '../../../../core/src/index';
1
2
  import type { SystemBlockDefinition } from '../registry';
2
3
  import type { SectionStylesContent } from '../fields/boxStyles';
3
4
  import { type PublicEvent } from './events/shared';
@@ -77,7 +78,7 @@ export declare const eventRegistrationManifest: import("..").DefinedBlockManifes
77
78
  }, {
78
79
  readonly id: "showCapacity";
79
80
  readonly type: "boolean";
80
- readonly label: "Show available spots";
81
+ readonly label: "Show available places";
81
82
  readonly description: "Display remaining capacity";
82
83
  readonly required: false;
83
84
  readonly defaultValue: true;
@@ -161,10 +162,9 @@ export type EventRegistrationOptionsResponse = Readonly<{
161
162
  kind: 'waitlisted';
162
163
  }>;
163
164
  pricing: Readonly<{
164
- mode: 'single' | 'ticket_types' | 'sliding_scale';
165
+ strategy: import('../../../../core/src/index').EventPricingStrategy;
165
166
  currency: string;
166
167
  subtotalCents: number;
167
- requiresPayment: boolean;
168
168
  paymentTerms: BlockBookingPaymentTerms;
169
169
  lines: readonly EventRegistrationOptionLine[];
170
170
  options: readonly EventRegistrationPricingOption[];
@@ -215,24 +215,16 @@ export type EventRegistrationOptionLine = Readonly<{
215
215
  unitPriceCents: number;
216
216
  subtotalCents: number;
217
217
  }>;
218
- export type EventRegistrationPricingOption = Readonly<{
218
+ /**
219
+ * A pricing option as the registration-options response reports it.
220
+ *
221
+ * It answers to `pricingOptionId` because that is the name the rest of the
222
+ * registration contract uses for this identity — ticket lines, submissions and
223
+ * order items all refer to a pricing option that way — while `id` stays for the
224
+ * row itself.
225
+ */
226
+ export type EventRegistrationPricingOption = Omit<PublicEventPricingOption, 'id'> & Readonly<{
219
227
  pricingOptionId: string;
220
- label: string;
221
- description: string | null;
222
- unitPriceCents: number;
223
- sortOrder: number;
224
- capacityLimit: number | null;
225
- saleStartsAt: string | null;
226
- saleEndsAt: string | null;
227
- attendanceScope: 'in_person' | 'online' | 'both';
228
- availability: Readonly<{
229
- kind: 'available';
230
- remainingPlaces: number | null;
231
- }> | Readonly<{
232
- kind: 'unavailable';
233
- reason: 'inactive' | 'notOnSaleYet' | 'saleEnded' | 'soldOut' | 'attendanceModeUnavailable' | 'overallCapacityUnavailable';
234
- remainingPlaces: number | null;
235
- }>;
236
228
  }>;
237
229
  export type EventRegistrationOwnedMembership = Readonly<{
238
230
  customerMembershipId: string;
@@ -27,7 +27,7 @@ export declare const eventCalendarManifest: import("../..").DefinedBlockManifest
27
27
  readonly required: false;
28
28
  readonly multiple: false;
29
29
  readonly options: {
30
- value: "stack" | "grid" | "compact";
30
+ value: "stack" | "compact" | "grid";
31
31
  }[];
32
32
  }, {
33
33
  readonly id: "defaultCalendarView";
@@ -0,0 +1,3 @@
1
+ import type { BlockDataLoader } from '../../registry';
2
+ /** Combined renders two jobs; calendar-only variants never pay for the list seed. */
3
+ export declare const eventCalendarDataLoaders: Record<string, BlockDataLoader>;
@@ -0,0 +1,95 @@
1
+ import { z } from 'zod';
2
+ import { type CalendarDate } from '../../../../../../calendar/src/index';
3
+ import { type BookingTimeZone } from '../../../../../../core/src/index';
4
+ import type { PublicEvent } from './types';
5
+ export type CalendarReadProfile = 'listing-card' | 'timetable';
6
+ export declare function resolveCalendarReadProfile(content: {
7
+ variant?: unknown;
8
+ displayMode?: unknown;
9
+ }): CalendarReadProfile;
10
+ /** Runtime picker sentinels and bound loader IDs must describe the same query. */
11
+ export declare function normalizeCalendarFilterId(value: string | undefined): string | undefined;
12
+ export declare const CALENDAR_SSR_PAGE_SIZE = 100;
13
+ export declare const CALENDAR_CLIENT_PAGE_SIZE = 200;
14
+ export declare const calendarMonthSchema: z.ZodString;
15
+ export declare function calendarMonthDate(month: string): CalendarDate;
16
+ export declare function calendarMonthKey(date: CalendarDate): string;
17
+ export declare const calendarMonthWindowSchema: z.ZodObject<{
18
+ startMonth: z.ZodString;
19
+ endMonthExclusive: z.ZodString;
20
+ }, z.core.$strip>;
21
+ export type CalendarMonthWindow = z.infer<typeof calendarMonthWindowSchema>;
22
+ export declare const calendarWindowQuerySchema: z.ZodObject<{
23
+ startMonth: z.ZodOptional<z.ZodString>;
24
+ endMonthExclusive: z.ZodOptional<z.ZodString>;
25
+ afterStartsAt: z.ZodOptional<z.ZodString>;
26
+ afterId: z.ZodOptional<z.ZodString>;
27
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
28
+ stage: z.ZodDefault<z.ZodEnum<{
29
+ published: "published";
30
+ preview: "preview";
31
+ }>>;
32
+ readProfile: z.ZodOptional<z.ZodEnum<{
33
+ "listing-card": "listing-card";
34
+ timetable: "timetable";
35
+ }>>;
36
+ eventSurface: z.ZodOptional<z.ZodEnum<{
37
+ custom: "custom";
38
+ all: "all";
39
+ regularClassSchedule: "regularClassSchedule";
40
+ specialDatedEvents: "specialDatedEvents";
41
+ }>>;
42
+ eventPresets: z.ZodOptional<z.ZodString>;
43
+ scheduleScope: z.ZodOptional<z.ZodEnum<{
44
+ any: "any";
45
+ recurring: "recurring";
46
+ oneOff: "oneOff";
47
+ }>>;
48
+ categoryIds: z.ZodOptional<z.ZodString>;
49
+ venueId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string | undefined, string>>>;
50
+ staffMemberId: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string | undefined, string>>>;
51
+ }, z.core.$strip>;
52
+ export type CalendarWindowQuery = z.infer<typeof calendarWindowQuerySchema>;
53
+ export type CalendarWindowRequest = Omit<CalendarWindowQuery, 'limit' | 'stage'> & Partial<Pick<CalendarWindowQuery, 'limit' | 'stage'>>;
54
+ export type CalendarFilterInput = Pick<CalendarWindowQuery, 'eventSurface' | 'eventPresets' | 'scheduleScope' | 'categoryIds' | 'venueId' | 'staffMemberId' | 'readProfile'>;
55
+ /** Pagination and window bounds deliberately do not change the query's identity. */
56
+ export declare function calendarQueryKey(siteId: string, stage: string | undefined, filters: CalendarFilterInput): string;
57
+ export declare function calendarWindowMonths(window: CalendarMonthWindow): string[];
58
+ export declare function calendarWindowBounds(window: CalendarMonthWindow, timeZone: BookingTimeZone): Readonly<{
59
+ startInclusive: string;
60
+ endExclusive: string;
61
+ }>;
62
+ export declare function resolveCalendarWindow(query: CalendarWindowQuery, now: Date, timeZone: BookingTimeZone): CalendarMonthWindow;
63
+ export declare const calendarSourceCursorSchema: z.ZodObject<{
64
+ startsAt: z.ZodString;
65
+ occurrenceId: z.ZodString;
66
+ }, z.core.$strip>;
67
+ export type CalendarSourceCursor = z.infer<typeof calendarSourceCursorSchema>;
68
+ export declare const calendarPageProgressSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
69
+ kind: z.ZodLiteral<"complete">;
70
+ }, z.core.$strip>, z.ZodObject<{
71
+ kind: z.ZodLiteral<"partial">;
72
+ nextCursor: z.ZodObject<{
73
+ startsAt: z.ZodString;
74
+ occurrenceId: z.ZodString;
75
+ }, z.core.$strip>;
76
+ }, z.core.$strip>], "kind">;
77
+ export type CalendarPageProgress = z.infer<typeof calendarPageProgressSchema>;
78
+ export type CalendarWindowPage = Readonly<{
79
+ scope: Readonly<{
80
+ key: string;
81
+ timeZone: BookingTimeZone;
82
+ }>;
83
+ window: CalendarMonthWindow;
84
+ initialToday: CalendarDate;
85
+ events: PublicEvent[];
86
+ }> & CalendarPageProgress;
87
+ export declare function calendarPageResponseError(page: CalendarWindowPage, expected: Readonly<{
88
+ key: string;
89
+ timeZone: BookingTimeZone;
90
+ window: CalendarMonthWindow;
91
+ cursor?: CalendarSourceCursor;
92
+ }>): 'scopeMismatch' | 'nonAdvancingCursor' | null;
93
+ export declare const calendarWindowPageSchema: z.ZodType<CalendarWindowPage>;
94
+ /** Split missing months without bridging covered months or exceeding the wire cap. */
95
+ export declare function planCalendarMonthRanges(months: readonly string[]): CalendarMonthWindow[];
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export * from './types';
5
5
  export * from './schemas';
6
+ export * from './runGrouping';
6
7
  export * from './fields';
7
8
  export * from './filtering';
8
9
  export * from './layout';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Run grouping for the canonical public Event contract.
3
+ *
4
+ * `listPublicEvents` answers either of two questions. A page of dates returns a
5
+ * whole-series run once per occurrence that landed on the page; a run-oriented
6
+ * read (`readIntent: 'runs'`) returns one representative row per run. Both
7
+ * carry the same complete `run` facts, so a surface that shows one item per run
8
+ * groups whichever it was given here rather than deriving its own idea of what
9
+ * a run is.
10
+ *
11
+ * A surface may hold both kinds of result at once — a registration page loads
12
+ * its dates and its runs separately — so rows are collapsed by series and, for
13
+ * safety, deduplicated by occurrence.
14
+ */
15
+ import type { PublicEvent, PublicWholeSeriesRun } from './types';
16
+ /** A `PublicEvent` narrowed to the whole-series arm of the union. */
17
+ export type WholeSeriesPublicEvent = Extract<PublicEvent, {
18
+ bookingScope: 'whole_series';
19
+ }>;
20
+ /** A single whole-series run with the occurrences that carried it. */
21
+ export type PublicEventRunGroup = Readonly<{
22
+ eventSeriesId: string;
23
+ run: PublicWholeSeriesRun;
24
+ /** Occurrence rows for the run, in the order they arrived. */
25
+ occurrences: readonly WholeSeriesPublicEvent[];
26
+ /** The first occurrence row, which carries the run's shared booking facts. */
27
+ representative: WholeSeriesPublicEvent;
28
+ }>;
29
+ export declare function isWholeSeriesPublicEvent(event: PublicEvent): event is WholeSeriesPublicEvent;
30
+ /**
31
+ * Group events into one entry per whole-series run.
32
+ *
33
+ * Single-occurrence events are ignored. Run order follows first appearance, so
34
+ * a caller's sort survives the grouping, and an occurrence that arrives twice
35
+ * is kept once.
36
+ */
37
+ export declare function groupPublicEventsByRun(events: readonly PublicEvent[]): readonly PublicEventRunGroup[];