@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
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ // Building and serializing a form's schema, from its fields, its props or a
3
+ // builder. The shapes it works on live in `form-types.ts`; both halves are
4
+ // re-exported together by `form.ts`, the documented subpath.
2
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
6
  if (k2 === undefined) k2 = k;
4
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -16,7 +19,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
19
  Object.defineProperty(exports, "__esModule", { value: true });
17
20
  exports.FormComponents = exports.Form = void 0;
18
21
  exports.adaptFieldValidationSchema = adaptFieldValidationSchema;
22
+ exports.isAcceptanceField = isAcceptanceField;
19
23
  exports.buildFormSchema = buildFormSchema;
24
+ exports.formEntries = formEntries;
20
25
  exports.formSchema = formSchema;
21
26
  exports.serializeFormFields = serializeFormFields;
22
27
  const component_1 = require("../component");
@@ -24,9 +29,13 @@ const uploads_1 = require("../uploads");
24
29
  const zod_1 = require("zod");
25
30
  const zod_to_json_schema_1 = require("zod-to-json-schema");
26
31
  const core_1 = require("./data-types/core");
27
- const form_block_schema_1 = require("./form-block-schema");
28
- __exportStar(require("./form-block-schema"), exports);
32
+ const form_block_schema_1 = require("./internal/form-block-schema");
29
33
  const form_types_1 = require("./form-types");
34
+ const form_schema_1 = require("./internal/form-schema");
35
+ __exportStar(require("./form-block-schema"), exports);
36
+ /**
37
+ * Adapts a Zod schema to handle localization and optional/required state
38
+ */
30
39
  function adaptFieldValidationSchema(baseSchema, options) {
31
40
  let schema = baseSchema;
32
41
  if (options.localized) {
@@ -43,8 +52,21 @@ function adaptFieldValidationSchema(baseSchema, options) {
43
52
  }
44
53
  return schema;
45
54
  }
55
+ const BOOLEAN_TYPE_ID = "boolean";
56
+ // Controls a boolean is ticked in rather than switched: required, such a box
57
+ // is an agreement ("I accept the terms") only `true` satisfies.
58
+ const ACCEPTANCE_COMPONENTS = new Set(["dms-checkbox"]);
59
+ /** Whether a field is a box to tick: required, only `true` passes. */
60
+ function isAcceptanceField(field) {
61
+ if ((0, core_1.getDataTypeId)(field.type) !== BOOLEAN_TYPE_ID)
62
+ return false;
63
+ const component = field.inputComponent ?? field.type.inputComponent();
64
+ return ACCEPTANCE_COMPONENTS.has(component.componentName);
65
+ }
46
66
  function addFieldToSchema(shape, field) {
47
- const baseSchema = field.type.getValidation();
67
+ const baseSchema = field.required && isAcceptanceField(field)
68
+ ? zod_1.z.literal(true)
69
+ : field.type.getValidation();
48
70
  shape[field.id] = adaptFieldValidationSchema(baseSchema, {
49
71
  localized: field.localized,
50
72
  required: field.required,
@@ -68,11 +90,32 @@ const FIELDS_KEY = "fields";
68
90
  function isFormBuilder(source) {
69
91
  return source instanceof component_1.ComponentBuilder && FIELDS_KEY in source;
70
92
  }
93
+ const SECTIONS_KEY = "sections";
71
94
  function isFormProps(source) {
72
- return (typeof source === "object" &&
73
- source !== null &&
74
- FIELDS_KEY in source &&
75
- Array.isArray(source.fields));
95
+ if (typeof source !== "object" || source === null)
96
+ return false;
97
+ const props = source;
98
+ return ((FIELDS_KEY in props && Array.isArray(props.fields)) ||
99
+ (SECTIONS_KEY in props && Array.isArray(props.sections)));
100
+ }
101
+ /** Every entry of a form: its own fields and groups, then each section's. */
102
+ function formEntries(options) {
103
+ return [
104
+ ...(options.fields ?? []),
105
+ ...(options.sections ?? []).flatMap((section) => section.fields),
106
+ ];
107
+ }
108
+ function withoutSections(options) {
109
+ if (!options)
110
+ return undefined;
111
+ const { sections: _sections, ...rest } = options;
112
+ return rest;
113
+ }
114
+ function serializeFormSections(sections) {
115
+ return sections?.map(({ fields, ...section }) => ({
116
+ ...section,
117
+ fieldIds: fields.map((item) => item.id),
118
+ }));
76
119
  }
77
120
  function formSchema(source) {
78
121
  if (Array.isArray(source))
@@ -80,23 +123,9 @@ function formSchema(source) {
80
123
  if (isFormBuilder(source))
81
124
  return buildFormSchema(source.fields);
82
125
  if (isFormProps(source))
83
- return buildFormSchema(source.fields);
126
+ return buildFormSchema(formEntries(source));
84
127
  throw new Error("formSchema: unsupported source");
85
128
  }
86
- function serializeField(field) {
87
- const typeId = (0, core_1.getDataTypeId)(field.type) || "unknown";
88
- return {
89
- id: field.id,
90
- label: field.label,
91
- description: field.description,
92
- component: field.inputComponent || field.type.inputComponent(),
93
- disabled: field.disabled,
94
- type: typeId,
95
- required: field.required,
96
- defaultValue: field.defaultValue,
97
- localized: field.localized,
98
- };
99
- }
100
129
  function serializeFormFields(fields) {
101
130
  return fields.map((item) => {
102
131
  if ((0, form_types_1.isFieldGroup)(item)) {
@@ -104,24 +133,37 @@ function serializeFormFields(fields) {
104
133
  id: item.id,
105
134
  label: item.label,
106
135
  description: item.description,
107
- fields: item.fields.map(serializeField),
136
+ fields: item.fields.map(form_schema_1.serializeFormField),
108
137
  orientation: item.orientation,
109
138
  order: item.order,
110
139
  };
111
140
  }
112
- return serializeField(item);
141
+ return (0, form_schema_1.serializeFormField)(item);
113
142
  });
114
143
  }
144
+ /**
145
+ * `options` is optional because a page is written as it is built: the editor
146
+ * places a block before anything is configured, and writes that as the bare
147
+ * call `Form()`. A page under construction has to compile — it is typechecked
148
+ * on every edit — so a block with nothing set yet has to be a legal call.
149
+ */
115
150
  const Form = (options) => {
116
- const fields = options?.fields ?? [];
151
+ const fields = options ? formEntries(options) : [];
117
152
  const schema = buildFormSchema(fields);
118
153
  const serializedFields = serializeFormFields(fields);
119
154
  const builder = new component_1.ComponentBuilder(form_block_schema_1.FORM_COMPONENT_NAME)
120
155
  .options({
121
- ...options,
156
+ ...withoutSections(options),
122
157
  fields: serializedFields,
158
+ ...(options?.sections && {
159
+ sections: serializeFormSections(options.sections),
160
+ }),
123
161
  schema: (0, zod_to_json_schema_1.zodToJsonSchema)(schema),
124
162
  })
163
+ // The form claims the upload tokens its fields need — its own, and those
164
+ // of the forms embedded in them (a relation's inline add form) — when it
165
+ // serializes: once, at page registration. The page system knows nothing
166
+ // about uploads.
125
167
  .transformOptions(uploads_1.StampUploadFieldTokens)
126
168
  .meta({
127
169
  name: options?.title || "Form",
@@ -132,10 +174,75 @@ const Form = (options) => {
132
174
  exports.Form = Form;
133
175
  var FormComponents;
134
176
  (function (FormComponents) {
135
- function InputCheckbox() {
136
- return new component_1.ComponentBuilder("dms-checkbox").serializeSync();
177
+ function InputCheckbox(options) {
178
+ return new component_1.ComponentBuilder("dms-checkbox")
179
+ .options(options)
180
+ .serializeSync();
137
181
  }
138
182
  FormComponents.InputCheckbox = InputCheckbox;
183
+ /** A boolean as a bordered card: an icon, a title and a switch. */
184
+ function InputBooleanCard(options) {
185
+ return new component_1.ComponentBuilder("dms-boolean-card")
186
+ .options(options)
187
+ .serializeSync();
188
+ }
189
+ FormComponents.InputBooleanCard = InputBooleanCard;
190
+ /** The options of a select as cards, one picked or several. */
191
+ function InputChoiceCards(options) {
192
+ return new component_1.ComponentBuilder("dms-choice-cards")
193
+ .options(options)
194
+ .serializeSync();
195
+ }
196
+ FormComponents.InputChoiceCards = InputChoiceCards;
197
+ /** The options of a select as segments of one control. */
198
+ function InputSegmentedSelect(options) {
199
+ return new component_1.ComponentBuilder("dms-segmented-select")
200
+ .options(options)
201
+ .serializeSync();
202
+ }
203
+ FormComponents.InputSegmentedSelect = InputSegmentedSelect;
204
+ /** Rows of fields, added, removed and reordered (`ArrayType`). */
205
+ function InputRepeater(options) {
206
+ return new component_1.ComponentBuilder("dms-repeater")
207
+ .options(options)
208
+ .serializeSync();
209
+ }
210
+ FormComponents.InputRepeater = InputRepeater;
211
+ /** Pairs of a name and a value (`KeyValueType`). */
212
+ function InputKeyValue(options) {
213
+ return new component_1.ComponentBuilder("dms-key-value")
214
+ .options(options)
215
+ .serializeSync();
216
+ }
217
+ FormComponents.InputKeyValue = InputKeyValue;
218
+ /** A secret, masked until shown (`SecretType`). */
219
+ function InputSecret(options) {
220
+ return new component_1.ComponentBuilder("dms-input-secret")
221
+ .options(options)
222
+ .serializeSync();
223
+ }
224
+ FormComponents.InputSecret = InputSecret;
225
+ /** A read-only value with a copy button (`StringType({ copyable })`). */
226
+ function InputCopyableText(options) {
227
+ return new component_1.ComponentBuilder("dms-copyable-text")
228
+ .options(options)
229
+ .serializeSync();
230
+ }
231
+ FormComponents.InputCopyableText = InputCopyableText;
232
+ /** A code editor (`CodeType`). */
233
+ function InputCode(options) {
234
+ return new component_1.ComponentBuilder("dms-input-code")
235
+ .options(options)
236
+ .serializeSync();
237
+ }
238
+ FormComponents.InputCode = InputCode;
239
+ /** A list of short texts typed as tags (`TagsType`). */
240
+ function InputTags(options) {
241
+ return new component_1.ComponentBuilder("dms-input-tags")
242
+ .options(options)
243
+ .serializeSync();
244
+ }
245
+ FormComponents.InputTags = InputTags;
139
246
  function InputEmail(options) {
140
247
  return new component_1.ComponentBuilder("dms-input-email")
141
248
  .options(options)
@@ -214,8 +321,10 @@ var FormComponents;
214
321
  .serializeSync();
215
322
  }
216
323
  FormComponents.InputSlider = InputSlider;
217
- function InputSwitch() {
218
- return new component_1.ComponentBuilder("dms-switch").serializeSync();
324
+ function InputSwitch(options) {
325
+ return new component_1.ComponentBuilder("dms-switch")
326
+ .options(options)
327
+ .serializeSync();
219
328
  }
220
329
  FormComponents.InputSwitch = InputSwitch;
221
330
  function InputTextarea(options) {
@@ -242,24 +351,12 @@ var FormComponents;
242
351
  .serializeSync();
243
352
  }
244
353
  FormComponents.DatePickerRange = DatePickerRange;
245
- function InputTree(options) {
246
- return new component_1.ComponentBuilder("dms-input-tree")
247
- .options(options)
248
- .serializeSync();
249
- }
250
- FormComponents.InputTree = InputTree;
251
354
  function InputAddress(options) {
252
355
  return new component_1.ComponentBuilder("dms-input-address")
253
356
  .options(options)
254
357
  .serializeSync();
255
358
  }
256
359
  FormComponents.InputAddress = InputAddress;
257
- function PermissionsTree(options) {
258
- return new component_1.ComponentBuilder("dms-permissions-tree")
259
- .options(options)
260
- .serializeSync();
261
- }
262
- FormComponents.PermissionsTree = PermissionsTree;
263
360
  function RichText(options) {
264
361
  return new component_1.ComponentBuilder("dms-rich-text")
265
362
  .options(options)
@@ -1 +1 @@
1
- {"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ComponentBuilder, type ComponentInfoSerialized } from "../component";
2
2
  import { zodToJsonSchema } from "zod-to-json-schema";
3
3
  import { type DataType } from "./data-types/core";
4
- import type { BaseComponentProps, DefaultValue, EnumOption, HttpMethod } from "./types";
4
+ import type { BaseComponentProps, DefaultValue, EnumOption, HttpMethod, Tone } from "./types";
5
5
  export declare namespace FormEvents {
6
6
  const SUBMIT = "DmsComponent.Form.Submit";
7
7
  const SUBMIT_SUCCESS = "DmsComponent.Form.SubmitSuccess";
@@ -14,14 +14,42 @@ export declare namespace FormFunctions {
14
14
  const SET_FIELD_HIDDEN = "DmsComponent.Form.SetFieldHidden";
15
15
  const SET_FIELD_REQUIRED = "DmsComponent.Form.SetFieldRequired";
16
16
  }
17
+ /** A pill shown beside a read-only field's value. */
18
+ export interface FormFieldBadge {
19
+ /** i18n key or literal. */
20
+ label: string;
21
+ tone: Tone;
22
+ }
23
+ /** A link shown beside a read-only field's value: where it is changed. */
24
+ export interface FormFieldLink {
25
+ /** i18n key or literal. */
26
+ label: string;
27
+ to: string;
28
+ }
29
+ /** A field shown, not edited, with what tells why or where to change it. */
30
+ export interface FormFieldReadonly {
31
+ badge?: FormFieldBadge;
32
+ link?: FormFieldLink;
33
+ }
17
34
  export interface FormField {
18
35
  id: string;
19
36
  label?: string;
20
37
  description?: string;
38
+ /** A grey help line under the control (i18n key or literal). */
39
+ hint?: string;
21
40
  type: DataType;
22
41
  inputComponent?: ComponentInfoSerialized;
23
42
  disabled?: boolean;
43
+ /**
44
+ * The value is shown, not edited: `true`, or with a pill (`badge`) and a
45
+ * link to where it is changed (`link`).
46
+ */
47
+ readonly?: boolean | FormFieldReadonly;
24
48
  required?: boolean;
49
+ /**
50
+ * The value of a new record. On a loaded one, a field holding something
51
+ * else offers "Use default", showing it.
52
+ */
25
53
  defaultValue?: DefaultValue;
26
54
  localized?: boolean;
27
55
  }
@@ -44,25 +72,132 @@ export type FormFieldOrGroup = FormField | FieldGroup;
44
72
  export type FormFieldOrGroupSerialized = FormFieldSerialized | FieldGroupSerialized;
45
73
  export declare function isFieldGroup(item: FormFieldOrGroup): item is FieldGroup;
46
74
  export declare function isFieldGroupSerialized(item: FormFieldOrGroupSerialized): item is FieldGroupSerialized;
75
+ /** How a form offers to save: see `FormProps.saveMode`. */
76
+ export declare const FORM_SAVE_MODES: readonly ["bar", "footer", "none", "instant"];
77
+ export type FormSaveMode = (typeof FORM_SAVE_MODES)[number];
78
+ /** How a sectioned form lists its sections: see `FormProps.sectionNav`. */
79
+ export declare const FORM_SECTION_NAVS: readonly ["side", "jump", "none"];
80
+ export type FormSectionNav = (typeof FORM_SECTION_NAVS)[number];
81
+ /**
82
+ * A titled part of a form: one card of fields, reached from the form's
83
+ * section navigation. Every section saves with the rest of the form.
84
+ */
85
+ export interface FormSection {
86
+ /** Anchor of the section, unique within the form. */
87
+ id: string;
88
+ /** Title of the section's card and of its entry in the navigation. */
89
+ label: string;
90
+ description?: string;
91
+ /** Icon of the section's entry in the side navigation. */
92
+ icon?: string;
93
+ fields: FormFieldOrGroup[];
94
+ }
95
+ /** A section as the client reads it: the entries of the form it holds. */
96
+ export interface FormSectionSerialized extends Omit<FormSection, "fields"> {
97
+ /** Ids of the entries of the form's `fields` the section holds, in order. */
98
+ fieldIds: string[];
99
+ }
100
+ /** What a form edits: see `FormProps.kind`. */
101
+ export declare const FORM_KINDS: readonly ["record", "action"];
102
+ export type FormKind = (typeof FORM_KINDS)[number];
103
+ /** The options `Form` takes. */
47
104
  export interface FormProps extends BaseComponentProps {
48
105
  title?: string;
49
106
  description?: string;
50
- fields: FormFieldOrGroup[];
107
+ /**
108
+ * The form's fields and groups. Beside `sections`, they come first, outside
109
+ * any section.
110
+ */
111
+ fields?: FormFieldOrGroup[];
112
+ /**
113
+ * The form's fields split into titled cards, on one page and saved together:
114
+ * a navigation leads to each (see `sectionNav`), and marks the sections
115
+ * holding unsaved changes or invalid values.
116
+ */
117
+ sections?: FormSection[];
118
+ /**
119
+ * How a sectioned form lists its sections. `side`: a list beside the
120
+ * sections that follows the scroll (a row of chips on a narrow screen);
121
+ * `jump`: a row of chips above them; `none`: no navigation. Defaults to
122
+ * `side` from three sections, `none` below.
123
+ */
124
+ sectionNav?: FormSectionNav;
51
125
  fetchUrl?: string;
52
126
  fetchUrlMethod?: EnumOption<HttpMethod>;
53
127
  submitUrl?: string;
54
128
  submitUrlMethod?: EnumOption<HttpMethod>;
55
129
  successMessage?: string;
56
130
  errorMessage?: string;
131
+ /**
132
+ * Label of the submit button (i18n key or literal). Defaults to the generic
133
+ * "Save changes" label.
134
+ */
57
135
  submitLabel?: string;
58
- showActions?: boolean;
136
+ /**
137
+ * How the form offers to save. `bar` (the default): a sticky bar that shows
138
+ * while there are unsaved changes, names them and offers Discard and Save.
139
+ * `footer`: the buttons in the form's footer. `none`: no buttons, the form
140
+ * is read or saved by something else. `instant`: no buttons, each change
141
+ * saves on its own — the changed field alone, sent to `submitUrl` (which
142
+ * must accept a partial body), a pick at once and a text once typing
143
+ * pauses; a refused save is put back, with a retry. An `action` form saves
144
+ * with the bar instead. In a drawer or a modal, `bar` and `footer` both use
145
+ * the container's footer.
146
+ */
147
+ saveMode?: FormSaveMode;
148
+ /**
149
+ * What the form edits. `record` (the default): a record, a settings page,
150
+ * a table view's form; it keeps its values once saved, and offers Cancel
151
+ * while clean when it has somewhere to go back to (`backTo`, or the drawer
152
+ * or modal it sits in). `action`: a form that does something each time it
153
+ * is sent — send a message, invite someone, run a job; its buttons are
154
+ * Reset and its `submitLabel`, shown once a value changes (in a drawer or
155
+ * a modal, Cancel and the held submit show before that), and it empties
156
+ * after a successful submit.
157
+ */
158
+ kind?: FormKind;
159
+ /**
160
+ * Where Cancel leads a `record` form placed on a page; without it the form
161
+ * offers no Cancel. Table views set it on their form pages, to the list.
162
+ */
163
+ backTo?: string;
59
164
  fieldsOrientation?: "horizontal" | "vertical";
165
+ /**
166
+ * Path to navigate to after a successful submit. Supports the same token
167
+ * substitution as `submitUrl` (`{{params.X}}`, `{{query.X}}`) plus
168
+ * `{{response.X}}` which resolves against the JSON response body of the
169
+ * submit request — useful for redirecting to the detail page of a freshly
170
+ * created entity (e.g. `/items/{{response.id}}/edit`).
171
+ */
60
172
  redirectOnSuccess?: string;
173
+ /**
174
+ * Default values merged into the submit payload (sent even when the field is
175
+ * absent from the form). String values support the same token substitution
176
+ * as `submitUrl` (`{{params.X}}`, `{{query.X}}`), resolved against the form's
177
+ * route at submit time; entries whose tokens cannot be resolved are dropped.
178
+ * Used to inherit context (e.g. a parent id from `queryParamFilters`) into a
179
+ * page-rendered "new" form.
180
+ */
61
181
  submitDefaults?: Record<string, unknown>;
182
+ /**
183
+ * Opens the form to a contributor: whoever owns the slot rewrites these
184
+ * options — typically by merging in its own fields — as the page layout is
185
+ * served, so a module extending the form long after it was declared is still
186
+ * picked up. See `interfaces/dms/component-slots`.
187
+ */
62
188
  slotId?: string;
189
+ /**
190
+ * Field of the loaded row that names it. On a page, the breadcrumb ends
191
+ * with its value ("… › Tasks › Write the docs") once the form has loaded.
192
+ * Table views set it on their edit and details pages from their own
193
+ * `labelKey`.
194
+ */
195
+ labelKey?: string;
63
196
  }
64
- export interface FormPropsSerialized extends Omit<FormProps, "fields"> {
197
+ export interface FormPropsSerialized extends Omit<FormProps, "fields" | "sections"> {
198
+ /** Every entry of the form: its own, then each section's. */
65
199
  fields: FormFieldOrGroupSerialized[];
200
+ sections?: FormSectionSerialized[];
66
201
  schema?: ReturnType<typeof zodToJsonSchema>;
67
202
  }
68
203
  export type FormBuilder = ComponentBuilder<FormPropsSerialized> & {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormFunctions = exports.FormEvents = void 0;
3
+ exports.FORM_KINDS = exports.FORM_SECTION_NAVS = exports.FORM_SAVE_MODES = exports.FormFunctions = exports.FormEvents = void 0;
4
4
  exports.isFieldGroup = isFieldGroup;
5
5
  exports.isFieldGroupSerialized = isFieldGroupSerialized;
6
6
  var FormEvents;
@@ -23,4 +23,10 @@ function isFieldGroup(item) {
23
23
  function isFieldGroupSerialized(item) {
24
24
  return "fields" in item && Array.isArray(item.fields);
25
25
  }
26
+ /** How a form offers to save: see `FormProps.saveMode`. */
27
+ exports.FORM_SAVE_MODES = ["bar", "footer", "none", "instant"];
28
+ /** How a sectioned form lists its sections: see `FormProps.sectionNav`. */
29
+ exports.FORM_SECTION_NAVS = ["side", "jump", "none"];
30
+ /** What a form edits: see `FormProps.kind`. */
31
+ exports.FORM_KINDS = ["record", "action"];
26
32
  //# sourceMappingURL=form-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-types.js","sourceRoot":"","sources":["../../src/base/form-types.ts"],"names":[],"mappings":";;;AA6DA,oCAEC;AAED,wDAIC;AA5DD,IAAiB,UAAU,CAM1B;AAND,WAAiB,UAAU;IACZ,iBAAM,GAAG,0BAA0B,CAAC;IACpC,yBAAc,GAAG,iCAAiC,CAAC;IACnD,uBAAY,GAAG,+BAA+B,CAAC;IAC/C,uBAAY,GAAG,+BAA+B,CAAC;IAC/C,gBAAK,GAAG,yBAAyB,CAAC;AACjD,CAAC,EANgB,UAAU,0BAAV,UAAU,QAM1B;AAED,IAAiB,aAAa,CAI7B;AAJD,WAAiB,aAAa;IACf,gCAAkB,GAAG,oCAAoC,CAAC;IAC1D,8BAAgB,GAAG,kCAAkC,CAAC;IACtD,gCAAkB,GAAG,oCAAoC,CAAC;AACzE,CAAC,EAJgB,aAAa,6BAAb,aAAa,QAI7B;AAwCD,SAAgB,YAAY,CAAC,IAAsB;IACjD,OAAO,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAgC;IAEhC,OAAO,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"form-types.js","sourceRoot":"","sources":["../../src/base/form-types.ts"],"names":[],"mappings":";;;AA6FA,oCAEC;AAED,wDAIC;AA3FD,IAAiB,UAAU,CAM1B;AAND,WAAiB,UAAU;IACZ,iBAAM,GAAG,0BAA0B,CAAC;IACpC,yBAAc,GAAG,iCAAiC,CAAC;IACnD,uBAAY,GAAG,+BAA+B,CAAC;IAC/C,uBAAY,GAAG,+BAA+B,CAAC;IAC/C,gBAAK,GAAG,yBAAyB,CAAC;AACjD,CAAC,EANgB,UAAU,0BAAV,UAAU,QAM1B;AAED,IAAiB,aAAa,CAI7B;AAJD,WAAiB,aAAa;IACf,gCAAkB,GAAG,oCAAoC,CAAC;IAC1D,8BAAgB,GAAG,kCAAkC,CAAC;IACtD,gCAAkB,GAAG,oCAAoC,CAAC;AACzE,CAAC,EAJgB,aAAa,6BAAb,aAAa,QAI7B;AAuED,SAAgB,YAAY,CAAC,IAAsB;IACjD,OAAO,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAAgC;IAEhC,OAAO,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,2DAA2D;AAC9C,QAAA,eAAe,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;AAI7E,2EAA2E;AAC9D,QAAA,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAyBnE,+CAA+C;AAClC,QAAA,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC"}
package/dist/base/form.js CHANGED
@@ -14,6 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ // The public home of the form surface. The declaration is split in two so the
18
+ // schema builders can depend on the field shapes without the two files
19
+ // depending on each other: `form-types.ts` holds the props, the field and group
20
+ // shapes and the event/function name constants, `form-schema.ts` holds the
21
+ // `Form` builder and the Zod/JSON-schema helpers built on top of them. Both
22
+ // halves are one contract, so `@antelopejs/interface-dms/base/form` exposes
23
+ // them together.
17
24
  __exportStar(require("./form-schema"), exports);
18
25
  __exportStar(require("./form-types"), exports);
19
26
  //# sourceMappingURL=form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/base/form.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOA,gDAA8B;AAC9B,+CAA6B"}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/base/form.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8EAA8E;AAC9E,uEAAuE;AACvE,gFAAgF;AAChF,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,iBAAiB;AACjB,gDAA8B;AAC9B,+CAA6B"}
@@ -1,9 +1,24 @@
1
1
  import { ComponentBuilder } from "../component";
2
2
  import { z } from "zod";
3
+ /**
4
+ * Options for Grid component
5
+ */
3
6
  export interface GridOptions {
7
+ /**
8
+ * Gap between rows and columns (CSS unit)
9
+ * @default '1rem'
10
+ */
4
11
  gap?: string;
12
+ /**
13
+ * Width below which a column is dropped rather than squeezed (CSS length).
14
+ * The grid keeps as many columns as the available width affords at this
15
+ * floor, up to the widest row's child count, so a row that does not fit
16
+ * wraps instead of overflowing.
17
+ * @default '240px'
18
+ */
5
19
  minColumnWidth?: string;
6
20
  }
21
+ /** The options `Grid` accepts. */
7
22
  export declare const GridSchema: z.ZodObject<{
8
23
  gap: z.ZodDefault<z.ZodString>;
9
24
  minColumnWidth: z.ZodDefault<z.ZodString>;
@@ -14,6 +29,11 @@ export declare const GridSchema: z.ZodObject<{
14
29
  gap?: string | undefined;
15
30
  minColumnWidth?: string | undefined;
16
31
  }>;
32
+ /**
33
+ * Metadata a row's child carries to widen itself across columns. It belongs to
34
+ * `GridRow` alone: a row is pinned to the full width (`1 / -1`), so a span on
35
+ * the row itself would be inert.
36
+ */
17
37
  export declare const GridChildSchema: z.ZodObject<{
18
38
  colSpan: z.ZodOptional<z.ZodNumber>;
19
39
  }, "strip", z.ZodTypeAny, {
@@ -21,5 +41,42 @@ export declare const GridChildSchema: z.ZodObject<{
21
41
  }, {
22
42
  colSpan?: number | undefined;
23
43
  }>;
44
+ /**
45
+ * Grid - Responsive Grid Container
46
+ *
47
+ * A grid container that automatically calculates the number of columns based on
48
+ * the maximum number of children in any row. Each GridRow child will be rendered
49
+ * as a row in the grid.
50
+ *
51
+ * The column count is an upper bound, not a fixed value: columns narrower than
52
+ * `minColumnWidth` are dropped, so on a narrow viewport a row wraps onto
53
+ * several lines instead of overflowing. Rows share one template, so they stay
54
+ * aligned on one another at every width.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * Grid({ gap: '1rem' })
59
+ * .child('row1', GridRow()
60
+ * .child('col1', Card(...))
61
+ * .child('col2', Card(...))
62
+ * )
63
+ * .child('row2', GridRow()
64
+ * .child('col1', Card(...))
65
+ * )
66
+ * ```
67
+ */
24
68
  export declare function Grid(options?: GridOptions): ComponentBuilder<GridOptions>;
69
+ /**
70
+ * GridRow - Grid Row Component
71
+ *
72
+ * Represents a single row in a Grid. All children of a GridRow will be laid out
73
+ * horizontally within that row, with equal spacing.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * GridRow()
78
+ * .child('item1', Card(...))
79
+ * .child('item2', Card(...))
80
+ * ```
81
+ */
25
82
  export declare function GridRow(): ComponentBuilder;