@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,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';
@@ -0,0 +1,29 @@
1
+ /**
2
+ * useSlugAutoGeneration - Auto-generate slugs from source field
3
+ *
4
+ * Watches source and status fields and automatically generates slugs when appropriate.
5
+ * Respects manual edits and only generates in draft status.
6
+ */
7
+ import type { FormBackend } from '../../../backend/types';
8
+ import type { SlugFieldConfig } from '../../../fields/types';
9
+ export interface UseSlugAutoGenerationProps {
10
+ path: string;
11
+ backend: FormBackend;
12
+ config: SlugFieldConfig;
13
+ onManualEditChange?: (isManual: boolean) => void;
14
+ }
15
+ /**
16
+ * Hook to handle automatic slug generation
17
+ *
18
+ * Features:
19
+ * - Auto-generates from source field (default: 'title')
20
+ * - Only generates when status is 'draft' (default status field: 'status')
21
+ * - Detects manual edits and stops auto-generation
22
+ * - Ensures uniqueness within repeaters
23
+ * - Respects maxLength constraint
24
+ */
25
+ export declare function useSlugAutoGeneration({ path, backend, config, onManualEditChange }: UseSlugAutoGenerationProps): {
26
+ isManualEdit: boolean;
27
+ lastAutoValue: string | null;
28
+ setManualEdit: (value: boolean) => void;
29
+ };
@@ -0,0 +1,5 @@
1
+ export { SlugField } from './SlugField';
2
+ export { buildSlugFieldSchema } from './slugFieldSchema';
3
+ export { getSlugFieldDefault } from './slugFieldDefaults';
4
+ export { useSlugAutoGeneration, type UseSlugAutoGenerationProps } from './hooks';
5
+ export { getSiblingPath, getParentPath, getCollectionPath, slugify, limitSlugLength, sanitizeSlugInput, ensureUniqueSlug } from './utils';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Slug Field - Default Values
3
+ */
4
+ import type { SlugFieldConfig } from '../../fields/types';
5
+ /**
6
+ * Get default value for Slug field
7
+ */
8
+ export declare function getSlugFieldDefault(field: SlugFieldConfig): string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Slug Field - Validation Schema
3
+ */
4
+ import type { z } from 'zod';
5
+ import type { SlugFieldConfig } from '../../fields/types';
6
+ /**
7
+ * Build Zod validation schema for Slug field
8
+ *
9
+ * Validates:
10
+ * - Lowercase letters, numbers, and dashes only
11
+ * - Optional slashes for paths (e.g., 'parent/child')
12
+ * - Optional maxLength constraint
13
+ */
14
+ export declare function buildSlugFieldSchema(field: SlugFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,2 @@
1
+ export { getSiblingPath, getParentPath, getCollectionPath } from './pathUtils';
2
+ export { slugify, limitSlugLength, sanitizeSlugInput, ensureUniqueSlug } from './slugUtils';
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Path Utilities - Helpers for deriving relative field paths
3
+ */
4
+ /**
5
+ * Get the path to a sibling field
6
+ *
7
+ * @example
8
+ * getSiblingPath('sections.0.title', 'slug') // => 'sections.0.slug'
9
+ * getSiblingPath('title', 'slug') // => 'slug'
10
+ */
11
+ export declare function getSiblingPath(ownPath: string, siblingId: string): string;
12
+ /**
13
+ * Get the parent path (for repeater uniqueness checking)
14
+ *
15
+ * @example
16
+ * getParentPath('sections.0.slug') // => 'sections.0'
17
+ * getParentPath('sections') // => null
18
+ */
19
+ export declare function getParentPath(ownPath: string): string | null;
20
+ /**
21
+ * Get the collection path (parent without index)
22
+ *
23
+ * @example
24
+ * getCollectionPath('sections.0.slug') // => { collection: 'sections', index: 0 }
25
+ * getCollectionPath('slug') // => null
26
+ */
27
+ export declare function getCollectionPath(ownPath: string): {
28
+ collection: string;
29
+ index: number;
30
+ } | null;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Slug Utilities - Helpers for generating and validating slugs
3
+ */
4
+ import { slugify, limitSlugLength, sanitizeSlugInput } from '../../../utils/slug';
5
+ import type { FormBackend } from '../../../backend/types';
6
+ export { slugify, limitSlugLength, sanitizeSlugInput };
7
+ /**
8
+ * Ensure unique slug within a repeater by appending -2, -3, etc.
9
+ *
10
+ * @param candidate - The proposed slug
11
+ * @param backend - Form backend for reading repeater items
12
+ * @param collectionPath - Path to the repeater array
13
+ * @param currentIndex - Index of current item (to exclude from check)
14
+ * @param fieldId - ID of the slug field
15
+ * @param maxLength - Optional maximum length constraint
16
+ */
17
+ export declare function ensureUniqueSlug(candidate: string, backend: FormBackend, collectionPath: string, currentIndex: number, fieldId: string, maxLength?: number): string;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * TabGroupField - Container widget for tabbed field groups
3
+ *
4
+ * Provides a tab interface for switching between different field groups.
5
+ * Each tab contains its own set of fields rendered via the generic field renderer.
6
+ *
7
+ * The active tab can be controlled by an external field (activeTabField),
8
+ * or managed internally if no control field is specified.
9
+ */
10
+ import type { ReactNode } from 'react';
11
+ import type { FieldWidgetProps } from '../../fields/props';
12
+ import type { TabGroupFieldConfig } from './types';
13
+ export declare function TabGroupField({ path, backend, config, renderChild, }: FieldWidgetProps<Record<string, unknown>, TabGroupFieldConfig>): ReactNode;
@@ -0,0 +1,3 @@
1
+ export { TabGroupField } from './TabGroupField';
2
+ export type { TabGroupFieldConfig, TabDefinition } from './types';
3
+ export { buildTabGroupFieldSchema, getTabGroupFieldDefault } from './tabGroupFieldSchema';
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TabGroupField validation schema builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import { z } from 'zod';
6
+ import type { TabGroupFieldConfig } from './types';
7
+ import type { SchemaContext, DefaultValueContext } from '../../registry/schemas';
8
+ /**
9
+ * Build validation schema for TabGroupField
10
+ *
11
+ * TabGroup is a UI container that organizes fields into tabs.
12
+ * It validates all child fields across all tabs, and optionally
13
+ * validates the activeTabField if one is specified.
14
+ */
15
+ export declare function buildTabGroupFieldSchema(field: TabGroupFieldConfig, ctx: SchemaContext): z.ZodTypeAny;
16
+ /**
17
+ * Get default value for TabGroupField
18
+ *
19
+ * Returns an object containing default values for all child fields
20
+ * across all tabs, plus the activeTabField if specified.
21
+ *
22
+ * Follows the same pattern as GroupField - includes all fields
23
+ * even if their default value is undefined.
24
+ */
25
+ export declare function getTabGroupFieldDefault(field: TabGroupFieldConfig, ctx: DefaultValueContext): Record<string, unknown>;
@@ -0,0 +1,46 @@
1
+ import type { BaseFieldConfig, FieldConfig } from '../../fields/types';
2
+ /**
3
+ * Tab definition for TabGroupField
4
+ */
5
+ export interface TabDefinition {
6
+ /** Tab identifier (used in activeTabField value) */
7
+ id: string;
8
+ /** Display label for the tab */
9
+ label: string;
10
+ /** Optional icon name (lucide) - not yet implemented */
11
+ icon?: string;
12
+ /** Optional description shown at the top of tab content */
13
+ description?: string;
14
+ /** Fields to render in this tab */
15
+ fields: FieldConfig[];
16
+ /**
17
+ * Optional SDK section option that controls tab visibility.
18
+ * When set, the tab is only shown when the SDK sectionOptions[key] is not false.
19
+ * If no SDK config is present, the tab is always visible.
20
+ */
21
+ sdkSectionOption?: 'backgroundColor' | 'backgroundGradient' | 'backgroundImage';
22
+ }
23
+ /**
24
+ * TabGroupField configuration
25
+ */
26
+ export interface TabGroupFieldConfig extends BaseFieldConfig {
27
+ type: 'tabGroup';
28
+ /** Tab definitions */
29
+ tabs: TabDefinition[];
30
+ /**
31
+ * Optional: field ID that controls which tab is active
32
+ * If not specified, tabs use internal state
33
+ * If specified, the field value should match a tab.id
34
+ */
35
+ activeTabField?: string;
36
+ ui?: {
37
+ /** Hide the entire field */
38
+ hidden?: boolean;
39
+ /** Hide the field label */
40
+ hideLabel?: boolean;
41
+ /** Tab style variant (future enhancement) */
42
+ tabStyle?: 'pills' | 'underline' | 'buttons';
43
+ /** Tabs take full width */
44
+ fullWidth?: boolean;
45
+ };
46
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * TextField - Text input widget (single-line or multiline)
3
+ * Pure UI component with no validation or default value logic
4
+ */
5
+ import type { FieldWidgetProps } from '../../fields/props';
6
+ import type { TextFieldConfig } from '../../fields/types';
7
+ export declare function TextField({ path, backend, config }: FieldWidgetProps<string, TextFieldConfig>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { TextField } from './TextField';
2
+ export { buildTextFieldSchema } from './textFieldSchema';
3
+ export { getTextFieldDefault } from './textFieldDefaults';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * TextField default value builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { TextFieldConfig } from '../../fields/types';
6
+ export declare function getTextFieldDefault(field: TextFieldConfig): string;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * TextField validation schema builder
3
+ * Server-safe - no React, no browser APIs
4
+ */
5
+ import type { z } from 'zod';
6
+ import type { TextFieldConfig } from '../../fields/types';
7
+ export declare function buildTextFieldSchema(field: TextFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,20 @@
1
+ import type { ReactNode } from 'react';
2
+ export type TextInputWidgetProps = {
3
+ id?: string;
4
+ label: string;
5
+ value: string;
6
+ onChange: (value: string) => void;
7
+ description?: ReactNode;
8
+ labelClassName?: string;
9
+ descriptionClassName?: string;
10
+ hint?: ReactNode;
11
+ error?: ReactNode;
12
+ placeholder?: string;
13
+ className?: string;
14
+ inputClassName?: string;
15
+ autoComplete?: string;
16
+ disabled?: boolean;
17
+ dataPath?: string;
18
+ maxLength?: number;
19
+ };
20
+ export declare function TextInputWidget(props: TextInputWidgetProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * TimeField - Time input widget
3
+ *
4
+ * Simple time picker input using HTML5 time input.
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ import type { FieldWidgetProps } from '../../fields/props';
8
+ import type { TimeFieldConfig } from '../../fields/types';
9
+ export interface TimeFieldProps extends FieldWidgetProps<string | null, TimeFieldConfig> {
10
+ }
11
+ /**
12
+ * TimeField - Renders a time input field
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <TimeField
17
+ * path="startTime"
18
+ * backend={backend}
19
+ * config={{ id: 'startTime', type: 'time', label: 'Start Time' }}
20
+ * />
21
+ * ```
22
+ */
23
+ export declare function TimeField({ path, backend, config }: TimeFieldProps): ReactNode;
@@ -0,0 +1,3 @@
1
+ export { TimeField } from './TimeField';
2
+ export { buildTimeFieldSchema } from './timeFieldSchema';
3
+ export { getTimeFieldDefault } from './timeFieldDefaults';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Time Field - Default Values
3
+ */
4
+ import type { TimeFieldConfig } from '../../fields/types';
5
+ /**
6
+ * Get default value for Time field
7
+ */
8
+ export declare function getTimeFieldDefault(field: TimeFieldConfig): string | null;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Time Field - Validation Schema
3
+ */
4
+ import { z } from 'zod';
5
+ import type { TimeFieldConfig } from '../../fields/types';
6
+ /**
7
+ * Build Zod validation schema for Time field
8
+ */
9
+ export declare function buildTimeFieldSchema(field: TimeFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,16 @@
1
+ import type { ReactNode } from 'react';
2
+ export type ToggleWidgetProps = {
3
+ id?: string;
4
+ label: string;
5
+ description?: ReactNode;
6
+ hint?: ReactNode;
7
+ error?: ReactNode;
8
+ value: boolean;
9
+ onChange: (value: boolean) => void;
10
+ disabled?: boolean;
11
+ className?: string;
12
+ };
13
+ /**
14
+ * Boolean toggle widget with shared styling to match block-form boolean fields.
15
+ */
16
+ export declare function ToggleWidget(props: ToggleWidgetProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * UrlField - URL input widget with validation
3
+ *
4
+ * Supports both absolute URLs (http/https) and optional relative paths.
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ import type { FieldWidgetProps } from '../../fields/props';
8
+ import type { UrlFieldConfig } from '../../fields/types';
9
+ export interface UrlFieldProps extends FieldWidgetProps<string, UrlFieldConfig> {
10
+ }
11
+ /**
12
+ * UrlField - Renders a URL input field
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <UrlField
17
+ * path="website"
18
+ * backend={backend}
19
+ * config={{ id: 'website', type: 'url', label: 'Website', allowRelative: false }}
20
+ * />
21
+ * ```
22
+ */
23
+ export declare function UrlField({ path, backend, config }: UrlFieldProps): ReactNode;
@@ -0,0 +1,3 @@
1
+ export { UrlField } from './UrlField';
2
+ export { buildUrlFieldSchema } from './urlFieldSchema';
3
+ export { getUrlFieldDefault } from './urlFieldDefaults';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * URL Field - Default Values
3
+ */
4
+ import type { UrlFieldConfig } from '../../fields/types';
5
+ /**
6
+ * Get default value for URL field
7
+ */
8
+ export declare function getUrlFieldDefault(field: UrlFieldConfig): string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * URL Field - Validation Schema
3
+ */
4
+ import type { z } from 'zod';
5
+ import type { UrlFieldConfig } from '../../fields/types';
6
+ /**
7
+ * Build Zod validation schema for URL field
8
+ */
9
+ export declare function buildUrlFieldSchema(field: UrlFieldConfig): z.ZodTypeAny;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Widget Name Constants
3
+ *
4
+ * Standard widget names used in field definitions' ui.widget property.
5
+ * These map to components in the widget registry or widgetOverrides.
6
+ *
7
+ * ## Widget Resolution Order
8
+ *
9
+ * When FormRenderer resolves a widget for a field, it uses this order:
10
+ * 1. `widgetOverrides[ui.widget]` - if ui.widget is set
11
+ * 2. `widgetOverrides[field.type]` - if no ui.widget
12
+ * 3. `WIDGET_COMPONENTS[field.type]` - built-in registry fallback
13
+ *
14
+ * ## Override Widgets
15
+ *
16
+ * Override widgets are passed via the `widgetOverrides` prop to FormRenderer.
17
+ * They're used for widgets that need app-specific context (e.g., MediaField
18
+ * needs siteId, LinkField needs routing info).
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { WIDGET_NAMES } from '@riverbankcms/block-form'
23
+ *
24
+ * const field = {
25
+ * type: 'text',
26
+ * ui: { widget: WIDGET_NAMES.BACKGROUND_COLOR }
27
+ * }
28
+ * ```
29
+ *
30
+ * @see FormRenderer for widget resolution implementation
31
+ * @see dashboardWidgetOverrides for example override map
32
+ */
33
+ export declare const WIDGET_NAMES: {
34
+ readonly TEXT: "text";
35
+ readonly NUMBER: "number";
36
+ readonly SELECT: "select";
37
+ readonly BOOLEAN: "boolean";
38
+ readonly GROUP: "group";
39
+ readonly MODAL: "modal";
40
+ readonly TAB_GROUP: "tabGroup";
41
+ readonly PRESET_OR_CUSTOM: "presetOrCustom";
42
+ readonly REPEATER: "repeater";
43
+ readonly URL: "url";
44
+ readonly TIME: "time";
45
+ readonly DATE: "date";
46
+ readonly DATETIME: "datetime";
47
+ readonly SLUG: "slug";
48
+ readonly LINK: "link";
49
+ readonly MEDIA: "media";
50
+ readonly RICH_TEXT: "richText";
51
+ readonly REFERENCE: "reference";
52
+ readonly CONTENT_TYPE_SELECT: "contentTypeSelect";
53
+ readonly ENTRY_PICKER: "entryPicker";
54
+ readonly SLIDER: "slider";
55
+ readonly BACKGROUND_COLOR: "backgroundColor";
56
+ readonly BACKGROUND_GRADIENT: "backgroundGradient";
57
+ };
58
+ export type WidgetName = typeof WIDGET_NAMES[keyof typeof WIDGET_NAMES];
@@ -0,0 +1,61 @@
1
+ /**
2
+ * GroupField helper functions
3
+ * Extracted for testability and reusability
4
+ */
5
+ import type { GroupFieldConfig } from '../fields/types';
6
+ /**
7
+ * Determines if a group field should flatten its children when inside a repeater
8
+ *
9
+ * @param path - Current field path (e.g., "items.0.meta")
10
+ * @param config - Group field configuration
11
+ * @returns true if the group should flatten (children rendered at parent level)
12
+ */
13
+ export declare function shouldFlattenInRepeater(path: string, config: GroupFieldConfig): boolean;
14
+ /**
15
+ * Extracts the group preset from field configuration.
16
+ *
17
+ * @param config - Group field configuration
18
+ * @returns Preset name or null
19
+ */
20
+ export declare function getWidgetPreset(config: GroupFieldConfig): string | null;
21
+ /**
22
+ * Builds a child field path, accounting for flattening behavior
23
+ *
24
+ * @param basePath - Base path for the group field
25
+ * @param childId - Child field ID
26
+ * @param shouldFlatten - Whether the group is flattened
27
+ * @returns Full path to the child field
28
+ */
29
+ export declare function buildChildPath(basePath: string, childId: string, shouldFlatten: boolean): string;
30
+ /**
31
+ * Checks if field.ui contains visibleWhen configuration
32
+ */
33
+ export declare function hasVisibleWhen(config: GroupFieldConfig): boolean;
34
+ /**
35
+ * Checks if field should be hidden
36
+ */
37
+ export declare function isHidden(config: GroupFieldConfig): boolean;
38
+ /**
39
+ * Checks if label should be hidden
40
+ */
41
+ export declare function shouldHideLabel(config: GroupFieldConfig): boolean;
42
+ /**
43
+ * Gets the layout mode for a group field
44
+ */
45
+ export declare function getLayout(config: GroupFieldConfig): 'stack' | 'grid';
46
+ /**
47
+ * Gets the number of columns for grid layout
48
+ */
49
+ export declare function getColumns(config: GroupFieldConfig): number;
50
+ /**
51
+ * Validates and clamps colSpan to valid range
52
+ */
53
+ export declare function getValidColSpan(colSpan: number | undefined, columns: number): number;
54
+ /**
55
+ * Groups fields by their ui.row property
56
+ * Fields without a row property each get their own row
57
+ */
58
+ export declare function groupFieldsByRow<T extends {
59
+ id: string;
60
+ ui?: unknown;
61
+ }>(fields: T[]): T[][];
@@ -0,0 +1,20 @@
1
+ export { WIDGET_NAMES, type WidgetName } from './constants';
2
+ export { FieldFrame, FieldFrameMessage, type FieldFrameProps, type FieldFrameRenderProps, type FieldFrameMessageProps, } from './FieldFrame';
3
+ export { WidgetField, WidgetFieldMessage } from './Field';
4
+ export type { WidgetFieldProps, WidgetFieldMessageProps } from './Field';
5
+ export { SelectWidget } from './SelectWidget';
6
+ export type { SelectWidgetProps, SelectWidgetOption } from './SelectWidget';
7
+ export { ToggleWidget } from './ToggleWidget';
8
+ export type { ToggleWidgetProps } from './ToggleWidget';
9
+ export { TextInputWidget } from './TextInputWidget';
10
+ export type { TextInputWidgetProps } from './TextInputWidget';
11
+ export { BackgroundColorWidget } from './BackgroundColorWidget';
12
+ export type { BackgroundColorWidgetProps, BackgroundColorMode } from './BackgroundColorWidget';
13
+ export { BackgroundGradientWidget } from './BackgroundGradientWidget';
14
+ export type { BackgroundGradientWidgetProps } from './BackgroundGradientWidget';
15
+ export { BoxStyleWidget } from './BoxStyleWidget';
16
+ export { DatePickerPopover, parseDateValue, type DateParseResult, type DatePickerPopoverProps, } from './DateField';
17
+ export { FieldSettingsModal } from './FieldSettingsModal';
18
+ export type { FieldSettingsModalProps } from './FieldSettingsModal';
19
+ export { SettingsModal } from './SettingsModal';
20
+ export type { SettingsModalProps, SettingsTab, SettingsTabId } from './SettingsModal';
@@ -0,0 +1,9 @@
1
+ export declare const EMPTY_SELECT_OPTION_SENTINEL = "__rb:empty__";
2
+ type OptionLike = {
3
+ value: string;
4
+ };
5
+ export declare function hasEmptyOption(options: readonly OptionLike[]): boolean;
6
+ export declare function mapOptionValueForSelect(optionValue: string, allowEmptyOption: boolean): string;
7
+ export declare function mapCurrentValueForSelect(value: string | null | undefined, allowEmptyOption: boolean): string | undefined;
8
+ export declare function unmapValueFromSelect(value: string, allowEmptyOption: boolean): string;
9
+ export {};