@riverbankcms/sdk 0.62.4 → 0.67.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 (349) hide show
  1. package/README.md +11 -0
  2. package/dist/_dts/api/src/accessAdmin.d.ts +64 -2
  3. package/dist/_dts/api/src/aiEndpoints.d.ts +2 -2
  4. package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
  5. package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
  6. package/dist/_dts/api/src/billing.d.ts +46 -10
  7. package/dist/_dts/api/src/bookingConfig.d.ts +2 -0
  8. package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
  9. package/dist/_dts/api/src/bookingRecords.d.ts +26 -0
  10. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +12 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +1 -0
  12. package/dist/_dts/api/src/courses.d.ts +3 -0
  13. package/dist/_dts/api/src/endpoints.d.ts +48 -0
  14. package/dist/_dts/api/src/index.d.ts +8 -5
  15. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +29 -40
  16. package/dist/_dts/api/src/sdkContracts.d.ts +14 -2
  17. package/dist/_dts/api/src/siteMembers.d.ts +1 -1
  18. package/dist/_dts/api/src/siteOnboarding.d.ts +4 -0
  19. package/dist/_dts/api/src/siteOperations.d.ts +11 -1
  20. package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +29 -0
  21. package/dist/_dts/api/src/types.d.ts +2 -1
  22. package/dist/_dts/billing/src/plans/registry.d.ts +1 -0
  23. package/dist/_dts/billing/src/plans/types.d.ts +10 -1
  24. package/dist/_dts/block-form/src/FormRenderer.d.ts +38 -0
  25. package/dist/_dts/block-form/src/backend/adapter.d.ts +7 -0
  26. package/dist/_dts/block-form/src/backend/hooks/useRepeaterBackend.d.ts +34 -0
  27. package/dist/_dts/block-form/src/backend/hooks.d.ts +66 -0
  28. package/dist/_dts/block-form/src/backend/index.d.ts +12 -0
  29. package/dist/_dts/block-form/src/backend/rhf-backend.d.ts +34 -0
  30. package/dist/_dts/block-form/src/backend/store-backend.d.ts +60 -0
  31. package/dist/_dts/block-form/src/backend/types.d.ts +137 -0
  32. package/dist/_dts/block-form/src/backend/useBackendWatch.d.ts +22 -0
  33. package/dist/_dts/block-form/src/backend/utils/getErrorMessage.d.ts +1 -0
  34. package/dist/_dts/block-form/src/blockDraftSaveability.d.ts +70 -0
  35. package/dist/_dts/block-form/src/client/blockDraftSaveability.d.ts +1 -0
  36. package/dist/_dts/block-form/src/client/index.d.ts +30 -0
  37. package/dist/_dts/block-form/src/context/BlockContext.d.ts +29 -0
  38. package/dist/_dts/block-form/src/context/DisplayLabelResolverContext.d.ts +33 -0
  39. package/dist/_dts/block-form/src/context/FieldPreviewResolverContext.d.ts +30 -0
  40. package/dist/_dts/block-form/src/context/ImageResolveContext.d.ts +1 -0
  41. package/dist/_dts/block-form/src/context/index.d.ts +4 -0
  42. package/dist/_dts/block-form/src/fields/props.d.ts +48 -0
  43. package/dist/_dts/block-form/src/fields/types.d.ts +223 -0
  44. package/dist/_dts/block-form/src/index.d.ts +22 -0
  45. package/dist/_dts/block-form/src/manifest/ManifestForm.d.ts +37 -0
  46. package/dist/_dts/block-form/src/manifest/canonicalValidation.d.ts +5 -0
  47. package/dist/_dts/block-form/src/manifest/filterSdkTabs.d.ts +44 -0
  48. package/dist/_dts/block-form/src/manifest/manifestFormAdapter.d.ts +61 -0
  49. package/dist/_dts/block-form/src/manifest/mergeManifestWithSdkOptions.d.ts +24 -0
  50. package/dist/_dts/block-form/src/palette/PaletteContext.d.ts +11 -0
  51. package/dist/_dts/block-form/src/registry/schemas.d.ts +105 -0
  52. package/dist/_dts/block-form/src/registry/widgets.d.ts +59 -0
  53. package/dist/_dts/block-form/src/sdk-config/SdkConfigContext.d.ts +110 -0
  54. package/dist/_dts/block-form/src/sdk-config/hooks.d.ts +21 -0
  55. package/dist/_dts/block-form/src/sdk-config/index.d.ts +2 -0
  56. package/dist/_dts/block-form/src/shared/disclosure.d.ts +1 -0
  57. package/dist/_dts/block-form/src/shared/hooks/index.d.ts +2 -0
  58. package/dist/_dts/block-form/src/shared/hooks/useCoarsePointer.d.ts +5 -0
  59. package/dist/_dts/block-form/src/shared/hooks/useContainerWidth.d.ts +6 -0
  60. package/dist/_dts/block-form/src/utils/VisibilityWrapper.d.ts +25 -0
  61. package/dist/_dts/block-form/src/utils/computeWatchedPath.d.ts +18 -0
  62. package/dist/_dts/block-form/src/utils/evaluateVisibility.d.ts +9 -0
  63. package/dist/_dts/block-form/src/utils/fieldHelpers.d.ts +94 -0
  64. package/dist/_dts/block-form/src/utils/resolvePromotedFields.d.ts +22 -0
  65. package/dist/_dts/block-form/src/utils/slug.d.ts +3 -0
  66. package/dist/_dts/block-form/src/utils/typeGuards.d.ts +3 -0
  67. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorField.d.ts +10 -0
  68. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/BackgroundColorWidget.d.ts +23 -0
  69. package/dist/_dts/block-form/src/widgets/BackgroundColorWidget/index.d.ts +2 -0
  70. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientField.d.ts +13 -0
  71. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/BackgroundGradientWidget.d.ts +17 -0
  72. package/dist/_dts/block-form/src/widgets/BackgroundGradientWidget/index.d.ts +2 -0
  73. package/dist/_dts/block-form/src/widgets/BooleanField/BooleanField.d.ts +6 -0
  74. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldDefaults.d.ts +6 -0
  75. package/dist/_dts/block-form/src/widgets/BooleanField/booleanFieldSchema.d.ts +7 -0
  76. package/dist/_dts/block-form/src/widgets/BooleanField/index.d.ts +3 -0
  77. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/BoxStyleWidget.d.ts +17 -0
  78. package/dist/_dts/block-form/src/widgets/BoxStyleWidget/index.d.ts +1 -0
  79. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldDefaults.d.ts +3 -0
  80. package/dist/_dts/block-form/src/widgets/ContentTypeSelectField/contentTypeSelectFieldSchema.d.ts +4 -0
  81. package/dist/_dts/block-form/src/widgets/DateField/DateField.d.ts +23 -0
  82. package/dist/_dts/block-form/src/widgets/DateField/dateFieldDefaults.d.ts +8 -0
  83. package/dist/_dts/block-form/src/widgets/DateField/dateFieldSchema.d.ts +9 -0
  84. package/dist/_dts/block-form/src/widgets/DateField/datePickerPopover.d.ts +32 -0
  85. package/dist/_dts/block-form/src/widgets/DateField/index.d.ts +4 -0
  86. package/dist/_dts/block-form/src/widgets/DateTimeField/DateTimeField.d.ts +30 -0
  87. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldDefaults.d.ts +8 -0
  88. package/dist/_dts/block-form/src/widgets/DateTimeField/dateTimeFieldSchema.d.ts +11 -0
  89. package/dist/_dts/block-form/src/widgets/DateTimeField/index.d.ts +4 -0
  90. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/dateTimeUtils.d.ts +22 -0
  91. package/dist/_dts/block-form/src/widgets/DateTimeField/utils/index.d.ts +1 -0
  92. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldDefaults.d.ts +3 -0
  93. package/dist/_dts/block-form/src/widgets/EntryPickerField/entryPickerFieldSchema.d.ts +4 -0
  94. package/dist/_dts/block-form/src/widgets/Field.d.ts +21 -0
  95. package/dist/_dts/block-form/src/widgets/FieldFrame.d.ts +32 -0
  96. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/FieldSettingsModal.d.ts +34 -0
  97. package/dist/_dts/block-form/src/widgets/FieldSettingsModal/index.d.ts +2 -0
  98. package/dist/_dts/block-form/src/widgets/GroupField/GroupField.d.ts +23 -0
  99. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldDefaults.d.ts +9 -0
  100. package/dist/_dts/block-form/src/widgets/GroupField/groupFieldSchema.d.ts +10 -0
  101. package/dist/_dts/block-form/src/widgets/GroupField/index.d.ts +3 -0
  102. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldDefaults.d.ts +10 -0
  103. package/dist/_dts/block-form/src/widgets/LinkField/linkFieldSchema.d.ts +3 -0
  104. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldDefaults.d.ts +6 -0
  105. package/dist/_dts/block-form/src/widgets/MediaField/mediaFieldSchema.d.ts +6 -0
  106. package/dist/_dts/block-form/src/widgets/ModalGroupField/ModalGroupField.d.ts +17 -0
  107. package/dist/_dts/block-form/src/widgets/ModalGroupField/index.d.ts +3 -0
  108. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldDefaults.d.ts +18 -0
  109. package/dist/_dts/block-form/src/widgets/ModalGroupField/modalFieldSchema.d.ts +14 -0
  110. package/dist/_dts/block-form/src/widgets/NumberField/NumberField.d.ts +7 -0
  111. package/dist/_dts/block-form/src/widgets/NumberField/index.d.ts +3 -0
  112. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldDefaults.d.ts +6 -0
  113. package/dist/_dts/block-form/src/widgets/NumberField/numberFieldSchema.d.ts +7 -0
  114. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/PresetOrCustomField.d.ts +11 -0
  115. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/index.d.ts +4 -0
  116. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldDefaults.d.ts +3 -0
  117. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/presetOrCustomFieldSchema.d.ts +4 -0
  118. package/dist/_dts/block-form/src/widgets/PresetOrCustomField/types.d.ts +37 -0
  119. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldDefaults.d.ts +3 -0
  120. package/dist/_dts/block-form/src/widgets/ReferenceField/referenceFieldSchema.d.ts +4 -0
  121. package/dist/_dts/block-form/src/widgets/RepeaterField/RepeaterField.d.ts +26 -0
  122. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterDragHandle.d.ts +8 -0
  123. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterError.d.ts +11 -0
  124. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterHeader.d.ts +10 -0
  125. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterLayoutGrid.d.ts +27 -0
  126. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterList.d.ts +19 -0
  127. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRow.d.ts +23 -0
  128. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowActions.d.ts +16 -0
  129. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterRowContent.d.ts +19 -0
  130. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterTabbedEditDialog.d.ts +16 -0
  131. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailCard.d.ts +26 -0
  132. package/dist/_dts/block-form/src/widgets/RepeaterField/components/RepeaterThumbnailGrid.d.ts +20 -0
  133. package/dist/_dts/block-form/src/widgets/RepeaterField/components/index.d.ts +11 -0
  134. package/dist/_dts/block-form/src/widgets/RepeaterField/components/layoutGridDomain.d.ts +34 -0
  135. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/index.d.ts +6 -0
  136. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/layoutGridCapacityDecision.d.ts +22 -0
  137. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLayoutGridCapacity.d.ts +20 -0
  138. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useLinearRepeaterDnd.d.ts +23 -0
  139. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterPointerDragCapability.d.ts +10 -0
  140. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterRowErrors.d.ts +12 -0
  141. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useRepeaterVisibility.d.ts +6 -0
  142. package/dist/_dts/block-form/src/widgets/RepeaterField/hooks/useResolvedItemLabel.d.ts +12 -0
  143. package/dist/_dts/block-form/src/widgets/RepeaterField/index.d.ts +3 -0
  144. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldDefaults.d.ts +7 -0
  145. package/dist/_dts/block-form/src/widgets/RepeaterField/repeaterFieldSchema.d.ts +8 -0
  146. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildItemLabel.d.ts +7 -0
  147. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/buildSummary.d.ts +7 -0
  148. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/createDefaultItem.d.ts +6 -0
  149. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFieldGroups.d.ts +8 -0
  150. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/getRepeaterItemFields.d.ts +22 -0
  151. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/index.d.ts +10 -0
  152. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/layoutGridCapacityContext.d.ts +2 -0
  153. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterDndDomain.d.ts +43 -0
  154. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/repeaterPresentation.d.ts +24 -0
  155. package/dist/_dts/block-form/src/widgets/RepeaterField/utils/resolveThumbnail.d.ts +12 -0
  156. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldDefaults.d.ts +20 -0
  157. package/dist/_dts/block-form/src/widgets/RichTextField/richTextFieldSchema.d.ts +16 -0
  158. package/dist/_dts/block-form/src/widgets/SdkSelectField/SdkSelectField.d.ts +11 -0
  159. package/dist/_dts/block-form/src/widgets/SdkSelectField/index.d.ts +1 -0
  160. package/dist/_dts/block-form/src/widgets/SelectField/SelectField.d.ts +7 -0
  161. package/dist/_dts/block-form/src/widgets/SelectField/index.d.ts +3 -0
  162. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldDefaults.d.ts +6 -0
  163. package/dist/_dts/block-form/src/widgets/SelectField/selectFieldSchema.d.ts +7 -0
  164. package/dist/_dts/block-form/src/widgets/SelectWidget.d.ts +34 -0
  165. package/dist/_dts/block-form/src/widgets/SettingsModal/SettingsModal.d.ts +17 -0
  166. package/dist/_dts/block-form/src/widgets/SettingsModal/index.d.ts +2 -0
  167. package/dist/_dts/block-form/src/widgets/SliderField/SliderField.d.ts +16 -0
  168. package/dist/_dts/block-form/src/widgets/SliderField/index.d.ts +1 -0
  169. package/dist/_dts/block-form/src/widgets/SlugField/SlugField.d.ts +39 -0
  170. package/dist/_dts/block-form/src/widgets/SlugField/hooks/index.d.ts +1 -0
  171. package/dist/_dts/block-form/src/widgets/SlugField/hooks/useSlugAutoGeneration.d.ts +29 -0
  172. package/dist/_dts/block-form/src/widgets/SlugField/index.d.ts +5 -0
  173. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldDefaults.d.ts +8 -0
  174. package/dist/_dts/block-form/src/widgets/SlugField/slugFieldSchema.d.ts +14 -0
  175. package/dist/_dts/block-form/src/widgets/SlugField/utils/index.d.ts +2 -0
  176. package/dist/_dts/block-form/src/widgets/SlugField/utils/pathUtils.d.ts +30 -0
  177. package/dist/_dts/block-form/src/widgets/SlugField/utils/slugUtils.d.ts +17 -0
  178. package/dist/_dts/block-form/src/widgets/TabGroupField/TabGroupField.d.ts +13 -0
  179. package/dist/_dts/block-form/src/widgets/TabGroupField/index.d.ts +3 -0
  180. package/dist/_dts/block-form/src/widgets/TabGroupField/tabGroupFieldSchema.d.ts +25 -0
  181. package/dist/_dts/block-form/src/widgets/TabGroupField/types.d.ts +46 -0
  182. package/dist/_dts/block-form/src/widgets/TextField/TextField.d.ts +7 -0
  183. package/dist/_dts/block-form/src/widgets/TextField/index.d.ts +3 -0
  184. package/dist/_dts/block-form/src/widgets/TextField/textFieldDefaults.d.ts +6 -0
  185. package/dist/_dts/block-form/src/widgets/TextField/textFieldSchema.d.ts +7 -0
  186. package/dist/_dts/block-form/src/widgets/TextInputWidget.d.ts +20 -0
  187. package/dist/_dts/block-form/src/widgets/TimeField/TimeField.d.ts +23 -0
  188. package/dist/_dts/block-form/src/widgets/TimeField/index.d.ts +3 -0
  189. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldDefaults.d.ts +8 -0
  190. package/dist/_dts/block-form/src/widgets/TimeField/timeFieldSchema.d.ts +9 -0
  191. package/dist/_dts/block-form/src/widgets/ToggleWidget.d.ts +16 -0
  192. package/dist/_dts/block-form/src/widgets/UrlField/UrlField.d.ts +23 -0
  193. package/dist/_dts/block-form/src/widgets/UrlField/index.d.ts +3 -0
  194. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldDefaults.d.ts +8 -0
  195. package/dist/_dts/block-form/src/widgets/UrlField/urlFieldSchema.d.ts +9 -0
  196. package/dist/_dts/block-form/src/widgets/constants.d.ts +58 -0
  197. package/dist/_dts/block-form/src/widgets/groupFieldHelpers.d.ts +61 -0
  198. package/dist/_dts/block-form/src/widgets/index.d.ts +20 -0
  199. package/dist/_dts/block-form/src/widgets/selectValueMapping.d.ts +9 -0
  200. package/dist/_dts/block-form/src/widgets/types/modalConfig.d.ts +18 -0
  201. package/dist/_dts/block-form/src/widgets/utils/readNumericUiConfig.d.ts +10 -0
  202. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  203. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +4 -0
  204. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +2 -0
  205. package/dist/_dts/blocks/src/system/blocks/appointment-booking.d.ts +1 -1
  206. package/dist/_dts/blocks/src/system/blocks/blog-listing.d.ts +2 -2
  207. package/dist/_dts/blocks/src/system/blocks/blog-post.d.ts +1 -1
  208. package/dist/_dts/blocks/src/system/blocks/cart.d.ts +1 -1
  209. package/dist/_dts/blocks/src/system/blocks/checkout.d.ts +1 -1
  210. package/dist/_dts/blocks/src/system/blocks/collection.d.ts +2 -2
  211. package/dist/_dts/blocks/src/system/blocks/columns.d.ts +1 -1
  212. package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +2 -2
  213. package/dist/_dts/blocks/src/system/blocks/cta-full.d.ts +1 -1
  214. package/dist/_dts/blocks/src/system/blocks/event-details.d.ts +25 -0
  215. package/dist/_dts/blocks/src/system/blocks/events/event-spotlight.d.ts +2 -2
  216. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +2 -2
  217. package/dist/_dts/blocks/src/system/blocks/faq.d.ts +1 -1
  218. package/dist/_dts/blocks/src/system/blocks/file-download.d.ts +1 -1
  219. package/dist/_dts/blocks/src/system/blocks/gifting.d.ts +1 -1
  220. package/dist/_dts/blocks/src/system/blocks/image-gallery.d.ts +1 -1
  221. package/dist/_dts/blocks/src/system/blocks/location-map.d.ts +2 -2
  222. package/dist/_dts/blocks/src/system/blocks/media-text.d.ts +6 -6
  223. package/dist/_dts/blocks/src/system/blocks/product-detail.d.ts +1 -1
  224. package/dist/_dts/blocks/src/system/blocks/product-list.d.ts +2 -2
  225. package/dist/_dts/blocks/src/system/blocks/products/shared.d.ts +2 -2
  226. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +1 -1
  227. package/dist/_dts/blocks/src/system/blocks/team-members.d.ts +2 -2
  228. package/dist/_dts/blocks/src/system/blocks/testimonials.d.ts +1 -1
  229. package/dist/_dts/blocks/src/system/blocks/video-grid.d.ts +1 -1
  230. package/dist/_dts/blocks/src/system/fragments/library/card.d.ts +1 -1
  231. package/dist/_dts/blocks/src/system/fragments/library/ctaRow.d.ts +1 -1
  232. package/dist/_dts/blocks/src/system/fragments/library/feedbackCallout.d.ts +1 -1
  233. package/dist/_dts/blocks/src/system/fragments/library/heroCtaRow.d.ts +1 -1
  234. package/dist/_dts/blocks/src/system/fragments/library/sectionState.d.ts +1 -1
  235. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  236. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +1 -0
  237. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/view.d.ts +4 -1
  238. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.client.d.ts +4 -1
  239. package/dist/_dts/blocks/src/system/runtime/nodes/event-details.server.d.ts +4 -1
  240. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
  241. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  242. package/dist/_dts/calendar/src/grid.d.ts +60 -0
  243. package/dist/_dts/calendar/src/group.d.ts +14 -0
  244. package/dist/_dts/calendar/src/index.d.ts +6 -0
  245. package/dist/_dts/calendar/src/lane-packing.d.ts +28 -0
  246. package/dist/_dts/calendar/src/timetable.d.ts +90 -0
  247. package/dist/_dts/calendar/src/timezone.d.ts +19 -0
  248. package/dist/_dts/content-editor/src/index.d.ts +1 -4
  249. package/dist/_dts/core/src/booking-date-time.d.ts +1 -0
  250. package/dist/_dts/core/src/branded.d.ts +18 -0
  251. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +900 -69
  252. package/dist/_dts/editor-blocks/src/index.d.ts +1 -1
  253. package/dist/_dts/editor-blocks/src/widgets/index.d.ts +7 -7
  254. package/dist/_dts/editor-blocks/src/widgets/link/LinkWidget.d.ts +1 -2
  255. package/dist/_dts/editor-blocks/src/widgets/link/index.d.ts +1 -0
  256. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
  257. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  258. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -1
  259. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -1
  260. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -1
  261. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeButton.d.ts +4 -0
  262. package/dist/_dts/preview-next/src/client/preview/SiteChromeCustomizeContext.d.ts +49 -0
  263. package/dist/_dts/preview-next/src/client/preview/SiteChromeEditableSurface.d.ts +6 -0
  264. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.d.ts +3 -1
  265. package/dist/_dts/preview-next/src/client/preview/StyleConfigurator.state.d.ts +1 -0
  266. package/dist/_dts/preview-next/src/client/preview/styleConfiguratorSnapshot.d.ts +18 -0
  267. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +5 -0
  268. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
  269. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +2 -0
  270. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +18 -0
  271. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +6 -0
  272. package/dist/_dts/sdk/src/cli/content/writer.d.ts +2 -0
  273. package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
  274. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +3 -0
  275. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +77 -0
  276. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +45 -0
  277. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +22 -0
  278. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +30 -0
  279. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +9 -0
  280. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +50 -0
  281. package/dist/_dts/sdk/src/cli/merge-remote/stableJson.d.ts +3 -0
  282. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
  283. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
  284. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +63 -0
  285. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
  286. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
  287. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +7 -0
  288. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
  289. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
  290. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +83 -0
  291. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +11 -28
  292. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  293. package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
  294. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  295. package/dist/_dts/sdk/src/public-api/contracts.d.ts +1 -0
  296. package/dist/_dts/sdk/src/version.d.ts +1 -1
  297. package/dist/_dts/site-commands/src/adapter.d.ts +23 -0
  298. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +8 -0
  299. package/dist/_dts/site-commands/src/commands.d.ts +2341 -0
  300. package/dist/_dts/site-commands/src/domain.d.ts +104 -0
  301. package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
  302. package/dist/_dts/site-commands/src/guards.d.ts +1 -0
  303. package/dist/_dts/site-commands/src/index.d.ts +10 -0
  304. package/dist/_dts/site-commands/src/metadata.d.ts +503 -0
  305. package/dist/_dts/site-commands/src/planner.d.ts +58 -0
  306. package/dist/_dts/site-commands/src/refContributions.d.ts +10 -0
  307. package/dist/_dts/site-commands/src/refs.d.ts +87 -0
  308. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +10 -0
  309. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
  310. package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
  311. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
  312. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  313. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
  314. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  315. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  316. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
  317. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
  318. package/dist/_dts/ui/src/callout.d.ts +1 -1
  319. package/dist/cli/index.mjs +6446 -1220
  320. package/dist/cli/init-docs/content/cli-reference.md +18 -0
  321. package/dist/client/bookings.mjs +25 -25
  322. package/dist/client/client.mjs +3157 -2858
  323. package/dist/client/hooks.mjs +2608 -2326
  324. package/dist/client/rendering/client.mjs +505 -176
  325. package/dist/client/rendering/islands.mjs +18329 -13012
  326. package/dist/client/rendering.mjs +1204 -903
  327. package/dist/preview-next/before-render.mjs +84 -13
  328. package/dist/preview-next/client/runtime.mjs +3149 -2452
  329. package/dist/preview-next/middleware.mjs +84 -13
  330. package/dist/server/components.mjs +936 -631
  331. package/dist/server/config-validation.mjs +2838 -2556
  332. package/dist/server/config.mjs +2838 -2556
  333. package/dist/server/data.mjs +2608 -2326
  334. package/dist/server/index.mjs +676 -552
  335. package/dist/server/next.mjs +3043 -2738
  336. package/dist/server/page-converter.mjs +201 -51
  337. package/dist/server/prebuild.mjs +1 -1
  338. package/dist/server/rendering/server.mjs +936 -631
  339. package/dist/server/rendering.mjs +936 -631
  340. package/dist/server/routing.mjs +2701 -2426
  341. package/dist/server/server.mjs +2626 -2344
  342. package/dist/server/theme-bridge.mjs +169 -52
  343. package/package.json +2 -1
  344. package/dist/_dts/content-editor/src/ai/patch/allowed.d.ts +0 -2
  345. package/dist/_dts/content-editor/src/ai/patch/diff.d.ts +0 -17
  346. package/dist/_dts/content-editor/src/ai/patch/schema.d.ts +0 -49
  347. package/dist/_dts/path-utils/src/index.d.ts +0 -8
  348. package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
  349. package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
@@ -0,0 +1,26 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { FieldConfig, RepeaterFieldConfig } from '../../../fields/types';
3
+ import type { FormBackend } from '../../../backend/types';
4
+ import { type RepeaterPresentationConfig } from '../utils';
5
+ export interface RepeaterThumbnailCardProps {
6
+ index: number;
7
+ config: RepeaterFieldConfig;
8
+ backend: FormBackend;
9
+ basePath: string;
10
+ itemsLength: number;
11
+ minItems: number;
12
+ onMove: (from: number, to: number) => void;
13
+ onRemove: (index: number) => void;
14
+ renderChild: (field: FieldConfig, path: string) => ReactNode;
15
+ presentation: Extract<RepeaterPresentationConfig, {
16
+ mode: 'thumbnailGrid' | 'layoutGrid';
17
+ }>;
18
+ showReorderActions?: boolean;
19
+ renderDragHandle?: () => ReactNode;
20
+ hiddenDetailFieldIds?: Set<string>;
21
+ onMoveUp?: () => void;
22
+ onMoveDown?: () => void;
23
+ disableMoveUp?: boolean;
24
+ disableMoveDown?: boolean;
25
+ }
26
+ export declare function RepeaterThumbnailCard({ index, config, backend, basePath, itemsLength, minItems, onMove, onRemove, renderChild, presentation, showReorderActions, renderDragHandle, hiddenDetailFieldIds, onMoveUp, onMoveDown, disableMoveUp, disableMoveDown, }: RepeaterThumbnailCardProps): ReactNode;
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { RepeaterFieldConfig, FieldConfig } from '../../../fields/types';
3
+ import type { FormBackend } from '../../../backend/types';
4
+ import type { RepeaterPresentationConfig } from '../utils';
5
+ export interface RepeaterThumbnailGridProps {
6
+ config: RepeaterFieldConfig;
7
+ backend: FormBackend;
8
+ basePath: string;
9
+ items: Array<{
10
+ id: string;
11
+ }>;
12
+ minItems: number;
13
+ onMove: (from: number, to: number) => void;
14
+ onRemove: (index: number) => void;
15
+ renderChild: (field: FieldConfig, path: string) => ReactNode;
16
+ presentation: Extract<RepeaterPresentationConfig, {
17
+ mode: 'thumbnailGrid';
18
+ }>;
19
+ }
20
+ export declare function RepeaterThumbnailGrid({ config, backend, basePath, items, minItems, onMove, onRemove, renderChild, presentation, }: RepeaterThumbnailGridProps): ReactNode;
@@ -0,0 +1,11 @@
1
+ export { RepeaterHeader } from './RepeaterHeader';
2
+ export { RepeaterError } from './RepeaterError';
3
+ export { RepeaterDragHandle } from './RepeaterDragHandle';
4
+ export { RepeaterList } from './RepeaterList';
5
+ export { RepeaterRow } from './RepeaterRow';
6
+ export { RepeaterRowActions } from './RepeaterRowActions';
7
+ export { RepeaterRowContent } from './RepeaterRowContent';
8
+ export { RepeaterLayoutGrid } from './RepeaterLayoutGrid';
9
+ export type { RepeaterLayoutGridCapacityContext } from './RepeaterLayoutGrid';
10
+ export { RepeaterThumbnailGrid } from './RepeaterThumbnailGrid';
11
+ export { RepeaterTabbedEditDialog } from './RepeaterTabbedEditDialog';
@@ -0,0 +1,34 @@
1
+ import type { RepeaterGridDropTarget, RepeaterGridPlacement } from '@riverbankcms/blocks';
2
+ type Brand<TValue, TBrand extends string> = TValue & {
3
+ readonly __brand: TBrand;
4
+ };
5
+ export type GridColumns = Brand<number, 'GridColumns'>;
6
+ export type LayoutGridDragState = {
7
+ kind: 'idle';
8
+ } | {
9
+ kind: 'dragging';
10
+ activeId: string;
11
+ };
12
+ export type LayoutGridMoveIntent = {
13
+ kind: 'none';
14
+ reason: 'idle' | 'missing-over' | 'unknown-target' | 'invalid-target' | 'missing-active-placement' | 'same-position';
15
+ } | {
16
+ kind: 'move';
17
+ activeId: string;
18
+ toRow: number;
19
+ toColStart: number;
20
+ swapWithId?: string;
21
+ };
22
+ export declare function toGridColumns(value: number): GridColumns;
23
+ export declare function createIdleLayoutGridDragState(): LayoutGridDragState;
24
+ export declare function createDraggingLayoutGridDragState(activeId: unknown): LayoutGridDragState;
25
+ export declare function getActiveLayoutGridDragId(dragState: LayoutGridDragState): string | null;
26
+ export declare function resolveLayoutGridMoveIntent(input: {
27
+ dragState: LayoutGridDragState;
28
+ overId: string | null;
29
+ dropTargetsById: ReadonlyMap<string, RepeaterGridDropTarget>;
30
+ itemDropTargetsById: ReadonlyMap<string, RepeaterGridDropTarget>;
31
+ placementsById: ReadonlyMap<string, RepeaterGridPlacement>;
32
+ }): LayoutGridMoveIntent;
33
+ export declare function buildLayoutGridOccupiedCells(placements: readonly RepeaterGridPlacement[], columns: GridColumns): Set<number>;
34
+ export {};
@@ -0,0 +1,6 @@
1
+ export { useRepeaterVisibility } from './useRepeaterVisibility';
2
+ export { useRepeaterRowErrors, type RowFieldError } from './useRepeaterRowErrors';
3
+ export { useResolvedItemLabel } from './useResolvedItemLabel';
4
+ export { useLayoutGridCapacity } from './useLayoutGridCapacity';
5
+ export { useLinearRepeaterDnd, type LinearRepeaterSortingStrategyKind } from './useLinearRepeaterDnd';
6
+ export { useRepeaterPointerDragCapability } from './useRepeaterPointerDragCapability';
@@ -0,0 +1,22 @@
1
+ import type { RepeaterFieldConfig } from '../../../fields/types';
2
+ import type { RepeaterLayoutGridCapacityContext } from '../components/RepeaterLayoutGrid';
3
+ import type { RepeaterPresentationConfig } from '../utils';
4
+ export type LayoutGridAddBlockedReason = 'missing-capacity-context' | 'invalid-span' | 'max-rows-reached';
5
+ export type LayoutGridAddDecision = {
6
+ canAdd: true;
7
+ nextPlacement: {
8
+ row: number;
9
+ colStart: number;
10
+ };
11
+ } | {
12
+ canAdd: false;
13
+ reason: LayoutGridAddBlockedReason;
14
+ };
15
+ type ResolveLayoutGridAddDecisionInput = {
16
+ config: RepeaterFieldConfig;
17
+ presentation: RepeaterPresentationConfig;
18
+ layoutGridCapacityContext: RepeaterLayoutGridCapacityContext | null;
19
+ itemType?: string;
20
+ };
21
+ export declare function resolveLayoutGridAddDecision({ config, presentation, layoutGridCapacityContext, itemType, }: ResolveLayoutGridAddDecisionInput): LayoutGridAddDecision;
22
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { RepeaterFieldConfig } from '../../../fields/types';
2
+ import type { RepeaterPresentationConfig } from '../utils';
3
+ import type { RepeaterLayoutGridCapacityContext } from '../components/RepeaterLayoutGrid';
4
+ type UseLayoutGridCapacityInput = {
5
+ config: RepeaterFieldConfig;
6
+ presentation: RepeaterPresentationConfig;
7
+ isPolymorphic: boolean;
8
+ };
9
+ type UseLayoutGridCapacityResult = {
10
+ onLayoutGridCapacityContextChange: (next: RepeaterLayoutGridCapacityContext) => void;
11
+ canAppendLayoutGridDefaultItem: (itemType?: string) => boolean;
12
+ getNextLayoutGridPlacement: (itemType?: string) => {
13
+ row: number;
14
+ colStart: number;
15
+ } | null;
16
+ polymorphicTypeCanAdd: Map<string, boolean>;
17
+ layoutGridAddDisabled: boolean;
18
+ };
19
+ export declare function useLayoutGridCapacity({ config, presentation, isPolymorphic, }: UseLayoutGridCapacityInput): UseLayoutGridCapacityResult;
20
+ export {};
@@ -0,0 +1,23 @@
1
+ import { closestCenter, useSensors, type DragEndEvent } from '@dnd-kit/core';
2
+ import { type SortingStrategy } from '@dnd-kit/sortable';
3
+ import { useRepeaterPointerDragCapability } from './useRepeaterPointerDragCapability';
4
+ export type LinearRepeaterSortingStrategyKind = 'verticalList' | 'rectGrid';
5
+ interface UseLinearRepeaterDndInput {
6
+ itemIds: readonly string[];
7
+ sortingStrategy: LinearRepeaterSortingStrategyKind;
8
+ activationDistance?: number;
9
+ onMove: (fromIndex: number, toIndex: number) => void;
10
+ }
11
+ export interface UseLinearRepeaterDndResult {
12
+ containerRef: ReturnType<typeof useRepeaterPointerDragCapability>['containerRef'];
13
+ breakpoint: ReturnType<typeof useRepeaterPointerDragCapability>['breakpoint'];
14
+ pointerDragCapability: ReturnType<typeof useRepeaterPointerDragCapability>['pointerDragCapability'];
15
+ canUsePointerDrag: boolean;
16
+ sensors: ReturnType<typeof useSensors>;
17
+ collisionDetection: typeof closestCenter;
18
+ sortingStrategy: SortingStrategy;
19
+ sortableItemIds: string[];
20
+ handleDragEnd: (event: DragEndEvent) => void;
21
+ }
22
+ export declare function useLinearRepeaterDnd(input: UseLinearRepeaterDndInput): UseLinearRepeaterDndResult;
23
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type RefObject } from 'react';
2
+ import { resolveRepeaterGridBreakpointForWidth } from '@riverbankcms/blocks';
3
+ import { type RepeaterPointerDragCapability } from '../utils';
4
+ export interface UseRepeaterPointerDragCapabilityResult {
5
+ containerRef: RefObject<HTMLDivElement | null>;
6
+ breakpoint: ReturnType<typeof resolveRepeaterGridBreakpointForWidth>;
7
+ pointerDragCapability: RepeaterPointerDragCapability;
8
+ canUsePointerDrag: boolean;
9
+ }
10
+ export declare function useRepeaterPointerDragCapability(itemCount: number): UseRepeaterPointerDragCapabilityResult;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Hook to collect validation errors for a repeater row
3
+ */
4
+ import type { RepeaterFieldConfig } from '../../../fields/types';
5
+ import type { FormBackend } from '../../../backend/types';
6
+ export type RowFieldError = {
7
+ fieldId: string;
8
+ path: string;
9
+ message?: string;
10
+ value: unknown;
11
+ };
12
+ export declare function useRepeaterRowErrors(field: RepeaterFieldConfig, index: number, backend: FormBackend, basePath: string): RowFieldError[];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Hook to handle repeater field visibility based on visibleWhen conditions
3
+ */
4
+ import type { RepeaterFieldConfig } from '../../../fields/types';
5
+ import type { FormBackend } from '../../../backend/types';
6
+ export declare function useRepeaterVisibility(field: RepeaterFieldConfig, backend: FormBackend, path: string): boolean;
@@ -0,0 +1,12 @@
1
+ import type { RepeaterFieldConfig } from '../../../fields/types';
2
+ import type { FormBackend } from '../../../backend/types';
3
+ /**
4
+ * Resolves a display label for a repeater item.
5
+ *
6
+ * When the repeater's `itemLabelSource` points to a field type that has a
7
+ * registered DisplayLabelResolver (e.g. entryPicker), this hook resolves the
8
+ * stored value to a human-readable string asynchronously. While resolution is
9
+ * in-flight or if no resolver exists, the sync fallback from `buildItemLabel`
10
+ * is returned.
11
+ */
12
+ export declare function useResolvedItemLabel(config: RepeaterFieldConfig, index: number, backend: FormBackend, basePath: string): string;
@@ -0,0 +1,3 @@
1
+ export { RepeaterField } from './RepeaterField';
2
+ export { buildRepeaterFieldSchema } from './repeaterFieldSchema';
3
+ export { getRepeaterFieldDefault } from './repeaterFieldDefaults';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * RepeaterField default value builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { RepeaterFieldConfig } from '../../fields/types';
6
+ import type { DefaultValueContext } from '../GroupField/groupFieldDefaults';
7
+ export declare function getRepeaterFieldDefault(field: RepeaterFieldConfig, ctx: DefaultValueContext): Array<Record<string, unknown>>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * RepeaterField validation schema builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import { z } from 'zod';
6
+ import type { RepeaterFieldConfig } from '../../fields/types';
7
+ import type { SchemaContext } from '../GroupField/groupFieldSchema';
8
+ export declare function buildRepeaterFieldSchema(field: RepeaterFieldConfig, ctx: SchemaContext): z.ZodTypeAny;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Build the display label for a repeater item
3
+ * Uses itemLabelSource if specified, otherwise falls back to index
4
+ */
5
+ import type { RepeaterFieldConfig } from '../../../fields/types';
6
+ import type { FormBackend } from '../../../backend/types';
7
+ export declare function buildItemLabel(field: RepeaterFieldConfig, index: number, backend: FormBackend, basePath: string): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Build a summary preview text for a repeater item
3
+ * Shows first 2 non-hidden, non-label-source field values
4
+ */
5
+ import type { RepeaterFieldConfig } from '../../../fields/types';
6
+ import type { FormBackend } from '../../../backend/types';
7
+ export declare function buildSummary(field: RepeaterFieldConfig, index: number, backend: FormBackend, basePath: string): string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Create a default item for a repeater field
3
+ * Reads default values from field configs directly
4
+ */
5
+ import type { RepeaterFieldConfig } from '../../../fields/types';
6
+ export declare function createDefaultItem(field: RepeaterFieldConfig, itemType?: string): Record<string, unknown>;
@@ -0,0 +1,8 @@
1
+ import type { RepeaterFieldConfig, FieldConfig } from '../../../fields/types';
2
+ import type { FormBackend } from '../../../backend/types';
3
+ export type RepeaterItemFieldGroups = {
4
+ contentFields: FieldConfig[];
5
+ settingsFields: FieldConfig[];
6
+ settingsFieldIds: Set<string>;
7
+ };
8
+ export declare function getRepeaterItemFieldGroups(config: RepeaterFieldConfig, backend: FormBackend, basePath: string, index: number): RepeaterItemFieldGroups;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Get fields for a repeater item based on repeater configuration.
3
+ *
4
+ * Handles both monomorphic repeaters (fields defined on config) and
5
+ * polymorphic repeaters (fields defined per item type).
6
+ */
7
+ import type { RepeaterFieldConfig, FieldConfig } from '../../../fields/types';
8
+ import type { FormBackend } from '../../../backend/types';
9
+ /**
10
+ * Get the fields for a specific repeater item.
11
+ *
12
+ * For monomorphic repeaters, returns config.fields.
13
+ * For polymorphic repeaters, looks up the item's _type and returns
14
+ * the fields from the corresponding itemType schema.
15
+ *
16
+ * @param config - Repeater field configuration
17
+ * @param backend - Form backend for reading values
18
+ * @param basePath - Base path to the repeater array
19
+ * @param index - Index of the item in the array
20
+ * @returns Array of field configs for this item
21
+ */
22
+ export declare function getRepeaterItemFields(config: RepeaterFieldConfig, backend: FormBackend, basePath: string, index: number): FieldConfig[];
@@ -0,0 +1,10 @@
1
+ export { createDefaultItem } from './createDefaultItem';
2
+ export { buildItemLabel } from './buildItemLabel';
3
+ export { buildSummary } from './buildSummary';
4
+ export { getRepeaterItemFields } from './getRepeaterItemFields';
5
+ export { getRepeaterItemFieldGroups } from './getRepeaterItemFieldGroups';
6
+ export { areLayoutGridCapacityContextsEqual } from './layoutGridCapacityContext';
7
+ export { handleLinearRepeaterDragEnd, resolveLinearRepeaterMoveIntent, resolveRepeaterPointerDragCapability, type LinearRepeaterDragEndEvent, type LinearRepeaterMoveIntent, type RepeaterPointerDragCapability, } from './repeaterDndDomain';
8
+ export { resolveRepeaterPresentation } from './repeaterPresentation';
9
+ export { resolveRepeaterThumbnail } from './resolveThumbnail';
10
+ export type { RepeaterPresentationConfig, RepeaterCardDensity } from './repeaterPresentation';
@@ -0,0 +1,2 @@
1
+ import type { RepeaterLayoutGridCapacityContext } from '../components';
2
+ export declare function areLayoutGridCapacityContextsEqual(current: RepeaterLayoutGridCapacityContext | null, next: RepeaterLayoutGridCapacityContext): boolean;
@@ -0,0 +1,43 @@
1
+ import type { RepeaterGridBreakpoint } from '@riverbankcms/blocks';
2
+ export type RepeaterPointerDragCapability = {
3
+ kind: 'enabled';
4
+ breakpoint: RepeaterGridBreakpoint;
5
+ } | {
6
+ kind: 'disabled';
7
+ breakpoint: RepeaterGridBreakpoint;
8
+ reason: 'insufficient-items' | 'small-breakpoint' | 'coarse-pointer';
9
+ };
10
+ export type LinearRepeaterMoveIntent = {
11
+ kind: 'none';
12
+ reason: 'missing-over' | 'same-item' | 'unknown-active' | 'unknown-over';
13
+ } | {
14
+ kind: 'move';
15
+ fromIndex: number;
16
+ toIndex: number;
17
+ };
18
+ export interface LinearRepeaterDragEndEvent {
19
+ active: {
20
+ id: unknown;
21
+ };
22
+ over: {
23
+ id: unknown;
24
+ } | null;
25
+ }
26
+ type LinearRepeaterPointerDragCapabilityInput = {
27
+ breakpoint: RepeaterGridBreakpoint;
28
+ coarsePointer: boolean;
29
+ itemCount: number;
30
+ };
31
+ interface LinearRepeaterMoveIntentInput {
32
+ activeId: unknown;
33
+ overId: unknown;
34
+ itemIds: readonly string[];
35
+ }
36
+ export declare function resolveRepeaterPointerDragCapability(input: LinearRepeaterPointerDragCapabilityInput): RepeaterPointerDragCapability;
37
+ export declare function resolveLinearRepeaterMoveIntent(input: LinearRepeaterMoveIntentInput): LinearRepeaterMoveIntent;
38
+ export declare function handleLinearRepeaterDragEnd(input: {
39
+ event: LinearRepeaterDragEndEvent;
40
+ itemIds: readonly string[];
41
+ onMove: (fromIndex: number, toIndex: number) => void;
42
+ }): LinearRepeaterMoveIntent;
43
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { RepeaterFieldConfig } from '../../../fields/types';
2
+ import { type RepeaterGridColumnsFieldBindings } from '@riverbankcms/blocks';
3
+ export type RepeaterCardDensity = 'compact' | 'comfortable';
4
+ type RepeaterThumbnailPresentation = {
5
+ thumbnailField: string;
6
+ thumbnailAltField?: string;
7
+ thumbnailLabelField?: string;
8
+ thumbnailAspectRatio?: string;
9
+ density: RepeaterCardDensity;
10
+ };
11
+ export type RepeaterPresentationConfig = {
12
+ mode: 'stack';
13
+ } | ({
14
+ mode: 'thumbnailGrid';
15
+ } & RepeaterThumbnailPresentation) | ({
16
+ mode: 'layoutGrid';
17
+ columnsFields: RepeaterGridColumnsFieldBindings;
18
+ spanField: string;
19
+ rowField: string;
20
+ columnField: string;
21
+ maxRows?: number;
22
+ } & RepeaterThumbnailPresentation);
23
+ export declare function resolveRepeaterPresentation(config: RepeaterFieldConfig): RepeaterPresentationConfig;
24
+ export {};
@@ -0,0 +1,12 @@
1
+ import { type ResolveImageUrlContext } from '@riverbankcms/blocks';
2
+ type ResolveRepeaterThumbnailOptions = {
3
+ siteId?: string;
4
+ imageResolveContext?: ResolveImageUrlContext;
5
+ };
6
+ export type ResolvedRepeaterThumbnail = {
7
+ src: string | null;
8
+ alt: string | null;
9
+ kind: 'image' | 'video' | 'unknown';
10
+ };
11
+ export declare function resolveRepeaterThumbnail(value: unknown, options?: ResolveRepeaterThumbnailOptions): ResolvedRepeaterThumbnail;
12
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { RichTextFieldConfig } from '../../fields/types';
2
+ /**
3
+ * Empty TipTap document structure
4
+ */
5
+ export declare const EMPTY_RICH_TEXT_DOC: {
6
+ type: string;
7
+ content: {
8
+ type: string;
9
+ }[];
10
+ };
11
+ /**
12
+ * Get default value for rich text field
13
+ * Returns empty TipTap document structure
14
+ */
15
+ export declare function getRichTextFieldDefaultValue(_config: RichTextFieldConfig): {
16
+ type: string;
17
+ content: {
18
+ type: string;
19
+ }[];
20
+ };
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ import type { RichTextFieldConfig } from '../../fields/types';
3
+ /**
4
+ * Build Zod validation schema for rich text field
5
+ *
6
+ * Uses the shared rich text schema from @riverbankcms/blocks to ensure consistency
7
+ * between the form editor and block rendering validation.
8
+ *
9
+ * @param config - Rich text field configuration
10
+ * @returns Zod schema for rich text validation
11
+ */
12
+ export declare function buildRichTextFieldSchema(config: RichTextFieldConfig): z.ZodUnion<readonly [z.ZodType<import("@riverbankcms/blocks").TipTapNode, unknown, z.core.$ZodTypeInternals<import("@riverbankcms/blocks").TipTapNode, unknown>>, z.ZodObject<{
13
+ doc: z.ZodType<import("@riverbankcms/blocks").TipTapNode, unknown, z.core.$ZodTypeInternals<import("@riverbankcms/blocks").TipTapNode, unknown>>;
14
+ }, z.core.$strip>]> | z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodType<import("@riverbankcms/blocks").TipTapNode, unknown, z.core.$ZodTypeInternals<import("@riverbankcms/blocks").TipTapNode, unknown>>, z.ZodObject<{
15
+ doc: z.ZodType<import("@riverbankcms/blocks").TipTapNode, unknown, z.core.$ZodTypeInternals<import("@riverbankcms/blocks").TipTapNode, unknown>>;
16
+ }, z.core.$strip>]>, z.ZodNull]>>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SdkSelectField - SDK-aware select widget
3
+ *
4
+ * Extends SelectField to check for SDK-provided options first.
5
+ * Falls back to field-defined options when SDK options aren't available.
6
+ *
7
+ * Use `ui.widget: 'sdkSelect'` in field definitions to opt into this behavior.
8
+ */
9
+ import type { FieldWidgetProps } from '../../fields/props';
10
+ import type { SelectFieldConfig } from '../../fields/types';
11
+ export declare function SdkSelectField({ path, backend, config }: FieldWidgetProps<string, SelectFieldConfig>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { SdkSelectField } from './SdkSelectField';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SelectField - Dropdown selection widget using new FieldWidgetProps pattern with @riverbankcms/ui components
3
+ * Used for enums, block variants, and other single-choice selections
4
+ */
5
+ import type { FieldWidgetProps } from '../../fields/props';
6
+ import type { SelectFieldConfig } from '../../fields/types';
7
+ export declare function SelectField({ path, backend, config }: FieldWidgetProps<string | string[] | null, SelectFieldConfig>): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,3 @@
1
+ export { SelectField } from './SelectField';
2
+ export { buildSelectFieldSchema } from './selectFieldSchema';
3
+ export { getSelectFieldDefault } from './selectFieldDefaults';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * SelectField default value builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { SelectFieldConfig } from '../../fields/types';
6
+ export declare function getSelectFieldDefault(field: SelectFieldConfig): string | string[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * SelectField validation schema builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { z } from 'zod';
6
+ import type { SelectFieldConfig } from '../../fields/types';
7
+ export declare function buildSelectFieldSchema(field: SelectFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,34 @@
1
+ import type { ReactNode } from 'react';
2
+ export type SelectWidgetOption = {
3
+ value: string;
4
+ label: ReactNode;
5
+ description?: ReactNode;
6
+ disabled?: boolean;
7
+ };
8
+ export type SelectWidgetProps = {
9
+ id?: string;
10
+ label: string;
11
+ value: string | null;
12
+ onChange: (value: string) => void;
13
+ options: SelectWidgetOption[];
14
+ description?: ReactNode;
15
+ hint?: ReactNode;
16
+ error?: ReactNode;
17
+ placeholder?: string;
18
+ triggerClassName?: string;
19
+ size?: 'sm' | 'default';
20
+ disabled?: boolean;
21
+ className?: string;
22
+ labelClassName?: string;
23
+ descriptionClassName?: string;
24
+ renderOption?: (option: SelectWidgetOption, state: {
25
+ selected: boolean;
26
+ }) => ReactNode;
27
+ renderValue?: (option: SelectWidgetOption | undefined) => ReactNode;
28
+ dataPath?: string;
29
+ };
30
+ /**
31
+ * Standalone select widget with block-form styling parity. Supports custom option
32
+ * renderers while maintaining accessible labelling and message semantics.
33
+ */
34
+ export declare function SelectWidget(props: SelectWidgetProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { FieldConfig } from '../../fields/types';
3
+ import type { FormBackend } from '../../backend/types';
4
+ export type SettingsTabId = 'display' | 'behavior' | 'style';
5
+ export type SettingsTab = {
6
+ id: SettingsTabId;
7
+ label: string;
8
+ fields: FieldConfig[];
9
+ };
10
+ export type SettingsModalProps = {
11
+ tabs: SettingsTab[];
12
+ backend: FormBackend;
13
+ renderField: (field: FieldConfig, path: string) => ReactNode;
14
+ title?: string;
15
+ tooltip?: string;
16
+ };
17
+ export declare function SettingsModal({ tabs, backend, renderField, title, tooltip, }: SettingsModalProps): ReactNode;
@@ -0,0 +1,2 @@
1
+ export { SettingsModal } from './SettingsModal';
2
+ export type { SettingsModalProps, SettingsTab, SettingsTabId } from './SettingsModal';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * SliderField - Slider input widget for percentage/range values
3
+ * Pure UI component with no validation or default value logic
4
+ *
5
+ * This is a **widget variant** of number fields, not a separate field type.
6
+ * It reuses NumberField's schema and default value builders. Applied via
7
+ * `ui: { widget: 'slider' }` on `type: 'number'` fields.
8
+ *
9
+ * Key behaviors:
10
+ * - Null/undefined values display as max (100%) since null opacity = fully opaque at runtime
11
+ * - Hardcodes `%` suffix (designed for 0-100 percentage fields like opacity)
12
+ * - Supports `ui.min`, `ui.max`, `ui.step`, `ui.showValue` configuration
13
+ */
14
+ import type { FieldWidgetProps } from '../../fields/props';
15
+ import type { NumberFieldConfig } from '../../fields/types';
16
+ export declare function SliderField({ path, backend, config }: FieldWidgetProps<number, NumberFieldConfig>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export { SliderField } from './SliderField';
@@ -0,0 +1,39 @@
1
+ /**
2
+ * SlugField - URL slug input with auto-generation
3
+ *
4
+ * Auto-generates slugs from a source field (default: title) when in draft status.
5
+ * Detects manual edits and stops auto-generation.
6
+ * Ensures unique slugs within repeaters.
7
+ */
8
+ import type { ReactNode } from 'react';
9
+ import type { FieldWidgetProps } from '../../fields/props';
10
+ import type { SlugFieldConfig } from '../../fields/types';
11
+ export interface SlugFieldProps extends FieldWidgetProps<string, SlugFieldConfig> {
12
+ }
13
+ /**
14
+ * SlugField - Renders a slug input with auto-generation
15
+ *
16
+ * Features:
17
+ * - Auto-generates from source field (e.g., title)
18
+ * - Only auto-generates when status is 'draft'
19
+ * - Detects and respects manual edits
20
+ * - Ensures uniqueness in repeaters (appends -2, -3, etc.)
21
+ * - Validates format (lowercase, numbers, dashes, optional slashes)
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <SlugField
26
+ * path="slug"
27
+ * backend={backend}
28
+ * config={{
29
+ * id: 'slug',
30
+ * type: 'slug',
31
+ * label: 'Slug',
32
+ * sourceFieldId: 'title',
33
+ * statusFieldId: 'status',
34
+ * maxLength: 100,
35
+ * }}
36
+ * />
37
+ * ```
38
+ */
39
+ export declare function SlugField({ path, backend, config }: SlugFieldProps): ReactNode;
@@ -0,0 +1 @@
1
+ export { useSlugAutoGeneration, type UseSlugAutoGenerationProps } from './useSlugAutoGeneration';