@antelopejs/interface-dms 0.3.5 → 0.4.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 (701) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +2 -2
  3. package/dist/attachments.d.ts +19 -10
  4. package/dist/attachments.js +15 -0
  5. package/dist/attachments.js.map +1 -1
  6. package/dist/auth/db/internal/sessions.model.d.ts +9 -0
  7. package/dist/auth/db/internal/sessions.model.js +31 -0
  8. package/dist/auth/db/internal/sessions.model.js.map +1 -0
  9. package/dist/auth/db/models/sessions.model.d.ts +16 -2
  10. package/dist/auth/db/models/sessions.model.js +33 -41
  11. package/dist/auth/db/models/sessions.model.js.map +1 -1
  12. package/dist/auth/db/models/userExternalIdentities.model.d.ts +11 -0
  13. package/dist/auth/db/models/userExternalIdentities.model.js +11 -0
  14. package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -1
  15. package/dist/auth/db/models/users.model.d.ts +13 -0
  16. package/dist/auth/db/models/users.model.js +13 -0
  17. package/dist/auth/db/models/users.model.js.map +1 -1
  18. package/dist/auth/db/tables/sessions.table.d.ts +6 -1
  19. package/dist/auth/db/tables/sessions.table.js +0 -4
  20. package/dist/auth/db/tables/sessions.table.js.map +1 -1
  21. package/dist/auth/db/tables/userExternalIdentities.table.d.ts +24 -0
  22. package/dist/auth/db/tables/userExternalIdentities.table.js +13 -0
  23. package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -1
  24. package/dist/auth/db/tables/users.table.d.ts +60 -0
  25. package/dist/auth/db/tables/users.table.js +32 -0
  26. package/dist/auth/db/tables/users.table.js.map +1 -1
  27. package/dist/auth/index.d.ts +114 -10
  28. package/dist/auth/index.js +110 -17
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/auth/internal/request-authenticators.d.ts +6 -0
  31. package/dist/auth/internal/request-authenticators.js +82 -0
  32. package/dist/auth/internal/request-authenticators.js.map +1 -0
  33. package/dist/auth/internal/request-principal.d.ts +10 -0
  34. package/dist/auth/internal/request-principal.js +27 -0
  35. package/dist/auth/internal/request-principal.js.map +1 -0
  36. package/dist/auth/internal/user-agent.d.ts +10 -0
  37. package/dist/auth/internal/user-agent.js +3 -0
  38. package/dist/auth/internal/user-agent.js.map +1 -0
  39. package/dist/auth/password.d.ts +19 -0
  40. package/dist/auth/password.js +23 -0
  41. package/dist/auth/password.js.map +1 -1
  42. package/dist/auth/request-authenticators.d.ts +4 -3
  43. package/dist/auth/request-authenticators.js +0 -77
  44. package/dist/auth/request-authenticators.js.map +1 -1
  45. package/dist/base/activity-feed.d.ts +210 -0
  46. package/dist/base/activity-feed.js +104 -0
  47. package/dist/base/activity-feed.js.map +1 -0
  48. package/dist/base/banner.d.ts +111 -0
  49. package/dist/base/banner.js +93 -0
  50. package/dist/base/banner.js.map +1 -0
  51. package/dist/base/block-registry/helpers.d.ts +26 -0
  52. package/dist/base/block-registry/helpers.js +27 -1
  53. package/dist/base/block-registry/helpers.js.map +1 -1
  54. package/dist/base/block-registry/internal/describe.d.ts +35 -0
  55. package/dist/base/block-registry/{describe.js → internal/describe.js} +50 -0
  56. package/dist/base/block-registry/internal/describe.js.map +1 -0
  57. package/dist/base/block-registry/internal/ui.d.ts +23 -0
  58. package/dist/base/block-registry/internal/ui.js +35 -0
  59. package/dist/base/block-registry/internal/ui.js.map +1 -0
  60. package/dist/base/block-registry/registry.d.ts +24 -0
  61. package/dist/base/block-registry/registry.js +30 -1
  62. package/dist/base/block-registry/registry.js.map +1 -1
  63. package/dist/base/block-registry/types.d.ts +149 -0
  64. package/dist/base/block-types.d.ts +22 -2
  65. package/dist/base/block-types.js +24 -2
  66. package/dist/base/block-types.js.map +1 -1
  67. package/dist/base/card.d.ts +100 -0
  68. package/dist/base/card.js +91 -0
  69. package/dist/base/card.js.map +1 -0
  70. package/dist/base/chart-card.d.ts +9 -2
  71. package/dist/base/chart-card.js +14 -1
  72. package/dist/base/chart-card.js.map +1 -1
  73. package/dist/base/chart-schemas.d.ts +127 -115
  74. package/dist/base/chart-schemas.js +18 -56
  75. package/dist/base/chart-schemas.js.map +1 -1
  76. package/dist/base/chart-type.d.ts +15 -0
  77. package/dist/base/chart-type.js +20 -0
  78. package/dist/base/chart-type.js.map +1 -0
  79. package/dist/base/chart.d.ts +31 -22
  80. package/dist/base/chart.js +27 -54
  81. package/dist/base/chart.js.map +1 -1
  82. package/dist/base/confirm-dialog.d.ts +6 -0
  83. package/dist/base/confirm-dialog.js +18 -0
  84. package/dist/base/confirm-dialog.js.map +1 -0
  85. package/dist/base/data-sources.d.ts +38 -0
  86. package/dist/base/data-sources.js +13 -0
  87. package/dist/base/data-sources.js.map +1 -1
  88. package/dist/base/data-types/compare-types.d.ts +0 -2
  89. package/dist/base/data-types/compare-types.js +18 -13
  90. package/dist/base/data-types/compare-types.js.map +1 -1
  91. package/dist/base/data-types/core.d.ts +55 -0
  92. package/dist/base/data-types/core.js +42 -0
  93. package/dist/base/data-types/core.js.map +1 -1
  94. package/dist/base/data-types/default-types.d.ts +241 -62
  95. package/dist/base/data-types/default-types.js +257 -135
  96. package/dist/base/data-types/default-types.js.map +1 -1
  97. package/dist/base/data-types/field-types.d.ts +164 -0
  98. package/dist/base/data-types/field-types.js +236 -0
  99. package/dist/base/data-types/field-types.js.map +1 -0
  100. package/dist/base/data-types/index.d.ts +1 -0
  101. package/dist/base/data-types/index.js +21 -0
  102. package/dist/base/data-types/index.js.map +1 -1
  103. package/dist/base/data-types/internal/compare-types.d.ts +3 -0
  104. package/dist/base/data-types/internal/compare-types.js +15 -0
  105. package/dist/base/data-types/internal/compare-types.js.map +1 -0
  106. package/dist/base/data-types/status-type.d.ts +2 -1
  107. package/dist/base/data-types/status-type.js +6 -0
  108. package/dist/base/data-types/status-type.js.map +1 -1
  109. package/dist/base/display.d.ts +124 -0
  110. package/dist/base/display.js +95 -0
  111. package/dist/base/display.js.map +1 -0
  112. package/dist/base/empty-state.d.ts +106 -0
  113. package/dist/base/empty-state.js +109 -0
  114. package/dist/base/empty-state.js.map +1 -0
  115. package/dist/base/export-jobs.d.ts +39 -1
  116. package/dist/base/export-jobs.js +12 -3
  117. package/dist/base/export-jobs.js.map +1 -1
  118. package/dist/base/form-block-schema.d.ts +345 -28
  119. package/dist/base/form-block-schema.js +83 -12
  120. package/dist/base/form-block-schema.js.map +1 -1
  121. package/dist/base/form-schema.d.ts +137 -22
  122. package/dist/base/form-schema.js +139 -42
  123. package/dist/base/form-schema.js.map +1 -1
  124. package/dist/base/form-types.d.ts +139 -4
  125. package/dist/base/form-types.js +7 -1
  126. package/dist/base/form-types.js.map +1 -1
  127. package/dist/base/form.js +7 -0
  128. package/dist/base/form.js.map +1 -1
  129. package/dist/base/grid.d.ts +57 -0
  130. package/dist/base/grid.js +43 -0
  131. package/dist/base/grid.js.map +1 -1
  132. package/dist/base/helpers/file-refs.js +5 -1
  133. package/dist/base/helpers/file-refs.js.map +1 -1
  134. package/dist/base/index.d.ts +11 -1
  135. package/dist/base/index.js +16 -1
  136. package/dist/base/index.js.map +1 -1
  137. package/dist/base/internal/button-availability.d.ts +17 -0
  138. package/dist/base/internal/button-availability.js +31 -0
  139. package/dist/base/internal/button-availability.js.map +1 -0
  140. package/dist/base/internal/chart-schemas.d.ts +6 -0
  141. package/dist/base/internal/chart-schemas.js +70 -0
  142. package/dist/base/internal/chart-schemas.js.map +1 -0
  143. package/dist/base/internal/chart.d.ts +22 -0
  144. package/dist/base/internal/chart.js +37 -0
  145. package/dist/base/internal/chart.js.map +1 -0
  146. package/dist/base/internal/confirm-dialog.d.ts +13 -0
  147. package/dist/base/internal/confirm-dialog.js +24 -0
  148. package/dist/base/internal/confirm-dialog.js.map +1 -0
  149. package/dist/base/internal/display.d.ts +13 -0
  150. package/dist/base/internal/display.js +18 -0
  151. package/dist/base/internal/display.js.map +1 -0
  152. package/dist/base/internal/export-jobs.d.ts +2 -0
  153. package/dist/base/internal/export-jobs.js +6 -0
  154. package/dist/base/internal/export-jobs.js.map +1 -0
  155. package/dist/base/internal/form-block-schema.d.ts +6 -0
  156. package/dist/base/internal/form-block-schema.js +10 -0
  157. package/dist/base/internal/form-block-schema.js.map +1 -0
  158. package/dist/base/internal/form-schema.d.ts +7 -0
  159. package/dist/base/internal/form-schema.js +26 -0
  160. package/dist/base/internal/form-schema.js.map +1 -0
  161. package/dist/base/internal/layouts.d.ts +39 -0
  162. package/dist/base/internal/layouts.js +3 -0
  163. package/dist/base/internal/layouts.js.map +1 -0
  164. package/dist/base/internal/query-response.d.ts +24 -0
  165. package/dist/base/internal/query-response.js +47 -0
  166. package/dist/base/internal/query-response.js.map +1 -0
  167. package/dist/base/internal/searchable.d.ts +6 -0
  168. package/dist/base/internal/searchable.js +15 -0
  169. package/dist/base/internal/searchable.js.map +1 -0
  170. package/dist/base/key-value-list.d.ts +160 -0
  171. package/dist/base/key-value-list.js +107 -0
  172. package/dist/base/key-value-list.js.map +1 -0
  173. package/dist/base/kpi-card.d.ts +12 -4
  174. package/dist/base/kpi-card.js +7 -0
  175. package/dist/base/kpi-card.js.map +1 -1
  176. package/dist/base/layouts.d.ts +35 -0
  177. package/dist/base/layouts.js +41 -7
  178. package/dist/base/layouts.js.map +1 -1
  179. package/dist/base/meter.d.ts +186 -0
  180. package/dist/base/meter.js +134 -0
  181. package/dist/base/meter.js.map +1 -0
  182. package/dist/base/nav-card-grid.d.ts +173 -0
  183. package/dist/base/nav-card-grid.js +89 -0
  184. package/dist/base/nav-card-grid.js.map +1 -0
  185. package/dist/base/period-selector.d.ts +20 -0
  186. package/dist/base/period-selector.js +23 -0
  187. package/dist/base/period-selector.js.map +1 -1
  188. package/dist/base/placeholder.d.ts +26 -0
  189. package/dist/base/placeholder.js +12 -0
  190. package/dist/base/placeholder.js.map +1 -1
  191. package/dist/base/query-response.d.ts +51 -1
  192. package/dist/base/query-response.js +43 -26
  193. package/dist/base/query-response.js.map +1 -1
  194. package/dist/base/resource-form-schema.d.ts +18 -0
  195. package/dist/base/resource-form-schema.js +20 -3
  196. package/dist/base/resource-form-schema.js.map +1 -1
  197. package/dist/base/searchable.d.ts +2 -0
  198. package/dist/base/searchable.js +4 -0
  199. package/dist/base/searchable.js.map +1 -1
  200. package/dist/base/section.d.ts +105 -0
  201. package/dist/base/section.js +123 -0
  202. package/dist/base/section.js.map +1 -0
  203. package/dist/base/stack.d.ts +113 -0
  204. package/dist/base/stack.js +58 -0
  205. package/dist/base/stack.js.map +1 -1
  206. package/dist/base/stat-group.d.ts +152 -0
  207. package/dist/base/stat-group.js +97 -0
  208. package/dist/base/stat-group.js.map +1 -0
  209. package/dist/base/tab.d.ts +25 -8
  210. package/dist/base/tab.js +11 -0
  211. package/dist/base/tab.js.map +1 -1
  212. package/dist/base/table-view/column-display.d.ts +195 -0
  213. package/dist/base/table-view/column-display.js +131 -0
  214. package/dist/base/table-view/column-display.js.map +1 -0
  215. package/dist/base/table-view/data-functions.d.ts +36 -14
  216. package/dist/base/table-view/data-functions.js +26 -1
  217. package/dist/base/table-view/data-functions.js.map +1 -1
  218. package/dist/base/table-view/factory-helpers.d.ts +0 -42
  219. package/dist/base/table-view/factory-helpers.js +1 -244
  220. package/dist/base/table-view/factory-helpers.js.map +1 -1
  221. package/dist/base/table-view/factory.d.ts +5 -1
  222. package/dist/base/table-view/factory.js +158 -202
  223. package/dist/base/table-view/factory.js.map +1 -1
  224. package/dist/base/table-view/internal/auth.d.ts +33 -0
  225. package/dist/base/table-view/{auth.js → internal/auth.js} +45 -6
  226. package/dist/base/table-view/internal/auth.js.map +1 -0
  227. package/dist/base/table-view/internal/column-display.d.ts +18 -0
  228. package/dist/base/table-view/internal/column-display.js +37 -0
  229. package/dist/base/table-view/internal/column-display.js.map +1 -0
  230. package/dist/base/table-view/internal/data-functions.d.ts +14 -0
  231. package/dist/base/table-view/internal/data-functions.js +3 -0
  232. package/dist/base/table-view/internal/data-functions.js.map +1 -0
  233. package/dist/base/table-view/internal/factory-helpers.d.ts +213 -0
  234. package/dist/base/table-view/internal/factory-helpers.js +477 -0
  235. package/dist/base/table-view/internal/factory-helpers.js.map +1 -0
  236. package/dist/base/table-view/{files.d.ts → internal/files.d.ts} +5 -0
  237. package/dist/base/table-view/{files.js → internal/files.js} +14 -4
  238. package/dist/base/table-view/internal/files.js.map +1 -0
  239. package/dist/base/table-view/internal/footer.d.ts +33 -0
  240. package/dist/base/table-view/internal/footer.js +112 -0
  241. package/dist/base/table-view/internal/footer.js.map +1 -0
  242. package/dist/base/table-view/{guards.d.ts → internal/guards.d.ts} +3 -0
  243. package/dist/base/table-view/internal/guards.js +134 -0
  244. package/dist/base/table-view/internal/guards.js.map +1 -0
  245. package/dist/base/table-view/internal/meta.d.ts +5 -0
  246. package/dist/base/table-view/internal/meta.js +13 -0
  247. package/dist/base/table-view/internal/meta.js.map +1 -0
  248. package/dist/base/table-view/internal/nav-badges.d.ts +9 -0
  249. package/dist/base/table-view/internal/nav-badges.js +79 -0
  250. package/dist/base/table-view/internal/nav-badges.js.map +1 -0
  251. package/dist/base/table-view/internal/options.d.ts +6 -0
  252. package/dist/base/table-view/internal/options.js +10 -0
  253. package/dist/base/table-view/internal/options.js.map +1 -0
  254. package/dist/base/table-view/internal/realtime-listeners.d.ts +4 -0
  255. package/dist/base/table-view/internal/realtime-listeners.js +7 -0
  256. package/dist/base/table-view/internal/realtime-listeners.js.map +1 -0
  257. package/dist/base/table-view/internal/realtime.d.ts +39 -0
  258. package/dist/base/table-view/internal/realtime.js +163 -0
  259. package/dist/base/table-view/internal/realtime.js.map +1 -0
  260. package/dist/base/table-view/internal/request-filter.d.ts +75 -0
  261. package/dist/base/table-view/internal/request-filter.js +154 -0
  262. package/dist/base/table-view/internal/request-filter.js.map +1 -0
  263. package/dist/base/table-view/internal/resource-form.d.ts +25 -0
  264. package/dist/base/table-view/internal/resource-form.js +91 -0
  265. package/dist/base/table-view/internal/resource-form.js.map +1 -0
  266. package/dist/base/table-view/{row-rules.d.ts → internal/row-rules.d.ts} +5 -2
  267. package/dist/base/table-view/{row-rules.js → internal/row-rules.js} +20 -19
  268. package/dist/base/table-view/internal/row-rules.js.map +1 -0
  269. package/dist/base/table-view/internal/tabs.d.ts +39 -0
  270. package/dist/base/table-view/internal/tabs.js +116 -0
  271. package/dist/base/table-view/internal/tabs.js.map +1 -0
  272. package/dist/base/table-view/internal/validation.d.ts +99 -0
  273. package/dist/base/table-view/internal/validation.js +297 -0
  274. package/dist/base/table-view/internal/validation.js.map +1 -0
  275. package/dist/base/table-view/internal/views.d.ts +14 -0
  276. package/dist/base/table-view/internal/views.js +42 -0
  277. package/dist/base/table-view/internal/views.js.map +1 -0
  278. package/dist/base/table-view/internal/writer.d.ts +39 -0
  279. package/dist/base/table-view/internal/writer.js +55 -0
  280. package/dist/base/table-view/internal/writer.js.map +1 -0
  281. package/dist/base/table-view/meta.d.ts +77 -4
  282. package/dist/base/table-view/meta.js +133 -13
  283. package/dist/base/table-view/meta.js.map +1 -1
  284. package/dist/base/table-view/options.d.ts +749 -28
  285. package/dist/base/table-view/options.js +9 -2
  286. package/dist/base/table-view/options.js.map +1 -1
  287. package/dist/base/table-view/realtime.d.ts +26 -17
  288. package/dist/base/table-view/realtime.js +29 -126
  289. package/dist/base/table-view/realtime.js.map +1 -1
  290. package/dist/base/table-view/resource-form.d.ts +11 -5
  291. package/dist/base/table-view/resource-form.js +15 -59
  292. package/dist/base/table-view/resource-form.js.map +1 -1
  293. package/dist/base/table-view/routes.d.ts +29 -0
  294. package/dist/base/table-view/routes.js +71 -6
  295. package/dist/base/table-view/routes.js.map +1 -1
  296. package/dist/base/table-view/schema.d.ts +483 -69
  297. package/dist/base/table-view/schema.js +163 -18
  298. package/dist/base/table-view/schema.js.map +1 -1
  299. package/dist/base/table-view/source.d.ts +62 -0
  300. package/dist/base/table-view/source.js +161 -0
  301. package/dist/base/table-view/source.js.map +1 -0
  302. package/dist/base/table-view/views.d.ts +20 -0
  303. package/dist/base/table-view/views.js +38 -0
  304. package/dist/base/table-view/views.js.map +1 -0
  305. package/dist/base/table-view/writer.d.ts +7 -0
  306. package/dist/base/table-view/writer.js +17 -0
  307. package/dist/base/table-view/writer.js.map +1 -0
  308. package/dist/base/table-view.d.ts +34 -6
  309. package/dist/base/table-view.js +42 -6
  310. package/dist/base/table-view.js.map +1 -1
  311. package/dist/base/tenant-export-archive.d.ts +21 -0
  312. package/dist/base/tenant-export-archive.js +11 -0
  313. package/dist/base/tenant-export-archive.js.map +1 -1
  314. package/dist/base/top-list-card.d.ts +35 -12
  315. package/dist/base/top-list-card.js +24 -0
  316. package/dist/base/top-list-card.js.map +1 -1
  317. package/dist/base/types/action-target.d.ts +36 -20
  318. package/dist/base/types/component-input.d.ts +3 -0
  319. package/dist/base/types/confirm-dialog.d.ts +69 -0
  320. package/dist/base/types/confirm-dialog.js +3 -0
  321. package/dist/base/types/confirm-dialog.js.map +1 -0
  322. package/dist/base/types/custom-button.d.ts +48 -2
  323. package/dist/base/types/enum-option.d.ts +9 -0
  324. package/dist/base/types/error.d.ts +9 -0
  325. package/dist/base/types/error.js +7 -1
  326. package/dist/base/types/error.js.map +1 -1
  327. package/dist/base/types/export-status.d.ts +3 -0
  328. package/dist/base/types/export-status.js +3 -0
  329. package/dist/base/types/export-status.js.map +1 -1
  330. package/dist/base/types/field-config.d.ts +3 -0
  331. package/dist/base/types/form-mode.d.ts +3 -0
  332. package/dist/base/types/form-mode.js +3 -0
  333. package/dist/base/types/form-mode.js.map +1 -1
  334. package/dist/base/types/form-values.d.ts +6 -0
  335. package/dist/base/types/guards.d.ts +37 -7
  336. package/dist/base/types/index.d.ts +2 -0
  337. package/dist/base/types/index.js +2 -0
  338. package/dist/base/types/index.js.map +1 -1
  339. package/dist/base/types/internal/action-target.d.ts +8 -0
  340. package/dist/base/types/internal/action-target.js +16 -0
  341. package/dist/base/types/internal/action-target.js.map +1 -0
  342. package/dist/base/types/json.d.ts +6 -0
  343. package/dist/base/types/orientation.d.ts +3 -0
  344. package/dist/base/types/orientation.js +3 -0
  345. package/dist/base/types/orientation.js.map +1 -1
  346. package/dist/base/types/readonly-behavior.d.ts +9 -0
  347. package/dist/base/types/readonly-behavior.js +3 -0
  348. package/dist/base/types/readonly-behavior.js.map +1 -1
  349. package/dist/base/types/row-action.d.ts +111 -0
  350. package/dist/base/types/size.d.ts +1 -0
  351. package/dist/base/types/size.js +4 -0
  352. package/dist/base/types/size.js.map +1 -1
  353. package/dist/base/types/tone.d.ts +14 -0
  354. package/dist/base/types/tone.js +24 -0
  355. package/dist/base/types/tone.js.map +1 -0
  356. package/dist/client-base-url.d.ts +8 -0
  357. package/dist/client-base-url.js +8 -0
  358. package/dist/client-base-url.js.map +1 -1
  359. package/dist/component-slots.d.ts +17 -2
  360. package/dist/component-slots.js +18 -66
  361. package/dist/component-slots.js.map +1 -1
  362. package/dist/component.d.ts +113 -0
  363. package/dist/component.js +84 -1
  364. package/dist/component.js.map +1 -1
  365. package/dist/data-controllers/members.d.ts +16 -1
  366. package/dist/data-controllers/members.js +87 -26
  367. package/dist/data-controllers/members.js.map +1 -1
  368. package/dist/data-controllers/roles.d.ts +1 -0
  369. package/dist/data-controllers/roles.js +3 -3
  370. package/dist/data-controllers/roles.js.map +1 -1
  371. package/dist/db/{models → internal}/exportJobs.model.d.ts +2 -0
  372. package/dist/db/{models → internal}/exportJobs.model.js +4 -1
  373. package/dist/db/internal/exportJobs.model.js.map +1 -0
  374. package/dist/db/internal/inviteResolutions.model.d.ts +34 -0
  375. package/dist/db/internal/inviteResolutions.model.js +80 -0
  376. package/dist/db/internal/inviteResolutions.model.js.map +1 -0
  377. package/dist/db/internal/table-names.d.ts +4 -0
  378. package/dist/db/internal/table-names.js +8 -0
  379. package/dist/db/internal/table-names.js.map +1 -0
  380. package/dist/db/{models → internal}/tenantLifecycle.model.d.ts +10 -1
  381. package/dist/db/{models → internal}/tenantLifecycle.model.js +10 -1
  382. package/dist/db/internal/tenantLifecycle.model.js.map +1 -0
  383. package/dist/db/{tables → internal}/tenantLifecycle.table.d.ts +6 -0
  384. package/dist/db/{tables → internal}/tenantLifecycle.table.js +6 -0
  385. package/dist/db/internal/tenantLifecycle.table.js.map +1 -0
  386. package/dist/db/models/index.d.ts +0 -2
  387. package/dist/db/models/index.js +0 -2
  388. package/dist/db/models/index.js.map +1 -1
  389. package/dist/db/models/inviteResolutions.model.d.ts +1 -25
  390. package/dist/db/models/inviteResolutions.model.js +0 -68
  391. package/dist/db/models/inviteResolutions.model.js.map +1 -1
  392. package/dist/db/models/roles.model.d.ts +6 -0
  393. package/dist/db/models/roles.model.js +6 -0
  394. package/dist/db/models/roles.model.js.map +1 -1
  395. package/dist/db/models/tenantMembers.model.js +1 -1
  396. package/dist/db/models/tenantMembers.model.js.map +1 -1
  397. package/dist/db/models/user_invites.model.d.ts +24 -0
  398. package/dist/db/models/user_invites.model.js +25 -1
  399. package/dist/db/models/user_invites.model.js.map +1 -1
  400. package/dist/db/tables/exportJobs.table.d.ts +5 -1
  401. package/dist/db/tables/exportJobs.table.js +3 -3
  402. package/dist/db/tables/exportJobs.table.js.map +1 -1
  403. package/dist/db/tables/index.d.ts +0 -1
  404. package/dist/db/tables/index.js +0 -1
  405. package/dist/db/tables/index.js.map +1 -1
  406. package/dist/db/tables/inviteResolutions.table.d.ts +1 -1
  407. package/dist/db/tables/inviteResolutions.table.js +4 -3
  408. package/dist/db/tables/inviteResolutions.table.js.map +1 -1
  409. package/dist/db/tables/roles.table.d.ts +2 -0
  410. package/dist/db/tables/roles.table.js +4 -0
  411. package/dist/db/tables/roles.table.js.map +1 -1
  412. package/dist/db/tables/tenantMembers.table.d.ts +1 -0
  413. package/dist/db/tables/user_invites.table.d.ts +11 -0
  414. package/dist/db/tables/user_invites.table.js +4 -0
  415. package/dist/db/tables/user_invites.table.js.map +1 -1
  416. package/dist/guards.d.ts +36 -0
  417. package/dist/guards.js +30 -1
  418. package/dist/guards.js.map +1 -1
  419. package/dist/hooks.d.ts +133 -1
  420. package/dist/hooks.js +87 -1
  421. package/dist/hooks.js.map +1 -1
  422. package/dist/html-render/index.d.ts +15 -0
  423. package/dist/html-render/index.js +15 -0
  424. package/dist/html-render/index.js.map +1 -1
  425. package/dist/html-render/types.d.ts +4 -0
  426. package/dist/index.d.ts +6 -7
  427. package/dist/index.js +12 -17
  428. package/dist/index.js.map +1 -1
  429. package/dist/internal/attachments.d.ts +16 -0
  430. package/dist/internal/attachments.js +3 -0
  431. package/dist/internal/attachments.js.map +1 -0
  432. package/dist/internal/component-slots.d.ts +27 -0
  433. package/dist/internal/component-slots.js +97 -0
  434. package/dist/internal/component-slots.js.map +1 -0
  435. package/dist/internal/invite-membership.d.ts +8 -0
  436. package/dist/{invite-membership.js → internal/invite-membership.js} +11 -5
  437. package/dist/internal/invite-membership.js.map +1 -0
  438. package/dist/internal/invite-replacement.d.ts +7 -0
  439. package/dist/{invite-replacement.js → internal/invite-replacement.js} +8 -3
  440. package/dist/internal/invite-replacement.js.map +1 -0
  441. package/dist/internal/invite-resolution.d.ts +3 -0
  442. package/dist/internal/invite-resolution.js +50 -0
  443. package/dist/internal/invite-resolution.js.map +1 -0
  444. package/dist/internal/invites.d.ts +31 -0
  445. package/dist/internal/invites.js +44 -0
  446. package/dist/internal/invites.js.map +1 -0
  447. package/dist/internal/permission-gate.d.ts +23 -0
  448. package/dist/internal/permission-gate.js +43 -0
  449. package/dist/internal/permission-gate.js.map +1 -0
  450. package/dist/internal/tenant-access.d.ts +28 -0
  451. package/dist/internal/tenant-access.js +28 -0
  452. package/dist/internal/tenant-access.js.map +1 -0
  453. package/dist/internal/tenant-ownership.d.ts +13 -0
  454. package/dist/internal/tenant-ownership.js +95 -0
  455. package/dist/internal/tenant-ownership.js.map +1 -0
  456. package/dist/internal/uploads.d.ts +19 -0
  457. package/dist/internal/uploads.js +3 -0
  458. package/dist/internal/uploads.js.map +1 -0
  459. package/dist/invite-extensions/availability.d.ts +28 -3
  460. package/dist/invite-extensions/availability.js +26 -23
  461. package/dist/invite-extensions/availability.js.map +1 -1
  462. package/dist/invite-extensions/internal/availability.d.ts +12 -0
  463. package/dist/invite-extensions/internal/availability.js +32 -0
  464. package/dist/invite-extensions/internal/availability.js.map +1 -0
  465. package/dist/invite-extensions/internal/delivery.d.ts +44 -0
  466. package/dist/invite-extensions/{delivery.js → internal/delivery.js} +38 -0
  467. package/dist/invite-extensions/internal/delivery.js.map +1 -0
  468. package/dist/invite-extensions/internal/edit.d.ts +34 -0
  469. package/dist/invite-extensions/{edit.js → internal/edit.js} +33 -0
  470. package/dist/invite-extensions/internal/edit.js.map +1 -0
  471. package/dist/invite-extensions/internal/field-ids.d.ts +21 -0
  472. package/dist/invite-extensions/{field-ids.js → internal/field-ids.js} +13 -0
  473. package/dist/invite-extensions/internal/field-ids.js.map +1 -0
  474. package/dist/invite-extensions/internal/form-slot.d.ts +13 -0
  475. package/dist/invite-extensions/{form-slot.js → internal/form-slot.js} +49 -4
  476. package/dist/invite-extensions/internal/form-slot.js.map +1 -0
  477. package/dist/invite-extensions/internal/payload-slices.d.ts +31 -0
  478. package/dist/invite-extensions/{payload-slices.js → internal/payload-slices.js} +30 -0
  479. package/dist/invite-extensions/internal/payload-slices.js.map +1 -0
  480. package/dist/invite-extensions/internal/registry.d.ts +48 -0
  481. package/dist/invite-extensions/internal/registry.js +77 -0
  482. package/dist/invite-extensions/internal/registry.js.map +1 -0
  483. package/dist/invite-extensions/internal/types.d.ts +61 -0
  484. package/dist/invite-extensions/internal/types.js +3 -0
  485. package/dist/invite-extensions/internal/types.js.map +1 -0
  486. package/dist/invite-extensions/registry.d.ts +44 -12
  487. package/dist/invite-extensions/registry.js +51 -43
  488. package/dist/invite-extensions/registry.js.map +1 -1
  489. package/dist/invite-extensions/types.d.ts +59 -34
  490. package/dist/invite-extensions.d.ts +30 -4
  491. package/dist/invite-extensions.js +57 -7
  492. package/dist/invite-extensions.js.map +1 -1
  493. package/dist/invite-resolution.d.ts +5 -2
  494. package/dist/invite-resolution.js +16 -46
  495. package/dist/invite-resolution.js.map +1 -1
  496. package/dist/invitee-display-name.d.ts +5 -0
  497. package/dist/invitee-display-name.js +15 -0
  498. package/dist/invitee-display-name.js.map +1 -0
  499. package/dist/invites.d.ts +46 -14
  500. package/dist/invites.js +41 -44
  501. package/dist/invites.js.map +1 -1
  502. package/dist/layout-banners.d.ts +68 -0
  503. package/dist/layout-banners.js +18 -0
  504. package/dist/layout-banners.js.map +1 -1
  505. package/dist/notifications/builder.d.ts +3 -1
  506. package/dist/notifications/builder.js +10 -0
  507. package/dist/notifications/builder.js.map +1 -1
  508. package/dist/notifications/index.d.ts +1 -0
  509. package/dist/notifications/index.js +16 -0
  510. package/dist/notifications/index.js.map +1 -1
  511. package/dist/notifications/internal.d.ts +8 -5
  512. package/dist/notifications/internal.js +6 -0
  513. package/dist/notifications/internal.js.map +1 -1
  514. package/dist/notifications/sendable.d.ts +6 -0
  515. package/dist/notifications/sendable.js +13 -4
  516. package/dist/notifications/sendable.js.map +1 -1
  517. package/dist/notifications/types.d.ts +26 -1
  518. package/dist/page/categories.d.ts +19 -17
  519. package/dist/page/categories.js +24 -168
  520. package/dist/page/categories.js.map +1 -1
  521. package/dist/page/component-tree.d.ts +15 -1
  522. package/dist/page/component-tree.js +0 -40
  523. package/dist/page/component-tree.js.map +1 -1
  524. package/dist/page/controllers.d.ts +135 -0
  525. package/dist/page/controllers.js +124 -8
  526. package/dist/page/controllers.js.map +1 -1
  527. package/dist/page/declaration-conflict.d.ts +9 -0
  528. package/dist/page/declaration-conflict.js +17 -0
  529. package/dist/page/declaration-conflict.js.map +1 -0
  530. package/dist/page/form-page-routes.d.ts +7 -10
  531. package/dist/page/form-page-routes.js +14 -31
  532. package/dist/page/form-page-routes.js.map +1 -1
  533. package/dist/page/internal/categories.d.ts +62 -0
  534. package/dist/page/internal/categories.js +260 -0
  535. package/dist/page/internal/categories.js.map +1 -0
  536. package/dist/page/internal/component-target.d.ts +37 -0
  537. package/dist/page/{component-target.js → internal/component-target.js} +27 -2
  538. package/dist/page/internal/component-target.js.map +1 -0
  539. package/dist/page/internal/component-tree.d.ts +13 -0
  540. package/dist/page/internal/component-tree.js +61 -0
  541. package/dist/page/internal/component-tree.js.map +1 -0
  542. package/dist/page/{extension-assembly.d.ts → internal/extension-assembly.d.ts} +5 -2
  543. package/dist/page/{extension-assembly.js → internal/extension-assembly.js} +8 -0
  544. package/dist/page/internal/extension-assembly.js.map +1 -0
  545. package/dist/page/internal/extension-validation.d.ts +24 -0
  546. package/dist/page/{extension-validation.js → internal/extension-validation.js} +8 -0
  547. package/dist/page/internal/extension-validation.js.map +1 -0
  548. package/dist/page/internal/form-page-routes.d.ts +26 -0
  549. package/dist/page/internal/form-page-routes.js +40 -0
  550. package/dist/page/internal/form-page-routes.js.map +1 -0
  551. package/dist/page/internal/layout-filter.d.ts +21 -0
  552. package/dist/page/internal/layout-filter.js +101 -0
  553. package/dist/page/internal/layout-filter.js.map +1 -0
  554. package/dist/page/{metadata-helpers.d.ts → internal/metadata-helpers.d.ts} +4 -1
  555. package/dist/page/{metadata-helpers.js → internal/metadata-helpers.js} +19 -2
  556. package/dist/page/internal/metadata-helpers.js.map +1 -0
  557. package/dist/page/internal/nav-badges.d.ts +17 -0
  558. package/dist/page/internal/nav-badges.js +68 -0
  559. package/dist/page/internal/nav-badges.js.map +1 -0
  560. package/dist/page/internal/page-registration.d.ts +29 -0
  561. package/dist/page/internal/page-registration.js +41 -0
  562. package/dist/page/internal/page-registration.js.map +1 -0
  563. package/dist/page/internal/registry.d.ts +128 -0
  564. package/dist/page/internal/registry.js +225 -0
  565. package/dist/page/internal/registry.js.map +1 -0
  566. package/dist/page/internal/table-view-ids.d.ts +10 -0
  567. package/dist/page/internal/table-view-ids.js +39 -0
  568. package/dist/page/internal/table-view-ids.js.map +1 -0
  569. package/dist/page/internal/types.d.ts +2 -0
  570. package/dist/page/internal/types.js +6 -0
  571. package/dist/page/internal/types.js.map +1 -0
  572. package/dist/page/layout-filter.d.ts +4 -0
  573. package/dist/page/layout-filter.js +11 -0
  574. package/dist/page/layout-filter.js.map +1 -1
  575. package/dist/page/metadata.d.ts +93 -0
  576. package/dist/page/metadata.js +236 -28
  577. package/dist/page/metadata.js.map +1 -1
  578. package/dist/page/registry.d.ts +17 -36
  579. package/dist/page/registry.js +25 -127
  580. package/dist/page/registry.js.map +1 -1
  581. package/dist/page/roots.d.ts +10 -0
  582. package/dist/page/roots.js +27 -6
  583. package/dist/page/roots.js.map +1 -1
  584. package/dist/page/types.d.ts +186 -1
  585. package/dist/page/types.js +1 -2
  586. package/dist/page/types.js.map +1 -1
  587. package/dist/page.d.ts +23 -1
  588. package/dist/page.js +24 -2
  589. package/dist/page.js.map +1 -1
  590. package/dist/permission-gate.d.ts +14 -0
  591. package/dist/permission-gate.js +3 -0
  592. package/dist/permission-gate.js.map +1 -0
  593. package/dist/permissions-resolver.d.ts +24 -0
  594. package/dist/permissions-resolver.js +24 -0
  595. package/dist/permissions-resolver.js.map +1 -1
  596. package/dist/permissions.d.ts +27 -0
  597. package/dist/permissions.js +37 -0
  598. package/dist/permissions.js.map +1 -1
  599. package/dist/quick-actions.d.ts +27 -0
  600. package/dist/quick-actions.js +1 -0
  601. package/dist/quick-actions.js.map +1 -1
  602. package/dist/realtime.d.ts +29 -0
  603. package/dist/realtime.js +30 -0
  604. package/dist/realtime.js.map +1 -1
  605. package/dist/request-tenant.d.ts +17 -0
  606. package/dist/request-tenant.js +18 -1
  607. package/dist/request-tenant.js.map +1 -1
  608. package/dist/tenant-access.d.ts +38 -6
  609. package/dist/tenant-access.js +38 -8
  610. package/dist/tenant-access.js.map +1 -1
  611. package/dist/tenant-export.d.ts +19 -0
  612. package/dist/tenant-lifecycle.d.ts +13 -0
  613. package/dist/tenant-lifecycle.js +22 -1
  614. package/dist/tenant-lifecycle.js.map +1 -1
  615. package/dist/tenant-ownership.d.ts +2 -1
  616. package/dist/tenant-ownership.js +5 -85
  617. package/dist/tenant-ownership.js.map +1 -1
  618. package/dist/tenant-scoped-model.d.ts +8 -0
  619. package/dist/tenant-scoped-model.js +8 -0
  620. package/dist/tenant-scoped-model.js.map +1 -1
  621. package/dist/uploads.d.ts +24 -16
  622. package/dist/uploads.js +24 -0
  623. package/dist/uploads.js.map +1 -1
  624. package/dist/utils/fire-and-forget.d.ts +4 -0
  625. package/dist/utils/fire-and-forget.js +4 -0
  626. package/dist/utils/fire-and-forget.js.map +1 -1
  627. package/dist/utils/internal/owned-registry.d.ts +36 -0
  628. package/dist/utils/internal/owned-registry.js +60 -0
  629. package/dist/utils/internal/owned-registry.js.map +1 -0
  630. package/dist/utils/{row-instance.d.ts → internal/row-instance.d.ts} +1 -0
  631. package/dist/utils/internal/row-instance.js +12 -0
  632. package/dist/utils/internal/row-instance.js.map +1 -0
  633. package/dist/utils/internal/saas-mode.d.ts +8 -0
  634. package/dist/utils/internal/saas-mode.js +3 -0
  635. package/dist/utils/internal/saas-mode.js.map +1 -0
  636. package/dist/utils/{time.d.ts → internal/time.d.ts} +4 -0
  637. package/dist/utils/{time.js → internal/time.js} +4 -0
  638. package/dist/utils/internal/time.js.map +1 -0
  639. package/dist/utils/{type-check.d.ts → internal/type-check.d.ts} +12 -0
  640. package/dist/utils/{type-check.js → internal/type-check.js} +12 -0
  641. package/dist/utils/internal/type-check.js.map +1 -0
  642. package/dist/utils/internal/value-parser.d.ts +86 -0
  643. package/dist/utils/internal/value-parser.js +160 -0
  644. package/dist/utils/internal/value-parser.js.map +1 -0
  645. package/dist/utils/saas-mode.d.ts +25 -3
  646. package/dist/utils/saas-mode.js +24 -0
  647. package/dist/utils/saas-mode.js.map +1 -1
  648. package/package.json +3 -3
  649. package/dist/base/block-registry/describe.d.ts +0 -6
  650. package/dist/base/block-registry/describe.js.map +0 -1
  651. package/dist/base/block-registry/ui.d.ts +0 -5
  652. package/dist/base/block-registry/ui.js +0 -17
  653. package/dist/base/block-registry/ui.js.map +0 -1
  654. package/dist/base/table-view/auth.d.ts +0 -9
  655. package/dist/base/table-view/auth.js.map +0 -1
  656. package/dist/base/table-view/files.js.map +0 -1
  657. package/dist/base/table-view/guards.js +0 -85
  658. package/dist/base/table-view/guards.js.map +0 -1
  659. package/dist/base/table-view/row-rules.js.map +0 -1
  660. package/dist/base/tree.d.ts +0 -115
  661. package/dist/base/tree.js +0 -145
  662. package/dist/base/tree.js.map +0 -1
  663. package/dist/db/models/exportJobs.model.js.map +0 -1
  664. package/dist/db/models/tenantLifecycle.model.js.map +0 -1
  665. package/dist/db/tables/tenantLifecycle.table.js.map +0 -1
  666. package/dist/invite-extensions/delivery.d.ts +0 -5
  667. package/dist/invite-extensions/delivery.js.map +0 -1
  668. package/dist/invite-extensions/edit.d.ts +0 -4
  669. package/dist/invite-extensions/edit.js.map +0 -1
  670. package/dist/invite-extensions/field-ids.d.ts +0 -7
  671. package/dist/invite-extensions/field-ids.js.map +0 -1
  672. package/dist/invite-extensions/form-slot.d.ts +0 -2
  673. package/dist/invite-extensions/form-slot.js.map +0 -1
  674. package/dist/invite-extensions/internal.d.ts +0 -17
  675. package/dist/invite-extensions/internal.js +0 -55
  676. package/dist/invite-extensions/internal.js.map +0 -1
  677. package/dist/invite-extensions/payload-slices.d.ts +0 -8
  678. package/dist/invite-extensions/payload-slices.js.map +0 -1
  679. package/dist/invite-membership.d.ts +0 -3
  680. package/dist/invite-membership.js.map +0 -1
  681. package/dist/invite-replacement.d.ts +0 -2
  682. package/dist/invite-replacement.js.map +0 -1
  683. package/dist/page/component-target.d.ts +0 -10
  684. package/dist/page/component-target.js.map +0 -1
  685. package/dist/page/extension-assembly.js.map +0 -1
  686. package/dist/page/extension-validation.d.ts +0 -7
  687. package/dist/page/extension-validation.js.map +0 -1
  688. package/dist/page/metadata-helpers.js.map +0 -1
  689. package/dist/page/page-registration.d.ts +0 -13
  690. package/dist/page/page-registration.js +0 -22
  691. package/dist/page/page-registration.js.map +0 -1
  692. package/dist/utils/owned-registry.d.ts +0 -10
  693. package/dist/utils/owned-registry.js +0 -34
  694. package/dist/utils/owned-registry.js.map +0 -1
  695. package/dist/utils/row-instance.js +0 -8
  696. package/dist/utils/row-instance.js.map +0 -1
  697. package/dist/utils/time.js.map +0 -1
  698. package/dist/utils/type-check.js.map +0 -1
  699. package/dist/utils/value-parser.d.ts +0 -11
  700. package/dist/utils/value-parser.js +0 -86
  701. package/dist/utils/value-parser.js.map +0 -1
@@ -0,0 +1,111 @@
1
+ import { ComponentBuilder } from "../component";
2
+ import { z } from "zod";
3
+ import { type BlockLinkAction } from "./display";
4
+ import type { BaseComponentProps } from "./types";
5
+ import type { Tone } from "./types/tone";
6
+ /** The tones a banner washes with. */
7
+ export declare const BANNER_TONES: readonly ["info", "success", "warning", "error", "primary"];
8
+ export type BannerTone = Extract<Tone, (typeof BANNER_TONES)[number]>;
9
+ /** The sizes of a banner. */
10
+ export declare const BANNER_SIZES: readonly ["md", "sm"];
11
+ /** `md` boxed banner; `sm` compact one-line banner, for cards and panels. */
12
+ export type BannerSize = (typeof BANNER_SIZES)[number];
13
+ /** The options `Banner` takes. */
14
+ export interface BannerProps extends BaseComponentProps {
15
+ /** `$`-prefixed for an i18n key, like every text of the block. */
16
+ title?: string;
17
+ description?: string;
18
+ tone?: BannerTone;
19
+ /** Overrides the tone's icon. */
20
+ icon?: string;
21
+ size?: BannerSize;
22
+ actions?: BlockLinkAction[];
23
+ /** Adds a close button; the dismissal is remembered. */
24
+ dismissible?: boolean;
25
+ /**
26
+ * Key the dismissal is remembered under (a cookie, one year). Defaults to
27
+ * the block's id on its page (`.child("welcome", Banner(…))` → `welcome`),
28
+ * which holds when blocks are added or moved; change it to show the banner
29
+ * again.
30
+ */
31
+ dismissKey?: string;
32
+ }
33
+ /**
34
+ * Banner — a notice across the top of a page or a card: a tinted wash, a
35
+ * boxed icon, a title and a line of explanation, with link actions and an
36
+ * optional dismiss that is remembered.
37
+ *
38
+ * Distinct from `RegisterLayoutBanner` (the dashboard-wide strip under the
39
+ * header): this one is a block placed on one page.
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * Banner({
44
+ * tone: "warning",
45
+ * title: "Beta",
46
+ * description: "Numbers refresh every 15 minutes.",
47
+ * dismissible: true,
48
+ * dismissKey: "sales-beta-2026",
49
+ * })
50
+ * ```
51
+ */
52
+ export declare function Banner(options?: BannerProps): ComponentBuilder<BannerProps>;
53
+ /** The options `Banner` accepts. */
54
+ export declare const BannerSchema: z.ZodObject<{
55
+ title: z.ZodOptional<z.ZodString>;
56
+ description: z.ZodOptional<z.ZodString>;
57
+ actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
58
+ label: z.ZodString;
59
+ to: z.ZodString;
60
+ icon: z.ZodOptional<z.ZodString>;
61
+ variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
62
+ color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ label: string;
65
+ to: string;
66
+ icon?: string | undefined;
67
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
68
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
69
+ }, {
70
+ label: string;
71
+ to: string;
72
+ icon?: string | undefined;
73
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
74
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
75
+ }>, "many">>;
76
+ tone: z.ZodDefault<z.ZodEnum<["primary" | "success" | "info" | "warning" | "error", ...("primary" | "success" | "info" | "warning" | "error")[]]>>;
77
+ icon: z.ZodOptional<z.ZodString>;
78
+ size: z.ZodDefault<z.ZodEnum<["md", "sm"]>>;
79
+ dismissible: z.ZodOptional<z.ZodBoolean>;
80
+ dismissKey: z.ZodOptional<z.ZodString>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ size: "sm" | "md";
83
+ tone: "primary" | "success" | "info" | "warning" | "error";
84
+ description?: string | undefined;
85
+ title?: string | undefined;
86
+ icon?: string | undefined;
87
+ actions?: {
88
+ label: string;
89
+ to: string;
90
+ icon?: string | undefined;
91
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
92
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
93
+ }[] | undefined;
94
+ dismissible?: boolean | undefined;
95
+ dismissKey?: string | undefined;
96
+ }, {
97
+ description?: string | undefined;
98
+ size?: "sm" | "md" | undefined;
99
+ title?: string | undefined;
100
+ icon?: string | undefined;
101
+ actions?: {
102
+ label: string;
103
+ to: string;
104
+ icon?: string | undefined;
105
+ variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
106
+ color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
107
+ }[] | undefined;
108
+ tone?: "primary" | "success" | "info" | "warning" | "error" | undefined;
109
+ dismissible?: boolean | undefined;
110
+ dismissKey?: string | undefined;
111
+ }>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BannerSchema = exports.BANNER_SIZES = exports.BANNER_TONES = void 0;
4
+ exports.Banner = Banner;
5
+ const component_1 = require("../component");
6
+ const zod_1 = require("zod");
7
+ const block_registry_1 = require("./block-registry");
8
+ const display_1 = require("./display");
9
+ const display_2 = require("./internal/display");
10
+ /** The tones a banner washes with. */
11
+ exports.BANNER_TONES = [
12
+ "info",
13
+ "success",
14
+ "warning",
15
+ "error",
16
+ "primary",
17
+ ];
18
+ /** The sizes of a banner. */
19
+ exports.BANNER_SIZES = ["md", "sm"];
20
+ const BANNER_COMPONENT_NAME = "dms-banner-block";
21
+ const BANNER_ICON = "i-ph-megaphone";
22
+ const BANNER_DEFAULTS = { tone: "info", size: "md" };
23
+ /**
24
+ * Banner — a notice across the top of a page or a card: a tinted wash, a
25
+ * boxed icon, a title and a line of explanation, with link actions and an
26
+ * optional dismiss that is remembered.
27
+ *
28
+ * Distinct from `RegisterLayoutBanner` (the dashboard-wide strip under the
29
+ * header): this one is a block placed on one page.
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * Banner({
34
+ * tone: "warning",
35
+ * title: "Beta",
36
+ * description: "Numbers refresh every 15 minutes.",
37
+ * dismissible: true,
38
+ * dismissKey: "sales-beta-2026",
39
+ * })
40
+ * ```
41
+ */
42
+ function Banner(options) {
43
+ return new component_1.ComponentBuilder(BANNER_COMPONENT_NAME)
44
+ .options({ ...BANNER_DEFAULTS, ...options })
45
+ .meta({
46
+ name: options?.title || "Banner",
47
+ icon: options?.icon || BANNER_ICON,
48
+ });
49
+ }
50
+ /** The options `Banner` accepts. */
51
+ exports.BannerSchema = zod_1.z.object({
52
+ title: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Title", group: "content" }),
53
+ description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
54
+ label: "Description",
55
+ group: "content",
56
+ widget: "textarea",
57
+ }),
58
+ actions: (0, display_1.blockActionsOption)("Buttons on the right; the last one is the main action."),
59
+ tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(exports.BANNER_TONES)
60
+ .default(BANNER_DEFAULTS.tone)
61
+ .describe("Colour of the wash and the icon."), { label: "Tone", group: "appearance", widget: "select" }),
62
+ icon: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Overrides the tone's icon."), {
63
+ label: "Icon",
64
+ group: "appearance",
65
+ widget: "icon",
66
+ }),
67
+ size: (0, block_registry_1.ui)(zod_1.z
68
+ .enum(exports.BANNER_SIZES)
69
+ .default(BANNER_DEFAULTS.size)
70
+ .describe("`sm` is the compact one-line banner."), {
71
+ label: "Size",
72
+ group: "appearance",
73
+ widget: "segmented",
74
+ valueLabels: { md: "Regular", sm: "Compact" },
75
+ }),
76
+ dismissible: (0, block_registry_1.ui)(zod_1.z.boolean().optional().describe("Adds a close button, remembered."), { label: "Dismissible", group: "behavior", widget: "switch" }),
77
+ dismissKey: (0, block_registry_1.ui)(zod_1.z
78
+ .string()
79
+ .optional()
80
+ .describe("Key the dismissal is remembered under; change it to reset."), { label: "Dismiss key", group: "behavior", advanced: true }),
81
+ });
82
+ (0, block_registry_1.RegisterBlockType)({
83
+ type: "Banner",
84
+ componentName: BANNER_COMPONENT_NAME,
85
+ schema: exports.BannerSchema,
86
+ meta: {
87
+ name: "Banner",
88
+ icon: BANNER_ICON,
89
+ description: "Notice with a tone, link actions and a remembered dismiss.",
90
+ group: "content",
91
+ },
92
+ });
93
+ //# sourceMappingURL=banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/base/banner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,32 @@
1
1
  import { type ZodType, type ZodTypeAny, type ZodTypeDef } from "zod";
2
2
  import type { BlockOptionUi } from "./types";
3
+ /**
4
+ * A string option whose declared type is narrower than `string` — a
5
+ * template-literal union such as a colour value, or a branded id. The schema
6
+ * still validates as a string, so a builder UI keeps a text control.
7
+ */
3
8
  export declare function narrowString<T extends string>(): ZodType<T, ZodTypeDef, T>;
9
+ /**
10
+ * An option the schema cannot describe structurally — a component instance, or
11
+ * a shape only meaningful to the factory. It validates anything; pair it with a
12
+ * `json` or `block` widget so the UI knows how to present it.
13
+ */
4
14
  export declare function opaqueOption<T>(): ZodType<T, ZodTypeDef, T>;
15
+ /**
16
+ * An opaque option the factory cannot do without. `z.any()` accepts
17
+ * `undefined`, so a plain {@link opaqueOption} would let a missing required
18
+ * value validate; this one refuses it.
19
+ */
5
20
  export declare function requiredOpaqueOption<T>(): ZodType<T, ZodTypeDef, T>;
21
+ /**
22
+ * Attach builder presentation hints to an option schema. The schema is returned
23
+ * unchanged, so `ui()` wraps a declaration in place:
24
+ *
25
+ * ```typescript
26
+ * icon: ui(z.string().optional(), { widget: "icon", group: "appearance" })
27
+ * ```
28
+ *
29
+ * Hints live in a side table rather than in the schema, so validation and type
30
+ * inference are untouched.
31
+ */
6
32
  export declare function ui<T extends ZodTypeAny>(schema: T, hints: BlockOptionUi): T;
@@ -5,19 +5,45 @@ exports.opaqueOption = opaqueOption;
5
5
  exports.requiredOpaqueOption = requiredOpaqueOption;
6
6
  exports.ui = ui;
7
7
  const zod_1 = require("zod");
8
- const ui_1 = require("./ui");
8
+ const ui_1 = require("./internal/ui");
9
+ /**
10
+ * A string option whose declared type is narrower than `string` — a
11
+ * template-literal union such as a colour value, or a branded id. The schema
12
+ * still validates as a string, so a builder UI keeps a text control.
13
+ */
9
14
  function narrowString() {
10
15
  const schema = zod_1.z.string();
11
16
  return schema;
12
17
  }
18
+ /**
19
+ * An option the schema cannot describe structurally — a component instance, or
20
+ * a shape only meaningful to the factory. It validates anything; pair it with a
21
+ * `json` or `block` widget so the UI knows how to present it.
22
+ */
13
23
  function opaqueOption() {
14
24
  return zod_1.z.any();
15
25
  }
26
+ /**
27
+ * An opaque option the factory cannot do without. `z.any()` accepts
28
+ * `undefined`, so a plain {@link opaqueOption} would let a missing required
29
+ * value validate; this one refuses it.
30
+ */
16
31
  function requiredOpaqueOption() {
17
32
  return zod_1.z.custom((value) => value !== undefined, {
18
33
  message: "Required",
19
34
  });
20
35
  }
36
+ /**
37
+ * Attach builder presentation hints to an option schema. The schema is returned
38
+ * unchanged, so `ui()` wraps a declaration in place:
39
+ *
40
+ * ```typescript
41
+ * icon: ui(z.string().optional(), { widget: "icon", group: "appearance" })
42
+ * ```
43
+ *
44
+ * Hints live in a side table rather than in the schema, so validation and type
45
+ * inference are untouched.
46
+ */
21
47
  function ui(schema, hints) {
22
48
  ui_1.UI_HINTS.set(schema, hints);
23
49
  return schema;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/base/block-registry/helpers.ts"],"names":[],"mappings":";;AASA,oCAGC;AAOD,oCAEC;AAOD,oDAIC;AAaD,gBAGC;AAhDD,6BAAwE;AAExE,6BAAgC;AAOhC,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAwC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/D,OAAO,MAAmC,CAAC;AAC7C,CAAC;AAOD,SAAgB,YAAY;IAC1B,OAAO,OAAC,CAAC,GAAG,EAA+B,CAAC;AAC9C,CAAC;AAOD,SAAgB,oBAAoB;IAClC,OAAO,OAAC,CAAC,MAAM,CAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;QACjD,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;AACL,CAAC;AAaD,SAAgB,EAAE,CAAuB,MAAS,EAAE,KAAoB;IACtE,aAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/base/block-registry/helpers.ts"],"names":[],"mappings":";;AASA,oCAGC;AAOD,oCAEC;AAOD,oDAIC;AAaD,gBAGC;AAhDD,6BAAwE;AAExE,sCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAwC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/D,OAAO,MAAmC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY;IAC1B,OAAO,OAAC,CAAC,GAAG,EAA+B,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,OAAO,OAAC,CAAC,MAAM,CAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;QACjD,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,EAAE,CAAuB,MAAS,EAAE,KAAoB;IACtE,aAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type ZodTypeAny } from "zod";
2
+ import type { BlockOptionSchema } from "../types";
3
+ /**
4
+ * A copy of a default value, so freezing a descriptor never reaches an object
5
+ * zod also holds — `.default(obj)` hands back that very instance on every
6
+ * parse, and a frozen one is unwritable for every consumer of the schema.
7
+ *
8
+ * `structuredClone` is used because it reproduces a `Date`, a `RegExp`, a `Map`
9
+ * and a `Set`; copying own properties, as a hand-rolled walk does, flattens
10
+ * every one of those to `{}`. A value it cannot clone — a function, a class
11
+ * instance — is not a describable default, and is passed through rather than
12
+ * lost.
13
+ *
14
+ * @internal
15
+ */
16
+ export declare function cloneDefault<T>(value: T): T;
17
+ /**
18
+ * Describe one option schema as a JSON-serializable shape.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare function describeSchema(schema: ZodTypeAny, depth?: number): BlockOptionSchema;
23
+ /**
24
+ * Describe a block's whole options schema. A non-object schema yields an empty
25
+ * record, since a block's options are always a plain object.
26
+ *
27
+ * @internal
28
+ */
29
+ export declare function describeOptions(schema?: ZodTypeAny): Record<string, BlockOptionSchema>;
30
+ /**
31
+ * The default value of every option that declares one.
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function collectDefaults(described: Record<string, BlockOptionSchema>): Record<string, unknown>;
@@ -7,6 +7,8 @@ exports.collectDefaults = collectDefaults;
7
7
  const zod_1 = require("zod");
8
8
  const ui_1 = require("./ui");
9
9
  const MAX_DEPTH = 6;
10
+ // Wrappers nest independently of the shape's depth: optional-of-default-of-
11
+ // nullable is three peels around a single node.
10
12
  const MAX_WRAPPERS = 8;
11
13
  const WRAPPER_INNER = {
12
14
  [zod_1.ZodFirstPartyTypeKind.ZodOptional]: (def) => def.innerType,
@@ -18,16 +20,24 @@ const WRAPPER_INNER = {
18
20
  [zod_1.ZodFirstPartyTypeKind.ZodBranded]: (def) => def.type,
19
21
  [zod_1.ZodFirstPartyTypeKind.ZodEffects]: (def) => def.schema,
20
22
  [zod_1.ZodFirstPartyTypeKind.ZodLazy]: (def) => def.getter(),
23
+ // The registry validates what a caller passes, so a pipeline describes its
24
+ // input rather than what it transforms into.
21
25
  [zod_1.ZodFirstPartyTypeKind.ZodPipeline]: (def) => def.in,
22
26
  };
23
27
  function defOf(schema) {
24
28
  return schema._def;
25
29
  }
30
+ /**
31
+ * The walker reads zod 3's internal `_def.typeName`. A zod whose schemas carry
32
+ * none would describe every option as shapeless, which is worse than not
33
+ * answering at all — so say so instead.
34
+ */
26
35
  function assertDescribable(def) {
27
36
  if (def.typeName === undefined) {
28
37
  throw new Error("block-registry: this zod exposes no _def.typeName; the option walker supports zod 3");
29
38
  }
30
39
  }
40
+ /** Peel wrappers off a schema, collecting the flags and hints they carry. */
31
41
  function unwrap(schema) {
32
42
  const result = {
33
43
  schema,
@@ -54,7 +64,12 @@ function unwrap(schema) {
54
64
  }
55
65
  current = inner(def);
56
66
  }
67
+ // The loop reads hints at the top of each turn, so the node it stops on has
68
+ // not been read yet — at exactly the budget its hints would be lost.
57
69
  hints.push((0, ui_1.getUiHints)(current));
70
+ // Still on a wrapper: the budget ran out rather than the walk finishing, and
71
+ // the node below is never described. Saying so beats reporting a shape that
72
+ // reads as "no structure".
58
73
  result.exhausted =
59
74
  peeled && WRAPPER_INNER[defOf(current).typeName] !== undefined;
60
75
  result.schema = current;
@@ -62,6 +77,19 @@ function unwrap(schema) {
62
77
  result.description = descriptions.find((entry) => !!entry);
63
78
  return result;
64
79
  }
80
+ /**
81
+ * A copy of a default value, so freezing a descriptor never reaches an object
82
+ * zod also holds — `.default(obj)` hands back that very instance on every
83
+ * parse, and a frozen one is unwritable for every consumer of the schema.
84
+ *
85
+ * `structuredClone` is used because it reproduces a `Date`, a `RegExp`, a `Map`
86
+ * and a `Set`; copying own properties, as a hand-rolled walk does, flattens
87
+ * every one of those to `{}`. A value it cannot clone — a function, a class
88
+ * instance — is not a describable default, and is passed through rather than
89
+ * lost.
90
+ *
91
+ * @internal
92
+ */
65
93
  function cloneDefault(value) {
66
94
  if (typeof value !== "object" || value === null) {
67
95
  return value;
@@ -90,6 +118,7 @@ const PRIMITIVE = {
90
118
  [zod_1.ZodFirstPartyTypeKind.ZodMap]: "unknown",
91
119
  [zod_1.ZodFirstPartyTypeKind.ZodSet]: "unknown",
92
120
  };
121
+ /** The kinds whose shape the walker descends into, and what they report as. */
93
122
  const STRUCTURED_TYPE = {
94
123
  [zod_1.ZodFirstPartyTypeKind.ZodObject]: "object",
95
124
  [zod_1.ZodFirstPartyTypeKind.ZodArray]: "array",
@@ -108,6 +137,7 @@ function literalType(value) {
108
137
  }
109
138
  return "string";
110
139
  }
140
+ /** Collapse a union of single-value enums into one enum, as a picker wants it. */
111
141
  function mergeLiteralBranches(branches) {
112
142
  const values = [];
113
143
  for (const branch of branches) {
@@ -130,6 +160,8 @@ function describeUnion(def, depth) {
130
160
  return merged;
131
161
  }
132
162
  const discriminator = def.discriminator;
163
+ // The branches disagree on kind, so the union has none of its own: a consumer
164
+ // switches on `oneOf` rather than on `type`.
133
165
  const described = {
134
166
  type: "union",
135
167
  oneOf: branches,
@@ -179,10 +211,17 @@ const HANDLERS = {
179
211
  enum: Object.values(def.values),
180
212
  }),
181
213
  };
214
+ /**
215
+ * Describe one option schema as a JSON-serializable shape.
216
+ *
217
+ * @internal
218
+ */
182
219
  function describeSchema(schema, depth = 0) {
183
220
  const unwrapped = unwrap(schema);
184
221
  const def = defOf(unwrapped.schema);
185
222
  assertDescribable(def);
223
+ // Past the depth bound the shape is not walked, but its kind is still known:
224
+ // reporting `unknown` would read as "no structure" rather than "more below".
186
225
  const truncated = unwrapped.exhausted === true ||
187
226
  (depth >= MAX_DEPTH && def.typeName in STRUCTURED_TYPE);
188
227
  const handler = truncated ? undefined : HANDLERS[def.typeName];
@@ -212,6 +251,12 @@ function describeShape(shape, depth) {
212
251
  }
213
252
  return described;
214
253
  }
254
+ /**
255
+ * Describe a block's whole options schema. A non-object schema yields an empty
256
+ * record, since a block's options are always a plain object.
257
+ *
258
+ * @internal
259
+ */
215
260
  function describeOptions(schema) {
216
261
  if (!schema) {
217
262
  return {};
@@ -223,6 +268,11 @@ function describeOptions(schema) {
223
268
  }
224
269
  return describeShape(def.shape(), 0);
225
270
  }
271
+ /**
272
+ * The default value of every option that declares one.
273
+ *
274
+ * @internal
275
+ */
226
276
  function collectDefaults(described) {
227
277
  const defaults = {};
228
278
  for (const [key, option] of Object.entries(described)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../../src/base/block-registry/internal/describe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ZodTypeAny } from "zod";
2
+ import type { BlockOptionUi } from "../types";
3
+ /**
4
+ * Hints live in a side table rather than in the schema, so validation and type
5
+ * inference are untouched. `ui()`, the declaration side, lives in `./helpers`
6
+ * with the other authoring helpers; reading them stays here.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare const UI_HINTS: WeakMap<ZodTypeAny, BlockOptionUi>;
11
+ /**
12
+ * The hints attached to a schema node, if any.
13
+ *
14
+ * @internal
15
+ */
16
+ export declare function getUiHints(schema: ZodTypeAny): BlockOptionUi | undefined;
17
+ /**
18
+ * Merge hints collected while unwrapping a schema. Outer wrappers
19
+ * (`optional`, `default`) are visited first, so an inner hint wins.
20
+ *
21
+ * @internal
22
+ */
23
+ export declare function mergeUiHints(hints: Array<BlockOptionUi | undefined>): BlockOptionUi | undefined;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UI_HINTS = void 0;
4
+ exports.getUiHints = getUiHints;
5
+ exports.mergeUiHints = mergeUiHints;
6
+ /**
7
+ * Hints live in a side table rather than in the schema, so validation and type
8
+ * inference are untouched. `ui()`, the declaration side, lives in `./helpers`
9
+ * with the other authoring helpers; reading them stays here.
10
+ *
11
+ * @internal
12
+ */
13
+ exports.UI_HINTS = new WeakMap();
14
+ /**
15
+ * The hints attached to a schema node, if any.
16
+ *
17
+ * @internal
18
+ */
19
+ function getUiHints(schema) {
20
+ return exports.UI_HINTS.get(schema);
21
+ }
22
+ /**
23
+ * Merge hints collected while unwrapping a schema. Outer wrappers
24
+ * (`optional`, `default`) are visited first, so an inner hint wins.
25
+ *
26
+ * @internal
27
+ */
28
+ function mergeUiHints(hints) {
29
+ const defined = hints.filter((hint) => !!hint);
30
+ if (defined.length === 0) {
31
+ return undefined;
32
+ }
33
+ return Object.assign({}, ...defined);
34
+ }
35
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/base/block-registry/internal/ui.ts"],"names":[],"mappings":";;;AAiBA,gCAEC;AAQD,oCAQC;AAhCD;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG,IAAI,OAAO,EAA6B,CAAC;AAEjE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,MAAkB;IAC3C,OAAO,gBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,KAAuC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1,19 +1,43 @@
1
1
  import type { ZodTypeAny } from "zod";
2
2
  import type { BlockTypeDefinition, BlockTypeDescriptor } from "./types";
3
+ /**
4
+ * Declare a block type so builder tooling can list, describe and validate it.
5
+ * Called once per factory, next to the factory itself.
6
+ *
7
+ * A second registration under a name already taken replaces the first, which
8
+ * would let a third-party module quietly stand in for a core block. It is
9
+ * allowed, because a module reloaded in development re-runs its registrations,
10
+ * but it is reported so the collision is not silent.
11
+ */
3
12
  export declare function RegisterBlockType(definition: BlockTypeDefinition): void;
13
+ /** Every declared block type, described and JSON-serializable. */
4
14
  export declare function ListBlockTypes(): BlockTypeDescriptor[];
15
+ /** One declared block type, or `undefined` when the type is unknown. */
5
16
  export declare function GetBlockType(type: string): BlockTypeDescriptor | undefined;
17
+ /** The raw options schema of a block type, for callers that hold zod. */
6
18
  export declare function GetBlockSchema(type: string): ZodTypeAny | undefined;
19
+ /** A validation failure, addressed by a JSON pointer into the options object. */
7
20
  export interface BlockOptionIssue {
8
21
  pointer: string;
9
22
  message: string;
10
23
  }
24
+ /** The options satisfy the block type's schema. */
11
25
  export interface BlockValidationOk {
12
26
  valid: true;
13
27
  }
28
+ /** The options break the block type's schema, at each of `issues`. */
14
29
  export interface BlockValidationFailed {
15
30
  valid: false;
16
31
  issues: BlockOptionIssue[];
17
32
  }
33
+ /** What {@link ValidateBlockOptions} answers. */
18
34
  export type BlockValidation = BlockValidationOk | BlockValidationFailed;
35
+ /**
36
+ * Validate a block's options against its declared schema.
37
+ *
38
+ * A registered type that declares no schema validates: the caller cannot do
39
+ * better than the declaration allows. A type that is not registered at all is
40
+ * refused — the registry knows it is unknown, and answering "valid" to a
41
+ * misspelled block type would send the caller on to write it.
42
+ */
19
43
  export declare function ValidateBlockOptions(type: string, options: unknown): BlockValidation;