@riverbankcms/sdk 0.80.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 (265) hide show
  1. package/dist/{PreviewEditorSidebar-QZG37QIF.mjs → PreviewEditorSidebar-RDCMEXIJ.mjs} +763 -255
  2. package/dist/{PreviewEditorUI-AXIKSMZA.mjs → PreviewEditorUI-NYGQ6K7B.mjs} +170 -29
  3. package/dist/SdkPreviewModeRuntime-AKCSCZEC.mjs +8 -0
  4. package/dist/_dts/api/src/contentRuntime.d.ts +12 -0
  5. package/dist/_dts/api/src/contentTypes.d.ts +6 -0
  6. package/dist/_dts/api/src/index.d.ts +2 -2
  7. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +53 -0
  8. package/dist/_dts/block-form/src/backend/store-backend.d.ts +3 -1
  9. package/dist/_dts/block-form/src/backend/types.d.ts +3 -3
  10. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -0
  11. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +20 -28
  12. package/dist/_dts/blocks/src/index.d.ts +6 -4
  13. package/dist/_dts/blocks/src/primitives/content/components/Text.d.ts +1 -1
  14. package/dist/_dts/blocks/src/primitives/content/primitives.d.ts +1 -0
  15. package/dist/_dts/blocks/src/server.d.ts +1 -1
  16. package/dist/_dts/blocks/src/system/blocks/events/event-calendar.d.ts +3 -2
  17. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +135 -0
  18. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +5 -0
  19. package/dist/_dts/blocks/src/system/blocks/feature-cards.d.ts +2 -0
  20. package/dist/_dts/blocks/src/system/blocks/form.d.ts +20 -1
  21. package/dist/_dts/blocks/src/system/blocks/hero.d.ts +2 -0
  22. package/dist/_dts/blocks/src/system/blocks/offerings-preview/index.d.ts +19 -0
  23. package/dist/_dts/blocks/src/system/blocks/offerings-preview/model.d.ts +134 -0
  24. package/dist/_dts/blocks/src/system/componentFactory.d.ts +1 -0
  25. package/dist/_dts/blocks/src/system/constants/background.d.ts +1 -1
  26. package/dist/_dts/blocks/src/system/constants/blockKinds.d.ts +1 -1
  27. package/dist/_dts/blocks/src/system/customize/backgrounds.d.ts +13 -3
  28. package/dist/_dts/blocks/src/system/data/index.d.ts +2 -0
  29. package/dist/_dts/blocks/src/system/data/linkedContentEntries.d.ts +64 -0
  30. package/dist/_dts/blocks/src/system/data/loaderEndpoints.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/designCapabilities.d.ts +2 -2
  32. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +6 -1
  33. package/dist/_dts/blocks/src/system/fragments/library/faqHeading.d.ts +0 -1
  34. package/dist/_dts/blocks/src/system/media/slotContracts.d.ts +2 -0
  35. package/dist/_dts/blocks/src/system/node/types.d.ts +8 -1
  36. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  37. package/dist/_dts/blocks/src/system/registry.d.ts +1 -0
  38. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +44 -50
  39. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +21 -24
  40. package/dist/_dts/blocks/src/system/runtime/headingDecoration.d.ts +21 -0
  41. package/dist/_dts/blocks/src/system/runtime/hooks/useCalendarEvents.d.ts +45 -14
  42. package/dist/_dts/blocks/src/system/runtime/hooks/useEventFilters.d.ts +2 -9
  43. package/dist/_dts/blocks/src/system/runtime/hooks/useEventPagination.d.ts +1 -10
  44. package/dist/_dts/blocks/src/system/runtime/nodes/basic.d.ts +1 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCalendar.interactive.d.ts +21 -16
  46. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.client.d.ts +3 -2
  47. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventCombined.interactive.d.ts +21 -16
  48. package/dist/_dts/blocks/src/system/runtime/nodes/events/EventListing.interactive.d.ts +17 -28
  49. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/EventPaginatedListView.client.d.ts +2 -3
  50. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/WeekAgendaView.d.ts +3 -3
  51. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/listOptions.d.ts +50 -0
  52. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/utils.d.ts +2 -1
  53. package/dist/_dts/blocks/src/system/runtime/nodes/media.d.ts +29 -14
  54. package/dist/_dts/blocks/src/system/runtime/nodes/offerings-preview.d.ts +21 -0
  55. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +7 -0
  56. package/dist/_dts/blocks/src/system/transforms/registry/_utils/sectionForegroundStyles.d.ts +2 -0
  57. package/dist/_dts/blocks/src/system/transforms/registry/boxStyles.d.ts +4 -2
  58. package/dist/_dts/calendar/src/grid.d.ts +27 -0
  59. package/dist/_dts/calendar/src/index.d.ts +2 -2
  60. package/dist/_dts/content-editor/src/controller/useAutosaveTriggers.d.ts +3 -1
  61. package/dist/_dts/content-editor/src/editorTransactionState.d.ts +1 -0
  62. package/dist/_dts/content-editor/src/hooks/autosaveScopePlanning.d.ts +26 -0
  63. package/dist/_dts/content-editor/src/hooks/publishability.d.ts +1 -0
  64. package/dist/_dts/content-editor/src/hooks/useLinkedEntryAutosave.d.ts +23 -0
  65. package/dist/_dts/content-editor/src/hooks/useReactiveToolbar.d.ts +1 -1
  66. package/dist/_dts/content-editor/src/hooks/useSimpleAutosave.d.ts +2 -2
  67. package/dist/_dts/content-editor/src/index.d.ts +3 -1
  68. package/dist/_dts/content-editor/src/lib/json.d.ts +2 -0
  69. package/dist/_dts/content-editor/src/linkedEntries/domain.d.ts +8 -0
  70. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +58 -0
  71. package/dist/_dts/content-editor/src/ui/editorTransactionState.d.ts +93 -0
  72. package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +60 -3
  73. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +2 -0
  74. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -1
  75. package/dist/_dts/content-model/src/content-types/builtins.d.ts +43 -0
  76. package/dist/_dts/content-model/src/metadataConfig.d.ts +87 -47
  77. package/dist/_dts/core/src/branded.d.ts +5 -0
  78. package/dist/_dts/core/src/index.d.ts +1 -0
  79. package/dist/_dts/core/src/stable-json.d.ts +1 -0
  80. package/dist/_dts/editor/src/EditorProvider.d.ts +26 -0
  81. package/dist/_dts/editor/src/chrome/EditorChrome.d.ts +26 -0
  82. package/dist/_dts/editor/src/chrome/EditorStatusBar.d.ts +45 -0
  83. package/dist/_dts/editor/src/chrome/statusBarPresentation.d.ts +25 -0
  84. package/dist/_dts/editor/src/components/EditingToggle.d.ts +9 -0
  85. package/dist/_dts/editor/src/hooks/useEditableElement.d.ts +18 -0
  86. package/dist/_dts/editor/src/index.d.ts +29 -0
  87. package/dist/_dts/editor/src/inline/InlineTextEditor.d.ts +1 -0
  88. package/dist/_dts/editor/src/lib/utils.d.ts +1 -0
  89. package/dist/_dts/editor/src/primitives/EditorPrimitivesProvider.d.ts +20 -0
  90. package/dist/_dts/editor/src/primitives/InlineFieldContext.d.ts +11 -0
  91. package/dist/_dts/editor/src/primitives/SaveContext.d.ts +12 -0
  92. package/dist/_dts/editor/src/primitives/helpers.d.ts +1 -0
  93. package/dist/_dts/editor/src/primitives/rich-text/RichTextEditorSurface.d.ts +26 -0
  94. package/dist/_dts/editor/src/primitives/rich-text/RichTextToolbar.d.ts +16 -0
  95. package/dist/_dts/editor/src/primitives/rich-text/config.d.ts +23 -0
  96. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextImage.d.ts +2 -0
  97. package/dist/_dts/editor/src/primitives/rich-text/extensions/RichTextLink.d.ts +1 -0
  98. package/dist/_dts/editor/src/primitives/rich-text/imageActions.d.ts +22 -0
  99. package/dist/_dts/editor/src/primitives/rich-text/sanitize.d.ts +23 -0
  100. package/dist/_dts/editor/src/primitives/rich-text/toolbar/BlockTypeDropdown.d.ts +6 -0
  101. package/dist/_dts/editor/src/primitives/rich-text/toolbar/LinkPopover.d.ts +10 -0
  102. package/dist/_dts/editor/src/primitives/rich-text/toolbar/ToolbarIconButton.d.ts +11 -0
  103. package/dist/_dts/editor/src/primitives/rich-text/toolbar/linkPopoverUtils.d.ts +58 -0
  104. package/dist/_dts/editor/src/primitives/rich-text/useRichTextEditor.d.ts +19 -0
  105. package/dist/_dts/editor/src/primitives/rich-text/utils.d.ts +20 -0
  106. package/dist/_dts/editor/src/utils/optimisticTokens.d.ts +27 -0
  107. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +2 -2
  108. package/dist/_dts/editor-blocks/src/block-editor/BlockCard.d.ts +3 -3
  109. package/dist/_dts/editor-blocks/src/block-editor/BlockCardHeader.d.ts +4 -4
  110. package/dist/_dts/editor-blocks/src/block-editor/SortableBlockItem.d.ts +2 -2
  111. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +15 -0
  112. package/dist/_dts/editor-blocks/src/block-editor/blockHeaderActionPlan.d.ts +49 -0
  113. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +1 -0
  114. package/dist/_dts/editor-blocks/src/widgets/rich-text/RichTextWidgetProvider.d.ts +1 -1
  115. package/dist/_dts/editor-blocks/src/widgets/rich-text/useImagePicker.d.ts +1 -1
  116. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionPickerField.d.ts +3 -0
  117. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/SiteOptionWidgetProvider.d.ts +14 -0
  118. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/index.d.ts +6 -0
  119. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/loaders.d.ts +51 -0
  120. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/types.d.ts +20 -0
  121. package/dist/_dts/editor-blocks/src/widgets/site-option-picker/utils.d.ts +5 -0
  122. package/dist/_dts/media-core/src/index.d.ts +1 -0
  123. package/dist/_dts/media-core/src/renderableMediaAsset.d.ts +18 -0
  124. package/dist/_dts/media-editor/src/MediaEditor.d.ts +4 -1
  125. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +2 -1
  126. package/dist/_dts/media-editor/src/index.d.ts +1 -1
  127. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +3 -2
  128. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +5 -1
  129. package/dist/_dts/preview-next/src/client/blocks/blockCustomizePopoverRows.d.ts +25 -0
  130. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  131. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +4 -30
  132. package/dist/_dts/preview-next/src/client/blocks/linkedEntryRenderOverlay.d.ts +11 -0
  133. package/dist/_dts/preview-next/src/client/blocks/previewCustomizeActions.d.ts +3 -9
  134. package/dist/_dts/preview-next/src/client/blocks/useBlockCustomizeControls.d.ts +2 -1
  135. package/dist/_dts/preview-next/src/client/index.d.ts +0 -1
  136. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -1
  137. package/dist/_dts/preview-next/src/client/preview/LinkedEntryEditEventBridge.d.ts +1 -0
  138. package/dist/_dts/preview-next/src/client/preview/PageBlockEditorPanel.d.ts +3 -1
  139. package/dist/_dts/preview-next/src/client/preview/PreviewChromeLayer.d.ts +20 -0
  140. package/dist/_dts/preview-next/src/client/preview/PreviewDesignHistoryOrderContext.d.ts +13 -0
  141. package/dist/_dts/preview-next/src/client/preview/PreviewOpenEditorButton.d.ts +1 -1
  142. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +19 -19
  143. package/dist/_dts/preview-next/src/client/preview/PreviewSidebarSection.d.ts +13 -0
  144. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +47 -4
  145. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +14 -1
  146. package/dist/_dts/preview-next/src/client/preview/linkedEntryEditEvents.d.ts +5 -0
  147. package/dist/_dts/preview-next/src/client/preview/previewChromePlacement.d.ts +46 -0
  148. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControls.d.ts +68 -0
  149. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +8 -1
  150. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +11 -9
  151. package/dist/_dts/preview-next/src/client/preview/previewDesignHistoryOrder.d.ts +18 -0
  152. package/dist/_dts/preview-next/src/client/preview/previewUndoDomains.d.ts +1 -1
  153. package/dist/_dts/preview-next/src/client/preview/siteChromeBrandPreferences.d.ts +41 -0
  154. package/dist/_dts/preview-next/src/client/preview/siteChromeQuickControlHistoryState.d.ts +101 -0
  155. package/dist/_dts/preview-next/src/client/preview/siteChromeSavePlan.d.ts +29 -0
  156. package/dist/_dts/preview-next/src/client/preview/siteStyleHistoryState.d.ts +55 -0
  157. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorApplyPayload.d.ts +1 -0
  158. package/dist/_dts/preview-next/src/client/widgets/widgetAdapters.d.ts +2 -1
  159. package/dist/_dts/preview-next/src/client/widgets/widgetOverrides.d.ts +3 -2
  160. package/dist/_dts/preview-next/src/constants.d.ts +0 -1
  161. package/dist/_dts/sdk/src/cli/config-loader.d.ts +3 -1
  162. package/dist/_dts/sdk/src/cli/content/reader.d.ts +5 -3
  163. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +1 -0
  164. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +3 -1
  165. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +1 -0
  166. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  167. package/dist/_dts/sdk/src/config/validation.d.ts +3 -3
  168. package/dist/_dts/sdk/src/contracts/system-block-content.d.ts +28 -2
  169. package/dist/_dts/sdk/src/public-api/contracts.d.ts +10 -0
  170. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +42 -0
  171. package/dist/_dts/sdk/src/rendering/mediaAssets.d.ts +4 -0
  172. package/dist/_dts/sdk/src/types/block-kinds.d.ts +1 -1
  173. package/dist/_dts/sdk/src/version.d.ts +1 -1
  174. package/dist/_dts/theme-core/src/buttons/constants.d.ts +26 -1
  175. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  176. package/dist/_dts/theme-core/src/buttons/personalities/joy-stamp.d.ts +22 -0
  177. package/dist/_dts/theme-core/src/buttons/personalities/types.d.ts +1 -0
  178. package/dist/_dts/theme-core/src/buttons/types.d.ts +9 -0
  179. package/dist/_dts/theme-core/src/cards/siteStyleDefaults.d.ts +44 -0
  180. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  181. package/dist/_dts/theme-core/src/interactive/types.d.ts +10 -0
  182. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +27 -6
  183. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  184. package/dist/_dts/theme-core/src/palette/variants/warm-dark.d.ts +27 -0
  185. package/dist/_dts/theme-core/src/schema.d.ts +40 -3
  186. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +4 -1
  187. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +87 -31
  188. package/dist/_dts/theme-core/src/site-styles/appearancePresetResolution.d.ts +6 -2
  189. package/dist/_dts/theme-core/src/site-styles/blockAppearancePresets.d.ts +87 -31
  190. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +30 -1
  191. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +18 -2
  192. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +6 -2
  193. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +5 -0
  194. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  195. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +3 -23
  196. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +276 -4
  197. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +33 -3
  198. package/dist/_dts/theme-core/src/site-styles/sectionTransitions.d.ts +508 -0
  199. package/dist/_dts/theme-core/src/site-styles/sourceCatalogs.d.ts +10 -10
  200. package/dist/_dts/theme-core/src/site-styles/types.d.ts +24 -6
  201. package/dist/_dts/theme-core/src/site-styles/typographyPresets.d.ts +16 -1
  202. package/dist/{chunk-7PCYG6YV.mjs → chunk-3PTVPAT4.mjs} +1863 -1099
  203. package/dist/{chunk-5NZGBSJF.mjs → chunk-3QWQ2MUQ.mjs} +469 -1000
  204. package/dist/{chunk-HTB4BMKD.mjs → chunk-3VT7LZY2.mjs} +321 -113
  205. package/dist/{chunk-MPBNEVPB.mjs → chunk-4T5JIPWY.mjs} +1 -1
  206. package/dist/{chunk-BBLZSQEY.mjs → chunk-E3NZYEKF.mjs} +1 -7
  207. package/dist/{chunk-GYXKAUFV.mjs → chunk-WUHKQBB6.mjs} +9509 -2658
  208. package/dist/cli/index.mjs +1347 -324
  209. package/dist/client/{accordion-QFZMNB7O.mjs → accordion-SFIIZWNH.mjs} +2 -2
  210. package/dist/client/{bookingForm-NCIXFWIG.mjs → bookingForm-CFKZVWGA.mjs} +5 -5
  211. package/dist/client/bookings.mjs +281 -19
  212. package/dist/client/{carousel-EO4BJMWD.mjs → carousel-ELXWSBLA.mjs} +3 -3
  213. package/dist/client/{cart-FTYCLYUW.mjs → cart-6SSCPYY5.mjs} +6 -6
  214. package/dist/client/{checkout-NFGLVCOX.mjs → checkout-UFQ34HPV.mjs} +6 -6
  215. package/dist/client/{chunk-6GVVWSPU.mjs → chunk-76JUETXQ.mjs} +139 -186
  216. package/dist/client/{chunk-AUJ5DBZJ.mjs → chunk-7BXX7WXH.mjs} +112 -28
  217. package/dist/client/{chunk-IWFZSQNZ.mjs → chunk-G56BSZAM.mjs} +2 -2
  218. package/dist/client/{chunk-VDS5YFLX.mjs → chunk-IUEDYLFJ.mjs} +1 -1
  219. package/dist/client/{chunk-PYRBIURC.mjs → chunk-NP47RHIX.mjs} +5 -5
  220. package/dist/client/{chunk-PUOELU4O.mjs → chunk-NX6X3GRF.mjs} +330 -80
  221. package/dist/client/{chunk-Y37KDO7P.mjs → chunk-PA2LJH2M.mjs} +2 -2
  222. package/dist/client/{chunk-CE7IBGVW.mjs → chunk-RMWMT3ZD.mjs} +1 -1
  223. package/dist/client/{chunk-4W66ALYT.mjs → chunk-TCJS3NY5.mjs} +1 -1
  224. package/dist/client/{chunk-T6UIP6UZ.mjs → chunk-V6XI4M2Q.mjs} +1 -1
  225. package/dist/client/client.mjs +5924 -3138
  226. package/dist/client/{courseRegistration-2EORROPS.mjs → courseRegistration-HJIISAAG.mjs} +5 -5
  227. package/dist/client/{eventCalendar-WZI4VL6N.mjs → eventCalendar-F6YVUCZR.mjs} +7 -7
  228. package/dist/client/{eventCombined-QCB2TCNL.mjs → eventCombined-B5DSTIOK.mjs} +7 -7
  229. package/dist/client/{eventDetails-TFTATAPH.mjs → eventDetails-SEJDDHQC.mjs} +7 -7
  230. package/dist/client/{eventListing-A2CQEHEQ.mjs → eventListing-TPMWIIBO.mjs} +7 -7
  231. package/dist/client/{eventRegistration-OELPVLUY.mjs → eventRegistration-QU6W2PV6.mjs} +7 -7
  232. package/dist/client/{form-NTIFD6WQ.mjs → form-LVTYNTDE.mjs} +2 -2
  233. package/dist/client/{headerSection-7TBNKCLA.mjs → headerSection-SO3MFC4U.mjs} +54 -13
  234. package/dist/client/hooks.mjs +2266 -1179
  235. package/dist/client/{locationMap-LRLB5A3H.mjs → locationMap-5E5FLAKO.mjs} +2 -2
  236. package/dist/client/{newsletterForm-XI52RZSN.mjs → newsletterForm-GN32JEBQ.mjs} +2 -2
  237. package/dist/client/{productDetail-GSNKBFLY.mjs → productDetail-Q346KSVR.mjs} +6 -6
  238. package/dist/client/{productList-BGCGT4KZ.mjs → productList-DTDMQYGZ.mjs} +6 -6
  239. package/dist/client/rendering/client.mjs +4618 -3318
  240. package/dist/client/rendering/islands.mjs +32 -20
  241. package/dist/client/rendering.mjs +4898 -2108
  242. package/dist/client/{shop-RQHUCLNY.mjs → shop-OFUW7KPN.mjs} +6 -6
  243. package/dist/preview-next/client/runtime.mjs +5 -5
  244. package/dist/preview-next/constants.mjs +0 -2
  245. package/dist/preview-next/index.mjs +0 -2
  246. package/dist/{sdk-runtime-A4LHT2RS.mjs → sdk-runtime-2GIX6I7X.mjs} +6 -6
  247. package/dist/server/components.mjs +4377 -1852
  248. package/dist/server/config-validation.mjs +2283 -1303
  249. package/dist/server/config.mjs +2283 -1303
  250. package/dist/server/data.mjs +2267 -1180
  251. package/dist/server/index.mjs +2 -1
  252. package/dist/server/next.mjs +4394 -1773
  253. package/dist/server/page-converter.mjs +1999 -1015
  254. package/dist/server/prebuild.mjs +1 -1
  255. package/dist/server/rendering/server.mjs +4482 -1857
  256. package/dist/server/rendering.mjs +4484 -1859
  257. package/dist/server/routing.mjs +2302 -1120
  258. package/dist/server/server.mjs +2284 -1197
  259. package/dist/server/theme-bridge.mjs +757 -85
  260. package/dist/server/theme.mjs +69 -4
  261. package/dist/styles/index.css +474 -65
  262. package/package.json +1 -1
  263. package/dist/SdkPreviewModeRuntime-XE5M4UKM.mjs +0 -8
  264. package/dist/_dts/editor-blocks/src/block-editor/actionControlMode.d.ts +0 -2
  265. package/dist/_dts/preview-next/src/client/preview/previewSurface.d.ts +0 -3
@@ -1,7 +1,9 @@
1
1
  import type { PageOutline } from '../../../../../blocks/src/index';
2
+ import type { EditorPreviewInspectorStore } from '../../../../../content-editor/src/index';
2
3
  import type { EditorBlockId } from '../../../../../core/src/index';
3
4
  import type { BlockItem } from '../../../../../editor-blocks/src/index';
4
5
  import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from '../previewProjection';
6
+ import type { LinkedEntryRenderOverlay } from '../linkedEntryRenderOverlay';
5
7
  export type BlockWithContent = {
6
8
  [key: string]: unknown;
7
9
  id: string | null;
@@ -31,36 +33,7 @@ export type CachedBlockTransform = {
31
33
  src: EnrichedBlock;
32
34
  out: BlockWithContent;
33
35
  };
34
- export type EditorDraftInspectorStore = {
35
- getState: () => {
36
- drafts: {
37
- inspect: () => DraftSnapshot[];
38
- };
39
- aiOverlays?: {
40
- viewMode: 'before' | 'after';
41
- overrides: Map<string, {
42
- proposalId: string;
43
- before: unknown;
44
- after: unknown;
45
- }>;
46
- structure?: {
47
- proposalId: string;
48
- includeUnspecified?: boolean;
49
- before: {
50
- blockIds: string[];
51
- };
52
- after: {
53
- blockIds: string[];
54
- addedBlocks?: Array<{
55
- id: string;
56
- kind: string;
57
- content?: Record<string, unknown> | null;
58
- }>;
59
- };
60
- } | null;
61
- };
62
- };
63
- };
36
+ export type EditorDraftInspectorStore = EditorPreviewInspectorStore;
64
37
  export type ComposePageArgs = {
65
38
  page: PageOutline | null;
66
39
  blockItems: BlockItem[];
@@ -72,4 +45,5 @@ export type ComposePreviewRenderPageArgs = {
72
45
  blockItems: BlockItem[];
73
46
  draftSnapshots: readonly DraftSnapshot[];
74
47
  projections: readonly PreviewProjection[];
48
+ linkedEntryOverlays?: LinkedEntryRenderOverlay;
75
49
  };
@@ -0,0 +1,11 @@
1
+ import { type LinkedContentEntryId } from '../../../../content-editor/src/index';
2
+ export type LinkedEntryRenderOverlay = ReadonlyMap<LinkedContentEntryId, Readonly<{
3
+ content: Record<string, unknown>;
4
+ optimisticHash: string | null;
5
+ }>>;
6
+ type DataContextWithResolvedData = Readonly<{
7
+ resolvedData?: Record<string, Record<string, unknown>>;
8
+ }>;
9
+ export declare function applyLinkedEntryRenderOverlay<T>(value: T, overlays: LinkedEntryRenderOverlay): T;
10
+ export declare function applyLinkedEntryRenderOverlayToDataContext<T extends DataContextWithResolvedData | undefined>(dataContext: T, overlays: LinkedEntryRenderOverlay): T;
11
+ export {};
@@ -1,6 +1,6 @@
1
- import type { AppearancePresetId, BoundaryOptionId, DesignBlockId, LayoutVariantKey, PageDesignEditorBlock, PageDesignEditorBoundary } from '../../../../theme-core/src/site-styles/index';
1
+ import type { AppearancePresetId, BoundaryOptionId, DesignBlockId, LayoutVariantKey, PageDesignEditorBlock } from '../../../../theme-core/src/site-styles/index';
2
2
  import { type SystemCustomizeFacetId, type SystemCustomizeFacetTransition, type SystemCustomizeFacetValue } from '../../../../blocks/src/system/customize/facets';
3
- import { type BackgroundImagePoolItem, type BackgroundOverride } from '../../../../blocks/src/system/customize/backgrounds';
3
+ import { type BackgroundImagePoolItem, type BackgroundImagePoolMediaAsset, type BackgroundOverride } from '../../../../blocks/src/system/customize/backgrounds';
4
4
  export type PreviewCustomizeCycleDirection = 'prev' | 'next';
5
5
  export type PreviewCustomizeAction = Readonly<{
6
6
  kind: 'set-layout';
@@ -21,6 +21,7 @@ export type PreviewCustomizeAction = Readonly<{
21
21
  override: BackgroundOverride;
22
22
  fromOverride: BackgroundOverride;
23
23
  baseContentId: string | null;
24
+ imageAsset?: BackgroundImagePoolMediaAsset;
24
25
  }> | Readonly<{
25
26
  kind: 'set-boundary';
26
27
  previousBlockId: DesignBlockId;
@@ -43,12 +44,6 @@ type PreviewSetBlockFacetAction = Extract<PreviewCustomizeAction, {
43
44
  type PreviewSetBackgroundAction = Extract<PreviewCustomizeAction, {
44
45
  kind: 'set-background';
45
46
  }>;
46
- type PreviewSetBoundaryAction = Extract<PreviewCustomizeAction, {
47
- kind: 'set-boundary';
48
- }>;
49
- type PreviewResetBoundaryAction = Extract<PreviewCustomizeAction, {
50
- kind: 'reset-boundary';
51
- }>;
52
47
  export declare function cyclePageDesignBlockLayout(block: PageDesignEditorBlock, direction: PreviewCustomizeCycleDirection): PreviewSetLayoutAction | null;
53
48
  export declare function cyclePageDesignBlockLook(block: PageDesignEditorBlock, direction: PreviewCustomizeCycleDirection): PreviewSetLookAction | null;
54
49
  export declare function cyclePageDesignBlockFacet(input: Readonly<{
@@ -64,5 +59,4 @@ export declare function setPageDesignBlockBackground(input: Readonly<{
64
59
  fromOverride?: BackgroundOverride;
65
60
  imagePool?: readonly BackgroundImagePoolItem[];
66
61
  }>): PreviewSetBackgroundAction | null;
67
- export declare function cyclePageDesignBoundaryBreak(boundary: PageDesignEditorBoundary, direction: PreviewCustomizeCycleDirection): PreviewSetBoundaryAction | PreviewResetBoundaryAction | null;
68
62
  export {};
@@ -1,5 +1,6 @@
1
1
  import { type BlockManifest, type Theme } from '../../../../blocks/src/index';
2
2
  import { type FieldConfig, type FormBackend } from '../../../../block-form/src/client/index';
3
+ import type { EditorBlockId } from '../../../../core/src/index';
3
4
  import { type SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
4
5
  import type { EditorUiState } from '../../../../content-editor/src/index';
5
6
  import type { PreviewZustandStoreApi } from '../preview/storeTypes';
@@ -16,7 +17,7 @@ export type BlockCustomizeControls = Readonly<{
16
17
  hasOverflowControls: boolean;
17
18
  }>;
18
19
  export declare function useBlockCustomizeControls({ blockId, blockKind, content, uiStore, theme, sdkConfig, maxQuickFields, maxPopoverRows, builtInPopoverRows, }: {
19
- blockId: string;
20
+ blockId: EditorBlockId;
20
21
  blockKind: string;
21
22
  content: Readonly<Record<string, unknown>>;
22
23
  uiStore: PreviewZustandStoreApi<EditorUiState>;
@@ -29,7 +29,6 @@ export { PreviewAuthInit } from "./preview/PreviewAuthInit";
29
29
  export { PreviewAuthBanner } from "./preview/PreviewAuthBanner";
30
30
  export { PreviewKeepAliveClient } from "./preview/PreviewKeepAliveClient";
31
31
  export { PreviewQueryProvider, createPreviewQueryClient, } from "./preview/PreviewQueryProvider";
32
- export { resolvePreviewSurfaceId, resolvePreviewSurfaceIdFromSearch, } from "./preview/previewSurface";
33
32
  export { PreviewShell } from "./preview/PreviewShell";
34
33
  export type { PreviewShellProps } from "./preview/PreviewShell";
35
34
  export { PreviewShellLayout } from "./preview/PreviewShellLayout";
@@ -6,6 +6,7 @@ import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from '../..
6
6
  import type { FieldWidgetComponent } from '../../../../block-form/src/client/index';
7
7
  import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
8
8
  import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
9
+ import { type PreviewLinkedEntrySidebarSection } from './PreviewSidebarSection';
9
10
  type EntryEditorPanelProps = {
10
11
  siteId: string;
11
12
  entryData: NonNullable<PreviewEditorSidebarProps['entryData']>;
@@ -19,6 +20,7 @@ type EntryEditorPanelProps = {
19
20
  supabaseUrl?: string;
20
21
  entrySubrouteContext?: EntrySubrouteContextData | null;
21
22
  metadataPanel: ReactNode;
23
+ linkedEntrySection?: PreviewLinkedEntrySidebarSection | null;
22
24
  mediaAssets?: MediaAssetIndexItem[];
23
25
  widgets: Record<string, FieldWidgetComponent>;
24
26
  viewportMode: ViewportMode;
@@ -28,5 +30,5 @@ type EntryEditorPanelProps = {
28
30
  onViewportWidthChange: (width: ViewportWidth) => void;
29
31
  onZoomChange: (zoom: ZoomLevel) => void;
30
32
  };
31
- export declare function EntryEditorPanel({ siteId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, metadataPanel, mediaAssets, widgets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function EntryEditorPanel({ siteId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, metadataPanel, linkedEntrySection, mediaAssets, widgets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: EntryEditorPanelProps): import("react/jsx-runtime").JSX.Element;
32
34
  export {};
@@ -0,0 +1 @@
1
+ export declare function LinkedEntryEditEventBridge(): null;
@@ -6,6 +6,7 @@ import type { MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
6
6
  import type { EditorUiState, ZoomLevel } from '../../../../content-editor/src/index';
7
7
  import { type ViewportMode, type ViewportWidth } from './PreviewViewportControls';
8
8
  import type { PreviewZustandStoreApi } from './storeTypes';
9
+ import { type PreviewLinkedEntrySidebarSection } from './PreviewSidebarSection';
9
10
  type PageBlockEditorPanelProps = {
10
11
  siteId: string;
11
12
  pageId: string;
@@ -18,6 +19,7 @@ type PageBlockEditorPanelProps = {
18
19
  blockEditorRef: MutableRefObject<BlockEditorHandle | null>;
19
20
  onBlocksChange: (nextItems: BlockItem[]) => void;
20
21
  metadataPanel: ReactNode;
22
+ linkedEntrySection?: PreviewLinkedEntrySidebarSection | null;
21
23
  designPanel?: ReactNode;
22
24
  sdkConfig?: SdkConfigForBlockPicker | null;
23
25
  mediaAssets?: MediaAssetIndexItem[];
@@ -28,5 +30,5 @@ type PageBlockEditorPanelProps = {
28
30
  onViewportWidthChange: (width: ViewportWidth) => void;
29
31
  onZoomChange: (zoom: ZoomLevel) => void;
30
32
  };
31
- export declare function PageBlockEditorPanel({ siteId, pageId, theme, apiClient, bearerToken, supabaseUrl, blockItems, uiStoreForBlockEditor, blockEditorRef, onBlocksChange, metadataPanel, designPanel, sdkConfig, mediaAssets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PageBlockEditorPanelProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function PageBlockEditorPanel({ siteId, pageId, theme, apiClient, bearerToken, supabaseUrl, blockItems, uiStoreForBlockEditor, blockEditorRef, onBlocksChange, metadataPanel, linkedEntrySection, designPanel, sdkConfig, mediaAssets, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PageBlockEditorPanelProps): import("react/jsx-runtime").JSX.Element;
32
34
  export {};
@@ -0,0 +1,20 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ import { type PreviewChromeAnchorBox, type PreviewChromeFloatingPlacement } from './previewChromePlacement';
3
+ type PreviewChromeLayerContextValue = Readonly<{
4
+ portalTarget: HTMLElement | null;
5
+ subscribeLayout: (listener: () => void) => () => void;
6
+ }>;
7
+ export declare function PreviewChromeLayerProvider({ children, }: {
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function usePreviewChromeLayerOptional(): PreviewChromeLayerContextValue | null;
11
+ export declare function PreviewChromeFloatingControl({ anchorSelector, placement, fallbackClassName, fallbackStyle, portalClassName, forceVisible, children, }: {
12
+ anchorSelector: string;
13
+ placement: PreviewChromeFloatingPlacement | ((anchorBox: PreviewChromeAnchorBox | null) => PreviewChromeFloatingPlacement);
14
+ fallbackClassName: string;
15
+ fallbackStyle?: CSSProperties;
16
+ portalClassName?: string;
17
+ forceVisible?: boolean;
18
+ children: ReactNode;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type PreviewDesignHistoryDomainId, type PreviewDesignHistoryOrderState } from './previewDesignHistoryOrder';
3
+ type PreviewDesignHistoryOrderContextValue = Readonly<{
4
+ state: PreviewDesignHistoryOrderState;
5
+ record: (domainId: PreviewDesignHistoryDomainId) => void;
6
+ confirmUndo: (domainId: PreviewDesignHistoryDomainId) => void;
7
+ confirmRedo: (domainId: PreviewDesignHistoryDomainId) => void;
8
+ }>;
9
+ export declare function PreviewDesignHistoryOrderProvider({ children, }: Readonly<{
10
+ children: ReactNode;
11
+ }>): import("react/jsx-runtime").JSX.Element;
12
+ export declare function usePreviewDesignHistoryOrder(): PreviewDesignHistoryOrderContextValue;
13
+ export {};
@@ -1,3 +1,3 @@
1
- import type { StatusBarMenuItem } from '@riverbankcms/editor';
1
+ import type { StatusBarMenuItem } from '../../../../editor/src/index';
2
2
  export declare function usePreviewOpenEditorMobileMenuItems(): StatusBarMenuItem[];
3
3
  export declare function PreviewOpenEditorButton(): import("react/jsx-runtime").JSX.Element;
@@ -1,29 +1,29 @@
1
- import { type ComponentProps, type ReactNode } from "react";
2
- import { BlockApiProvider } from "../../../../blocks/src/client";
3
- import type { ButtonPersonalityId } from "../../../../theme-core/src/buttons/index";
4
- import type { PaletteOverrides, PaletteVariantId } from "../../../../theme-core/src/palette/index";
5
- import type { FooterSelectionContext, FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId, TypographyPresetId } from "../../../../theme-core/src/site-styles/index";
6
- import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from "../../../../blocks/src/index";
7
- import type { ContentTypeSchema } from "../../../../content-model/src/index";
8
- import type { SdkConfigForBlockPicker } from "../../../../editor-blocks/src/index";
9
- import type { SurfaceId } from "../../../../surfaces/src/index";
10
- import { type PreviewBlock, type PreviewContentEntryData, type PreviewPageMetadata } from "./PreviewEntryControllerProvider";
11
- import type { PreviewEditorSidebarProps, PreviewTemplateData } from "./PreviewEditorSidebar";
12
- import { type PreviewRuntimeSession } from "../../auth-contract";
1
+ import { type ComponentProps, type ReactNode } from 'react';
2
+ import { BlockApiProvider } from '../../../../blocks/src/client';
3
+ import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
4
+ import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
5
+ import type { FooterSelectionContext, FooterLookId, HeaderLayoutId, HeaderSelectionContext, HeaderLookId, HeaderStyleId, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
6
+ import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from '../../../../blocks/src/index';
7
+ import type { ContentTypeSchema } from '../../../../content-model/src/index';
8
+ import type { SdkConfigForBlockPicker } from '../../../../editor-blocks/src/index';
9
+ import type { SurfaceId } from '../../../../surfaces/src/index';
10
+ import { type PreviewBlock, type PreviewContentEntryData, type PreviewPageMetadata } from './PreviewEntryControllerProvider';
11
+ import type { PreviewEditorSidebarProps, PreviewTemplateData } from './PreviewEditorSidebar';
12
+ import { type PreviewRuntimeSession } from '../../auth-contract';
13
13
  type BaseFetch = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
14
14
  export type PreviewDesignEditorEligibility = Readonly<{
15
- kind: "managed-page";
15
+ kind: 'managed-page';
16
16
  }> | Readonly<{
17
- kind: "content-entry";
17
+ kind: 'content-entry';
18
18
  }> | Readonly<{
19
- kind: "sdk-page";
19
+ kind: 'sdk-page';
20
20
  }> | Readonly<{
21
- kind: "unsupported";
21
+ kind: 'unsupported';
22
22
  }>;
23
23
  export type PreviewShellProps = {
24
24
  children: ReactNode;
25
25
  apiBaseUrl: string;
26
- blockApiConfig: ComponentProps<typeof BlockApiProvider>["config"];
26
+ blockApiConfig: ComponentProps<typeof BlockApiProvider>['config'];
27
27
  siteId: string;
28
28
  siteSlug: string;
29
29
  editableId: string | null;
@@ -60,13 +60,13 @@ export type PreviewShellProps = {
60
60
  referenceContentTypeKeys?: readonly string[];
61
61
  draftContent?: Record<string, unknown> | null;
62
62
  currentTemplate?: PreviewTemplateData | null;
63
- initialStatus?: "draft" | "scheduled" | "published";
63
+ initialStatus?: 'draft' | 'scheduled' | 'published';
64
64
  initialBlocks?: PreviewBlock[];
65
65
  pageMetadata?: PreviewPageMetadata;
66
66
  isSiteLaunched: boolean;
67
67
  maintenanceModeEnabled: boolean;
68
68
  entrySubrouteContext?: EntrySubrouteContextData | null;
69
- assistantPanel?: PreviewEditorSidebarProps["assistantPanel"];
69
+ assistantPanel?: PreviewEditorSidebarProps['assistantPanel'];
70
70
  sdkConfig?: SdkConfigForBlockPicker | null;
71
71
  mediaAssets?: MediaAssetIndexItem[];
72
72
  supabaseUrl?: string;
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from 'react';
2
+ export type PreviewSidebarSectionProps = Readonly<{
3
+ label: string;
4
+ defaultOpen?: boolean;
5
+ openRequestId?: number | null;
6
+ children: ReactNode;
7
+ }>;
8
+ export type PreviewLinkedEntrySidebarSection = Readonly<{
9
+ label: string;
10
+ openRequestId: number;
11
+ content: ReactNode;
12
+ }>;
13
+ export declare function PreviewSidebarSection({ label, defaultOpen, openRequestId, children, }: PreviewSidebarSectionProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,49 @@
1
1
  import { type ReactNode } from 'react';
2
- import type { ApiClient } from '../../../../api/src/request';
2
+ import { type ApiClient } from '../../../../api/src/request';
3
3
  import type { Theme } from '../../../../blocks/src/index';
4
4
  import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/index';
5
5
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
6
- import type { FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
6
+ import type { BrandDisplayMode, FooterLookId, FooterSelectionContext, HeaderLayoutId, HeaderLookId, HeaderSelectionContext, HeaderStyleId, LogoSizePolicy, TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
7
+ import { type StyleConfiguratorHistoryEntry } from './StyleConfigurator.state';
7
8
  import type { SiteStyleAccess } from './siteStyleAccess';
8
9
  import { type SiteChromeLookOption } from './siteChromeLookRows';
9
10
  import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
11
+ import { type HeaderBrandDisplayOption, type HeaderLogoSizeOption } from './siteChromeBrandPreferences';
12
+ import { type SiteStyleHistoryFailure, type SiteStyleHistorySkipReason } from './siteStyleHistoryState';
13
+ import { type SiteChromeQuickControlHistoryFailure, type SiteChromeQuickControlHistorySkipReason } from './siteChromeQuickControlHistoryState';
14
+ type SiteStyleHistoryController = Readonly<{
15
+ recordAppliedSelection: (entry: StyleConfiguratorHistoryEntry) => void;
16
+ setStagedPreviewActive: (active: boolean) => void;
17
+ undo: () => Promise<SiteStyleHistoryApplyOutcome>;
18
+ redo: () => Promise<SiteStyleHistoryApplyOutcome>;
19
+ canUndo: boolean;
20
+ canRedo: boolean;
21
+ isHistoryPending: boolean;
22
+ isHistoryStale: boolean;
23
+ historyFailure: string | null;
24
+ hasActiveStagedPreview: boolean;
25
+ }>;
26
+ type SiteStyleHistoryApplyOutcome = Readonly<{
27
+ kind: 'saved';
28
+ }> | Readonly<{
29
+ kind: 'skipped';
30
+ reason: SiteStyleHistorySkipReason | 'not-ready' | 'staged-preview-active';
31
+ }> | SiteStyleHistoryFailure;
32
+ type SiteChromeQuickControlHistoryController = Readonly<{
33
+ undo: () => Promise<SiteChromeQuickControlApplyOutcome>;
34
+ redo: () => Promise<SiteChromeQuickControlApplyOutcome>;
35
+ canUndo: boolean;
36
+ canRedo: boolean;
37
+ isHistoryPending: boolean;
38
+ isHistoryStale: boolean;
39
+ historyFailure: string | null;
40
+ }>;
41
+ type SiteChromeQuickControlApplyOutcome = Readonly<{
42
+ kind: 'saved';
43
+ }> | Readonly<{
44
+ kind: 'skipped';
45
+ reason: SiteChromeQuickControlHistorySkipReason | 'superseded';
46
+ }> | SiteChromeQuickControlHistoryFailure;
10
47
  type SiteChromeCustomizeSurfaceState = Readonly<{
11
48
  kind: 'unavailable';
12
49
  }> | Readonly<{
@@ -19,8 +56,11 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
19
56
  currentId: HeaderStyleId;
20
57
  currentLabel: string;
21
58
  options: readonly SiteChromeLookOption<HeaderStyleId>[];
59
+ brandDisplay: BrandDisplayMode;
60
+ brandDisplayOptions: readonly HeaderBrandDisplayOption[];
61
+ logoSize: LogoSizePolicy;
62
+ logoSizeOptions: readonly HeaderLogoSizeOption[];
22
63
  diagnostics: readonly string[];
23
- saving: boolean;
24
64
  failure: string | null;
25
65
  applyAllowed: boolean;
26
66
  }> | Readonly<{
@@ -31,7 +71,6 @@ type SiteChromeCustomizeSurfaceState = Readonly<{
31
71
  currentLabel: string;
32
72
  options: readonly SiteChromeLookOption<FooterLookId | null>[];
33
73
  diagnostics: readonly string[];
34
- saving: boolean;
35
74
  failure: string | null;
36
75
  applyAllowed: boolean;
37
76
  }>;
@@ -39,6 +78,10 @@ type SiteChromeCustomizeContextValue = Readonly<{
39
78
  getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
40
79
  cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
41
80
  cycleSurfaceLayout: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
81
+ setHeaderBrandDisplay: (value: BrandDisplayMode) => void;
82
+ setHeaderLogoSize: (value: LogoSizePolicy) => void;
83
+ siteStyleHistory: SiteStyleHistoryController;
84
+ quickControlHistory: SiteChromeQuickControlHistoryController;
42
85
  }>;
43
86
  export type SiteChromeCustomizeProviderProps = Readonly<{
44
87
  children: ReactNode;
@@ -14,6 +14,7 @@ import type { ButtonPersonalityId } from '../../../../theme-core/src/buttons/ind
14
14
  import type { PaletteOverrides, PaletteVariantId } from '../../../../theme-core/src/palette/index';
15
15
  import { type FooterLookId, type HeaderLayoutId, type HeaderLookId, type HeaderStyleId, type TypographyPresetId } from '../../../../theme-core/src/site-styles/index';
16
16
  import type { SelectionFallbackWarning, SiteStyleId } from '../../../../theme-core/src/site-styles/previewCompiler';
17
+ import { type EditorStagedSessionCapabilities, type EditorStagedSessionState } from '../../../../content-editor/src/editorTransactionState';
17
18
  export type StyleConfiguratorSaveStatus = Readonly<{
18
19
  kind: 'idle';
19
20
  }> | Readonly<{
@@ -52,6 +53,14 @@ export type SelectionSnapshot = Readonly<{
52
53
  typographyHeadingFontOverride: string | null;
53
54
  }>;
54
55
  type PaletteOverrideDrafts = Readonly<Partial<Record<PaletteVariantId, PaletteOverrides>>>;
56
+ type StyleConfiguratorTargetKey = 'design:site-style';
57
+ export type StyleConfiguratorHistoryEntry = Readonly<{
58
+ kind: 'site-style-design';
59
+ label: string;
60
+ previous: SelectionSnapshot;
61
+ next: SelectionSnapshot;
62
+ }>;
63
+ export type StyleConfiguratorStagedSession = EditorStagedSessionState<SelectionSnapshot, StyleConfiguratorHistoryEntry, StyleConfiguratorTargetKey>;
55
64
  export type StyleConfiguratorState = Readonly<{
56
65
  /**
57
66
  * Last persisted server snapshot. Updated on apply-success (and on
@@ -68,6 +77,7 @@ export type StyleConfiguratorState = Readonly<{
68
77
  notices: ReadonlyArray<StyleConfiguratorNotice>;
69
78
  paletteOverrideDrafts: PaletteOverrideDrafts;
70
79
  expandedRow: StyleConfiguratorExpandedRow;
80
+ stagedSession: StyleConfiguratorStagedSession;
71
81
  }>;
72
82
  export declare function createStyleConfiguratorState(base: SelectionSnapshot): StyleConfiguratorState;
73
83
  export declare function openRow(state: StyleConfiguratorState, row: Exclude<StyleConfiguratorExpandedRow, null>): StyleConfiguratorState;
@@ -77,6 +87,8 @@ export declare function openRow(state: StyleConfiguratorState, row: Exclude<Styl
77
87
  * `setOverrideTheme` call.
78
88
  */
79
89
  export declare function isPreviewingChange(state: StyleConfiguratorState): boolean;
90
+ export declare function deriveStyleConfiguratorCapabilities(state: StyleConfiguratorState): EditorStagedSessionCapabilities;
91
+ export declare function styleConfiguratorHistoryEntryForPersistedSelection(state: StyleConfiguratorState, persisted: SelectionSnapshot): StyleConfiguratorHistoryEntry | null;
80
92
  export declare function previewSiteStyle(state: StyleConfiguratorState, siteStyleId: SiteStyleId): StyleConfiguratorState;
81
93
  export declare function previewButtonPersonality(state: StyleConfiguratorState, buttonPersonalityId: ButtonPersonalityId): StyleConfiguratorState;
82
94
  export declare function previewHeaderLayout(state: StyleConfiguratorState, headerLayoutId: HeaderLayoutId): StyleConfiguratorState;
@@ -106,7 +118,7 @@ export declare function applyResolvedSelections(state: StyleConfiguratorState, i
106
118
  export declare function cancelPreview(state: StyleConfiguratorState): StyleConfiguratorState;
107
119
  export declare function markApplySaving(state: StyleConfiguratorState): StyleConfiguratorState;
108
120
  export declare function markApplySaved(state: StyleConfiguratorState, persisted: SelectionSnapshot): StyleConfiguratorState;
109
- export declare function markApplyFailed(state: StyleConfiguratorState, message: string): StyleConfiguratorState;
121
+ export declare function markApplyFailed(state: StyleConfiguratorState, message: string, failureKind?: 'retryable' | 'stale'): StyleConfiguratorState;
110
122
  export declare function toggleRow(state: StyleConfiguratorState, row: StyleConfiguratorExpandedRow): StyleConfiguratorState;
111
123
  export declare function dismissWarnings(state: StyleConfiguratorState): StyleConfiguratorState;
112
124
  export declare function dismissNotices(state: StyleConfiguratorState): StyleConfiguratorState;
@@ -116,5 +128,6 @@ export declare function dismissNotices(state: StyleConfiguratorState): StyleConf
116
128
  * changes the persisted selection out-of-band.
117
129
  */
118
130
  export declare function syncStyleConfiguratorState(state: StyleConfiguratorState, base: SelectionSnapshot): StyleConfiguratorState;
131
+ export declare function selectionSnapshotsEqual(a: SelectionSnapshot, b: SelectionSnapshot): boolean;
119
132
  export declare function paletteOverridesEqual(a: PaletteOverrides | null, b: PaletteOverrides | null): boolean;
120
133
  export {};
@@ -0,0 +1,5 @@
1
+ import type { LinkedContentEditTarget } from '../../../../blocks/src/system/data/index';
2
+ export declare const LINKED_ENTRY_EDIT_EVENT: "riverbank:preview:linked-entry-edit";
3
+ export type LinkedEntryEditEvent = CustomEvent<LinkedContentEditTarget>;
4
+ export declare function dispatchLinkedEntryEditEvent(target: LinkedContentEditTarget): void;
5
+ export declare function isLinkedEntryEditEvent(event: Event): event is LinkedEntryEditEvent;
@@ -0,0 +1,46 @@
1
+ import type { BlockItem } from '../../../../editor-blocks/src/index';
2
+ export declare const PREVIEW_CHROME_EDGE_OFFSET_PX = 8;
3
+ export declare const DEFAULT_PREVIEW_CHROME_FLOATING_PLACEMENT: PreviewChromeFloatingPlacement;
4
+ export type HeaderClearance = Readonly<{
5
+ kind: 'none';
6
+ }> | Readonly<{
7
+ kind: 'overlay';
8
+ px: number;
9
+ }>;
10
+ export type PreviewChromeAnchorBox = Readonly<{
11
+ top: number;
12
+ right: number;
13
+ bottom: number;
14
+ height: number;
15
+ }>;
16
+ export type PreviewChromeFloatingPlacement = Readonly<{
17
+ kind: 'anchor-top-right';
18
+ topPx: number;
19
+ rightPx: number;
20
+ }> | Readonly<{
21
+ kind: 'viewport-top-right';
22
+ topPx: number;
23
+ rightPx: number;
24
+ }>;
25
+ export type PreviewChromeFloatingPosition = Readonly<{
26
+ topPx: number;
27
+ rightPx: number;
28
+ }>;
29
+ export declare function headerClearanceFromPx(px: number): HeaderClearance;
30
+ export declare function findFirstEditableContentBlockIndex(blocks: readonly Pick<BlockItem, 'kind'>[]): number | null;
31
+ export declare function blockReceivesHeaderClearance(blocks: readonly Pick<BlockItem, 'kind'>[], blockIndex: number): boolean;
32
+ export declare function planBlockToolbarPlacement(input: Readonly<{
33
+ blocks: readonly Pick<BlockItem, 'kind'>[];
34
+ blockIndex: number;
35
+ headerClearance: HeaderClearance;
36
+ }>): PreviewChromeFloatingPlacement;
37
+ export declare function planSiteChromeCustomizePlacement(input: Readonly<{
38
+ surface: 'header' | 'footer';
39
+ anchorBox: PreviewChromeAnchorBox | null;
40
+ }>): PreviewChromeFloatingPlacement;
41
+ export declare function resolvePreviewChromeFloatingPosition(input: Readonly<{
42
+ anchorBox: PreviewChromeAnchorBox | null;
43
+ containerTopEdgePx?: number;
44
+ containerRightEdgePx: number;
45
+ placement: PreviewChromeFloatingPlacement;
46
+ }>): PreviewChromeFloatingPosition;
@@ -0,0 +1,68 @@
1
+ import { type KeyboardEvent, type MouseEvent, type ReactNode, type Ref } from 'react';
2
+ export type CustomizeControlUnavailableReason = 'single-option' | 'preview-only';
3
+ export type CustomizeControlAvailability = Readonly<{
4
+ kind: 'available';
5
+ }> | Readonly<{
6
+ kind: 'unavailable';
7
+ reason: CustomizeControlUnavailableReason;
8
+ }>;
9
+ export type CustomizeCycleAvailabilityInput = Readonly<{
10
+ kind: 'available';
11
+ }> | Readonly<{
12
+ kind: CustomizeControlUnavailableReason;
13
+ }>;
14
+ export type CustomizePopoverController = Readonly<{
15
+ open: boolean;
16
+ close: () => void;
17
+ toggle: (event: MouseEvent<HTMLElement>) => void;
18
+ buttonRef: Ref<HTMLButtonElement>;
19
+ panelId: string;
20
+ descriptionId: string;
21
+ dialogRef: Ref<HTMLDivElement>;
22
+ registerInitialFocus: Ref<HTMLButtonElement>;
23
+ handleDialogKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
24
+ }>;
25
+ export declare function useCustomizePopoverController(): CustomizePopoverController;
26
+ export type CustomizePillButtonProps = Readonly<{
27
+ buttonRef: Ref<HTMLButtonElement>;
28
+ ariaLabel: string;
29
+ open: boolean;
30
+ controlsId: string;
31
+ onClick: (event: MouseEvent<HTMLButtonElement>) => void;
32
+ disabled?: boolean;
33
+ }>;
34
+ export declare function CustomizePillButton({ buttonRef, ariaLabel, open, controlsId, onClick, disabled, }: CustomizePillButtonProps): import("react/jsx-runtime").JSX.Element;
35
+ export type CustomizePopoverShellProps = Readonly<{
36
+ panelId: string;
37
+ descriptionId: string;
38
+ dialogLabel: string;
39
+ eyebrow: string;
40
+ title: string;
41
+ dialogRef: Ref<HTMLDivElement>;
42
+ closeButtonRef: Ref<HTMLButtonElement>;
43
+ onClose: () => void;
44
+ onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;
45
+ spacing?: 'normal' | 'compact';
46
+ children: ReactNode;
47
+ }>;
48
+ export declare function CustomizePopoverShell({ panelId, descriptionId, dialogLabel, eyebrow, title, dialogRef, closeButtonRef, onClose, onKeyDown, spacing, children, }: CustomizePopoverShellProps): import("react/jsx-runtime").JSX.Element;
49
+ export type CustomizeCycleRowProps = Readonly<{
50
+ label: string;
51
+ valueLabel: string;
52
+ previousLabel: string;
53
+ nextLabel: string;
54
+ availability: CustomizeControlAvailability;
55
+ onPrevious: () => void;
56
+ onNext: () => void;
57
+ }>;
58
+ export type CustomizeCycleControlPlan = CustomizeCycleRowProps;
59
+ export type CustomizePopoverControlPlan = Readonly<{
60
+ cycleRows: readonly CustomizeCycleControlPlan[];
61
+ }>;
62
+ export declare function CustomizeCycleRow({ label, valueLabel, previousLabel, nextLabel, availability, onPrevious, onNext, }: CustomizeCycleRowProps): import("react/jsx-runtime").JSX.Element;
63
+ export declare function cycleAvailability(input: CustomizeCycleAvailabilityInput): CustomizeControlAvailability;
64
+ export declare function cycleUnavailableReasonLabel(reason: CustomizeControlUnavailableReason): string;
65
+ export declare function cycleAvailabilityFromFlags(input: Readonly<{
66
+ canCycle: boolean;
67
+ applyAllowed: boolean;
68
+ }>): CustomizeControlAvailability;
@@ -4,7 +4,7 @@ import type { PreviewCustomizeAction } from '../blocks/previewCustomizeActions';
4
4
  import type { SystemCustomizeFacetHistorySelection } from '../../../../blocks/src/system/customize/facets';
5
5
  import { type BackgroundOverride } from '../../../../blocks/src/system/customize/backgrounds';
6
6
  type PreviewLoadedEditorModel = PageDesignEditorReadModel;
7
- export type PreviewCustomizeHistoryEntry = Readonly<{
7
+ export type PreviewCustomizeAtomicHistoryEntry = Readonly<{
8
8
  kind: 'layout';
9
9
  blockId: PreviewCustomizeActionBlockId;
10
10
  fromLayoutVariantKey: LayoutVariantKey;
@@ -30,6 +30,10 @@ export type PreviewCustomizeHistoryEntry = Readonly<{
30
30
  fromBoundaryOptionId: BoundaryOptionId | null;
31
31
  toBoundaryOptionId: BoundaryOptionId | null;
32
32
  }>;
33
+ export type PreviewCustomizeHistoryEntry = PreviewCustomizeAtomicHistoryEntry | Readonly<{
34
+ kind: 'batch';
35
+ entries: readonly PreviewCustomizeAtomicHistoryEntry[];
36
+ }>;
33
37
  type PreviewCustomizeActionBlockId = DesignBlockId;
34
38
  export type PreviewCustomizeHistoryPresent = Readonly<{
35
39
  editorModel: PreviewLoadedEditorModel;
@@ -40,12 +44,15 @@ export declare function createPreviewCustomizeHistoryState(editorModel: PreviewL
40
44
  export declare function canUndoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): boolean;
41
45
  export declare function canRedoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): boolean;
42
46
  export declare function pushPreviewCustomizeHistoryEntry(state: PreviewCustomizeHistoryState, entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeHistoryState;
47
+ export declare function previewCustomizeBatchHistoryEntry(entries: readonly (PreviewCustomizeHistoryEntry | null)[]): PreviewCustomizeHistoryEntry | null;
43
48
  export declare function replacePreviewCustomizeHistoryModel(state: PreviewCustomizeHistoryState, editorModel: PreviewLoadedEditorModel): PreviewCustomizeHistoryState;
44
49
  export declare function undoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): PreviewCustomizeHistoryState;
45
50
  export declare function redoPreviewCustomizeHistory(state: PreviewCustomizeHistoryState): PreviewCustomizeHistoryState;
46
51
  export declare function previewCustomizeHistoryEntryFromAction(editorModel: PreviewLoadedEditorModel, action: PreviewCustomizeAction): PreviewCustomizeHistoryEntry | null;
47
52
  export declare function previewCustomizeUndoActionForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeAction;
48
53
  export declare function previewCustomizeRedoActionForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeAction;
54
+ export declare function previewCustomizeUndoActionsForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): readonly PreviewCustomizeAction[];
55
+ export declare function previewCustomizeRedoActionsForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): readonly PreviewCustomizeAction[];
49
56
  export declare function previewCustomizeHistoryPresentEquals(left: PreviewCustomizeHistoryPresent, right: PreviewCustomizeHistoryPresent): boolean;
50
57
  export declare function contentRevisionIdForBlock(editorModel: PreviewLoadedEditorModel, blockId: PreviewCustomizeActionBlockId): string | null;
51
58
  export {};