@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,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 {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Modal configuration options for modal-based widgets.
3
+ *
4
+ * Used by ModalGroupField and BoxStyleWidget to configure the trigger button
5
+ * and dialog appearance.
6
+ */
7
+ export type ModalConfig = {
8
+ /** Text for the trigger button */
9
+ buttonLabel?: string;
10
+ /** Description shown in dialog header */
11
+ description?: string;
12
+ /** Button variant: 'default' (filled) or 'outline' */
13
+ buttonVariant?: 'default' | 'outline';
14
+ /** Show "(customized)" indicator when fields have values (default: true) */
15
+ showCustomizedIndicator?: boolean;
16
+ /** Dialog max width Tailwind class (default: 'max-w-3xl') */
17
+ maxWidth?: string;
18
+ };
@@ -0,0 +1,10 @@
1
+ export type NumericInputUiConfig = {
2
+ min?: number;
3
+ max?: number;
4
+ step?: number;
5
+ };
6
+ export type SliderUiConfig = NumericInputUiConfig & {
7
+ showValue?: boolean;
8
+ };
9
+ export declare function readNumberFieldUiConfig(ui: unknown): NumericInputUiConfig;
10
+ export declare function readSliderFieldUiConfig(ui: unknown): SliderUiConfig;
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export type { BindingSource, BindingDescriptor, BindingInput, BindingMap, BindingContext, BindingPath, BindingTransformName, KnownBindingTransformName, FieldBindingDescriptor, MetaBindingDescriptor, LiteralBindingDescriptor, TransformBindingDescriptor, FallbackBindingDescriptor, } from './types';
8
8
  export { TRANSFORMS, BINDING_SOURCES } from './types';
9
- export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '@riverbankcms/theme-core/site-styles';
9
+ export { asDesignBlockId, asContentTemplateDesignBlockId, asLayoutVariantKey, buildPageDesignEditorReadModel, compileContentTemplateRuntimeFields, parsePageDesignIntent, surfaceResolutionContextFromTheme, type DesignBlockId, parseContentTemplateDesignIntent, type CompiledBlockRuntimeFields, type LayoutVariantKey, type PageDesignEditorBlockInput, type PageDesignIntent, type SurfaceResolutionContext, applyBlockContentVariantPolicy, deriveSiteStyleBlockPolicy, } from '@riverbankcms/theme-core/site-styles';
10
10
  export { applyCompiledRuntimeFieldsToContent, buildEditorModelRuntimeFieldsByBlockId, } from '@riverbankcms/theme-core/site-styles/previewCompiler';
11
11
  export { blockDesignMetadataMapFromDefinitions } from '../system/designCapabilities';
12
12
  export { systemBlockDefinitions } from '../system/blocks';
@@ -1,4 +1,5 @@
1
1
  import type { ResponsiveSlidesToShow } from '../system/runtime/nodes/carousel.shared';
2
+ import { type EventAutoApplyDiscountPreview } from '../system/blocks/event-details';
2
3
  import type { PublicMembershipProduct, PublicPassProduct } from '../system/blocks/shop.shared';
3
4
  import type { PublicEvent } from '../system/blocks/events/shared/types';
4
5
  import type { OccurrenceContextLike } from '../system/runtime/nodes/event-details/logic';
@@ -45,6 +46,7 @@ export type EventDetailsIslandProps = Readonly<{
45
46
  siteMemberships?: Readonly<{
46
47
  memberships: readonly PublicMembershipProduct[];
47
48
  }> | null;
49
+ autoApplyDiscount?: EventAutoApplyDiscountPreview | null;
48
50
  className?: string | null;
49
51
  nowIso?: string;
50
52
  }>;
@@ -115,6 +117,7 @@ export declare const eventDetailsIslandPropsCodec: Readonly<{
115
117
  siteMemberships?: Readonly<{
116
118
  memberships: readonly PublicMembershipProduct[];
117
119
  }> | null;
120
+ autoApplyDiscount?: EventAutoApplyDiscountPreview | null;
118
121
  className?: string | null;
119
122
  nowIso?: string;
120
123
  }>) => unknown;
@@ -139,6 +142,7 @@ export declare const eventDetailsIslandPropsCodec: Readonly<{
139
142
  siteMemberships?: Readonly<{
140
143
  memberships: readonly PublicMembershipProduct[];
141
144
  }> | null;
145
+ autoApplyDiscount?: EventAutoApplyDiscountPreview | null;
142
146
  className?: string | null;
143
147
  nowIso?: string;
144
148
  }>>;
@@ -2076,6 +2076,7 @@ export declare const runtimeIslandCodecs: {
2076
2076
  siteMemberships?: Readonly<{
2077
2077
  memberships: readonly import("..").PublicMembershipProduct[];
2078
2078
  }> | null;
2079
+ autoApplyDiscount?: import("..").EventAutoApplyDiscountPreview | null;
2079
2080
  className?: string | null;
2080
2081
  nowIso?: string;
2081
2082
  }>) => unknown;
@@ -2100,6 +2101,7 @@ export declare const runtimeIslandCodecs: {
2100
2101
  siteMemberships?: Readonly<{
2101
2102
  memberships: readonly import("..").PublicMembershipProduct[];
2102
2103
  }> | null;
2104
+ autoApplyDiscount?: import("..").EventAutoApplyDiscountPreview | null;
2103
2105
  className?: string | null;
2104
2106
  nowIso?: string;
2105
2107
  }>>;
@@ -29083,7 +29083,7 @@ export declare const appointmentBookingManifest: import("..").DefinedBlockManife
29083
29083
  } | undefined;
29084
29084
  }, "schema"> & {
29085
29085
  schema: {
29086
- fields: import("..").FieldDefinition[];
29086
+ fields: import("@riverbankcms/block-form/backend").FieldDefinition[];
29087
29087
  };
29088
29088
  } & {
29089
29089
  id: "_sectionStyles";