@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
@@ -0,0 +1,24 @@
1
+ import type { BlockManifest } from '@riverbankcms/blocks';
2
+ import type { SdkBlockFieldOptionsMap, SdkBlockFieldExtensionsMap } from '../sdk-config/SdkConfigContext';
3
+ /**
4
+ * Merges SDK-provided field options AND field extensions into a block manifest.
5
+ *
6
+ * This creates a single source of truth for validation and rendering:
7
+ * 1. Field options: Replaces select options for fields with `ui.widget: 'sdkSelect'`
8
+ * 2. Field extensions: Appends additional fields to the end of the manifest
9
+ *
10
+ * Without this merge, the Zod validation schema is built from manifest's
11
+ * hardcoded options, but SdkSelectField renders SDK options - causing
12
+ * validation errors when users select SDK-provided values.
13
+ *
14
+ * @example
15
+ * // Field options: Embed block manifest has options [list, grid, carousel]
16
+ * // SDK config provides options [showcase, list]
17
+ * // After merge, manifest.fields[layoutField].options = [showcase, list]
18
+ *
19
+ * @example
20
+ * // Field extensions: Body text block has [body] field
21
+ * // SDK config extends with [layout] field
22
+ * // After merge, manifest.fields = [body, layout]
23
+ */
24
+ export declare function mergeManifestWithSdkOptions(manifest: BlockManifest, blockKind: string, sdkBlockFieldOptions?: SdkBlockFieldOptionsMap | null, sdkBlockFieldExtensions?: SdkBlockFieldExtensionsMap | null): BlockManifest;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export type PaletteTokens = Record<string, string>;
3
+ type PaletteContextValue = {
4
+ tokens: PaletteTokens;
5
+ };
6
+ export declare function PaletteProvider({ tokens, children }: {
7
+ tokens: PaletteTokens | undefined;
8
+ children: React.ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ export declare function usePalette(): PaletteContextValue;
11
+ export {};
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Schema and Default Value Registry
3
+ * Maps field types to validation schemas and default value builders
4
+ *
5
+ * Server-safe - no React, no browser APIs
6
+ * Can be used in API routes, server components, and validation
7
+ */
8
+ import { buildTextFieldSchema } from '../widgets/TextField/textFieldSchema';
9
+ import { getTextFieldDefault } from '../widgets/TextField/textFieldDefaults';
10
+ import { buildNumberFieldSchema } from '../widgets/NumberField/numberFieldSchema';
11
+ import { getNumberFieldDefault } from '../widgets/NumberField/numberFieldDefaults';
12
+ import { buildSelectFieldSchema } from '../widgets/SelectField/selectFieldSchema';
13
+ import { getSelectFieldDefault } from '../widgets/SelectField/selectFieldDefaults';
14
+ import { buildBooleanFieldSchema } from '../widgets/BooleanField/booleanFieldSchema';
15
+ import { getBooleanFieldDefault } from '../widgets/BooleanField/booleanFieldDefaults';
16
+ import { buildGroupFieldSchema, type SchemaContext } from '../widgets/GroupField/groupFieldSchema';
17
+ import { getGroupFieldDefault, type DefaultValueContext } from '../widgets/GroupField/groupFieldDefaults';
18
+ import { buildModalFieldSchema } from '../widgets/ModalGroupField/modalFieldSchema';
19
+ import { getModalFieldDefault } from '../widgets/ModalGroupField/modalFieldDefaults';
20
+ import { buildRepeaterFieldSchema } from '../widgets/RepeaterField/repeaterFieldSchema';
21
+ import { getRepeaterFieldDefault } from '../widgets/RepeaterField/repeaterFieldDefaults';
22
+ import { buildUrlFieldSchema } from '../widgets/UrlField/urlFieldSchema';
23
+ import { getUrlFieldDefault } from '../widgets/UrlField/urlFieldDefaults';
24
+ import { buildTimeFieldSchema } from '../widgets/TimeField/timeFieldSchema';
25
+ import { getTimeFieldDefault } from '../widgets/TimeField/timeFieldDefaults';
26
+ import { buildDateFieldSchema } from '../widgets/DateField/dateFieldSchema';
27
+ import { getDateFieldDefault } from '../widgets/DateField/dateFieldDefaults';
28
+ import { buildDateTimeFieldSchema } from '../widgets/DateTimeField/dateTimeFieldSchema';
29
+ import { getDateTimeFieldDefault } from '../widgets/DateTimeField/dateTimeFieldDefaults';
30
+ import { buildSlugFieldSchema } from '../widgets/SlugField/slugFieldSchema';
31
+ import { getSlugFieldDefault } from '../widgets/SlugField/slugFieldDefaults';
32
+ import { buildLinkFieldSchema } from '../widgets/LinkField/linkFieldSchema';
33
+ import { getLinkFieldDefault } from '../widgets/LinkField/linkFieldDefaults';
34
+ import { buildRichTextFieldSchema } from '../widgets/RichTextField/richTextFieldSchema';
35
+ import { getRichTextFieldDefaultValue } from '../widgets/RichTextField/richTextFieldDefaults';
36
+ import { buildMediaFieldSchema } from '../widgets/MediaField/mediaFieldSchema';
37
+ import { getMediaFieldDefaultValue } from '../widgets/MediaField/mediaFieldDefaults';
38
+ import { buildTabGroupFieldSchema, getTabGroupFieldDefault } from '../widgets/TabGroupField/tabGroupFieldSchema';
39
+ import { buildPresetOrCustomFieldSchema } from '../widgets/PresetOrCustomField/presetOrCustomFieldSchema';
40
+ import { getPresetOrCustomFieldDefault } from '../widgets/PresetOrCustomField/presetOrCustomFieldDefaults';
41
+ import { buildReferenceFieldSchema } from '../widgets/ReferenceField/referenceFieldSchema';
42
+ import { getReferenceFieldDefault } from '../widgets/ReferenceField/referenceFieldDefaults';
43
+ import { buildContentTypeSelectFieldSchema } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldSchema';
44
+ import { getContentTypeSelectFieldDefault } from '../widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults';
45
+ import { buildEntryPickerFieldSchema } from '../widgets/EntryPickerField/entryPickerFieldSchema';
46
+ import { getEntryPickerFieldDefault } from '../widgets/EntryPickerField/entryPickerFieldDefaults';
47
+ import type { FieldConfig } from '../fields/types';
48
+ import type { ZodTypeAny } from 'zod';
49
+ export type { SchemaContext, DefaultValueContext };
50
+ export declare const SCHEMA_BUILDERS: {
51
+ readonly text: typeof buildTextFieldSchema;
52
+ readonly number: typeof buildNumberFieldSchema;
53
+ readonly select: typeof buildSelectFieldSchema;
54
+ readonly boolean: typeof buildBooleanFieldSchema;
55
+ readonly group: typeof buildGroupFieldSchema;
56
+ readonly modal: typeof buildModalFieldSchema;
57
+ readonly repeater: typeof buildRepeaterFieldSchema;
58
+ readonly url: typeof buildUrlFieldSchema;
59
+ readonly time: typeof buildTimeFieldSchema;
60
+ readonly date: typeof buildDateFieldSchema;
61
+ readonly datetime: typeof buildDateTimeFieldSchema;
62
+ readonly slug: typeof buildSlugFieldSchema;
63
+ readonly link: typeof buildLinkFieldSchema;
64
+ readonly richText: typeof buildRichTextFieldSchema;
65
+ readonly media: typeof buildMediaFieldSchema;
66
+ readonly tabGroup: typeof buildTabGroupFieldSchema;
67
+ readonly presetOrCustom: typeof buildPresetOrCustomFieldSchema;
68
+ readonly reference: typeof buildReferenceFieldSchema;
69
+ readonly contentTypeSelect: typeof buildContentTypeSelectFieldSchema;
70
+ readonly entryPicker: typeof buildEntryPickerFieldSchema;
71
+ };
72
+ export declare const DEFAULT_VALUE_BUILDERS: {
73
+ readonly text: typeof getTextFieldDefault;
74
+ readonly number: typeof getNumberFieldDefault;
75
+ readonly select: typeof getSelectFieldDefault;
76
+ readonly boolean: typeof getBooleanFieldDefault;
77
+ readonly group: typeof getGroupFieldDefault;
78
+ readonly modal: typeof getModalFieldDefault;
79
+ readonly repeater: typeof getRepeaterFieldDefault;
80
+ readonly url: typeof getUrlFieldDefault;
81
+ readonly time: typeof getTimeFieldDefault;
82
+ readonly date: typeof getDateFieldDefault;
83
+ readonly datetime: typeof getDateTimeFieldDefault;
84
+ readonly slug: typeof getSlugFieldDefault;
85
+ readonly link: typeof getLinkFieldDefault;
86
+ readonly richText: typeof getRichTextFieldDefaultValue;
87
+ readonly media: typeof getMediaFieldDefaultValue;
88
+ readonly tabGroup: typeof getTabGroupFieldDefault;
89
+ readonly presetOrCustom: typeof getPresetOrCustomFieldDefault;
90
+ readonly reference: typeof getReferenceFieldDefault;
91
+ readonly contentTypeSelect: typeof getContentTypeSelectFieldDefault;
92
+ readonly entryPicker: typeof getEntryPickerFieldDefault;
93
+ };
94
+ export type SchemaBuilderType = keyof typeof SCHEMA_BUILDERS;
95
+ export type DefaultValueBuilderType = keyof typeof DEFAULT_VALUE_BUILDERS;
96
+ /**
97
+ * Helper to build a validation schema for a single field
98
+ * Recursively handles nested fields (group, repeater)
99
+ */
100
+ export declare function buildFieldSchema(field: FieldConfig, ctx: SchemaContext): ZodTypeAny;
101
+ /**
102
+ * Helper to get default value for a single field
103
+ * Recursively handles nested fields (group, repeater)
104
+ */
105
+ export declare function getFieldDefault(field: FieldConfig, ctx: DefaultValueContext): unknown;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Widget Component Registry
3
+ *
4
+ * Maps field types to their React components.
5
+ *
6
+ * ## Type Assertions Rationale
7
+ *
8
+ * Each widget is cast to `FieldWidgetComponent` (the base type) to allow storage in a
9
+ * homogeneous collection, even though each widget has a more specific type signature:
10
+ *
11
+ * - TextField: FieldWidgetComponent<string, TextFieldConfig>
12
+ * - NumberField: FieldWidgetComponent<number, TextFieldConfig>
13
+ * - GroupField: FieldWidgetComponent<Record<string, any>, GroupFieldConfig>
14
+ * etc.
15
+ *
16
+ * This is a standard TypeScript pattern for heterogeneous registries accessed via
17
+ * discriminated unions (field.type). The type assertions are safe because:
18
+ *
19
+ * 1. **Runtime Correctness**: FormRenderer looks up widgets by field.type, ensuring
20
+ * TextField receives TextFieldConfig, GroupField receives GroupFieldConfig, etc.
21
+ *
22
+ * 2. **Structural Compatibility**: All field configs extend BaseFieldConfig, so widgets
23
+ * can safely access common properties (id, label, description, required, etc.)
24
+ *
25
+ * 3. **Widget-Internal Type Safety**: Each widget's implementation is fully typed and
26
+ * type-checked against its specific config type.
27
+ *
28
+ * ## Context-Dependent Widgets (Not in Registry)
29
+ *
30
+ * Some widgets require application-level context and are provided as overrides:
31
+ *
32
+ * - MediaField: requires MediaEditorProvider context
33
+ * - LinkField: requires LinkWidgetContext (siteId, adapters)
34
+ * - RichTextField: requires RichTextWidgetContext (theme, onPickImage)
35
+ * - ReferenceField: requires siteId and adapters
36
+ *
37
+ * These live in @riverbankcms/editor-blocks and are passed via FormRenderer.widgetOverrides.
38
+ */
39
+ import type { FieldWidgetComponent } from '../fields/props';
40
+ export declare const WIDGET_COMPONENTS: {
41
+ readonly text: FieldWidgetComponent;
42
+ readonly number: FieldWidgetComponent;
43
+ readonly select: FieldWidgetComponent;
44
+ readonly sdkSelect: FieldWidgetComponent;
45
+ readonly boolean: FieldWidgetComponent;
46
+ readonly group: FieldWidgetComponent;
47
+ readonly modal: FieldWidgetComponent;
48
+ readonly tabGroup: FieldWidgetComponent;
49
+ readonly presetOrCustom: FieldWidgetComponent;
50
+ readonly repeater: FieldWidgetComponent;
51
+ readonly url: FieldWidgetComponent;
52
+ readonly time: FieldWidgetComponent;
53
+ readonly date: FieldWidgetComponent;
54
+ readonly datetime: FieldWidgetComponent;
55
+ readonly slug: FieldWidgetComponent;
56
+ readonly slider: FieldWidgetComponent;
57
+ };
58
+ export type WidgetType = keyof typeof WIDGET_COMPONENTS;
59
+ export declare function getWidget(type: string): FieldWidgetComponent | undefined;
@@ -0,0 +1,110 @@
1
+ import React from 'react';
2
+ import type { FieldDefinition, BlockCategory } from '@riverbankcms/blocks';
3
+ /**
4
+ * SDK Site Configuration for form widgets
5
+ *
6
+ * This context provides SDK config to widgets like BackgroundColorWidget
7
+ * that need to display SDK-specific options (e.g., curated section backgrounds).
8
+ */
9
+ export type SdkThemePalette = Record<string, string>;
10
+ export type SdkSectionBackground = {
11
+ id: string;
12
+ label: string;
13
+ token: string;
14
+ };
15
+ export type SdkSectionOptions = {
16
+ backgroundColor?: boolean;
17
+ backgroundGradient?: boolean;
18
+ backgroundImage?: boolean;
19
+ spacing?: string[] | boolean;
20
+ textColor?: boolean;
21
+ };
22
+ export type SdkSiteStyleConfig = {
23
+ sectionBackgrounds?: SdkSectionBackground[];
24
+ sectionOptions?: SdkSectionOptions;
25
+ };
26
+ /**
27
+ * SDK Custom Block definition (subset of @riverbankcms/sdk/config types for block-form use)
28
+ */
29
+ export type SdkCustomBlock = {
30
+ id: `custom.${string}`;
31
+ title: string;
32
+ titleSource?: string | string[];
33
+ description?: string;
34
+ category: BlockCategory;
35
+ icon?: string;
36
+ tags?: string[];
37
+ fields: FieldDefinition[];
38
+ };
39
+ /**
40
+ * Field select option for SDK-provided field options.
41
+ *
42
+ * Note: This mirrors FieldSelectOption from @riverbankcms/sdk/config.
43
+ * block-form is a lightweight package that doesn't depend on SDK,
44
+ * so these types are defined locally.
45
+ */
46
+ export type SdkFieldSelectOption = {
47
+ value: string;
48
+ label: string;
49
+ };
50
+ /**
51
+ * Per-field configuration within a block.
52
+ *
53
+ * Note: This mirrors BlockFieldConfig from @riverbankcms/sdk/config.
54
+ */
55
+ export type SdkBlockFieldConfig = {
56
+ options?: SdkFieldSelectOption[];
57
+ };
58
+ /**
59
+ * Per-block field options map.
60
+ *
61
+ * Note: This mirrors BlockFieldOptionsMap from @riverbankcms/sdk/config.
62
+ */
63
+ export type SdkBlockFieldOptionsMap = Record<string, Record<string, SdkBlockFieldConfig>>;
64
+ /**
65
+ * Block field extension configuration.
66
+ *
67
+ * Note: This mirrors BlockFieldExtension from @riverbankcms/sdk/config.
68
+ */
69
+ export type SdkBlockFieldExtension = {
70
+ fields: FieldDefinition[];
71
+ };
72
+ /**
73
+ * Per-block field extensions map.
74
+ *
75
+ * Note: This mirrors BlockFieldExtensionsMap from @riverbankcms/sdk/config.
76
+ */
77
+ export type SdkBlockFieldExtensionsMap = Record<string, SdkBlockFieldExtension>;
78
+ export type SdkConfig = {
79
+ theme?: {
80
+ palette: SdkThemePalette;
81
+ };
82
+ styles?: SdkSiteStyleConfig;
83
+ customBlocks?: SdkCustomBlock[];
84
+ blockFieldOptions?: SdkBlockFieldOptionsMap;
85
+ blockFieldExtensions?: SdkBlockFieldExtensionsMap;
86
+ };
87
+ type SdkConfigContextValue = {
88
+ sdkConfig: SdkConfig | null;
89
+ /** Section backgrounds from SDK config */
90
+ sectionBackgrounds: SdkSectionBackground[] | null;
91
+ /** Section options from SDK config */
92
+ sectionOptions: SdkSectionOptions | null;
93
+ /** Theme palette for resolving tokens to hex values */
94
+ themePalette: SdkThemePalette | null;
95
+ /** SDK custom block definitions */
96
+ customBlocks: SdkCustomBlock[] | null;
97
+ /** Per-block field options */
98
+ blockFieldOptions: SdkBlockFieldOptionsMap | null;
99
+ /** Per-block field extensions (additional fields for built-in blocks) */
100
+ blockFieldExtensions: SdkBlockFieldExtensionsMap | null;
101
+ /** Whether this is an SDK site with style config */
102
+ isSdkSite: boolean;
103
+ };
104
+ export type SdkConfigProviderProps = {
105
+ sdkConfig: SdkConfig | null | undefined;
106
+ children: React.ReactNode;
107
+ };
108
+ export declare function SdkConfigProvider({ sdkConfig, children }: SdkConfigProviderProps): import("react/jsx-runtime").JSX.Element;
109
+ export declare function useSdkConfig(): SdkConfigContextValue;
110
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { SdkBlockFieldConfig } from './SdkConfigContext';
2
+ /**
3
+ * useBlockFieldOptions
4
+ *
5
+ * Hook to get SDK-provided field options for the current block context.
6
+ * Returns the field config from SDK blockFieldOptions if available.
7
+ *
8
+ * @param fieldId - The field ID to look up options for
9
+ * @returns Field config with options, or null if not found
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * function LayoutField({ config }: { config: SelectFieldConfig }) {
14
+ * const sdkFieldConfig = useBlockFieldOptions(config.id)
15
+ * const options = sdkFieldConfig?.options ?? config.options
16
+ *
17
+ * return <Select options={options} />
18
+ * }
19
+ * ```
20
+ */
21
+ export declare function useBlockFieldOptions(fieldId: string): SdkBlockFieldConfig | null;
@@ -0,0 +1,2 @@
1
+ export { SdkConfigProvider, useSdkConfig, type SdkConfig, type SdkConfigProviderProps, type SdkThemePalette, type SdkSectionBackground, type SdkSectionOptions, type SdkSiteStyleConfig, type SdkFieldSelectOption, type SdkBlockFieldConfig, type SdkBlockFieldOptionsMap, type SdkBlockFieldExtensionsMap, } from './SdkConfigContext';
2
+ export { useBlockFieldOptions } from './hooks';
@@ -0,0 +1 @@
1
+ export { Collapsible as Disclosure, CollapsibleTrigger as DisclosureTrigger, CollapsibleContent as DisclosureContent, } from '@riverbankcms/ui';
@@ -0,0 +1,2 @@
1
+ export { useCoarsePointer } from './useCoarsePointer';
2
+ export { useContainerWidth } from './useContainerWidth';
@@ -0,0 +1,5 @@
1
+ type UseCoarsePointerOptions = {
2
+ mediaQuery?: string;
3
+ };
4
+ export declare function useCoarsePointer(options?: UseCoarsePointerOptions): boolean;
5
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type RefObject } from 'react';
2
+ type UseContainerWidthOptions = {
3
+ defaultWidth?: number;
4
+ };
5
+ export declare function useContainerWidth(ref: RefObject<HTMLElement | null>, options?: UseContainerWidthOptions): number;
6
+ export {};
@@ -0,0 +1,25 @@
1
+ /**
2
+ * VisibilityWrapper - Reactively shows/hides fields based on visibility conditions
3
+ *
4
+ * Uses useBackendWatch to efficiently track only the specific watched field,
5
+ * avoiding unnecessary re-renders when unrelated fields change.
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ import type { BaseFieldConfig } from '../fields/types';
9
+ import type { FormBackend } from '../backend/types';
10
+ interface VisibilityWrapperProps {
11
+ field: BaseFieldConfig;
12
+ path: string;
13
+ backend: FormBackend;
14
+ children: ReactNode;
15
+ }
16
+ /**
17
+ * Wrapper component that reactively updates visibility
18
+ *
19
+ * When a field has ui.visibleWhen:
20
+ * 1. Uses useBackendWatch to track the watched field (optimized, field-specific)
21
+ * 2. Re-evaluates visibility when watched value changes
22
+ * 3. Shows/hides field accordingly
23
+ */
24
+ export declare function VisibilityWrapper({ field, path, backend, children, }: VisibilityWrapperProps): ReactNode;
25
+ export {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Builds the absolute path for a watched field from a relative reference
3
+ *
4
+ * @param currentPath - Current field's absolute path (e.g., "background.scale")
5
+ * @param relativeField - Relative field reference from visibleWhen (e.g., "objectFit")
6
+ * @returns Absolute path to watched field (e.g., "background.objectFit")
7
+ *
8
+ * @example
9
+ * computeWatchedPath('background.scale', 'objectFit')
10
+ * // => 'background.objectFit' (sibling field)
11
+ *
12
+ * computeWatchedPath('items.0.settings.customColor', 'useCustom')
13
+ * // => 'items.0.settings.useCustom' (sibling in nested structure)
14
+ *
15
+ * computeWatchedPath('subtitle', 'showSubtitle')
16
+ * // => 'showSubtitle' (top-level sibling)
17
+ */
18
+ export declare function computeWatchedPath(currentPath: string, relativeField: string | undefined): string | null;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Utility for evaluating field visibility based on ui.visibleWhen conditions
3
+ *
4
+ * This is a pure function with no React dependencies - can be used in any context.
5
+ * Handles both ui.hidden flag and conditional visibility based on other field values.
6
+ */
7
+ import type { BaseFieldConfig } from '../fields/types';
8
+ import type { FormBackend } from '../backend/types';
9
+ export declare function evaluateVisibility(field: BaseFieldConfig, backend: FormBackend, path: string): boolean;
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Field UI Helper Functions
3
+ *
4
+ * Type-safe helpers for accessing field.ui properties.
5
+ * Reduces repetitive type casting throughout the codebase.
6
+ */
7
+ import type { FieldConfig } from '../fields/types';
8
+ /**
9
+ * UI properties that can be set on fields.
10
+ * This type covers common ui properties used across different field types.
11
+ */
12
+ export type FieldUiProps = {
13
+ renderInHeader?: boolean;
14
+ intent?: FieldIntent;
15
+ hidden?: boolean;
16
+ visibleWhen?: unknown;
17
+ widget?: string;
18
+ preset?: 'disclosure';
19
+ modalConfig?: {
20
+ buttonLabel?: string;
21
+ description?: string;
22
+ buttonVariant?: 'outline' | 'default' | 'ghost' | 'secondary';
23
+ showCustomizedIndicator?: boolean;
24
+ };
25
+ };
26
+ export type FieldIntent = 'content' | 'display' | 'behavior' | 'style';
27
+ /**
28
+ * Check if a field should render in the block header.
29
+ * Header fields are rendered in the collapsed block header area.
30
+ */
31
+ export declare function isHeaderField(field: FieldConfig): boolean;
32
+ /**
33
+ * Check if a field is hidden.
34
+ */
35
+ export declare function isHiddenField(field: FieldConfig): boolean;
36
+ /**
37
+ * Check if a field has visibility conditions.
38
+ */
39
+ export declare function hasVisibilityConditions(field: FieldConfig): boolean;
40
+ /**
41
+ * Get the modal config from a field, if present.
42
+ */
43
+ export declare function getModalConfig(field: FieldConfig): FieldUiProps['modalConfig'] | undefined;
44
+ /**
45
+ * Get the widget hint from a field, if present.
46
+ * Falls back to field.type if no widget is specified.
47
+ */
48
+ export declare function getWidgetKey(field: FieldConfig): string;
49
+ /**
50
+ * Resolve semantic intent for top-level form routing.
51
+ * Priority:
52
+ * 1) ui.intent (if valid)
53
+ * 2) default content
54
+ */
55
+ export declare function getFieldIntent(field: FieldConfig): FieldIntent;
56
+ export declare function partitionFieldsByIntent(fields: FieldConfig[]): {
57
+ content: FieldConfig[];
58
+ display: FieldConfig[];
59
+ behavior: FieldConfig[];
60
+ style: FieldConfig[];
61
+ };
62
+ /**
63
+ * Filter out fields that should render in header.
64
+ * Returns fields that should be rendered in the form body.
65
+ */
66
+ export declare function filterBodyFields(fields: FieldConfig[]): FieldConfig[];
67
+ /**
68
+ * Check if a single value is "non-empty" (meaningful).
69
+ * Returns false for null, undefined, empty string, false, and empty objects/arrays.
70
+ */
71
+ export declare function isNonEmptyValue(value: unknown): boolean;
72
+ /**
73
+ * Check if a record has any non-empty values.
74
+ * Used to determine if a group/modal field has been customized.
75
+ */
76
+ export declare function hasNonEmptyValues(values: Record<string, unknown> | null | undefined): boolean;
77
+ /**
78
+ * Type for fields that have nested schema fields (group, modal, repeater).
79
+ */
80
+ export type FieldWithSchema = FieldConfig & {
81
+ schema: {
82
+ fields: FieldConfig[];
83
+ };
84
+ };
85
+ /**
86
+ * Check if a field has a nested schema with fields.
87
+ * Works for group, modal, and monomorphic repeater fields.
88
+ */
89
+ export declare function hasNestedFields(field: FieldConfig): field is FieldWithSchema;
90
+ /**
91
+ * Get nested fields from a field config, if present.
92
+ * Returns empty array if field doesn't have nested fields.
93
+ */
94
+ export declare function getNestedFields(field: FieldConfig): FieldConfig[];
@@ -0,0 +1,22 @@
1
+ import type { FieldConfig } from '../fields/types';
2
+ import type { TabDefinition } from '../widgets/TabGroupField/types';
3
+ export type ResolvedPromotedField = {
4
+ /** Absolute backend path to read/write (e.g. `_sectionStyles.background.image`) */
5
+ path: string;
6
+ /** Field config to render at the path */
7
+ field: FieldConfig;
8
+ /** Optional SDK section option gating for the field (derived from TabGroup tabs). */
9
+ sdkSectionOption?: TabDefinition['sdkSectionOption'];
10
+ };
11
+ /**
12
+ * Resolve a list of promoted field paths into renderable field configs.
13
+ *
14
+ * Notes:
15
+ * - This is a render-only shortcut. The returned `field` is *not* added to the
16
+ * manifest/schema; it should be rendered at `path` while continuing to store
17
+ * data within the existing nested object shape.
18
+ * - Field IDs in manifests can contain dots (e.g. `overlay.color`). This resolver
19
+ * uses greedy matching against child IDs to support those paths.
20
+ * - Array indexes in paths (e.g. `items.0.title`) are ignored for matching.
21
+ */
22
+ export declare function resolvePromotedFields(fields: FieldConfig[], promotedPaths: string[] | undefined): ResolvedPromotedField[];
@@ -0,0 +1,3 @@
1
+ export declare function slugify(input: string): string;
2
+ export declare function limitSlugLength(value: string, maxLength?: number): string;
3
+ export declare function sanitizeSlugInput(value: string, maxLength?: number): string;
@@ -0,0 +1,3 @@
1
+ export type UnknownRecord = Record<string, unknown>;
2
+ export declare function isRecord(value: unknown): value is UnknownRecord;
3
+ export declare function isObjectRecord(value: unknown): value is UnknownRecord;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * BackgroundColorField - Field widget wrapper for BackgroundColorWidget
3
+ *
4
+ * Wraps BackgroundColorWidget to work as a standard FieldWidgetComponent.
5
+ * Reads/writes string values via the form backend.
6
+ */
7
+ import type { ReactNode } from 'react';
8
+ import type { FieldWidgetProps } from '../../fields/props';
9
+ import type { TextFieldConfig } from '../../fields/types';
10
+ export declare function BackgroundColorField({ path, backend, config, }: FieldWidgetProps<string | null, TextFieldConfig>): ReactNode;
@@ -0,0 +1,23 @@
1
+ import type { ReactNode } from 'react';
2
+ export type BackgroundColorMode = 'limited' | 'full';
3
+ export type BackgroundColorWidgetProps = {
4
+ label: string;
5
+ value: string | null;
6
+ onChange: (token: string) => void;
7
+ mode?: BackgroundColorMode;
8
+ filterTokens?: string[] | null;
9
+ className?: string;
10
+ triggerClassName?: string;
11
+ description?: ReactNode;
12
+ error?: ReactNode;
13
+ dataPath?: string;
14
+ };
15
+ /**
16
+ * BackgroundColorWidget
17
+ *
18
+ * Select a background color from the site's theme palette or SDK config.
19
+ * Automatically uses SDK section backgrounds from context when available.
20
+ * Otherwise supports 'limited' mode (key shades only) or 'full' mode (all shades).
21
+ * Optionally filters to only show legible colors via filterTokens prop.
22
+ */
23
+ export declare function BackgroundColorWidget(props: BackgroundColorWidgetProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { BackgroundColorWidget, type BackgroundColorWidgetProps, type BackgroundColorMode } from './BackgroundColorWidget';
2
+ export { BackgroundColorField } from './BackgroundColorField';
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { FieldWidgetProps } from '../../fields/props';
3
+ import type { TextFieldConfig } from '../../fields/types';
4
+ /**
5
+ * BackgroundGradientField
6
+ *
7
+ * Field wrapper for BackgroundGradientWidget that integrates with the form system.
8
+ * Converts between GradientConfig objects (used by the widget) and CSS strings
9
+ * (stored in the form data).
10
+ *
11
+ * This is registered as a widget override with key 'backgroundGradient'.
12
+ */
13
+ export declare function BackgroundGradientField({ path, backend, config, }: FieldWidgetProps<string | null, TextFieldConfig>): ReactNode;
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { GradientConfig } from '@riverbankcms/blocks';
3
+ export type BackgroundGradientWidgetProps = {
4
+ label: string;
5
+ value: GradientConfig | null;
6
+ onChange: (config: GradientConfig) => void;
7
+ description?: ReactNode;
8
+ error?: ReactNode;
9
+ dataPath?: string;
10
+ };
11
+ /**
12
+ * BackgroundGradientWidget
13
+ *
14
+ * Select a curated gradient from the theme-based library.
15
+ * Gradients use theme color tokens, so they adapt to the site's palette.
16
+ */
17
+ export declare function BackgroundGradientWidget(props: BackgroundGradientWidgetProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { BackgroundGradientWidget, type BackgroundGradientWidgetProps } from './BackgroundGradientWidget';
2
+ export { BackgroundGradientField } from './BackgroundGradientField';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * BooleanField - Boolean switch widget using new FieldWidgetProps pattern with @riverbankcms/ui components
3
+ */
4
+ import type { FieldWidgetProps } from '../../fields/props';
5
+ import type { BooleanFieldConfig } from '../../fields/types';
6
+ export declare function BooleanField({ path, backend, config }: FieldWidgetProps<boolean, BooleanFieldConfig>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * BooleanField default value builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { BooleanFieldConfig } from '../../fields/types';
6
+ export declare function getBooleanFieldDefault(field: BooleanFieldConfig): boolean;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * BooleanField validation schema builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import { z } from 'zod';
6
+ import type { BooleanFieldConfig } from '../../fields/types';
7
+ export declare function buildBooleanFieldSchema(field: BooleanFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,3 @@
1
+ export { BooleanField } from './BooleanField';
2
+ export { buildBooleanFieldSchema } from './booleanFieldSchema';
3
+ export { getBooleanFieldDefault } from './booleanFieldDefaults';