@riverbankcms/sdk 0.62.2 → 0.64.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 (386) hide show
  1. package/README.md +11 -0
  2. package/dist/_dts/api/src/accessAdmin.d.ts +71 -2
  3. package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
  4. package/dist/_dts/api/src/billing.d.ts +46 -10
  5. package/dist/_dts/api/src/bookingClosures.d.ts +106 -0
  6. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  7. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +18 -0
  8. package/dist/_dts/api/src/bookingRecords.d.ts +27 -1
  9. package/dist/_dts/api/src/calendar.d.ts +11 -1
  10. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +3 -0
  12. package/dist/_dts/api/src/contentVersionHistory.d.ts +52 -0
  13. package/dist/_dts/api/src/contentVersionHistoryClient.d.ts +45 -0
  14. package/dist/_dts/api/src/courses.d.ts +3 -0
  15. package/dist/_dts/api/src/endpoints.d.ts +133 -6
  16. package/dist/_dts/api/src/index.d.ts +12 -6
  17. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -0
  18. package/dist/_dts/api/src/sdkContracts.d.ts +13 -1
  19. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +31 -7
  20. package/dist/_dts/api/src/siteMembers.d.ts +10 -1
  21. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  22. package/dist/_dts/api/src/siteOperations.d.ts +10 -0
  23. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +62 -12
  24. package/dist/_dts/api/src/types.d.ts +4 -2
  25. package/dist/_dts/api/src/url.d.ts +3 -3
  26. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  27. package/dist/_dts/billing/src/plans/types.d.ts +9 -0
  28. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  29. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  30. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  31. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  32. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  33. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  34. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  35. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  36. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  37. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  38. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  39. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  40. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  41. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  42. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  43. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  44. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  45. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  46. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  47. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  48. package/dist/_dts/block-form/src/index.d.ts +22 -0
  49. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  50. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  51. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  52. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  53. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  54. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  55. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  56. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  57. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  58. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  59. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  60. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  61. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  62. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  63. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  64. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  65. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  66. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  67. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  68. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  69. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  70. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  71. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  72. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  73. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  74. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  75. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  76. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  77. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  78. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  79. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  80. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  81. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  82. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  83. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  84. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  85. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  86. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  87. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  88. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  89. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  91. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  92. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  93. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  94. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  95. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  96. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  97. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  98. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  99. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  100. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  101. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  102. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  103. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  104. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  105. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  106. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  107. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  109. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  110. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  111. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  112. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  113. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  114. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  115. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  116. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  117. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  118. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  119. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  120. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  121. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  122. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  123. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  124. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  152. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  153. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  154. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  155. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  156. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  157. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  158. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  159. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  160. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  161. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  162. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  163. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  164. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  165. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  166. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  167. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  168. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  169. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  170. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  171. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  172. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  174. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  175. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  176. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  177. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  178. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  179. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  180. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  181. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  182. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  183. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  184. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  185. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  186. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  187. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  188. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  189. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  190. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  191. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  192. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  193. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  194. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  195. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  196. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  197. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  198. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  199. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  200. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  201. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  202. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  203. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  204. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  205. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  206. package/dist/_dts/blocks/src/bindings/index.d.ts +2 -2
  207. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  208. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  209. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  210. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  212. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  213. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  215. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  216. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  218. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  219. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  220. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  221. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  222. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  223. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  225. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  226. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  227. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  228. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  229. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  230. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  231. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  232. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  233. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  234. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  235. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  236. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  237. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  238. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  239. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  240. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  241. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  242. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  243. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.state.d.ts +12 -0
  244. package/dist/_dts/blocks/src/system/runtime/shared/components/FieldValidationMessage.d.ts +19 -0
  245. package/dist/_dts/blocks/src/system/runtime/shared/components/TerminalPanel.d.ts +8 -2
  246. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +3 -1
  247. package/dist/_dts/blocks/src/system/runtime/shared/index.d.ts +2 -2
  248. package/dist/_dts/blocks/src/system/transforms/registry/_utils/themeColorResolution.d.ts +7 -0
  249. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  250. package/dist/_dts/calendar/src/group.d.ts +14 -0
  251. package/dist/_dts/calendar/src/index.d.ts +6 -0
  252. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  253. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  254. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  255. package/dist/_dts/content-editor/src/hooks/useDebouncedLatestSave.d.ts +24 -0
  256. package/dist/_dts/content-editor/src/index.d.ts +2 -4
  257. package/dist/_dts/content-editor/src/ui/stores/autosaveStore.d.ts +1 -0
  258. package/dist/_dts/content-editor/src/ui/stores/types.d.ts +1 -0
  259. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  260. package/dist/_dts/core/src/branded.d.ts +18 -0
  261. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +1192 -234
  262. package/dist/_dts/db/src/schemas/forms.d.ts +1 -0
  263. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  264. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  265. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  266. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  267. package/dist/_dts/preview-next/src/client/blocks/BlockToolbar.d.ts +2 -1
  268. package/dist/_dts/preview-next/src/client/blocks/composer/composePageFromBlocks.d.ts +2 -1
  269. package/dist/_dts/preview-next/src/client/blocks/composer/index.d.ts +2 -2
  270. package/dist/_dts/preview-next/src/client/blocks/composer/mergeDrafts.d.ts +2 -1
  271. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +31 -8
  272. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +6 -5
  273. package/dist/_dts/preview-next/src/client/blocks/previewProjection/aiProposalProjection.d.ts +7 -0
  274. package/dist/_dts/preview-next/src/client/blocks/previewProjection/applyPreviewProjections.d.ts +7 -0
  275. package/dist/_dts/preview-next/src/client/blocks/previewProjection/index.d.ts +4 -0
  276. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +5 -0
  277. package/dist/_dts/preview-next/src/client/blocks/previewProjection/types.d.ts +72 -0
  278. package/dist/_dts/preview-next/src/client/index.d.ts +1 -1
  279. package/dist/_dts/preview-next/src/client/layout/PreviewLayoutContext.d.ts +6 -5
  280. package/dist/_dts/preview-next/src/client/preview/PageDesignEditorStateContext.d.ts +2 -1
  281. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +12 -1
  282. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +10 -5
  283. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +7 -1
  284. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  285. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  286. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  287. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +15 -2
  288. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +8 -1
  289. package/dist/_dts/preview-next/src/client/preview/previewCustomizeControlStyles.d.ts +1 -0
  290. package/dist/_dts/preview-next/src/client/preview/previewCustomizeHistory.d.ts +1 -0
  291. package/dist/_dts/preview-next/src/client/preview/previewCustomizeRuntimePatch.d.ts +9 -1
  292. package/dist/_dts/preview-next/src/client/preview/previewCustomizeWorkflowState.d.ts +13 -0
  293. package/dist/_dts/preview-next/src/client/preview/sidebarTabPreference.d.ts +8 -2
  294. package/dist/_dts/preview-next/src/client/preview/siteChromeLookRows.d.ts +49 -0
  295. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  296. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  297. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  298. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +17 -0
  299. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  300. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  301. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  302. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  303. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  304. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +21 -0
  305. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  306. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  307. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  308. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  309. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +85 -0
  310. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +2 -0
  311. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +30 -0
  312. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +1 -0
  313. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  314. package/dist/_dts/sdk/src/public-api/contracts.d.ts +4 -1
  315. package/dist/_dts/sdk/src/version.d.ts +1 -1
  316. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  317. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  318. package/dist/_dts/site-commands/src/commands.d.ts +1944 -0
  319. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  320. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  321. package/dist/_dts/site-commands/src/index.d.ts +9 -0
  322. package/dist/_dts/site-commands/src/metadata.d.ts +412 -0
  323. package/dist/_dts/site-commands/src/planner.d.ts +51 -0
  324. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  325. package/dist/_dts/site-commands/src/refs.d.ts +75 -0
  326. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  327. package/dist/_dts/surfaces/src/index.d.ts +1 -0
  328. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  329. package/dist/_dts/theme-core/src/index.d.ts +1 -1
  330. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +2 -21
  331. package/dist/_dts/theme-core/src/site-styles/appearancePresetCatalog.d.ts +3 -67
  332. package/dist/_dts/theme-core/src/site-styles/appearancePresetTypes.d.ts +4 -62
  333. package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +1 -1
  334. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +24 -0
  335. package/dist/_dts/theme-core/src/site-styles/customizableSurfaces.d.ts +94 -0
  336. package/dist/_dts/theme-core/src/site-styles/footerLooks.d.ts +59 -0
  337. package/dist/_dts/theme-core/src/site-styles/generatedDesignPipeline.d.ts +4 -0
  338. package/dist/_dts/theme-core/src/site-styles/headerCtaVariants.d.ts +3 -0
  339. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +155 -0
  340. package/dist/_dts/theme-core/src/site-styles/headerOpeningSection.d.ts +15 -0
  341. package/dist/_dts/theme-core/src/site-styles/index.d.ts +6 -0
  342. package/dist/_dts/theme-core/src/site-styles/pageDesignAuthority.d.ts +7 -0
  343. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +25 -0
  344. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +15 -1
  345. package/dist/_dts/theme-core/src/site-styles/records.d.ts +1 -0
  346. package/dist/_dts/theme-core/src/site-styles/siteStyleBlockPolicies.d.ts +96 -0
  347. package/dist/_dts/theme-core/src/site-styles/types.d.ts +1 -2
  348. package/dist/_dts/theme-core/src/siteChrome.d.ts +44 -2
  349. package/dist/_dts/theme-core/src/tokens/colorTokenParts.d.ts +13 -0
  350. package/dist/_dts/theme-core/src/tokens/index.d.ts +2 -0
  351. package/dist/_dts/theme-core/src/tokens/themeColorTokens.d.ts +29 -0
  352. package/dist/_dts/theme-core/src/utils/tokenOrColor.d.ts +27 -1
  353. package/dist/cli/index.mjs +5049 -932
  354. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  355. package/dist/client/bookings.mjs +544 -393
  356. package/dist/client/client.mjs +5189 -4144
  357. package/dist/client/hooks.mjs +3233 -2540
  358. package/dist/client/rendering/client.mjs +4649 -3597
  359. package/dist/client/rendering/islands.mjs +19533 -13480
  360. package/dist/client/rendering.mjs +5218 -4171
  361. package/dist/preview-next/before-render.mjs +161 -6
  362. package/dist/preview-next/client/runtime.mjs +5676 -3565
  363. package/dist/preview-next/editor-base.css +31 -0
  364. package/dist/preview-next/middleware.mjs +154 -6
  365. package/dist/server/components.mjs +3333 -2575
  366. package/dist/server/config-validation.mjs +3447 -2754
  367. package/dist/server/config.mjs +3450 -2757
  368. package/dist/server/data.mjs +3233 -2540
  369. package/dist/server/index.mjs +730 -543
  370. package/dist/server/next.mjs +3651 -2893
  371. package/dist/server/page-converter.mjs +2512 -2031
  372. package/dist/server/prebuild.mjs +1 -1
  373. package/dist/server/rendering/server.mjs +3333 -2575
  374. package/dist/server/rendering.mjs +3352 -2594
  375. package/dist/server/routing.mjs +3351 -2640
  376. package/dist/server/server.mjs +3262 -2569
  377. package/dist/server/theme-bridge.mjs +1260 -767
  378. package/dist/server/theme.mjs +623 -498
  379. package/dist/styles/index.css +33 -0
  380. package/package.json +2 -1
  381. package/dist/_dts/blocks/src/system/transforms/registry/_utils/colorResolution.d.ts +0 -13
  382. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  383. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  384. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
  385. package/dist/_dts/preview-next/src/client/blocks/overlay.d.ts +0 -30
  386. package/dist/_dts/theme-core/src/site-styles/siteChromeAppearancePresets.d.ts +0 -67
@@ -886,6 +886,7 @@ export declare function parseBookingQuestionsContent(shape: BookingQuestionsForm
886
886
  * Form creation payload schema
887
887
  * Validates the request body when creating a new form via API
888
888
  */
889
+ export declare const formSlugSchema: z.ZodString;
889
890
  export declare const createFormPayloadSchema: z.ZodObject<{
890
891
  name: z.ZodString;
891
892
  slug: z.ZodString;
@@ -18,6 +18,6 @@ export type { BlockDraftSaveability, BlockDraftValidationIssue } from '@riverban
18
18
  export { applyManifestIssuesToForm } from './manifestIssues';
19
19
  export { BlockPickerDialog } from './block-editor/BlockPickerDialog';
20
20
  export { MediaField } from './media/MediaField';
21
- export * from './widgets';
21
+ export * from './widgets/index';
22
22
  export { createBlockFormLogger, setBlockFormLoggerFactory, setBlockFormAppLogger } from './block-form/debug';
23
23
  export type { BlockFormLogger } from './block-form/debug';
@@ -1,7 +1,7 @@
1
- export * from './button';
2
- export * from './content-type-select';
3
- export * from './entry-picker';
4
- export * from './icon-picker';
5
- export * from './link';
6
- export * from './reference';
7
- export * from './rich-text';
1
+ export * from './button/index';
2
+ export * from './content-type-select/index';
3
+ export * from './entry-picker/index';
4
+ export * from './icon-picker/index';
5
+ export * from './link/index';
6
+ export * from './reference/index';
7
+ export * from './rich-text/index';
@@ -3,7 +3,7 @@ import { type LinkValue } from '@riverbankcms/blocks';
3
3
  import type { RoutableContentItem } from '@riverbankcms/api/navigation';
4
4
  import type { SiteId } from '@riverbankcms/core';
5
5
  import type { LinkWidgetAdapters } from './types';
6
- type LinkWidgetProps = {
6
+ export type LinkWidgetProps = {
7
7
  siteId?: SiteId;
8
8
  value: LinkValue | null;
9
9
  onChange: (value: LinkValue | null) => void;
@@ -16,4 +16,3 @@ type LinkWidgetProps = {
16
16
  mode?: 'inline' | 'dialog';
17
17
  };
18
18
  export declare function LinkWidget({ siteId, value, onChange, disabled, initialItems, adapters, label, description, fieldPath, mode, }: LinkWidgetProps): import("react/jsx-runtime").JSX.Element;
19
- export {};
@@ -1,4 +1,5 @@
1
1
  export { LinkWidget } from './LinkWidget';
2
+ export type { LinkWidgetProps } from './LinkWidget';
2
3
  export { LinkPicker } from './LinkPicker';
3
4
  export { LinkPickerDialog } from './LinkPickerDialog';
4
5
  export { LinkSummary } from './LinkSummary';
@@ -1,5 +1,6 @@
1
- export declare function BlockToolbar({ blockId, blockKind, content, }: {
1
+ export declare function BlockToolbar({ blockId, blockKind, content, headerClearancePx, }: {
2
2
  blockId: string;
3
3
  blockKind: string;
4
4
  content: Record<string, unknown>;
5
+ headerClearancePx?: number;
5
6
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,8 @@
1
1
  import type { MutableRefObject } from 'react';
2
2
  import type { PageOutline } from '@riverbankcms/blocks';
3
- import type { ComposePageArgs, CachedBlockTransform, BlockWithContent } from './types';
3
+ import type { ComposePageArgs, ComposePreviewRenderPageArgs, CachedBlockTransform, BlockWithContent } from './types';
4
4
  export type PageOutlineWithContent = Omit<PageOutline, 'blocks'> & {
5
5
  blocks: BlockWithContent[];
6
6
  };
7
7
  export declare function composePageFromBlocks(args: ComposePageArgs, cacheRef: MutableRefObject<Map<string, CachedBlockTransform>>): PageOutlineWithContent | null;
8
+ export declare function composePreviewRenderPage(args: ComposePreviewRenderPageArgs, cacheRef: MutableRefObject<Map<string, CachedBlockTransform>>): PageOutlineWithContent | null;
@@ -1,2 +1,2 @@
1
- export { composePageFromBlocks } from './composePageFromBlocks';
2
- export type { ComposePageArgs, CachedBlockTransform, EditorDraftInspectorStore } from './types';
1
+ export { composePageFromBlocks, composePreviewRenderPage, } from './composePageFromBlocks';
2
+ export type { CachedBlockTransform, ComposePageArgs, ComposePreviewRenderPageArgs, EditorDraftInspectorStore, } from './types';
@@ -1,5 +1,6 @@
1
1
  import type { EditorBlockId } from '@riverbankcms/core';
2
2
  import type { BlockItem } from '@riverbankcms/editor-blocks';
3
3
  import type { DraftSnapshot, EditorDraftInspectorStore, EnrichedBlock } from './types';
4
+ import { type PreviewProjection } from '../previewProjection';
4
5
  export declare function getDraftSnapshots(uiStore: EditorDraftInspectorStore): Map<EditorBlockId, DraftSnapshot>;
5
- export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, uiStore: EditorDraftInspectorStore): EnrichedBlock;
6
+ export declare function mergeBlockWithDraft(block: BlockItem, draftMap: Map<EditorBlockId, DraftSnapshot>, index: number, projections?: readonly PreviewProjection[]): EnrichedBlock;
@@ -1,29 +1,30 @@
1
1
  import type { PageOutline } from '@riverbankcms/blocks';
2
2
  import type { EditorBlockId } from '@riverbankcms/core';
3
3
  import type { BlockItem } from '@riverbankcms/editor-blocks';
4
+ import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from '../previewProjection';
4
5
  export type BlockWithContent = {
5
6
  [key: string]: unknown;
6
7
  id: string | null;
7
8
  kind: string;
8
9
  purpose: string;
9
- content?: Record<string, unknown>;
10
- draftContent?: Record<string, unknown> | null;
11
- publishedContent?: Record<string, unknown> | null;
10
+ content?: PreviewRenderContent;
11
+ draftContent?: PreviewRenderContent | null;
12
+ publishedContent?: PreviewRenderContent | null;
12
13
  bindings?: Record<string, unknown>;
13
14
  };
14
15
  export type DraftSnapshot = {
15
16
  id: EditorBlockId;
16
- baseline: Record<string, unknown> | null;
17
- current: Record<string, unknown> | null;
17
+ baseline: CanonicalBlockContent | null;
18
+ current: CanonicalBlockContent | null;
18
19
  };
19
20
  export type EnrichedBlock = {
20
21
  id: string | null;
21
22
  kind: string;
22
23
  purpose: string;
23
24
  orderIndex: number;
24
- content: Record<string, unknown> | null;
25
- draftContent: Record<string, unknown> | null;
26
- publishedContent: Record<string, unknown> | null;
25
+ content: PreviewRenderContent | null;
26
+ draftContent: PreviewRenderContent | null;
27
+ publishedContent: PreviewRenderContent | null;
27
28
  bindings: Record<string, unknown> | null;
28
29
  };
29
30
  export type CachedBlockTransform = {
@@ -42,6 +43,21 @@ export type EditorDraftInspectorStore = {
42
43
  before: unknown;
43
44
  after: unknown;
44
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;
45
61
  };
46
62
  };
47
63
  };
@@ -49,4 +65,11 @@ export type ComposePageArgs = {
49
65
  page: PageOutline | null;
50
66
  blockItems: BlockItem[];
51
67
  uiStore: EditorDraftInspectorStore;
68
+ projections?: readonly PreviewProjection[];
69
+ };
70
+ export type ComposePreviewRenderPageArgs = {
71
+ page: PageOutline | null;
72
+ blockItems: BlockItem[];
73
+ draftSnapshots: readonly DraftSnapshot[];
74
+ projections: readonly PreviewProjection[];
52
75
  };
@@ -1,14 +1,15 @@
1
1
  import type { BlockItem } from '@riverbankcms/editor-blocks';
2
- import { type CompiledBlockRuntimeFields, type DesignBlockId, type PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles/previewCompiler';
2
+ import type { PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles/previewCompiler';
3
3
  import type { PreviewPageDesignEditorState } from '../preview/PageDesignEditorStateContext';
4
- type RuntimeFieldsByBlockId = ReadonlyMap<DesignBlockId, CompiledBlockRuntimeFields>;
5
- type RuntimePreviewSource = Readonly<{
4
+ import { type RuntimeContentDecorationProjection } from './previewProjection';
5
+ export type RuntimePreviewSource = Readonly<{
6
6
  kind: 'preserve-server-runtime';
7
7
  }> | Readonly<{
8
8
  kind: 'apply-editor-model';
9
9
  editorModel: PageDesignEditorReadModel;
10
10
  }>;
11
11
  export declare function applyPageDesignRuntimeFieldsToBlockItems(blockItems: readonly BlockItem[], source: RuntimePreviewSource): BlockItem[];
12
- export declare function buildPageDesignRuntimeFieldsByBlockId(editorModel: PageDesignEditorReadModel): RuntimeFieldsByBlockId;
12
+ export declare function applyPageDesignRuntimeFieldsToBlockContent(block: BlockItem, content: Record<string, unknown> | null, source: RuntimePreviewSource): Record<string, unknown> | null;
13
+ export declare function buildPageDesignRuntimeFieldsByBlockId(editorModel: PageDesignEditorReadModel): RuntimeContentDecorationProjection['fieldsByBlockId'];
14
+ export declare function pageDesignRuntimeProjectionFromSource(source: RuntimePreviewSource): RuntimeContentDecorationProjection | null;
13
15
  export declare function resolveRuntimePreviewSource(pageDesignState: PreviewPageDesignEditorState): RuntimePreviewSource;
14
- export {};
@@ -0,0 +1,7 @@
1
+ import type { EditorBlockId } from '@riverbankcms/core';
2
+ import type { BlockItem } from '@riverbankcms/editor-blocks';
3
+ import type { AiProposalProjectionState, CanonicalBlockContent, ContentFieldOverrideProjection, PreviewProjection, PreviewRenderContent, StructureProjection } from './types';
4
+ export declare function previewProjectionsFromAiOverlays(overlays: AiProposalProjectionState | null | undefined): PreviewProjection[];
5
+ export declare function applyStructureProjection(blockItems: readonly BlockItem[], projection: StructureProjection): BlockItem[];
6
+ export declare function applyContentFieldOverrideProjection(blockId: EditorBlockId, content: CanonicalBlockContent | PreviewRenderContent | null, projection: ContentFieldOverrideProjection): PreviewRenderContent | CanonicalBlockContent | null;
7
+ export declare function blockHasContentFieldOverrideProjection(blockId: EditorBlockId, projection: ContentFieldOverrideProjection): boolean;
@@ -0,0 +1,7 @@
1
+ import type { EditorBlockId } from '@riverbankcms/core';
2
+ import type { BlockItem } from '@riverbankcms/editor-blocks';
3
+ import type { CanonicalBlockContent, PreviewProjection, PreviewRenderContent } from './types';
4
+ export declare function applyPreviewStructureProjections(blockItems: readonly BlockItem[], projections: readonly PreviewProjection[]): BlockItem[];
5
+ export declare function applyPreviewContentFieldProjections(blockId: EditorBlockId, content: CanonicalBlockContent | null, projections: readonly PreviewProjection[]): CanonicalBlockContent | PreviewRenderContent | null;
6
+ export declare function applyPreviewRuntimeContentProjections(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projections: readonly PreviewProjection[]): CanonicalBlockContent | PreviewRenderContent | null;
7
+ export declare function blockHasPreviewContentFieldProjection(blockId: EditorBlockId, projections: readonly PreviewProjection[]): boolean;
@@ -0,0 +1,4 @@
1
+ export { applyContentFieldOverrideProjection, applyStructureProjection, blockHasContentFieldOverrideProjection, previewProjectionsFromAiOverlays, } from './aiProposalProjection';
2
+ export { applyPreviewContentFieldProjections, applyPreviewRuntimeContentProjections, applyPreviewStructureProjections, blockHasPreviewContentFieldProjection, } from './applyPreviewProjections';
3
+ export { applyRuntimeContentDecorationProjection, runtimeContentDecorationProjectionFromEditorModel, } from './runtimeContentDecoration';
4
+ export type { AiProposalProjectionState, CanonicalBlockContent, ContentFieldOverrideProjection, PreviewFieldOverride, PreviewProjection, PreviewProjectionAddedBlock, PreviewRenderContent, RuntimeContentDecorationProjection, StructureProjection, } from './types';
@@ -0,0 +1,5 @@
1
+ import type { BlockItem } from '@riverbankcms/editor-blocks';
2
+ import { type PageDesignEditorReadModel } from '@riverbankcms/theme-core/site-styles/previewCompiler';
3
+ import type { CanonicalBlockContent, PreviewRenderContent, RuntimeContentDecorationProjection } from './types';
4
+ export declare function runtimeContentDecorationProjectionFromEditorModel(editorModel: PageDesignEditorReadModel): RuntimeContentDecorationProjection;
5
+ export declare function applyRuntimeContentDecorationProjection(block: BlockItem, content: CanonicalBlockContent | PreviewRenderContent | null, projection: RuntimeContentDecorationProjection): PreviewRenderContent;
@@ -0,0 +1,72 @@
1
+ import type { EditorBlockId } from '@riverbankcms/core';
2
+ import type { BlockItem } from '@riverbankcms/editor-blocks';
3
+ import type { CompiledBlockRuntimeFields, DesignBlockId } from '@riverbankcms/theme-core/site-styles/previewCompiler';
4
+ export type CanonicalBlockContent = Record<string, unknown> & {
5
+ readonly __contentAuthority?: 'canonical-block-content';
6
+ };
7
+ export type PreviewRenderContent = Record<string, unknown> & {
8
+ readonly __contentAuthority?: 'preview-render-content';
9
+ };
10
+ export type PreviewFieldOverride = Readonly<{
11
+ proposalId: string;
12
+ before: unknown;
13
+ after: unknown;
14
+ }>;
15
+ export type AiProposalProjectionState = Readonly<{
16
+ viewMode: 'before' | 'after';
17
+ overrides: ReadonlyMap<string, PreviewFieldOverride>;
18
+ structure?: AiStructureProjectionInput | null;
19
+ }>;
20
+ export type AiStructureProjectionInput = Readonly<{
21
+ proposalId: string;
22
+ includeUnspecified?: boolean;
23
+ before: Readonly<{
24
+ blockIds: readonly string[];
25
+ }>;
26
+ after: Readonly<{
27
+ blockIds: readonly string[];
28
+ addedBlocks?: readonly PreviewProjectionAddedBlock[];
29
+ }>;
30
+ }>;
31
+ export type PreviewProjectionAddedBlock = Readonly<{
32
+ id: string;
33
+ kind: string;
34
+ content?: CanonicalBlockContent | null;
35
+ }>;
36
+ export type PreviewProjection = Readonly<{
37
+ kind: 'structure-overlay';
38
+ source: 'ai-proposal';
39
+ viewMode: 'before' | 'after';
40
+ proposalId: string;
41
+ includeUnspecified?: boolean;
42
+ before: Readonly<{
43
+ blockIds: readonly string[];
44
+ }>;
45
+ after: Readonly<{
46
+ blockIds: readonly string[];
47
+ addedBlocks?: readonly PreviewProjectionAddedBlock[];
48
+ }>;
49
+ }> | Readonly<{
50
+ kind: 'content-field-overrides';
51
+ source: 'ai-proposal';
52
+ viewMode: 'before' | 'after';
53
+ overrides: ReadonlyMap<string, PreviewFieldOverride>;
54
+ }> | Readonly<{
55
+ kind: 'runtime-content-decoration';
56
+ source: 'page-design';
57
+ fieldsByBlockId: ReadonlyMap<DesignBlockId, CompiledBlockRuntimeFields>;
58
+ }>;
59
+ export type StructureProjection = Extract<PreviewProjection, {
60
+ kind: 'structure-overlay';
61
+ }>;
62
+ export type ContentFieldOverrideProjection = Extract<PreviewProjection, {
63
+ kind: 'content-field-overrides';
64
+ }>;
65
+ export type RuntimeContentDecorationProjection = Extract<PreviewProjection, {
66
+ kind: 'runtime-content-decoration';
67
+ }>;
68
+ export type ContentProjectionTarget = Readonly<{
69
+ block: BlockItem;
70
+ editorBlockId: EditorBlockId | null;
71
+ content: CanonicalBlockContent | null;
72
+ }>;
@@ -8,7 +8,7 @@ export { PreviewShellSmoke } from "./PreviewShellSmoke";
8
8
  export { PreviewLayoutProvider, usePreviewLayout, } from "./layout/PreviewLayoutContext";
9
9
  export { useOptionalPreviewLayout } from "./layout/PreviewLayoutContext";
10
10
  export { previewAssistantEnabled, resolvePreviewSidebarTab, } from "./preview/assistantAvailability";
11
- export type { PreviewSidebarTab } from "./preview/sidebarTabPreference";
11
+ export type { PreviewDesignRow, PreviewSidebarOpenRequest, PreviewSidebarTab, } from "./preview/sidebarTabPreference";
12
12
  export { getPreviewSidebarTab, onPreviewSidebarOpenRequest, requestPreviewSidebarOpen, setPreviewSidebarTab, } from "./preview/sidebarTabPreference";
13
13
  export type { PreviewViewportControlsProps, ViewportMode, ViewportWidth, } from "./preview/PreviewViewportControls";
14
14
  export { PreviewViewportControls } from "./preview/PreviewViewportControls";
@@ -1,17 +1,18 @@
1
1
  import { type ReactNode } from 'react';
2
- import type { SiteChromeLayoutNodes } from '@riverbankcms/theme-core/siteChrome';
3
- type PreviewLayoutContextValue = SiteChromeLayoutNodes | null;
4
- export declare function PreviewLayoutProvider({ headerNode, bannerNode, bannerShellBehavior, footerNode, children, }: {
2
+ type PreviewLayoutContextValue = Readonly<{
3
+ headerNode: ReactNode;
4
+ bannerNode?: ReactNode;
5
+ footerNode: ReactNode;
6
+ }> | null;
7
+ export declare function PreviewLayoutProvider({ headerNode, bannerNode, footerNode, children, }: {
5
8
  headerNode: ReactNode;
6
9
  bannerNode?: ReactNode;
7
- bannerShellBehavior?: SiteChromeLayoutNodes['bannerShellBehavior'];
8
10
  footerNode: ReactNode;
9
11
  children: ReactNode;
10
12
  }): import("react/jsx-runtime").JSX.Element;
11
13
  export declare function usePreviewLayout(): Readonly<{
12
14
  headerNode: ReactNode;
13
15
  bannerNode?: ReactNode;
14
- bannerShellBehavior?: import("@riverbankcms/blocks").SiteTopShellBehavior;
15
16
  footerNode: ReactNode;
16
17
  }>;
17
18
  export declare function useOptionalPreviewLayout(): PreviewLayoutContextValue;
@@ -17,11 +17,12 @@ type PageDesignEditorStateContextValue = Readonly<{
17
17
  }>;
18
18
  export declare const PREVIEW_CUSTOMIZE_STALE_MESSAGE = "This page changed since that design choice. Refresh the preview, then try again.";
19
19
  export { applyPreviewCustomizeActionToState } from './previewCustomizeWorkflowState';
20
- export declare function PreviewPageDesignEditorStateProvider({ apiClient, siteId, pageId, enabled, children, }: Readonly<{
20
+ export declare function PreviewPageDesignEditorStateProvider({ apiClient, siteId, pageId, enabled, autosaveDelayMs, children, }: Readonly<{
21
21
  apiClient: ApiClient;
22
22
  siteId: string;
23
23
  pageId: string | null;
24
24
  enabled: boolean;
25
+ autosaveDelayMs?: number;
25
26
  children: ReactNode;
26
27
  }>): import("react/jsx-runtime").JSX.Element;
27
28
  export declare function usePreviewPageDesignEditorState(): PageDesignEditorStateContextValue;
@@ -7,6 +7,8 @@ import { type ContentTypeSchema } from "@riverbankcms/content-model";
7
7
  import { type ZoomLevel } from "@riverbankcms/content-editor";
8
8
  import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
9
9
  import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
10
+ import type { FooterSelectionContext, FooterLookId, HeaderSelectionContext, HeaderLookId } from "@riverbankcms/theme-core/site-styles";
11
+ import type { PreviewDesignRow } from "./sidebarTabPreference";
10
12
  import type { ViewportMode, ViewportWidth } from "./PreviewViewportControls";
11
13
  import { type SiteStyleAccess } from "./siteStyleAccess";
12
14
  export type PreviewEditorSidebarTab = "editor" | "assistant";
@@ -31,10 +33,19 @@ export type PreviewEditorSidebarProps = {
31
33
  theme?: Theme | null;
32
34
  themeId?: string | null;
33
35
  themeSelectionId?: string | null;
36
+ themeSelectionUpdatedAt?: string | null;
34
37
  /** Persisted Style configurator selections (Phase C / E). */
35
38
  themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
36
39
  themeSelectionPaletteVariantId?: PaletteVariantId | null;
37
40
  themeSelectionPaletteOverrides?: PaletteOverrides | null;
41
+ themeSelectionHeaderLookId?: HeaderLookId | null;
42
+ themeSelectionFooterLookId?: FooterLookId | null;
43
+ themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
44
+ themeSelectionFooterContext?: Partial<FooterSelectionContext>;
45
+ designRowRequest?: Readonly<{
46
+ id: number;
47
+ row: PreviewDesignRow;
48
+ }> | null;
38
49
  apiClient: ApiClient;
39
50
  bearerToken?: string | null;
40
51
  supabaseUrl?: string;
@@ -53,4 +64,4 @@ export type PreviewEditorSidebarProps = {
53
64
  onViewportWidthChange: (width: ViewportWidth) => void;
54
65
  onZoomChange: (zoom: ZoomLevel) => void;
55
66
  };
56
- export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): import("react/jsx-runtime").JSX.Element;
67
+ export declare function PreviewEditorSidebar({ surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, theme, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, designRowRequest, apiClient, bearerToken, supabaseUrl, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, siteStyleAccess, activeTab, onTabChange, onClose, viewportMode, viewportWidth, zoom, onViewportModeChange, onViewportWidthChange, onZoomChange, }: PreviewEditorSidebarProps): import("react/jsx-runtime").JSX.Element;
@@ -2,6 +2,7 @@ import { type ComponentProps, type ReactNode } from "react";
2
2
  import { BlockApiProvider } from "@riverbankcms/blocks/client";
3
3
  import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
4
4
  import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
5
+ import type { FooterSelectionContext, FooterLookId, HeaderSelectionContext, HeaderLookId } from "@riverbankcms/theme-core/site-styles";
5
6
  import type { EntrySubrouteContextData, MediaAssetIndexItem, Theme } from "@riverbankcms/blocks";
6
7
  import type { ContentTypeSchema } from "@riverbankcms/content-model";
7
8
  import type { SdkConfigForBlockPicker } from "@riverbankcms/editor-blocks";
@@ -33,15 +34,19 @@ export type PreviewShellProps = {
33
34
  theme: Theme;
34
35
  themeId?: string | null;
35
36
  themeSelectionId?: string | null;
37
+ themeSelectionUpdatedAt?: string | null;
36
38
  /**
37
- * Persisted Style configurator selections (Phase C). Forwarded into the
38
- * StyleConfigurator so reload renders the user's saved button personality
39
- * + palette variant + sparse overrides instead of falling back to the
40
- * site style defaults.
39
+ * Persisted Style configurator selections. Forwarded into StyleConfigurator
40
+ * so reload renders the user's saved button personality, palette variant,
41
+ * and sparse overrides instead of falling back to the site style defaults.
41
42
  */
42
43
  themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
43
44
  themeSelectionPaletteVariantId?: PaletteVariantId | null;
44
45
  themeSelectionPaletteOverrides?: PaletteOverrides | null;
46
+ themeSelectionHeaderLookId?: HeaderLookId | null;
47
+ themeSelectionFooterLookId?: FooterLookId | null;
48
+ themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
49
+ themeSelectionFooterContext?: Partial<FooterSelectionContext>;
45
50
  pageId: string | null;
46
51
  routeId: string | null;
47
52
  entryData?: PreviewContentEntryData | null;
@@ -63,7 +68,7 @@ export type PreviewShellProps = {
63
68
  designEditorEligibility?: PreviewDesignEditorEligibility;
64
69
  baseFetch?: BaseFetch;
65
70
  };
66
- export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
71
+ export declare function PreviewShell({ children, apiBaseUrl, blockApiConfig, siteId, siteSlug, editableId, previewSession, previewToken, dashboardBaseUrl, surfaceId, theme, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, pageId, routeId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, initialStatus, initialBlocks, pageMetadata, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, supabaseUrl, useThemeScope, designEditorEligibility, baseFetch, }: PreviewShellProps): import("react/jsx-runtime").JSX.Element;
67
72
  export declare function defaultDesignEditorEligibility(input: Readonly<{
68
73
  pageId: string | null;
69
74
  entryData?: PreviewContentEntryData | null;
@@ -2,6 +2,7 @@ import { type ReactNode } from "react";
2
2
  import { type EntrySubrouteContextData, type MediaAssetIndexItem, type Theme } from "@riverbankcms/blocks";
3
3
  import type { ButtonPersonalityId } from "@riverbankcms/theme-core/buttons";
4
4
  import type { PaletteOverrides, PaletteVariantId } from "@riverbankcms/theme-core/palette";
5
+ import type { FooterSelectionContext, HeaderSelectionContext, FooterLookId, HeaderLookId } from "@riverbankcms/theme-core/site-styles";
5
6
  import type { ContentTypeSchema } from "@riverbankcms/content-model";
6
7
  import type { ApiClient } from "@riverbankcms/api/request";
7
8
  import type { SdkConfigForBlockPicker } from "@riverbankcms/editor-blocks";
@@ -24,9 +25,14 @@ export type PreviewShellLayoutProps = {
24
25
  bearerToken?: string | null;
25
26
  themeId?: string | null;
26
27
  themeSelectionId?: string | null;
28
+ themeSelectionUpdatedAt?: string | null;
27
29
  themeSelectionButtonPersonalityId?: ButtonPersonalityId | null;
28
30
  themeSelectionPaletteVariantId?: PaletteVariantId | null;
29
31
  themeSelectionPaletteOverrides?: PaletteOverrides | null;
32
+ themeSelectionHeaderLookId?: HeaderLookId | null;
33
+ themeSelectionFooterLookId?: FooterLookId | null;
34
+ themeSelectionHeaderContext?: Partial<HeaderSelectionContext>;
35
+ themeSelectionFooterContext?: Partial<FooterSelectionContext>;
30
36
  supabaseUrl?: string;
31
37
  isSiteLaunched: boolean;
32
38
  maintenanceModeEnabled: boolean;
@@ -37,4 +43,4 @@ export type PreviewShellLayoutProps = {
37
43
  useThemeScope?: boolean;
38
44
  siteStyleAccess?: SiteStyleAccess;
39
45
  };
40
- export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
46
+ export declare function PreviewShellLayout({ children, theme, surfaceId, siteId, dashboardBaseUrl, pageId, entryData, contentTypeSchema, referenceContentTypeKeys, draftContent, currentTemplate, apiClient, bearerToken, themeId, themeSelectionId, themeSelectionUpdatedAt, themeSelectionButtonPersonalityId, themeSelectionPaletteVariantId, themeSelectionPaletteOverrides, themeSelectionHeaderLookId, themeSelectionFooterLookId, themeSelectionHeaderContext, themeSelectionFooterContext, supabaseUrl, isSiteLaunched, maintenanceModeEnabled, entrySubrouteContext, assistantPanel, sdkConfig, mediaAssets, useThemeScope, siteStyleAccess, }: PreviewShellLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
2
+ export declare function SiteChromeCustomizeButton({ surface, }: {
3
+ surface: SiteChromeEditableSurfaceKind;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,49 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { ApiClient } from '@riverbankcms/api/request';
3
+ import type { Theme } from '@riverbankcms/blocks';
4
+ import type { ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
5
+ import type { PaletteOverrides, PaletteVariantId } from '@riverbankcms/theme-core/palette';
6
+ import type { FooterLookId, FooterSelectionContext, HeaderLookId, HeaderSelectionContext } from '@riverbankcms/theme-core/site-styles';
7
+ import type { SiteStyleAccess } from './siteStyleAccess';
8
+ import { type SiteChromeLookOption } from './siteChromeLookRows';
9
+ import type { SiteChromeEditableSurfaceKind } from './SiteChromeEditableSurface';
10
+ type SiteChromeCustomizeSurfaceState = Readonly<{
11
+ kind: 'unavailable';
12
+ }> | Readonly<{
13
+ kind: 'available';
14
+ label: string;
15
+ currentId: HeaderLookId | FooterLookId | null;
16
+ currentLabel: string;
17
+ options: readonly SiteChromeLookOption<HeaderLookId | FooterLookId | null>[];
18
+ diagnostics: readonly string[];
19
+ saving: boolean;
20
+ failure: string | null;
21
+ applyAllowed: boolean;
22
+ }>;
23
+ type SiteChromeCustomizeContextValue = Readonly<{
24
+ getSurfaceState: (surface: SiteChromeEditableSurfaceKind) => SiteChromeCustomizeSurfaceState;
25
+ cycleSurfaceLook: (surface: SiteChromeEditableSurfaceKind, direction: 'prev' | 'next') => void;
26
+ }>;
27
+ export type SiteChromeCustomizeProviderProps = Readonly<{
28
+ children: ReactNode;
29
+ siteId: string;
30
+ apiClient: ApiClient;
31
+ theme?: Theme | null;
32
+ themeId?: string | null;
33
+ selectionId?: string | null;
34
+ selectionUpdatedAt?: string | null;
35
+ initialSelections: Readonly<{
36
+ selectionUpdatedAt?: string | null;
37
+ buttonPersonalityId: ButtonPersonalityId | null;
38
+ paletteVariantId: PaletteVariantId | null;
39
+ paletteOverrides: PaletteOverrides | null;
40
+ headerLookId?: HeaderLookId | null;
41
+ footerLookId?: FooterLookId | null;
42
+ }>;
43
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
44
+ footerSelectionContext?: Partial<FooterSelectionContext>;
45
+ siteStyleAccess?: SiteStyleAccess;
46
+ }>;
47
+ export declare function SiteChromeCustomizeProvider({ children, siteId, apiClient, theme, themeId, selectionId, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, siteStyleAccess, }: SiteChromeCustomizeProviderProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function useSiteChromeCustomizeOptional(): SiteChromeCustomizeContextValue | null;
49
+ export {};
@@ -0,0 +1,6 @@
1
+ import { default as React, type ReactNode } from 'react';
2
+ export type SiteChromeEditableSurfaceKind = 'header' | 'footer';
3
+ export declare function SiteChromeEditableSurface({ surface, children, }: {
4
+ surface: SiteChromeEditableSurfaceKind;
5
+ children: ReactNode;
6
+ }): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -2,19 +2,32 @@ import type { ApiClient } from '@riverbankcms/api/request';
2
2
  import type { Theme } from '@riverbankcms/blocks';
3
3
  import { type ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
4
4
  import { type PaletteVariantId, type PaletteOverrides } from '@riverbankcms/theme-core/palette';
5
+ import { type FooterSelectionContext, type FooterLookId, type HeaderSelectionContext, type HeaderLookId } from '@riverbankcms/theme-core/site-styles';
5
6
  import { type VisibleSiteStyleAccess } from './siteStyleAccess';
7
+ import type { PreviewDesignRow } from './sidebarTabPreference';
6
8
  export type StyleConfiguratorProps = Readonly<{
7
9
  siteId: string;
8
10
  apiClient: ApiClient;
9
11
  theme?: Theme | null;
10
12
  themeId?: string | null;
11
13
  selectionId?: string | null;
12
- /** Server-persisted Style configurator selections (Phase C). */
14
+ selectionUpdatedAt?: string | null;
15
+ /** Server-persisted design selections. */
13
16
  initialSelections: Readonly<{
17
+ selectionUpdatedAt?: string | null;
14
18
  buttonPersonalityId: ButtonPersonalityId | null;
15
19
  paletteVariantId: PaletteVariantId | null;
16
20
  paletteOverrides: PaletteOverrides | null;
21
+ headerLookId?: HeaderLookId | null;
22
+ footerLookId?: FooterLookId | null;
17
23
  }>;
24
+ headerSelectionContext?: Partial<HeaderSelectionContext>;
25
+ footerSelectionContext?: Partial<FooterSelectionContext>;
26
+ expandedRowRequest?: Readonly<{
27
+ /** Monotonic request id so repeated clicks on the same chrome surface retrigger the effect. */
28
+ id: number;
29
+ row: PreviewDesignRow;
30
+ }> | null;
18
31
  siteStyleAccess: VisibleSiteStyleAccess;
19
32
  }>;
20
- export declare function StyleConfigurator({ siteId, apiClient, theme, themeId, selectionId, initialSelections, siteStyleAccess, }: StyleConfiguratorProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function StyleConfigurator({ siteId, apiClient, theme, themeId, selectionId, selectionUpdatedAt, initialSelections, headerSelectionContext, footerSelectionContext, expandedRowRequest, siteStyleAccess, }: StyleConfiguratorProps): import("react/jsx-runtime").JSX.Element;
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import type { ButtonPersonalityId } from '@riverbankcms/theme-core/buttons';
14
14
  import type { PaletteOverrides, PaletteVariantId } from '@riverbankcms/theme-core/palette';
15
+ import type { FooterLookId, HeaderLookId } from '@riverbankcms/theme-core/site-styles';
15
16
  import type { SelectionFallbackWarning, SiteStyleId } from '@riverbankcms/theme-core/site-styles/previewCompiler';
16
17
  export type StyleConfiguratorSaveStatus = Readonly<{
17
18
  kind: 'idle';
@@ -23,7 +24,7 @@ export type StyleConfiguratorSaveStatus = Readonly<{
23
24
  kind: 'failed';
24
25
  message: string;
25
26
  }>;
26
- export type StyleConfiguratorExpandedRow = 'style' | 'buttons' | 'palette' | 'colours' | null;
27
+ export type StyleConfiguratorExpandedRow = 'style' | 'header' | 'footer' | 'buttons' | 'palette' | 'colours' | null;
27
28
  /**
28
29
  * Configurator-level notices that aren't compiler selection fallback warnings.
29
30
  * Kept separate from `SelectionFallbackWarning` (which comes from
@@ -37,6 +38,9 @@ export type StyleConfiguratorNotice = Readonly<{
37
38
  }>;
38
39
  export type SelectionSnapshot = Readonly<{
39
40
  siteStyleId: SiteStyleId;
41
+ selectionUpdatedAt?: string | null;
42
+ headerLookId: HeaderLookId | null;
43
+ footerLookId: FooterLookId | null;
40
44
  buttonPersonalityId: ButtonPersonalityId;
41
45
  paletteVariantId: PaletteVariantId;
42
46
  paletteOverrides: PaletteOverrides | null;
@@ -60,6 +64,7 @@ export type StyleConfiguratorState = Readonly<{
60
64
  expandedRow: StyleConfiguratorExpandedRow;
61
65
  }>;
62
66
  export declare function createStyleConfiguratorState(base: SelectionSnapshot): StyleConfiguratorState;
67
+ export declare function openRow(state: StyleConfiguratorState, row: Exclude<StyleConfiguratorExpandedRow, null>): StyleConfiguratorState;
63
68
  /**
64
69
  * True iff the user has previewed a change that hasn't been applied yet.
65
70
  * Drives the "Apply" / "Cancel" footer visibility and the live-preview
@@ -68,6 +73,8 @@ export declare function createStyleConfiguratorState(base: SelectionSnapshot): S
68
73
  export declare function isPreviewingChange(state: StyleConfiguratorState): boolean;
69
74
  export declare function previewSiteStyle(state: StyleConfiguratorState, siteStyleId: SiteStyleId): StyleConfiguratorState;
70
75
  export declare function previewButtonPersonality(state: StyleConfiguratorState, buttonPersonalityId: ButtonPersonalityId): StyleConfiguratorState;
76
+ export declare function previewHeaderLook(state: StyleConfiguratorState, headerLookId: HeaderLookId | null): StyleConfiguratorState;
77
+ export declare function previewFooterLook(state: StyleConfiguratorState, footerLookId: FooterLookId | null): StyleConfiguratorState;
71
78
  export declare function previewPaletteVariant(state: StyleConfiguratorState, paletteVariantId: PaletteVariantId): StyleConfiguratorState;
72
79
  export declare function setPaletteOverrides(state: StyleConfiguratorState, paletteOverrides: PaletteOverrides | null): StyleConfiguratorState;
73
80
  /**
@@ -0,0 +1 @@
1
+ export declare const previewCustomizePillButtonClassName = "rounded-full bg-black/80 px-2.5 py-1 text-xs text-white shadow hover:bg-black";
@@ -41,4 +41,5 @@ export declare function previewCustomizeHistoryEntryFromAction(editorModel: Prev
41
41
  export declare function previewCustomizeUndoActionForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeAction;
42
42
  export declare function previewCustomizeRedoActionForEntry(entry: PreviewCustomizeHistoryEntry, editorModel: PreviewLoadedEditorModel): PreviewCustomizeAction;
43
43
  export declare function previewCustomizeHistoryPresentEquals(left: PreviewCustomizeHistoryPresent, right: PreviewCustomizeHistoryPresent): boolean;
44
+ export declare function contentRevisionIdForBlock(editorModel: PreviewLoadedEditorModel, blockId: PreviewCustomizeActionBlockId): string | null;
44
45
  export {};