@riverbankcms/sdk 0.79.0 → 0.81.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 (327) hide show
  1. package/dist/PreviewEditorSidebar-RDCMEXIJ.mjs +3163 -0
  2. package/dist/{PreviewEditorUI-27KJVEET.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +194 -30
  3. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
  4. package/dist/_dts/ai/src/contracts/proposals.d.ts +20 -0
  5. package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
  6. package/dist/_dts/api/src/contentTypes.d.ts +6 -0
  7. package/dist/_dts/api/src/endpoints.d.ts +24 -0
  8. package/dist/_dts/api/src/index.d.ts +3 -3
  9. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
  10. package/dist/_dts/api/src/siteInfrastructure.d.ts +124 -0
  11. package/dist/_dts/api/src/siteOnboarding.d.ts +13 -0
  12. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +10 -1
  13. package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
  14. package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
  15. package/dist/_dts/block-form/src/client/index.d.ts +2 -0
  16. package/dist/_dts/block-form/src/index.d.ts +2 -0
  17. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +2 -1
  18. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
  19. package/dist/_dts/blocks/src/client/header.d.ts +1 -1
  20. package/dist/_dts/blocks/src/client.d.ts +12 -12
  21. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
  22. package/dist/_dts/blocks/src/index.d.ts +7 -5
  23. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
  24. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  25. package/dist/_dts/blocks/src/server.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
  27. package/dist/_dts/blocks/src/system/blocks/events/event-listing.d.ts +2 -2
  28. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -1
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
  30. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +9 -1
  31. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
  32. package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
  33. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
  34. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
  35. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
  36. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +7 -1
  37. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  39. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  40. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +34 -15
  41. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
  42. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
  43. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  44. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
  45. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +10 -3
  46. package/dist/_dts/blocks/src/system/fragments/library/testimonialsCarousel.d.ts +5 -0
  47. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
  48. package/dist/_dts/blocks/src/system/node/fragments/headingDecoration.d.ts +1 -4
  49. package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
  50. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +2 -2
  51. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  52. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +51 -57
  53. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -27
  54. package/dist/_dts/blocks/src/system/runtime/header/enhanceHeaderSection.d.ts +10 -2
  55. package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
  56. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
  57. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
  58. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
  59. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  60. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
  61. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
  62. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
  63. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +22 -33
  64. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.server.d.ts +2 -2
  65. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventSpotlight.d.ts +2 -2
  66. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventCard.d.ts +2 -2
  67. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventDetailModal.d.ts +2 -2
  68. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventModals.d.ts +2 -2
  69. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
  70. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
  71. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
  72. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
  73. package/dist/_dts/blocks/src/system/runtime/nodes/header-section.client.d.ts +2 -2
  74. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
  75. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
  76. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
  77. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
  78. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +7 -2
  79. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +9 -0
  80. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +14 -1
  81. package/dist/_dts/calendar/src/grid.d.ts +27 -0
  82. package/dist/_dts/calendar/src/index.d.ts +2 -2
  83. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
  84. package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
  85. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
  86. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
  87. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
  88. package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
  89. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
  90. package/dist/_dts/content-editor/src/index.d.ts +3 -1
  91. package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
  92. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
  93. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
  94. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
  95. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
  96. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
  97. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  98. package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
  99. package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
  100. package/dist/_dts/core/src/branded.d.ts +5 -0
  101. package/dist/_dts/core/src/index.d.ts +1 -0
  102. package/dist/_dts/core/src/stable-json.d.ts +1 -0
  103. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +9 -3
  104. package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
  105. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
  106. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
  107. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
  108. package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
  109. package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
  110. package/dist/_dts/editor/src/index.d.ts +29 -0
  111. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
  112. package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
  113. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
  114. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
  115. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
  116. package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
  117. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
  118. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
  119. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
  120. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
  121. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
  122. package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
  123. package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
  124. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
  125. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
  126. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
  127. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
  128. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
  129. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
  130. package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
  131. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
  132. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +5 -9
  133. package/dist/_dts/editor-blocks/src/block-editor/BlockCardBody.d.ts +2 -6
  134. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +6 -10
  135. package/dist/_dts/editor-blocks/src/block-editor/FeatureCardIconsPanel.d.ts +2 -6
  136. package/dist/_dts/editor-blocks/src/block-editor/GeneratedIconSetDialog.d.ts +6 -4
  137. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +4 -8
  138. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
  139. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
  140. package/dist/_dts/editor-blocks/src/index.d.ts +2 -0
  141. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  142. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  143. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  144. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
  145. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
  146. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
  147. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
  148. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
  149. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
  150. package/dist/_dts/media-core/src/index.d.ts +1 -0
  151. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
  152. package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
  153. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
  154. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  155. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +7 -2
  156. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
  157. package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
  158. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  159. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
  160. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
  161. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
  162. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeControlPlan.d.ts +24 -0
  163. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +35 -0
  164. package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
  165. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  166. package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
  167. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +5 -6
  168. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +4 -1
  169. package/dist/_dts/preview-next/src/client/preview/PreviewBlockCustomizeSelectionContext.d.ts +20 -0
  170. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
  171. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
  172. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +2 -0
  173. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
  174. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
  175. package/dist/_dts/preview-next/src/client/preview/SelectedBlockCustomizePanel.d.ts +13 -0
  176. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
  177. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
  178. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
  179. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
  180. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
  181. package/dist/_dts/preview-next/src/client/preview/previewCustomizeEditorDraftPatch.d.ts +13 -0
  182. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
  183. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +2 -0
  184. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
  185. package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
  186. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
  187. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
  188. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
  189. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
  190. package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
  191. package/dist/_dts/preview-next/src/client/preview/storeTypes.d.ts +4 -0
  192. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
  193. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
  194. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +6 -3
  195. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  196. package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +44 -0
  197. package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
  198. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
  199. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
  200. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
  201. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
  202. package/dist/_dts/sdk/src/client/management/index.d.ts +1 -1
  203. package/dist/_dts/sdk/src/client/management/types.d.ts +56 -0
  204. package/dist/_dts/sdk/src/client/management/webhooks.d.ts +3 -0
  205. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  206. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  207. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +34 -5
  208. package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
  209. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
  210. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
  211. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  212. package/dist/_dts/sdk/src/version.d.ts +1 -1
  213. package/dist/_dts/theme-core/src/accordions/siteStyleDefaults.d.ts +220 -0
  214. package/dist/_dts/theme-core/src/accordions/types.d.ts +45 -2
  215. package/dist/_dts/theme-core/src/blockOverrides.d.ts +8 -0
  216. package/dist/_dts/theme-core/src/blocks/types.d.ts +1 -1
  217. package/dist/_dts/theme-core/src/blocks/vars/testimonials.d.ts +4 -1
  218. package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
  219. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  220. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
  221. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +2 -1
  222. package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
  223. package/dist/_dts/theme-core/src/cards/core.d.ts +20 -0
  224. package/dist/_dts/theme-core/src/cards/generateDefaultCardSystem.d.ts +6 -3
  225. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +149 -0
  226. package/dist/_dts/theme-core/src/cards/types.d.ts +177 -0
  227. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  228. package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
  229. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +180 -21
  230. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +30 -0
  231. package/dist/_dts/theme-core/src/palette/variants/soft-natural.d.ts +16 -0
  232. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +1 -1
  233. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
  234. package/dist/_dts/theme-core/src/schema.d.ts +486 -55
  235. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
  236. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +172 -47
  237. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
  238. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +2 -3
  239. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +172 -47
  240. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +140 -2
  241. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
  242. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +20 -1
  243. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +10 -2
  244. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +291 -6
  245. package/dist/_dts/theme-core/src/site-styles/index.d.ts +3 -0
  246. package/dist/_dts/theme-core/src/site-styles/logoBranding.d.ts +193 -0
  247. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
  248. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
  249. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +2 -8
  250. package/dist/_dts/theme-core/src/site-styles/rawStyleFields.d.ts +2 -0
  251. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +43 -10
  252. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
  253. package/dist/_dts/theme-core/src/site-styles/siteStyleThemeCompiler.d.ts +11 -0
  254. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
  255. package/dist/_dts/theme-core/src/site-styles/styleTags.d.ts +1 -1
  256. package/dist/_dts/theme-core/src/site-styles/testimonialQuotePresets.d.ts +15 -0
  257. package/dist/_dts/theme-core/src/site-styles/tokenRecipes.d.ts +1 -1
  258. package/dist/_dts/theme-core/src/site-styles/types.d.ts +28 -32
  259. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  260. package/dist/{chunk-4HCW7FHJ.mjs → chunk-3PTVPAT4.mjs} +1984 -1142
  261. package/dist/{PreviewEditorSidebar-56NMJMIK.mjs → chunk-3QWQ2MUQ.mjs} +1050 -2609
  262. package/dist/{chunk-GP555I66.mjs → chunk-3VT7LZY2.mjs} +413 -157
  263. package/dist/{chunk-A3HHFKVT.mjs → chunk-4T5JIPWY.mjs} +1 -1
  264. package/dist/{chunk-K2IIF34C.mjs → chunk-E3NZYEKF.mjs} +25 -7
  265. package/dist/{chunk-V47ZU33I.mjs → chunk-WUHKQBB6.mjs} +12062 -3211
  266. package/dist/cli/index.mjs +3395 -817
  267. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +16 -4
  268. package/dist/client/{accordion-QLA7KBYO.mjs → accordion-SFIIZWNH.mjs} +2 -2
  269. package/dist/client/{bookingForm-PYZIPA5G.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
  270. package/dist/client/bookings.mjs +1422 -345
  271. package/dist/client/{carousel-5EIULWBI.mjs → carousel-ELXWSBLA.mjs} +3 -3
  272. package/dist/client/{cart-DOP3FNI4.mjs → cart-6SSCPYY5.mjs} +6 -6
  273. package/dist/client/{checkout-BVMF6FBV.mjs → checkout-UFQ34HPV.mjs} +6 -6
  274. package/dist/client/{chunk-44K2U3QI.mjs → chunk-76JUETXQ.mjs} +139 -186
  275. package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
  276. package/dist/client/{chunk-UDS3NTWA.mjs → chunk-G56BSZAM.mjs} +2 -2
  277. package/dist/client/{chunk-V6M5FCR5.mjs → chunk-IUEDYLFJ.mjs} +1 -1
  278. package/dist/client/{chunk-YLDYVRZL.mjs → chunk-NP47RHIX.mjs} +5 -5
  279. package/dist/client/{chunk-R5ESWNKX.mjs → chunk-NX6X3GRF.mjs} +419 -85
  280. package/dist/client/{chunk-CCNTDRCF.mjs → chunk-PA2LJH2M.mjs} +2 -2
  281. package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
  282. package/dist/client/{chunk-TYONZMST.mjs → chunk-TCJS3NY5.mjs} +1 -1
  283. package/dist/client/{chunk-GG4M2NP6.mjs → chunk-V6XI4M2Q.mjs} +1 -1
  284. package/dist/client/client.mjs +9077 -4410
  285. package/dist/client/{courseRegistration-E6EAA6NL.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
  286. package/dist/client/{eventCalendar-HBG3HAK6.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
  287. package/dist/client/{eventCombined-6K5ZZWAK.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
  288. package/dist/client/{eventDetails-Q75ICXLT.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
  289. package/dist/client/{eventListing-27P5F7DZ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
  290. package/dist/client/{eventRegistration-IQ7AMASR.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
  291. package/dist/client/{form-JRTD65FN.mjs → form-LVTYNTDE.mjs} +2 -2
  292. package/dist/client/{headerSection-7FPSSZHS.mjs → headerSection-SO3MFC4U.mjs} +110 -28
  293. package/dist/client/hooks.mjs +4695 -2260
  294. package/dist/client/{locationMap-7NGFNYBH.mjs → locationMap-5E5FLAKO.mjs} +2 -2
  295. package/dist/client/{newsletterForm-F3BADCI2.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
  296. package/dist/client/{productDetail-V3HP7ITJ.mjs → productDetail-Q346KSVR.mjs} +6 -6
  297. package/dist/client/{productList-L3EGJUF2.mjs → productList-DTDMQYGZ.mjs} +6 -6
  298. package/dist/client/rendering/client.mjs +5795 -3582
  299. package/dist/client/rendering/islands.mjs +32 -20
  300. package/dist/client/rendering.mjs +7988 -3317
  301. package/dist/client/{shop-DQUB5E2C.mjs → shop-OFUW7KPN.mjs} +6 -6
  302. package/dist/preview-next/before-render.mjs +24 -0
  303. package/dist/preview-next/client/runtime.mjs +5 -5
  304. package/dist/preview-next/constants.mjs +0 -2
  305. package/dist/preview-next/index.mjs +0 -2
  306. package/dist/preview-next/middleware.mjs +24 -0
  307. package/dist/{sdk-runtime-AF6KXJU4.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
  308. package/dist/server/components.mjs +7384 -3089
  309. package/dist/server/config-validation.mjs +4747 -2418
  310. package/dist/server/config.mjs +4747 -2418
  311. package/dist/server/data.mjs +4695 -2260
  312. package/dist/server/index.mjs +26 -1
  313. package/dist/server/next.mjs +7430 -3039
  314. package/dist/server/page-converter.mjs +3985 -2070
  315. package/dist/server/prebuild.mjs +1 -1
  316. package/dist/server/rendering/server.mjs +7489 -3094
  317. package/dist/server/rendering.mjs +7491 -3096
  318. package/dist/server/routing.mjs +4965 -2386
  319. package/dist/server/server.mjs +4713 -2278
  320. package/dist/server/theme-bridge.mjs +2181 -383
  321. package/dist/server/theme.mjs +477 -222
  322. package/dist/styles/index.css +747 -71
  323. package/package.json +1 -1
  324. package/dist/SdkPreviewModeRuntime-H4BSP6E7.mjs +0 -8
  325. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
  326. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
  327. package/dist/chunk-LCY32PXF.mjs +0 -1175
@@ -0,0 +1,21 @@
1
+ import type { PublicCourse } from "../../blocks/courses/shared/types";
2
+ import type { ButtonVariant, PublicEvent } from "../../blocks/events/shared/types";
3
+ import type { CardStylesContent } from "../../fields/boxStyles";
4
+ import { type BookingOfferingPresetSummary, type OfferingsPreviewEventDataKey, type OfferingsPreviewGroupOverride, type OfferingsPreviewRouteCandidate } from "../../blocks/offerings-preview/model";
5
+ type OfferingsPreviewProps = Readonly<{
6
+ bookingOfferingPresets?: readonly BookingOfferingPresetSummary[] | null;
7
+ groupOverrides?: readonly OfferingsPreviewGroupOverride[] | null;
8
+ cardStyles?: CardStylesContent;
9
+ itemLimit?: string | null;
10
+ buttonVariant?: ButtonVariant | null;
11
+ buttonText?: string | null;
12
+ emptyMessage?: string | null;
13
+ failedMessage?: string | null;
14
+ previewStage?: "published" | "preview" | null;
15
+ routeCandidates?: Readonly<{
16
+ routes?: readonly OfferingsPreviewRouteCandidate[] | null;
17
+ }> | null;
18
+ courses?: readonly PublicCourse[] | null;
19
+ }> & Partial<Record<OfferingsPreviewEventDataKey, readonly PublicEvent[] | null>>;
20
+ export declare function OfferingsPreviewNode(props: OfferingsPreviewProps): import("react/jsx-runtime").JSX.Element | null;
21
+ export default OfferingsPreviewNode;
@@ -3,8 +3,13 @@ import type { NodeDefinition } from "../node";
3
3
  import { bindingSchema } from "../node";
4
4
  import { type ThemeTokens } from "../theme";
5
5
  import type { TransformRegistry, RouteMap, PageIdentifierMap, EntryIdentifierMap } from "../transforms";
6
+ import type { ResolveImageUrlContext } from "./nodes/media";
6
7
  export type ViewModel = Record<string, unknown>;
7
8
  export type ComponentRegistry = Record<string, React.ElementType>;
9
+ export type PreviewTextFieldConstraints = Readonly<{
10
+ maxLength?: number;
11
+ }>;
12
+ export type PreviewFieldConstraintsMap = Readonly<Record<string, PreviewTextFieldConstraints | undefined>>;
8
13
  export type ResolverContext = {
9
14
  viewModel: ViewModel;
10
15
  registry: ComponentRegistry;
@@ -22,6 +27,8 @@ export type ResolverContext = {
22
27
  blockBindings?: Record<string, unknown>;
23
28
  editableRouteMetadataFieldIds?: ReadonlyArray<string>;
24
29
  fragmentRegistry?: Record<string, unknown>;
30
+ fieldConstraints?: PreviewFieldConstraintsMap;
31
+ imageResolveContext?: ResolveImageUrlContext;
25
32
  };
26
33
  /** @internal Exported for testing */
27
34
  export type ScopeEntry = {
@@ -0,0 +1,2 @@
1
+ import type { TransformContext } from "../core";
2
+ export declare function resolveSectionForegroundStyles(value: unknown, context: TransformContext): Record<string, string>;
@@ -60,6 +60,9 @@ export declare const boxStylesCompositeTransform: TransformDefinition<{
60
60
  baseClass?: string;
61
61
  includeSpacing?: boolean;
62
62
  }>;
63
+ export declare const cardVariantClassTransform: TransformDefinition<{
64
+ baseClass?: string;
65
+ }>;
63
66
  export declare const boxStylesBorderColorTransform: TransformDefinition<{
64
67
  fallbackToken?: string;
65
68
  returnEmptyForDefault?: boolean;
@@ -144,14 +147,16 @@ type SectionHeadingColorOptions = {
144
147
  */
145
148
  export declare const sectionHeadingColorStyleTransform: TransformDefinition<SectionHeadingColorOptions>;
146
149
  /**
147
- * Resolves section text and heading colors from the background object.
150
+ * Resolves section foreground colors from the background object.
148
151
  *
149
152
  * The value should be the full `_sectionStyles.background` object.
150
153
  * Outputs:
151
154
  * - `color` and `--section-text-color` from background.textColor
152
155
  * - `--section-heading-color` from background.headingColor (falls back to textColor if not set)
156
+ * - `--section-link-color` from background.linkColor (falls back to textColor if not set)
157
+ * - `--section-supporting-color` from background.supportingColor (falls back to textColor if not set)
153
158
  *
154
- * This combined transform replaces separate textColor/headingColor transforms
159
+ * This combined transform replaces separate foreground color transforms
155
160
  * when both need to be applied to the same style prop.
156
161
  */
157
162
  export declare const sectionColorsStyleTransform: TransformDefinition<Record<string, never>>;
@@ -2,6 +2,12 @@ import { z } from 'zod';
2
2
  import type { ThemeHeader } from '../../../../../theme-core/src/schema';
3
3
  import type { ThemeTokens } from '../../theme';
4
4
  import { type TransformDefinition } from './core';
5
+ declare const headerLogoClassSchema: z.ZodObject<{
6
+ base: z.ZodOptional<z.ZodString>;
7
+ }, z.core.$strip>;
8
+ export declare const headerLogoClassTransform: TransformDefinition<z.infer<typeof headerLogoClassSchema>>;
9
+ export declare const headerLogoMediaClassTransform: TransformDefinition<z.infer<typeof headerLogoClassSchema>>;
10
+ export declare const headerLogoTextVisibleTransform: TransformDefinition;
5
11
  declare const maxWidthClassSchema: z.ZodObject<{
6
12
  base: z.ZodOptional<z.ZodString>;
7
13
  container: z.ZodOptional<z.ZodString>;
@@ -81,6 +87,8 @@ declare const footerBottomBarContainerClassSchema: z.ZodObject<{
81
87
  export declare const footerBottomBarContainerClassTransform: TransformDefinition<z.infer<typeof footerBottomBarContainerClassSchema>>;
82
88
  export declare const footerBottomBarStyleTransform: TransformDefinition;
83
89
  export declare const footerSplitNavSingleClassTransform: TransformDefinition;
90
+ export declare const footerSimpleRootClassTransform: TransformDefinition;
91
+ export declare const footerSimpleNavClassTransform: TransformDefinition;
84
92
  declare const footerSplitMainClassSchema: z.ZodObject<{
85
93
  base: z.ZodOptional<z.ZodString>;
86
94
  reverseClass: z.ZodOptional<z.ZodString>;
@@ -88,6 +96,7 @@ declare const footerSplitMainClassSchema: z.ZodObject<{
88
96
  export declare const footerSplitMainClassTransform: TransformDefinition<z.infer<typeof footerSplitMainClassSchema>>;
89
97
  declare const footerLogoClassSchema: z.ZodObject<{
90
98
  base: z.ZodOptional<z.ZodString>;
99
+ requireExplicitShow: z.ZodOptional<z.ZodBoolean>;
91
100
  }, z.core.$strip>;
92
101
  export declare const footerLogoClassTransform: TransformDefinition<z.infer<typeof footerLogoClassSchema>>;
93
102
  declare const footerLogoMediaClassSchema: z.ZodObject<{
@@ -18,6 +18,13 @@ export declare const transformDefinitions: {
18
18
  stickyTransparent?: string | undefined;
19
19
  invert?: string | undefined;
20
20
  }>;
21
+ readonly "layout.headerLogoClass": TransformDefinition<{
22
+ base?: string | undefined;
23
+ }>;
24
+ readonly "layout.headerLogoMediaClass": TransformDefinition<{
25
+ base?: string | undefined;
26
+ }>;
27
+ readonly "layout.headerLogoTextVisible": TransformDefinition;
21
28
  readonly "layout.footerRootClass": TransformDefinition<{
22
29
  base?: string | undefined;
23
30
  surface?: string | undefined;
@@ -41,8 +48,11 @@ export declare const transformDefinitions: {
41
48
  base?: string | undefined;
42
49
  reverseClass?: string | undefined;
43
50
  }>;
51
+ readonly "layout.footerSimpleRootClass": TransformDefinition;
52
+ readonly "layout.footerSimpleNavClass": TransformDefinition;
44
53
  readonly "layout.footerLogoClass": TransformDefinition<{
45
54
  base?: string | undefined;
55
+ requireExplicitShow?: boolean | undefined;
46
56
  }>;
47
57
  readonly "layout.footerLogoMediaClass": TransformDefinition<{
48
58
  base?: string | undefined;
@@ -92,6 +102,9 @@ export declare const transformDefinitions: {
92
102
  readonly "boxStyles.semanticGapValue": TransformDefinition<{
93
103
  fallback?: import("../spacing").SemanticSpacing;
94
104
  }>;
105
+ readonly "boxStyles.cardVariantClass": TransformDefinition<{
106
+ baseClass?: string;
107
+ }>;
95
108
  };
96
109
  export type TransformId = keyof typeof transformDefinitions;
97
110
  type OptionsOf<T> = T extends TransformDefinition<infer O> ? O : never;
@@ -112,7 +125,7 @@ export declare function bindProp(from: string, opts?: {
112
125
  readonly $bind: {
113
126
  readonly pick?: "value" | "collection" | "context" | undefined;
114
127
  readonly fallback?: {} | null | undefined;
115
- readonly transforms?: TransformStep<"date.formatShort" | "boxStyles.semanticGap" | "boxStyles.semanticGapValue" | "ui.twoColumnContainerClass" | "ui.twoColumnFlexBasis" | "ui.sectionStateTone" | "string.uppercase" | "value.fallback" | "value.csv" | "layout.maxWidthClass" | "layout.headerRootClass" | "layout.footerRootClass" | "layout.headerRootStyle" | "layout.headerSectionBackground" | "layout.footerRootStyle" | "ui.headerNavLinkClass" | "ui.headingClassFromAlignment" | "ui.bodyClassFromAlignment" | "ui.stackAlignFromAlignment" | "ui.heroContentWrapperClass" | "ui.heroCtaJustify" | "ui.heroStackJustifyFromVerticalAlignment" | "ui.heroGridClassFromVerticalAlignment" | "ui.conditionalClass" | "media.fromUrl" | "content.interpolateRichTextTokens" | "layout.footerBottomBarClass" | "layout.footerBottomBarContainerClass" | "layout.footerBottomBarStyle" | "layout.footerSplitNavSingleClass" | "layout.footerSplitMainClass" | "layout.footerLogoClass" | "layout.footerLogoMediaClass" | "layout.footerLogoTextVisible">[] | undefined;
128
+ readonly transforms?: TransformStep<"date.formatShort" | "boxStyles.cardVariantClass" | "boxStyles.semanticGap" | "boxStyles.semanticGapValue" | "ui.twoColumnContainerClass" | "ui.twoColumnFlexBasis" | "ui.sectionStateTone" | "string.uppercase" | "value.fallback" | "value.csv" | "layout.maxWidthClass" | "layout.headerRootClass" | "layout.footerRootClass" | "layout.headerRootStyle" | "layout.headerSectionBackground" | "layout.footerRootStyle" | "ui.headerNavLinkClass" | "ui.headingClassFromAlignment" | "ui.bodyClassFromAlignment" | "ui.stackAlignFromAlignment" | "ui.heroContentWrapperClass" | "ui.heroCtaJustify" | "ui.heroStackJustifyFromVerticalAlignment" | "ui.heroGridClassFromVerticalAlignment" | "ui.conditionalClass" | "media.fromUrl" | "content.interpolateRichTextTokens" | "layout.headerLogoClass" | "layout.headerLogoMediaClass" | "layout.headerLogoTextVisible" | "layout.footerBottomBarClass" | "layout.footerBottomBarContainerClass" | "layout.footerBottomBarStyle" | "layout.footerSplitNavSingleClass" | "layout.footerSimpleRootClass" | "layout.footerSimpleNavClass" | "layout.footerSplitMainClass" | "layout.footerLogoClass" | "layout.footerLogoMediaClass" | "layout.footerLogoTextVisible">[] | undefined;
116
129
  readonly from: string;
117
130
  };
118
131
  };
@@ -6,6 +6,21 @@
6
6
  * cells with `groupItemsByDate` from `./group`.
7
7
  */
8
8
  export type WeekStart = 'sunday' | 'monday';
9
+ export type CalendarViewportKind = 'month' | 'week';
10
+ export type WeekCalendarDays = readonly [Date, Date, Date, Date, Date, Date, Date];
11
+ export type MonthCalendarViewport = Readonly<{
12
+ kind: 'month';
13
+ anchorDate: Date;
14
+ days: readonly Date[];
15
+ title: string;
16
+ }>;
17
+ export type WeekCalendarViewport = Readonly<{
18
+ kind: 'week';
19
+ anchorDate: Date;
20
+ days: WeekCalendarDays;
21
+ title: string;
22
+ }>;
23
+ export type CalendarViewport = MonthCalendarViewport | WeekCalendarViewport;
9
24
  export declare const DAY_NAMES: readonly ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
10
25
  export declare const MONTH_NAMES: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
11
26
  /**
@@ -31,6 +46,10 @@ export declare function getEndOfMonth(date: Date): Date;
31
46
  * in non-leap years).
32
47
  */
33
48
  export declare function addMonths(date: Date, months: number): Date;
49
+ /** Add (or subtract) days while preserving local time-of-day fields. */
50
+ export declare function addDays(date: Date, days: number): Date;
51
+ /** Shift a calendar anchor by the natural unit for a viewport kind. */
52
+ export declare function shiftCalendarAnchorDate(date: Date, view: CalendarViewportKind, steps: number): Date;
34
53
  /**
35
54
  * Get an inclusive 3-month window around `date`, returned as ISO strings
36
55
  * with UTC midnight bounds. Suitable for prefetching event windows when
@@ -47,6 +66,8 @@ export declare function getThreeMonthRange(date: Date): {
47
66
  export declare function getMonthCalendarDays(year: number, month: number, startOfWeek: WeekStart): Date[];
48
67
  /** Build the 7 dates of the week containing `baseDate`. */
49
68
  export declare function getWeekCalendarDays(baseDate: Date, startOfWeek: WeekStart): Date[];
69
+ /** Build the 7 dates of the week containing `baseDate` as a fixed-width tuple. */
70
+ export declare function getWeekCalendarDayTuple(baseDate: Date, startOfWeek: WeekStart): WeekCalendarDays;
50
71
  /**
51
72
  * Day-name labels reordered for the chosen week start. Pass a custom
52
73
  * `dayNames` array (length 7, Sunday-first) to localize.
@@ -58,3 +79,9 @@ export declare function getOrderedDayNames(startOfWeek: WeekStart, dayNames?: re
58
79
  * - week: "January 5 - 11, 2025" or "December 30 - January 5, 2025"
59
80
  */
60
81
  export declare function formatCalendarTitle(viewDate: Date, view: 'month' | 'week', days: Date[], monthNames?: readonly string[]): string;
82
+ export declare function buildCalendarViewport(input: Readonly<{
83
+ view: CalendarViewportKind;
84
+ anchorDate: Date;
85
+ startOfWeek: WeekStart;
86
+ monthNames?: readonly string[];
87
+ }>): CalendarViewport;
@@ -1,5 +1,5 @@
1
- export type { WeekStart } from './grid';
2
- export { getMonthCalendarDays, getWeekCalendarDays, getOrderedDayNames, formatCalendarTitle, formatDateKey, isToday, isSameLocalDay, addMonths, getStartOfMonth, getEndOfMonth, getThreeMonthRange, DAY_NAMES, MONTH_NAMES, MAX_EVENTS_PER_DAY, } from './grid';
1
+ export type { CalendarViewport, CalendarViewportKind, MonthCalendarViewport, WeekCalendarDays, WeekCalendarViewport, WeekStart, } from './grid';
2
+ export { addDays, buildCalendarViewport, getMonthCalendarDays, getWeekCalendarDays, getWeekCalendarDayTuple, getOrderedDayNames, formatCalendarTitle, formatDateKey, isToday, isSameLocalDay, addMonths, shiftCalendarAnchorDate, getStartOfMonth, getEndOfMonth, getThreeMonthRange, DAY_NAMES, MONTH_NAMES, MAX_EVENTS_PER_DAY, } from './grid';
3
3
  export type { TimetableInput, TimetableModel, TimetableDay, TimetableCell, TimetableBounds, TimetableDiagnostic, InvalidItemReason, TimetableView, } from './timetable';
4
4
  export { buildTimetableModel } from './timetable';
5
5
  export type { GroupItemsByDateAccessors } from './group';
@@ -1,10 +1,12 @@
1
1
  import type { useStoreAutosave } from '../hooks/useStoreAutosave';
2
2
  import type { useBlockAutosave } from '../hooks/useBlockAutosave';
3
+ import type { AutosaveHandle } from '../hooks/useSimpleAutosave';
3
4
  import type { createEditorUiStore } from '../ui/editorUiStore';
4
5
  type UseAutosaveTriggersProps = {
5
6
  uiStore: ReturnType<typeof createEditorUiStore>;
6
7
  metadataAutosave: ReturnType<typeof useStoreAutosave>;
7
8
  blockAutosave: ReturnType<typeof useBlockAutosave>;
9
+ linkedEntryAutosave?: AutosaveHandle | null;
8
10
  /** Content autosave - only provided for content entries (not pages) */
9
11
  contentAutosave?: ReturnType<typeof useStoreAutosave> | null;
10
12
  hasRoute: boolean;
@@ -23,5 +25,5 @@ type UseAutosaveTriggersProps = {
23
25
  * transition tracking. When a user continues editing during/after save,
24
26
  * status stays 'pending' but version increments, so we still trigger.
25
27
  */
26
- export declare function useAutosaveTriggers({ uiStore, metadataAutosave, blockAutosave, contentAutosave, hasRoute, enableTriggers, }: UseAutosaveTriggersProps): void;
28
+ export declare function useAutosaveTriggers({ uiStore, metadataAutosave, blockAutosave, linkedEntryAutosave, contentAutosave, hasRoute, enableTriggers, }: UseAutosaveTriggersProps): void;
27
29
  export {};
@@ -0,0 +1 @@
1
+ export * from './ui/editorTransactionState';
@@ -0,0 +1,26 @@
1
+ import type { EditorSyncState } from '../../../core/src/index';
2
+ import type { LinkedContentEntryId } from '../linkedEntries/domain';
3
+ import type { AutosaveStatus } from '../ui/stores/types';
4
+ export { unsafeAsLinkedContentEntryId, type LinkedContentEntryId, } from '../linkedEntries/domain';
5
+ export type EditorAutosaveScope = Readonly<{
6
+ kind: 'metadata';
7
+ }> | Readonly<{
8
+ kind: 'content';
9
+ }> | Readonly<{
10
+ kind: 'blocks';
11
+ }> | Readonly<{
12
+ kind: 'linkedEntry';
13
+ entryId: LinkedContentEntryId;
14
+ }>;
15
+ export type EditorAutosaveSchedulerKey = 'metadata' | 'content' | 'blocks' | 'linkedEntries';
16
+ export type AutosaveScopeSnapshot = Readonly<{
17
+ scope: EditorAutosaveScope;
18
+ syncState: EditorSyncState;
19
+ }>;
20
+ export type AutosaveStatusByScheduler = Readonly<Record<EditorAutosaveSchedulerKey, AutosaveStatus>>;
21
+ export declare function autosaveScopeKey(scope: EditorAutosaveScope): string;
22
+ export declare function autosaveSchedulerKey(scope: EditorAutosaveScope): EditorAutosaveSchedulerKey;
23
+ export declare function uniqueAutosaveSchedulerKeys(scopes: readonly EditorAutosaveScope[]): EditorAutosaveSchedulerKey[];
24
+ export declare function deriveDirtyAutosaveScopes(snapshots: readonly AutosaveScopeSnapshot[]): EditorAutosaveScope[];
25
+ export declare function hasAutosaveStatusFailure(statuses: AutosaveStatusByScheduler): boolean;
26
+ export declare function allAutosaveStatusesComplete(statuses: AutosaveStatusByScheduler): boolean;
@@ -31,6 +31,7 @@ export type PublishabilityAutosaveState = Readonly<{
31
31
  metadata: AutosaveStatus;
32
32
  content: AutosaveStatus;
33
33
  blocks: AutosaveStatus;
34
+ linkedEntries: AutosaveStatus;
34
35
  }>;
35
36
  export type DerivePublishabilityInput = Readonly<{
36
37
  unpublishedState: EditorUnpublishedState;
@@ -0,0 +1,23 @@
1
+ import type { ApiClient } from '../services';
2
+ import type { LinkedContentEntryId, LinkedContentTypeKey } from '../linkedEntries/domain';
3
+ import type { EditorUiStoreInstance } from '../ui/editorUiStore';
4
+ export type PendingLinkedEntrySave = Readonly<{
5
+ entryId: LinkedContentEntryId;
6
+ contentTypeKey: LinkedContentTypeKey;
7
+ content: Record<string, unknown>;
8
+ optimisticHash: string | null;
9
+ acknowledgedVersion: number;
10
+ }>;
11
+ export type LinkedEntrySaveResult = Readonly<{
12
+ entryId: LinkedContentEntryId;
13
+ content: Record<string, unknown>;
14
+ optimisticHash: string | null;
15
+ }>;
16
+ export type LinkedEntryAutosaveOptions = Readonly<{
17
+ uiStore: EditorUiStoreInstance;
18
+ apiClient: ApiClient;
19
+ siteId: string;
20
+ saveLinkedEntry?: (save: PendingLinkedEntrySave) => Promise<LinkedEntrySaveResult>;
21
+ }>;
22
+ export declare function collectPendingLinkedEntrySaves(uiStore: EditorUiStoreInstance): PendingLinkedEntrySave[];
23
+ export declare function useLinkedEntryAutosave({ uiStore, apiClient, siteId, saveLinkedEntry, }: LinkedEntryAutosaveOptions): import("./useSimpleAutosave").AutosaveHandle;
@@ -1,4 +1,4 @@
1
- import type { EditorStatusBarToolbar } from "@riverbankcms/editor";
1
+ import type { EditorStatusBarToolbar } from "../../../editor/src/index";
2
2
  /**
3
3
  * Builds a reactive toolbar for the editor status bar.
4
4
  *
@@ -23,8 +23,8 @@ type AutosaveConfig<TValues, TPayload> = {
23
23
  enabled?: boolean;
24
24
  /** UI store instance for updating autosave status */
25
25
  uiStore: EditorUiStoreInstance;
26
- /** Which autosave type: 'metadata', 'blocks', or 'content' */
27
- type: 'metadata' | 'blocks' | 'content';
26
+ /** Which autosave scheduler this hook updates */
27
+ type: 'metadata' | 'blocks' | 'content' | 'linkedEntries';
28
28
  };
29
29
  export type AutosaveHandle = {
30
30
  trigger: () => void;
@@ -4,6 +4,8 @@ export { useDebouncedLatestSave, type DebouncedLatestSaveConfig, type DebouncedL
4
4
  export { useSimpleAutosave, useMultiAutosave } from './hooks/useSimpleAutosave';
5
5
  export { useStoreAutosave, type StoreAutosaveConfig, type AutosaveScope } from './hooks/useStoreAutosave';
6
6
  export { useBlockAutosave, type BlockAutosaveOptions } from './hooks/useBlockAutosave';
7
+ export { collectPendingLinkedEntrySaves, useLinkedEntryAutosave, type LinkedEntryAutosaveOptions, type LinkedEntrySaveResult, type PendingLinkedEntrySave, } from './hooks/useLinkedEntryAutosave';
8
+ export { unsafeAsLinkedContentEntryId, unsafeAsLinkedContentTypeKey, type LinkedContentEntryId, type LinkedContentTypeKey, } from './linkedEntries/domain';
7
9
  export { useEntryActions, type EntryActionsOptions } from './hooks/useEntryActions';
8
10
  export { useReactiveToolbar } from './hooks/useReactiveToolbar';
9
11
  export { isInvalidSaveability, selectHasInvalidBlocks } from './hooks/invalidBlockSelectors';
@@ -16,7 +18,7 @@ export { EditableBlockProvider, useBlockData } from './components/EditableBlockP
16
18
  export { ContentFieldsForm, type ContentFieldsFormProps } from './components/ContentFieldsForm';
17
19
  export { useUISelector } from './ui/useUISelector';
18
20
  export { EditorUiStoreProvider, useEditorUiStore, useEditorUiStoreInstance, useOptionalEditorUiStoreInstance, createEditorUiStore } from './ui/editorUiStore';
19
- export type { ActivePreviewField, EditorUiStoreInstance, EditorUiState, PreviewSidebarTab, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
21
+ export type { ActivePreviewField, EditorUiStoreInstance, EditorUiState, EditorPreviewInspectorStore, EditorLinkedEntrySnapshot, PreviewInspection, PreviewSidebarTab, ViewportMode, ViewportWidth, ViewportState, ZoomLevel, } from './ui/editorUiStore';
20
22
  export { PreviewTextEditor } from './primitives/PreviewTextEditor';
21
23
  export { PreviewRichTextEditor } from './primitives/PreviewRichTextEditor';
22
24
  export { useStoreBinding, parseEditorPath } from './primitives/shared';
@@ -0,0 +1,2 @@
1
+ import type { JsonValue } from '../../../api/src/content-editor';
2
+ export declare function toJsonObject(value: Record<string, unknown>): Record<string, JsonValue>;
@@ -0,0 +1,8 @@
1
+ export type LinkedContentEntryId = string & {
2
+ readonly __linkedContentEntryId: unique symbol;
3
+ };
4
+ export type LinkedContentTypeKey = string & {
5
+ readonly __linkedContentTypeKey: unique symbol;
6
+ };
7
+ export declare function unsafeAsLinkedContentEntryId(value: string): LinkedContentEntryId;
8
+ export declare function unsafeAsLinkedContentTypeKey(value: string): LinkedContentTypeKey;
@@ -1,4 +1,5 @@
1
1
  import { unsafeAsEditorBlockId, unsafeAsEditorBlockValues, unsafeAsEditorContentValues, unsafeAsEditorEntryId, unsafeAsEditorMetadataValues, unsafeAsEditorPageId, unsafeAsEditorSiteId, type EditorBlockBaselineInput, type EditorBlockId, type EditorBlockPublishedBaselineInput, type EditorDraftBlockBaselineUpdateMetaInput, type EditorDraftBlockInitMetaInput, type EditorBlockValues, type EditorContentValues, type EditorEntryId, type EditorMetadataValues, type EditorPageId, type EditorPersistedBlock, type EditorSiteId, type EditorStructuralCommand, type EditorStructuralDraftSnapshot, type EditorSyncState, type EditorValueRecord } from '../../../core/src/index';
2
+ import { type LinkedContentEntryId, type LinkedContentTypeKey } from '../linkedEntries/domain';
2
3
  export { unsafeAsEditorBlockId, unsafeAsEditorBlockValues, unsafeAsEditorContentValues, unsafeAsEditorEntryId, unsafeAsEditorMetadataValues, unsafeAsEditorPageId, unsafeAsEditorSiteId, type EditorBlockId, type EditorBlockValues, type EditorContentValues, type EditorEntryId, type EditorMetadataValues, type EditorPageId, type EditorSiteId, };
3
4
  export type EditorCommand = {
4
5
  type: 'set-metadata-value';
@@ -23,6 +24,15 @@ export type EditorCommand = {
23
24
  type: 'replace-block';
24
25
  blockId: EditorBlockId;
25
26
  value: EditorBlockValues | null;
27
+ } | {
28
+ type: 'set-linked-entry-value';
29
+ entryId: string;
30
+ path: string;
31
+ value: unknown;
32
+ } | {
33
+ type: 'replace-linked-entry';
34
+ entryId: string;
35
+ value: EditorContentValues | null;
26
36
  } | EditorStructuralCommand | {
27
37
  type: 'batch';
28
38
  changes: readonly EditorCommand[];
@@ -51,6 +61,18 @@ export type EditorValueSnapshot<TValue extends EditorValueRecord | null> = Reado
51
61
  }>;
52
62
  type EditorMetadataSnapshot = EditorValueSnapshot<EditorMetadataValues | null>;
53
63
  type EditorContentSnapshot = EditorValueSnapshot<EditorContentValues | null>;
64
+ export type EditorLinkedEntryMeta = Readonly<{
65
+ entryId: LinkedContentEntryId;
66
+ contentTypeKey: LinkedContentTypeKey;
67
+ contentTypeLabel: string;
68
+ title: string;
69
+ titleField: string | null;
70
+ optimisticHash: string | null;
71
+ fields: readonly EditorValueRecord[];
72
+ }>;
73
+ export type EditorLinkedEntrySnapshot = EditorValueSnapshot<EditorContentValues | null> & Readonly<{
74
+ meta: EditorLinkedEntryMeta;
75
+ }>;
54
76
  export type EditorBlockMeta = Readonly<{
55
77
  kind: string;
56
78
  purpose: string | null;
@@ -96,6 +118,7 @@ export type EditorHistorySnapshot = Readonly<{
96
118
  */
97
119
  blockList: readonly NormalizedEditorBlockItem[];
98
120
  drafts: Readonly<Record<EditorBlockId, EditorDraftSnapshot>>;
121
+ linkedEntries: Readonly<Record<string, EditorLinkedEntrySnapshot>>;
99
122
  }>;
100
123
  export declare function requirePersistedEditorBlock(block: EditorBlockItem | NormalizedEditorBlockItem): PersistedEditorBlockItem;
101
124
  export declare function createEditorDraftSnapshotFromBlock(block: PersistedEditorBlockItem): EditorDraftSnapshot;
@@ -179,6 +202,33 @@ export type EditorSystemOperation = {
179
202
  } | {
180
203
  type: 'clear-draft-pending';
181
204
  blockId: EditorBlockId;
205
+ } | {
206
+ type: 'hydrate-linked-entry';
207
+ entryId: string;
208
+ contentTypeKey: string;
209
+ contentTypeLabel: string;
210
+ title: string;
211
+ titleField?: string | null;
212
+ optimisticHash?: string | null;
213
+ fields: readonly EditorValueRecord[];
214
+ baseline: EditorContentValues | null;
215
+ current?: EditorContentValues | null;
216
+ } | {
217
+ type: 'discard-linked-entry';
218
+ entryId: string;
219
+ } | {
220
+ type: 'save-linked-entry-succeeded';
221
+ entryId: string;
222
+ savedValues: EditorContentValues | null;
223
+ acknowledgedVersion: number;
224
+ optimisticHash?: string | null;
225
+ } | {
226
+ type: 'save-linked-entry-failed';
227
+ entryId: string;
228
+ message?: string;
229
+ } | {
230
+ type: 'clear-linked-entry-error';
231
+ entryId: string;
182
232
  } | {
183
233
  type: 'replace-block-list';
184
234
  next: readonly EditorBlockItem[];
@@ -210,7 +260,15 @@ export declare function autosaveDraftFailed(snapshot: EditorHistorySnapshot, blo
210
260
  export declare function clearDraftError(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
211
261
  export declare function setDraftPending(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
212
262
  export declare function clearDraftPending(snapshot: EditorHistorySnapshot, blockId: EditorBlockId): EditorHistorySnapshot;
263
+ export declare function hydrateLinkedEntrySnapshot(snapshot: EditorHistorySnapshot, input: Extract<EditorSystemOperation, {
264
+ type: 'hydrate-linked-entry';
265
+ }>): EditorHistorySnapshot;
266
+ export declare function discardLinkedEntrySnapshot(snapshot: EditorHistorySnapshot, entryId: string): EditorHistorySnapshot;
267
+ export declare function saveLinkedEntrySucceeded(snapshot: EditorHistorySnapshot, entryId: string, savedValues: EditorContentValues | null, acknowledgedVersion: number, optimisticHash?: string | null): EditorHistorySnapshot;
268
+ export declare function saveLinkedEntryFailed(snapshot: EditorHistorySnapshot, entryId: string, message?: string): EditorHistorySnapshot;
269
+ export declare function clearLinkedEntryError(snapshot: EditorHistorySnapshot, entryId: string): EditorHistorySnapshot;
213
270
  export declare function replaceEditorBlockList(snapshot: EditorHistorySnapshot, blockList: readonly EditorBlockItem[]): EditorHistorySnapshot;
214
271
  export declare function getDraftSnapshot(snapshot: EditorHistorySnapshot, blockId: string): EditorDraftSnapshot | null;
215
272
  export declare function inspectDrafts(snapshot: EditorHistorySnapshot): EditorDraftSnapshot[];
273
+ export declare function getLinkedEntrySnapshot(snapshot: EditorHistorySnapshot, entryId: string): EditorLinkedEntrySnapshot | null;
216
274
  export declare function hasUnpublishedDraftChanges(snapshot: EditorHistorySnapshot): boolean;
@@ -0,0 +1,93 @@
1
+ export type EditorTransaction<TAction, THistoryEntry, TTargetKey extends string = string> = Readonly<{
2
+ targetKey: TTargetKey;
3
+ action: TAction;
4
+ historyEntry: THistoryEntry | null;
5
+ }>;
6
+ export type EditorCommitPolicy = Readonly<{
7
+ kind: 'autosave-latest';
8
+ }> | Readonly<{
9
+ kind: 'staged';
10
+ }> | Readonly<{
11
+ kind: 'manual-flush';
12
+ }>;
13
+ export type EditorSaveBatch<TAction, THistoryEntry, TTargetKey extends string = string> = Readonly<{
14
+ transactions: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];
15
+ }>;
16
+ export type EditorTransactionFailure = Readonly<{
17
+ kind: 'retryable';
18
+ message: string;
19
+ } | {
20
+ kind: 'stale';
21
+ message: string;
22
+ }>;
23
+ export type EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey extends string = string> = Readonly<{
24
+ kind: 'idle';
25
+ }> | Readonly<{
26
+ kind: 'dirty';
27
+ transactions: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];
28
+ }> | Readonly<{
29
+ kind: 'saving';
30
+ batch: EditorSaveBatch<TAction, THistoryEntry, TTargetKey>;
31
+ followUpTransactions: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];
32
+ }> | Readonly<{
33
+ kind: 'failed';
34
+ message: string;
35
+ transactions: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];
36
+ }> | Readonly<{
37
+ kind: 'stale';
38
+ message: string;
39
+ transactions: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];
40
+ }>;
41
+ export type EditorTransactionCapabilities = Readonly<{
42
+ canApplyTransaction: boolean;
43
+ canStartAutosave: boolean;
44
+ canUseHistory: boolean;
45
+ requiresReload: boolean;
46
+ }>;
47
+ export type EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey extends string = string> = Readonly<{
48
+ commitPolicy: Extract<EditorCommitPolicy, {
49
+ kind: 'staged';
50
+ }>;
51
+ targetKey: TTargetKey;
52
+ base: TSnapshot;
53
+ preview: TSnapshot;
54
+ historyEntry: THistoryEntry | null;
55
+ }>;
56
+ export type EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey extends string = string> = Readonly<{
57
+ kind: 'idle';
58
+ }> | Readonly<{
59
+ kind: 'active';
60
+ transaction: EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey>;
61
+ }> | Readonly<{
62
+ kind: 'applying';
63
+ transaction: EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey>;
64
+ }> | Readonly<{
65
+ kind: 'failed';
66
+ message: string;
67
+ transaction: EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey>;
68
+ }> | Readonly<{
69
+ kind: 'stale';
70
+ message: string;
71
+ transaction: EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey>;
72
+ }>;
73
+ export type EditorStagedSessionCapabilities = Readonly<{
74
+ canPreviewStaged: boolean;
75
+ canApplyStaged: boolean;
76
+ canCancelStaged: boolean;
77
+ isApplyingStaged: boolean;
78
+ requiresReload: boolean;
79
+ }>;
80
+ export declare function idleEditorTransactionQueueState<TAction, THistoryEntry, TTargetKey extends string = string>(): EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>;
81
+ export declare function idleEditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey extends string = string>(): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
82
+ export declare function deriveTransactionCapabilities(state: EditorTransactionQueueState<unknown, unknown>): EditorTransactionCapabilities;
83
+ export declare function deriveStagedSessionCapabilities(state: EditorStagedSessionState<unknown, unknown>): EditorStagedSessionCapabilities;
84
+ export declare function beginStagedSession<TSnapshot, THistoryEntry, TTargetKey extends string = string>(state: EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>, transaction: EditorStagedTransaction<TSnapshot, THistoryEntry, TTargetKey>): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
85
+ export declare function applyStagedSession<TSnapshot, THistoryEntry, TTargetKey extends string = string>(state: EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
86
+ export declare function confirmStagedSession<TSnapshot, THistoryEntry, TTargetKey extends string = string>(state: EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
87
+ export declare function rejectStagedSession<TSnapshot, THistoryEntry, TTargetKey extends string = string>(state: EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>, failure: EditorTransactionFailure): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
88
+ export declare function cancelStagedSession<TSnapshot, THistoryEntry, TTargetKey extends string = string>(state: EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>): EditorStagedSessionState<TSnapshot, THistoryEntry, TTargetKey>;
89
+ export declare function enqueueTransaction<TAction, THistoryEntry, TTargetKey extends string = string>(state: EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>, transaction: EditorTransaction<TAction, THistoryEntry, TTargetKey>): EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>;
90
+ export declare function beginAutosaveBatch<TAction, THistoryEntry, TTargetKey extends string = string>(state: EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>): EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>;
91
+ export declare function confirmAutosaveBatch<TAction, THistoryEntry, TTargetKey extends string = string>(state: EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>): EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>;
92
+ export declare function rejectAutosaveBatch<TAction, THistoryEntry, TTargetKey extends string = string>(state: EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>, failure: EditorTransactionFailure): EditorTransactionQueueState<TAction, THistoryEntry, TTargetKey>;
93
+ export declare function coalesceQueuedTransactions<TAction, THistoryEntry, TTargetKey extends string = string>(queue: readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[], transaction: EditorTransaction<TAction, THistoryEntry, TTargetKey>): readonly EditorTransaction<TAction, THistoryEntry, TTargetKey>[];