@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,8 +1,8 @@
1
1
  import type { PublicMembershipProduct, PublicPassProduct } from '../../../../blocks/shop.shared';
2
2
  export type EventProductEligibilityTarget = Readonly<{
3
3
  requiresRegistration: boolean;
4
- acceptsPasses?: boolean | null;
5
- acceptsMemberships?: boolean | null;
4
+ acceptsPasses: boolean;
5
+ acceptsMemberships: boolean;
6
6
  eventCategory?: {
7
7
  id: string;
8
8
  } | null;
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * Shared runtime components and utilities for event blocks
3
3
  */
4
- export * from './utils';
4
+ export * from '../domain';
5
+ export * from './listingLayout';
5
6
  export { EventCard } from './EventCard';
6
7
  export { EventCompactRow } from './EventCompactRow';
7
8
  export { EmptyState } from './EmptyState';
8
9
  export { DateTimeTile } from './DateTimeTile';
10
+ export { OfferingTitle } from './OfferingTitle';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Layout classes for event listing containers and cards. Presentation
3
+ * plumbing rather than event domain logic, so it lives beside the components.
4
+ */
5
+ import type { CardOrientation, EventLayout } from '../../../../blocks/events/shared/types';
6
+ /**
7
+ * Column class mappings for grid layouts, derived from the canonical
8
+ * responsive column ladder (see gridUserColumnLadder).
9
+ */
10
+ export declare const COLUMN_CLASSES: Record<string, string>;
11
+ /**
12
+ * Build container class based on layout mode
13
+ * @param layout - 'grid', 'stack', or 'compact'
14
+ * @param columns - Number of columns for grid layout ('2', '3', '4')
15
+ * @returns `rb-*` class string for the container
16
+ */
17
+ export declare function getContainerClass(layout: EventLayout, columns: string): string;
18
+ /**
19
+ * Get card orientation based on layout mode
20
+ * @param layout - 'grid', 'stack', or 'compact'
21
+ * @returns 'horizontal' for stack layout, 'vertical' for grid and compact layouts
22
+ */
23
+ export declare function getCardOrientation(layout: EventLayout): CardOrientation;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import type { PublicWholeSeriesOffering } from '../../blocks/events/whole-series/types';
3
2
  import type { ButtonVariant, PublicEvent } from '../../blocks/events/shared/types';
4
3
  import type { CardStylesContent } from '../../fields/boxStyles';
5
4
  import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOrder, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from '../../blocks/offerings-preview/model';
6
5
  type OfferingsPreviewProps = Readonly<{
6
+ now?: Date;
7
7
  bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
8
8
  groupOrder?: OfferingsPreviewGroupOrder | null;
9
9
  groupOverrides?: readonly OfferingsPreviewGroupOverride[] | null;
@@ -17,7 +17,7 @@ type OfferingsPreviewProps = Readonly<{
17
17
  routeCandidates?: Readonly<{
18
18
  routes?: readonly OfferingsPreviewRouteCandidate[] | null;
19
19
  }> | null;
20
- wholeSeriesOfferings?: readonly PublicWholeSeriesOffering[] | null;
20
+ wholeSeriesRunEvents?: readonly PublicEvent[] | null;
21
21
  }> & Partial<Record<OfferingsPreviewEventDataKey, readonly PublicEvent[] | null>>;
22
22
  export declare function OfferingsPreviewNode(props: OfferingsPreviewProps): React.JSX.Element | null;
23
23
  export default OfferingsPreviewNode;
@@ -4,29 +4,29 @@ export declare const previewStageSchema: z.ZodEnum<{
4
4
  preview: "preview";
5
5
  }>;
6
6
  export declare const registrationButtonVariantSchema: z.ZodEnum<{
7
- outline: "outline";
8
- accent: "accent";
9
7
  primary: "primary";
10
8
  secondary: "secondary";
9
+ accent: "accent";
10
+ outline: "outline";
11
11
  ghost: "ghost";
12
12
  }>;
13
13
  export declare const eventButtonVariantSchema: z.ZodEnum<{
14
- outline: "outline";
15
- accent: "accent";
16
14
  primary: "primary";
17
15
  secondary: "secondary";
16
+ accent: "accent";
17
+ outline: "outline";
18
18
  ghost: "ghost";
19
19
  }>;
20
20
  export declare const eventLayoutSchema: z.ZodEnum<{
21
21
  stack: "stack";
22
- grid: "grid";
23
22
  compact: "compact";
23
+ grid: "grid";
24
24
  }>;
25
25
  export declare const eventCalendarDisplayModeSchema: z.ZodEnum<{
26
26
  calendar: "calendar";
27
27
  list: "list";
28
- combined: "combined";
29
28
  timetable: "timetable";
29
+ combined: "combined";
30
30
  "week-board": "week-board";
31
31
  }>;
32
32
  export declare const eventCalendarDefaultViewSchema: z.ZodEnum<{
@@ -49,6 +49,6 @@ export declare const filterAutoShowSchema: z.ZodEnum<{
49
49
  }>;
50
50
  export declare const calendarTabViewsSchema: z.ZodEnum<{
51
51
  week: "week";
52
- month: "month";
53
52
  both: "both";
53
+ month: "month";
54
54
  }>;
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ import { type TransformDefinition } from './core';
3
+ declare const readJobSchema: z.ZodObject<{
4
+ job: z.ZodEnum<{
5
+ calendar: "calendar";
6
+ list: "list";
7
+ }>;
8
+ }, z.core.$strip>;
9
+ export declare const eventCalendarReadProfile: TransformDefinition;
10
+ export declare const eventCalendarReadEnabled: TransformDefinition<z.infer<typeof readJobSchema>>;
11
+ export {};
@@ -30,7 +30,7 @@ export type MoneyDatedOfferingDimension = Readonly<{
30
30
  venueId: VenueId | null;
31
31
  venueLabel: string | null;
32
32
  }> | Readonly<{
33
- kind: 'historical_course';
33
+ kind: 'historical_whole_series';
34
34
  label: string;
35
35
  }>;
36
36
  export type MoneyLineDimensionRefs = Readonly<{
@@ -1 +1 @@
1
- export type CheckoutErrorCode = "appointment_not_found" | "appointment_slot_unavailable" | "appointment_payment_terms_not_supported" | "booking_payment_terms_not_supported" | "checkout_amount_below_minimum" | "sliding_amount_required" | "sliding_amount_invalid" | "sliding_amount_below_min" | "sliding_amount_above_max" | "not_found" | "site_mismatch" | "registration_disabled" | "invalid_payment_method" | "payment_already_completed" | "invalid_payment_status" | "no_event_association" | "payment_not_required" | "customer_not_found" | "stripe_not_configured" | "stripe_commission_not_supported" | "stripe_tax_not_ready" | "stripe_tax_status_unavailable" | "course_pricing_option_not_available" | "product_not_available" | "product_not_eligible" | "insufficient_credits" | "invalid_discount_code" | "unsupported_discount_scope" | "checkout_in_progress" | "stripe_error" | "internal_error";
1
+ export type CheckoutErrorCode = "appointment_not_found" | "appointment_slot_unavailable" | "appointment_payment_terms_not_supported" | "booking_payment_terms_not_supported" | "checkout_amount_below_minimum" | "sliding_amount_required" | "sliding_amount_invalid" | "sliding_amount_below_min" | "sliding_amount_above_max" | "not_found" | "site_mismatch" | "registration_disabled" | "invalid_payment_method" | "payment_already_completed" | "invalid_payment_status" | "no_event_association" | "payment_not_required" | "customer_not_found" | "stripe_not_configured" | "stripe_commission_not_supported" | "stripe_tax_not_ready" | "stripe_tax_status_unavailable" | "whole_series_pricing_option_not_available" | "product_not_available" | "product_not_eligible" | "insufficient_credits" | "invalid_discount_code" | "unsupported_discount_scope" | "checkout_in_progress" | "stripe_error" | "internal_error";
@@ -0,0 +1,57 @@
1
+ export type EventRegistrationErrorAction = 'none' | 'retry' | 'places' | 'start' | 'details' | 'payment-options' | 'payment-status' | 'portal' | 'event';
2
+ export declare const eventRegistrationErrors: {
3
+ readonly registrationClosed: {
4
+ readonly message: "Booking is currently closed for this event. Please contact the organiser if you’d like to find out more.";
5
+ readonly action: "none";
6
+ };
7
+ readonly paymentUncertain: {
8
+ readonly message: "We’re checking your booking and payment. Please don’t try to book again yet. If you’ve already paid, you don’t need to pay again.";
9
+ readonly action: "payment-status";
10
+ };
11
+ readonly paymentPageUnavailable: {
12
+ readonly message: "We couldn’t open the payment page. Please refresh this page and try again. If this keeps happening, contact the organiser for help.";
13
+ readonly action: "retry";
14
+ };
15
+ readonly paymentUnavailable: {
16
+ readonly message: "Online payment is not available for this event right now. Please contact the organiser for help with booking.";
17
+ readonly action: "none";
18
+ };
19
+ readonly capacityChanged: {
20
+ readonly message: "Sorry, there aren’t enough places left for your selection. Please check the available places and choose again.";
21
+ readonly action: "places";
22
+ };
23
+ readonly selectionChanged: {
24
+ readonly message: "The booking options for this event have changed. Please check the latest options and choose your places again.";
25
+ readonly action: "places";
26
+ };
27
+ readonly registrationPreparationChanged: {
28
+ readonly message: "The booking options for this event have changed. Please check the latest options and choose your places again.";
29
+ readonly action: "places";
30
+ };
31
+ readonly registrationAlreadyExists: {
32
+ readonly message: "You already have a booking for this event. Please check your bookings to see its status. If you need help, contact the organiser.";
33
+ readonly action: "portal";
34
+ };
35
+ readonly holdExpired: {
36
+ readonly message: "Your reservation has timed out. Please check availability and choose your places again.";
37
+ readonly action: "start";
38
+ };
39
+ readonly waitlistUnavailable: {
40
+ readonly message: "Sorry, the waiting list place offered in this invitation is no longer available. Please check the event for available places or contact the organiser for help.";
41
+ readonly action: "event";
42
+ };
43
+ readonly paymentContextMismatch: {
44
+ readonly message: "The payment options for this event have changed. Please check the latest options before continuing.";
45
+ readonly action: "payment-options";
46
+ };
47
+ readonly idempotencyConflict: {
48
+ readonly message: "You’ve already started booking this event. Please finish in the other tab if it’s still open, or check your booking status before starting again.";
49
+ readonly action: "portal";
50
+ };
51
+ readonly invalidCommitInput: {
52
+ readonly message: "We couldn’t accept your booking details. Please check the information you entered and try again. If this keeps happening, contact the organiser for help.";
53
+ readonly action: "details";
54
+ };
55
+ };
56
+ export type EventRegistrationErrorReason = keyof typeof eventRegistrationErrors;
57
+ export declare function parseEventRegistrationErrorReason(value: unknown): EventRegistrationErrorReason | null;
@@ -0,0 +1,3 @@
1
+ import type { EventTicketOrderItemMetadata } from './orderItemMetadata';
2
+ /** Read historical and canonical snapshot keys independently; new writers use pricingOptionId. */
3
+ export declare function parseEventOrderOptionSnapshot(raw: Readonly<Record<string, unknown>>): Pick<EventTicketOrderItemMetadata, 'pricingOptionId' | 'ticketTypeId'>;
@@ -55,3 +55,4 @@ export * from './shopRefundPlanning';
55
55
  export * from './stripeMinimumCharge';
56
56
  export * from './stripeCheckoutReturnUrl';
57
57
  export * from './stateTransitions';
58
+ export * from './event-registration-errors';
@@ -1,4 +1,4 @@
1
- import { type BrandedIdParseError, type CheckoutLineId, type CourseId, type CustomerId, type DatedOfferingCapacityHoldAuditRef, type DatedOfferingCapacityHoldId, type EventSeriesId, type EventInstanceId, type OccurrenceId, type PassId, type PricingOptionId, type TicketTypeId, type Result } from '../../../core/src/index';
1
+ import { type BrandedIdParseError, type CheckoutLineId, type RetiredCourseId, type CustomerId, type DatedOfferingCapacityHoldAuditRef, type DatedOfferingCapacityHoldId, type EventSeriesId, type EventInstanceId, type OccurrenceId, type PassId, type PricingOptionId, type Result } from '../../../core/src/index';
2
2
  import type { OrderItemKind } from './orderTypes';
3
3
  export type CheckoutLineMetadata = Readonly<{
4
4
  checkoutLineId?: CheckoutLineId;
@@ -74,12 +74,15 @@ type LegacyDatedOfferingOrderItemEngineMetadata = Readonly<{
74
74
  [TKey in keyof DatedOfferingOrderItemEngineMetadata]?: never;
75
75
  }>;
76
76
  export type EventSeriesRegistrationEngineMetadata = (LegacyDatedOfferingOrderItemEngineMetadata & Readonly<{
77
- courseId: CourseId;
77
+ courseId: RetiredCourseId;
78
78
  }>) | DatedOfferingOrderItemEngineMetadata | DatedOfferingNonCashOrderItemEngineMetadata;
79
79
  export type EventTicketOrderItemMetadata = CheckoutLineMetadata & StripeBookingCommissionOrderItemMetadata & BookableOrderItemPricingMetadata & Readonly<{
80
80
  eventSeriesId: string;
81
81
  occurrenceId: OccurrenceId;
82
- ticketTypeId?: TicketTypeId;
82
+ /** Historical serialized key; the identity is a canonical pricing option. */
83
+ /** Retained only for historical order snapshots. */
84
+ ticketTypeId?: PricingOptionId;
85
+ pricingOptionId?: PricingOptionId;
83
86
  ticketCount: number;
84
87
  attendeeEmail: string;
85
88
  attendeeName: string;
@@ -5,13 +5,14 @@
5
5
  * course, membership), it's a Purchase. Payment method is an attribute
6
6
  * of the purchase, not a separate concept (Model B: unified).
7
7
  */
8
- import type { OccurrenceId, TicketTypeId, PricingOptionId, ProductId, ProductVariantId, PassId, MembershipId, CustomerId, OrderId, AttendeeId, CustomerPassId, CustomerMembershipId, EventSeriesRegistrationId, AppointmentId, NonEmptyArray, SiteId, EventSeriesId } from '../../../core/src/index';
8
+ import type { OccurrenceId, PricingOptionId, ProductId, ProductVariantId, PassId, MembershipId, CustomerId, OrderId, AttendeeId, CustomerPassId, CustomerMembershipId, EventSeriesRegistrationId, AppointmentId, NonEmptyArray, SiteId, EventSeriesId } from '../../../core/src/index';
9
9
  import type { PositiveCheckoutQuantity } from './checkoutQuantity';
10
10
  export type CheckoutItem = EventTicketItem | ProductItem | PassItem | EventSeriesRegistrationItem | AppointmentItem;
11
11
  export type EventTicketItem = {
12
12
  type: 'event_ticket';
13
13
  occurrenceId: OccurrenceId;
14
- ticketTypeId?: TicketTypeId;
14
+ attendanceMode?: 'inPerson' | 'online';
15
+ pricingOptionId?: PricingOptionId;
15
16
  selectedSlidingAmount?: number;
16
17
  ticketCount: PositiveCheckoutQuantity;
17
18
  attendeeInfo: AttendeeInfo;
@@ -10,7 +10,7 @@ export type PublicWaitlistClaimSubject = Readonly<{
10
10
  eventSeriesId: string;
11
11
  attendanceMode: 'in_person' | 'online';
12
12
  ticketSelections: readonly Readonly<{
13
- ticketTypeId: string | null;
13
+ pricingOptionId: string | null;
14
14
  quantity: number;
15
15
  }>[];
16
16
  seatCount: number;
@@ -3,6 +3,7 @@ import type { EditorBlockId } from '../../../core/src/index';
3
3
  import type { BlockItem } from '../../../editor-blocks/src/block-editor/types';
4
4
  import { type ReactNode } from 'react';
5
5
  import { type PublishOptions } from '../hooks/useEntryActions';
6
+ import type { BlockedPublishPlan } from '../hooks/blockedPublishPlan';
6
7
  import { type ApiClient, type ContentEditorServices } from '../services';
7
8
  import type { DraftWorkflowStatus } from '../types';
8
9
  import { type EditorUiState } from '../ui/editorUiStore';
@@ -61,6 +62,9 @@ export type EntryControllerContextValue = {
61
62
  entry: ContentEntrySnapshot;
62
63
  baseline: Record<string, unknown>;
63
64
  errorMessage: string | null;
65
+ blockedPublishPlan: Extract<BlockedPublishPlan, {
66
+ type: 'blocked';
67
+ }> | null;
64
68
  recoveryConflict: EntryRecoveryConflictState | null;
65
69
  setErrorMessage: (msg: string | null) => void;
66
70
  actions: EntryActions;
@@ -0,0 +1,11 @@
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
+ import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
+ import { type BlockedPublishPlan } from '../hooks/blockedPublishPlan';
4
+ type VisibleBlockedPublishPlan = Extract<BlockedPublishPlan, {
5
+ type: 'blocked';
6
+ }>;
7
+ export declare function useBlockedPublishPlan(uiStore: EditorUiStoreInstance, setErrorMessage: Dispatch<SetStateAction<string | null>>): readonly [
8
+ VisibleBlockedPublishPlan | null,
9
+ (plan: VisibleBlockedPublishPlan | null) => void
10
+ ];
11
+ export {};
@@ -1,4 +1,4 @@
1
- import type { EditorUiStoreInstance } from "../ui/editorUiStore";
1
+ import type { EditorUiStoreInstance } from '../ui/editorUiStore';
2
2
  import { type BlockedPublishPlan } from "./blockedPublishPlan";
3
3
  export declare function applyBlockedPublishPlan(uiStore: EditorUiStoreInstance, plan: Extract<BlockedPublishPlan, {
4
4
  type: "blocked";
@@ -1,5 +1,6 @@
1
- import type { EditorBlockId } from "../../../core/src/index";
2
- import type { BlockValidationError } from "./validateBlocksForPublish";
1
+ import type { EditorBlockId } from '../../../core/src/index';
2
+ import type { BlockValidationError, PublishEditorTarget } from './validateBlocksForPublish';
3
+ import type { FocusTarget } from '../ui/stores/types';
3
4
  export type PublishBlockedMessage = Readonly<{
4
5
  type: "single-invalid-block";
5
6
  blockLabel: string;
@@ -11,17 +12,23 @@ export type RevealInvalidBlockCommand = Readonly<{
11
12
  blockId: EditorBlockId;
12
13
  reveal: "show-validation";
13
14
  }>;
14
- export type PublishFocusTarget = Readonly<{
15
+ export type PublishFocusTarget = FocusTarget;
16
+ export type PublishValidationDiagnostic = Readonly<{
17
+ id: string;
15
18
  blockId: EditorBlockId;
16
- fieldPath: string | null;
19
+ blockLabel: string;
20
+ fieldLabel: string | null;
21
+ message: string;
22
+ target: PublishEditorTarget;
17
23
  }>;
18
24
  export type BlockedPublishPlan = Readonly<{
19
25
  type: "allowed";
20
26
  } | {
21
- type: "blocked";
27
+ type: 'blocked';
22
28
  invalidBlockIds: readonly EditorBlockId[];
23
29
  revealCommands: readonly RevealInvalidBlockCommand[];
24
30
  focusTarget: PublishFocusTarget | null;
31
+ diagnostics: readonly PublishValidationDiagnostic[];
25
32
  message: PublishBlockedMessage;
26
33
  openDrawer: boolean;
27
34
  }>;
@@ -30,5 +37,6 @@ type DeriveBlockedPublishPlanParams = Readonly<{
30
37
  drawerOpen: boolean;
31
38
  }>;
32
39
  export declare function deriveBlockedPublishPlan({ validationErrors, drawerOpen, }: DeriveBlockedPublishPlanParams): BlockedPublishPlan;
40
+ export declare function toFocusTarget(target: PublishEditorTarget): PublishFocusTarget;
33
41
  export declare function formatPublishBlockedMessage(message: PublishBlockedMessage): string;
34
42
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type ContentEntrySnapshot, type RoutingHelpers } from '../../../content-model/src/index';
2
2
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
3
+ import type { BlockedPublishPlan } from './blockedPublishPlan';
3
4
  import type { PublishEntryResult } from '../services/contentEntryServices';
4
5
  /** Services interface for entry operations */
5
6
  export type EntryServices = {
@@ -48,12 +49,15 @@ export type EntryActionsOptions<TEntry extends ContentEntrySnapshot> = {
48
49
  }) => void;
49
50
  /** Function to set error message */
50
51
  setErrorMessage: (message: string | null) => void;
52
+ setBlockedPublishPlan?: (plan: Extract<BlockedPublishPlan, {
53
+ type: 'blocked';
54
+ }> | null) => void;
51
55
  };
52
56
  /**
53
57
  * Hook to handle entry actions (publish, discard, delete).
54
58
  * Extracts action handler logic from the provider for better separation of concerns.
55
59
  */
56
- export declare function useEntryActions<TEntry extends ContentEntrySnapshot>({ entry, uiStore, hasRoute, routing, publishMutation, discardMutation, definition, syncEntry, resetFromSnapshot, setErrorMessage, }: EntryActionsOptions<TEntry>): {
60
+ export declare function useEntryActions<TEntry extends ContentEntrySnapshot>({ entry, uiStore, hasRoute, routing, publishMutation, discardMutation, definition, syncEntry, resetFromSnapshot, setErrorMessage, setBlockedPublishPlan: setBlockedPlan, }: EntryActionsOptions<TEntry>): {
57
61
  saveDraft: () => Promise<void>;
58
62
  publish: (options?: PublishOptions) => Promise<void>;
59
63
  discardDraft: () => Promise<void>;
@@ -8,6 +8,36 @@
8
8
  import type { FieldValidationDescriptor } from '../../../blocks/src/index';
9
9
  import type { EditorBlockId } from '../../../core/src/index';
10
10
  import type { EditorUiStoreInstance } from '../ui/editorUiStore';
11
+ export type PublishSettingsTab = 'display' | 'behavior' | 'style';
12
+ export type PublishEditorTarget = Readonly<{
13
+ kind: 'main-field';
14
+ blockId: EditorBlockId;
15
+ fieldPath: string;
16
+ } | {
17
+ kind: 'nested-main-field';
18
+ blockId: EditorBlockId;
19
+ fieldPath: string;
20
+ ownerPaths: readonly string[];
21
+ } | {
22
+ kind: 'settings-field';
23
+ blockId: EditorBlockId;
24
+ fieldPath: string;
25
+ tab: PublishSettingsTab;
26
+ } | {
27
+ kind: 'block';
28
+ blockId: EditorBlockId;
29
+ } | {
30
+ kind: 'nested-settings-field';
31
+ blockId: EditorBlockId;
32
+ fieldPath: string;
33
+ ownerPaths: readonly string[];
34
+ tab: PublishSettingsTab;
35
+ } | {
36
+ kind: 'unavailable-field';
37
+ blockId: EditorBlockId;
38
+ fieldPath: string;
39
+ reason: 'hidden' | 'role-restricted';
40
+ }>;
11
41
  /**
12
42
  * Represents a validation error for a specific block field.
13
43
  */
@@ -16,16 +46,18 @@ export type BlockValidationError = {
16
46
  blockId: EditorBlockId;
17
47
  /** The block kind (e.g., "block.hero", "custom.my-block") */
18
48
  blockKind: string;
49
+ /** Human-readable block title */
50
+ blockLabel: string;
19
51
  /** The path to the invalid field (e.g., "title", "items.0.label") */
20
52
  fieldPath: string;
21
53
  /** Manifest-derived metadata for the invalid field, when the path resolves to one */
22
54
  fieldDescriptor: FieldValidationDescriptor | null;
23
- /** Whether the field can be directly focused in the editor sidebar */
24
- isFieldVisibleInSidebar: boolean;
25
55
  /** Human-readable label for the field */
26
56
  fieldLabel: string;
27
57
  /** The validation error message */
28
58
  message: string;
59
+ /** Concrete editor surface that can reveal this error */
60
+ editorTarget: PublishEditorTarget;
29
61
  };
30
62
  /**
31
63
  * Validates all blocks in the editor store using strict validation.
@@ -10,7 +10,8 @@ export { useEntryActions, type EntryActionsOptions, } from './hooks/useEntryActi
10
10
  export { useReactiveToolbar } from './hooks/useReactiveToolbar';
11
11
  export { isInvalidSaveability, selectHasInvalidBlocks, } from './hooks/invalidBlockSelectors';
12
12
  export { useHistoryShortcuts } from './hooks/useHistoryShortcuts';
13
- export { validateAllBlocks, type BlockValidationError, } from './hooks/validateBlocksForPublish';
13
+ export { validateAllBlocks, type BlockValidationError, type PublishEditorTarget, } from './hooks/validateBlocksForPublish';
14
+ export type { BlockedPublishPlan, PublishValidationDiagnostic, } from './hooks/blockedPublishPlan';
14
15
  export { EntryControllerProvider, useEntryEditorController, useEntryController, useAutosave, useEntryUiStore, } from './controller/EntryControllerProvider';
15
16
  export type { EntryDraftBlockPatch, EntryDraftCompositePatch, EntryDraftsActions, EntryDraftsSlice, } from './controller/EntryControllerProvider';
16
17
  export type { EntryEditorDriver } from './controller/driver';
@@ -4,9 +4,11 @@ import type { ResolveBlockManifest } from './blockValidationView';
4
4
  export type BlockValidationManifestEntry = Readonly<{
5
5
  blockId: EditorBlockId;
6
6
  manifest: BlockManifest;
7
+ editorManifest?: BlockManifest;
7
8
  }>;
8
9
  export type BlockValidationManifestRegistry = Readonly<{
9
10
  resolve: ResolveBlockManifest;
11
+ resolveEditor: (blockId: EditorBlockId) => BlockManifest | null;
10
12
  revision: () => number;
11
13
  replace: (entries: readonly BlockValidationManifestEntry[]) => boolean;
12
14
  delete: (blockId: EditorBlockId) => boolean;
@@ -7,7 +7,7 @@ import { type ViewportState } from './stores/viewportStore';
7
7
  import { type AiOverlaysState } from './stores/aiOverlaysSlice';
8
8
  import { type EditorValueSnapshot, type EditorBlockItem, type EditorBlockId, type NormalizedEditorBlockItem, type DraftBlockBaselineInput, type DraftBlockBaselineUpdateMetaInput, type DraftBlockInitMetaInput, type EditorCommand, type EditorContentValues, type EditorDraftSnapshot, type EditorDraftUnpublishedBlockChange, type EditorEffect, type EditorHistorySnapshot, type EditorLinkedEntrySnapshot, type EditorMetadataValues, type BlockPublishedBaselineInput } from './editorHistory';
9
9
  import { type HistoryState } from './editorHistory';
10
- import type { FocusRequest } from './stores/types';
10
+ import type { FocusRequest, FocusTarget } from './stores/types';
11
11
  import { type LinkedContentEntryId } from '../linkedEntries/domain';
12
12
  import { type BlockDraftSaveability, type BlockDraftValidationIssue, type ResolveBlockManifest } from './blockValidationView';
13
13
  export type { AutosaveStatusValue, AutosaveStatus, AutosaveHandle, AutosaveType, AutosaveType as AutosaveSchedulerKey, FocusRequest, ViewportMode, ViewportWidth, ZoomLevel, } from './stores/types';
@@ -140,7 +140,9 @@ export type BlockValidationState = {
140
140
  setValidationManifests: (manifests: readonly Readonly<{
141
141
  blockId: EditorBlockId;
142
142
  manifest: import('../../../blocks/src/index').BlockManifest;
143
+ editorManifest?: import('../../../blocks/src/index').BlockManifest;
143
144
  }>[]) => void;
145
+ getEditorManifest: (blockId: EditorBlockId) => import('../../../blocks/src/index').BlockManifest | null;
144
146
  clearBlock: (blockId: EditorBlockId) => void;
145
147
  clearAll: () => void;
146
148
  getTouchedPaths: (blockId: EditorBlockId) => ReadonlySet<string>;
@@ -216,7 +218,7 @@ export type EditorUiState = {
216
218
  inspectLinkedEntry: (entryId: string) => void;
217
219
  clearPreviewInspection: () => void;
218
220
  setActivePreviewField: (field: ActivePreviewField) => void;
219
- requestFocus: (payload: Omit<NonNullable<FocusRequest>, 'requestId'>) => void;
221
+ requestFocus: (payload: FocusTarget) => void;
220
222
  clearFocus: () => void;
221
223
  setActiveBlockId: (id: EditorBlockId | null) => void;
222
224
  getDraftSyncState: () => 'baseline' | 'pending' | 'failed';
@@ -12,12 +12,34 @@ export type AutosaveHandle = {
12
12
  isPending: () => boolean;
13
13
  };
14
14
  export type AutosaveType = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
15
- export type FocusRequest = {
16
- requestId: number;
15
+ export type FocusSettingsTab = 'display' | 'behavior' | 'style';
16
+ export type FocusTarget = Readonly<{
17
+ kind: 'block';
18
+ blockId: EditorBlockId;
19
+ } | {
20
+ kind: 'main-field';
21
+ blockId: EditorBlockId;
22
+ fieldPath: string;
23
+ } | {
24
+ kind: 'settings-field';
17
25
  blockId: EditorBlockId;
18
- fieldPath?: string | null;
19
- itemIndex?: number | null;
20
- } | null;
26
+ fieldPath: string;
27
+ settingsTab: FocusSettingsTab;
28
+ } | {
29
+ kind: 'nested-main-field';
30
+ blockId: EditorBlockId;
31
+ fieldPath: string;
32
+ ownerPaths: readonly string[];
33
+ } | {
34
+ kind: 'nested-settings-field';
35
+ blockId: EditorBlockId;
36
+ fieldPath: string;
37
+ ownerPaths: readonly string[];
38
+ settingsTab: FocusSettingsTab;
39
+ }>;
40
+ export type FocusRequest = (FocusTarget & {
41
+ requestId: number;
42
+ }) | null;
21
43
  export type ViewportMode = 'squeeze' | 'fixed';
22
44
  export type ViewportWidth = number | 'full';
23
45
  export type ZoomLevel = 33 | 50 | 75 | 100 | 'fit';
@@ -7,6 +7,7 @@ declare const BaseContentFieldSchema: z.ZodObject<{
7
7
  type: z.ZodEnum<{
8
8
  number: "number";
9
9
  boolean: "boolean";
10
+ link: "link";
10
11
  date: "date";
11
12
  text: "text";
12
13
  url: "url";
@@ -17,7 +18,6 @@ declare const BaseContentFieldSchema: z.ZodObject<{
17
18
  repeater: "repeater";
18
19
  file: "file";
19
20
  group: "group";
20
- link: "link";
21
21
  datetime: "datetime";
22
22
  button: "button";
23
23
  richText: "richText";
@@ -83,8 +83,8 @@ declare const RoutingSchema: z.ZodObject<{
83
83
  subroutes: z.ZodOptional<z.ZodArray<z.ZodObject<{
84
84
  kind: z.ZodString;
85
85
  segmentType: z.ZodEnum<{
86
- slug: "slug";
87
86
  uuid: "uuid";
87
+ slug: "slug";
88
88
  "iso-date": "iso-date";
89
89
  "uuid-or-date": "uuid-or-date";
90
90
  }>;
@@ -112,8 +112,8 @@ export declare const ContentTypeSchemaZ: z.ZodObject<{
112
112
  subroutes: z.ZodOptional<z.ZodArray<z.ZodObject<{
113
113
  kind: z.ZodString;
114
114
  segmentType: z.ZodEnum<{
115
- slug: "slug";
116
115
  uuid: "uuid";
116
+ slug: "slug";
117
117
  "iso-date": "iso-date";
118
118
  "uuid-or-date": "uuid-or-date";
119
119
  }>;
@@ -91,6 +91,13 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
91
91
  readonly blocks: [{
92
92
  readonly blockKind: "block.hero";
93
93
  readonly scope: "entry";
94
+ readonly content: {
95
+ readonly _sectionStyles: {
96
+ readonly background: {
97
+ readonly type: "image";
98
+ };
99
+ };
100
+ };
94
101
  readonly bindings: {
95
102
  readonly eyebrow: Readonly<{
96
103
  source: "literal";
@@ -110,6 +117,10 @@ export declare const DEFAULT_TEMPLATE_DEFINITIONS: {
110
117
  source: "fallback";
111
118
  options: import("./types").TemplateBindingValue[];
112
119
  }>;
120
+ readonly '_sectionStyles.background.image': Readonly<{
121
+ source: "field";
122
+ path: "image";
123
+ }>;
113
124
  };
114
125
  }, {
115
126
  readonly blockKind: "block.event-details";