@antelopejs/interface-dms 0.3.4 → 0.3.6

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 +43 -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 +54 -17
  500. package/dist/invites.js +49 -34
  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,477 @@
1
+ "use strict";
2
+ // The helpers the TableView factory chains together: action and display
3
+ // serialization, the actions it declares, and its page-mode form pages (their
4
+ // slugs, URLs, redirection and filter defaults).
5
+ //
6
+ // Split out of factory.ts. The declaration checks live in `./validation`, the
7
+ // filter tabs in `./tabs`, the per-request filtering in `./request-filter` and
8
+ // the one writing TableView of a controller in `./writer`.
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FORM_PAGE_KINDS = exports.FORM_PAGE_CONFIG_KEYS = exports.FORM_PAGE_DEFINITIONS = void 0;
11
+ exports.applyFormRedirect = applyFormRedirect;
12
+ exports.serializeCustomButtons = serializeCustomButtons;
13
+ exports.serializeRowActions = serializeRowActions;
14
+ exports.registerTableViewActions = registerTableViewActions;
15
+ exports.serializeExpandable = serializeExpandable;
16
+ exports.serializeTableViewDisplays = serializeTableViewDisplays;
17
+ exports.formPageConfig = formPageConfig;
18
+ exports.resolveFormPageTexts = resolveFormPageTexts;
19
+ exports.joinPageSlug = joinPageSlug;
20
+ exports.formRouteKey = formRouteKey;
21
+ exports.formPageSlug = formPageSlug;
22
+ exports.buildFormPageUrls = buildFormPageUrls;
23
+ exports.buildFormRedirectUrl = buildFormRedirectUrl;
24
+ exports.buildFilterSubmitDefaults = buildFilterSubmitDefaults;
25
+ exports.applyFormPageSubmitDefaults = applyFormPageSubmitDefaults;
26
+ const form_types_1 = require("../../form-types");
27
+ const action_target_1 = require("../../types/internal/action-target");
28
+ const confirm_dialog_1 = require("../../internal/confirm-dialog");
29
+ const auth_1 = require("./auth");
30
+ const validation_1 = require("./validation");
31
+ const options_1 = require("../options");
32
+ const factory_helpers_1 = require("../factory-helpers");
33
+ /** @internal */
34
+ function applyFormRedirect(formBuilder, redirectUrl, preserveQuery) {
35
+ // `preserveQuery` is set only when there is something to preserve, so the
36
+ // params carry no key for it otherwise.
37
+ const params = {
38
+ url: redirectUrl,
39
+ };
40
+ if (preserveQuery && preserveQuery.length > 0) {
41
+ params.preserveQuery = preserveQuery;
42
+ }
43
+ formBuilder.watch(form_types_1.FormEvents.SUBMIT_SUCCESS, factory_helpers_1.TableViewFunctions.CUSTOM_PAGE_FORM_SUCCESS, { params });
44
+ }
45
+ /**
46
+ * Custom buttons as the options carry them: their permission and availability
47
+ * stay server-side, applied per request.
48
+ *
49
+ * @internal
50
+ */
51
+ function serializeCustomButtons(buttons) {
52
+ return buttons?.map(({ permission: _permission, permissionId: _permissionId, availability: _availability, confirm, ...btn }) => {
53
+ const served = {
54
+ ...btn,
55
+ target: (0, action_target_1.serializeActionTarget)(btn.target),
56
+ };
57
+ if (confirm)
58
+ served.confirm = (0, confirm_dialog_1.serializeActionConfirm)(confirm);
59
+ return served;
60
+ });
61
+ }
62
+ /** A built-in row action as the options carry it: its confirmation serialized. */
63
+ function serializeRowActionConfig(config) {
64
+ if (config === undefined || typeof config === "boolean")
65
+ return config;
66
+ const { confirm, rule, ...rest } = config;
67
+ const served = rest;
68
+ if (rule)
69
+ served.rule = rule;
70
+ if (confirm)
71
+ served.confirm = (0, confirm_dialog_1.serializeActionConfirm)(confirm);
72
+ return served;
73
+ }
74
+ /** A custom row action as the options carry it. */
75
+ function serializeCustomRowAction(action) {
76
+ const served = {
77
+ label: action.label,
78
+ icon: action.icon,
79
+ rule: action.rule,
80
+ target: (0, action_target_1.serializeActionTarget)(action.target),
81
+ isVisible: action.isVisible,
82
+ isDefault: action.isDefault,
83
+ color: action.color,
84
+ variant: action.variant,
85
+ showLabel: action.showLabel,
86
+ bulk: action.bulk,
87
+ deepLink: action.deepLink,
88
+ };
89
+ if (action.confirm)
90
+ served.confirm = (0, confirm_dialog_1.serializeActionConfirm)(action.confirm);
91
+ return served;
92
+ }
93
+ /**
94
+ * The row actions as the options carry them to the client.
95
+ *
96
+ * @internal
97
+ */
98
+ function serializeRowActions(rowActions) {
99
+ return {
100
+ delete: serializeRowActionConfig(rowActions.delete),
101
+ archive: serializeRowActionConfig(rowActions.archive),
102
+ restore: serializeRowActionConfig(rowActions.restore),
103
+ duplicate: serializeRowActionConfig(rowActions.duplicate),
104
+ details: serializeRowActionConfig(rowActions.details),
105
+ edit: serializeRowActionConfig(rowActions.edit),
106
+ copyLink: serializeRowActionConfig(rowActions.copyLink),
107
+ add: serializeRowActionConfig(rowActions.add),
108
+ hasSelection: rowActions.hasSelection,
109
+ custom: rowActions.custom?.map(serializeCustomRowAction),
110
+ };
111
+ }
112
+ /**
113
+ * Declare the actions of a table view: list and select, which every table
114
+ * has, then one per form, delete, the archive trio and export, each only when
115
+ * the table view can perform it. A component standing in for a TableView over
116
+ * the same data routes (a custom editor) declares its actions here too, so
117
+ * the routes and the roles carry the same permission ids.
118
+ *
119
+ * @internal
120
+ */
121
+ function registerTableViewActions(builder, capabilities) {
122
+ builder.action(auth_1.LIST_ACTION, {
123
+ title: "$dms.table.action_list",
124
+ icon: "i-ph-list",
125
+ });
126
+ builder.action(auth_1.SELECT_ACTION, {
127
+ title: "$dms.table.action_select",
128
+ icon: "i-ph-magnifying-glass",
129
+ description: "$dms.table.action_select_description",
130
+ defaultGranted: true,
131
+ });
132
+ if (capabilities.hasNewForm) {
133
+ builder.action("add", {
134
+ title: "$dms.table.action_add",
135
+ icon: "i-ph-plus",
136
+ });
137
+ }
138
+ if (capabilities.hasEditForm) {
139
+ builder.action("edit", {
140
+ title: "$dms.table.action_edit",
141
+ icon: "i-ph-pencil",
142
+ });
143
+ }
144
+ if (capabilities.hasViewForm) {
145
+ builder.action(auth_1.VIEW_ACTION, {
146
+ title: "$dms.table.action_view",
147
+ icon: "i-ph-eye",
148
+ });
149
+ }
150
+ if (capabilities.hasDeleteEndpoint) {
151
+ builder.action("delete", {
152
+ title: "$dms.table.action_delete",
153
+ icon: "i-ph-trash",
154
+ });
155
+ }
156
+ if (capabilities.archiveMode) {
157
+ builder.action("archive", {
158
+ title: "$dms.table.action_archive",
159
+ icon: "i-ph-archive",
160
+ });
161
+ builder.action("restore", {
162
+ title: "$dms.table.action_restore",
163
+ icon: "i-ph-arrow-counter-clockwise",
164
+ });
165
+ builder.action("viewArchived", {
166
+ title: "$dms.table.action_view_archived",
167
+ icon: "i-ph-eye-closed",
168
+ });
169
+ }
170
+ if (capabilities.isExportEnabled) {
171
+ builder.action("export", {
172
+ title: "$dms.table.action_export",
173
+ icon: "i-ph-download-simple",
174
+ });
175
+ }
176
+ }
177
+ /**
178
+ * The detail band of expandable rows, with its fields normalized to objects
179
+ * or its component serialized. The band shows one or the other: an option
180
+ * giving both, or neither (an editor's schema can), is refused. Every field
181
+ * must name a declared column: its value renders through that column's data
182
+ * type.
183
+ *
184
+ * @internal
185
+ */
186
+ function serializeExpandable(controllerName, meta, expandable) {
187
+ if (!expandable)
188
+ return undefined;
189
+ const behavior = {
190
+ defaultExpanded: expandable.defaultExpanded,
191
+ single: expandable.single,
192
+ lazyLoad: expandable.lazyLoad,
193
+ };
194
+ if (expandable.component && expandable.fields) {
195
+ throw new Error(`TableView expandable on ${controllerName} gives both fields and a component: the component replaces the field list, give one or the other`);
196
+ }
197
+ if (expandable.component) {
198
+ return { ...behavior, component: expandable.component.serializeSync() };
199
+ }
200
+ if (!expandable.fields) {
201
+ throw new Error(`TableView expandable on ${controllerName} gives neither fields nor a component to show in the band`);
202
+ }
203
+ const fields = expandable.fields.map((field) => typeof field === "string" ? { key: field } : field);
204
+ (0, validation_1.assertKnownColumns)(controllerName, meta, "expandable fields", fields.map(({ key }) => key));
205
+ return { ...behavior, fields, fieldsLabel: expandable.fieldsLabel };
206
+ }
207
+ /** The card both card displays draw: the table view's `card`. */
208
+ function serializeCard({ card, }) {
209
+ if (!card?.fields && !card?.component)
210
+ return undefined;
211
+ return { fields: card.fields, component: card.component?.serializeSync() };
212
+ }
213
+ /**
214
+ * The `kanban` and `grouped` options are transported to the frontend as
215
+ * `displays` entries (`{ id: "kanban", options }`), not as dedicated fields;
216
+ * those displays read their options from `context.options` like any other.
217
+ * The `card` joins the options of both card displays, kanban and cards.
218
+ *
219
+ * @internal
220
+ */
221
+ function serializeTableViewDisplays(sources) {
222
+ const { displays, kanban } = sources;
223
+ const card = serializeCard(sources);
224
+ const serialized = displays?.map((display) => ({
225
+ ...display,
226
+ options: card && display.id === options_1.CARDS_DISPLAY_ID
227
+ ? { ...display.options, card }
228
+ : display.options,
229
+ component: display.component?.serializeSync(),
230
+ })) ?? [];
231
+ if (kanban && !serialized.some((entry) => entry.id === options_1.KANBAN_DISPLAY_ID)) {
232
+ const kanbanOptions = { ...kanban, card };
233
+ serialized.push({
234
+ id: options_1.KANBAN_DISPLAY_ID,
235
+ // The serialised options and a bare dictionary do not overlap, so this
236
+ // cannot be one assertion; the display registry reads it by key.
237
+ // oxlint-disable-next-line anti-slop/no-chained-type-assertions
238
+ options: kanbanOptions,
239
+ });
240
+ }
241
+ const { grouped } = sources;
242
+ if (grouped && !serialized.some((entry) => entry.id === options_1.GROUPED_DISPLAY_ID)) {
243
+ serialized.push({
244
+ id: options_1.GROUPED_DISPLAY_ID,
245
+ options: { ...grouped },
246
+ });
247
+ }
248
+ return serialized.length > 0 ? serialized : undefined;
249
+ }
250
+ /** @internal */
251
+ exports.FORM_PAGE_DEFINITIONS = {
252
+ new: {
253
+ defaultSlug: "new",
254
+ displayName: "$dms.table.new_item",
255
+ description: "$dms.table.new_item_description",
256
+ action: "add",
257
+ redirectsOnSubmit: true,
258
+ submitsFilterDefaults: true,
259
+ },
260
+ edit: {
261
+ defaultSlug: ":id/edit",
262
+ displayName: "$dms.table.edit_item",
263
+ description: "$dms.table.edit_item_description",
264
+ action: "edit",
265
+ redirectsOnSubmit: true,
266
+ submitsFilterDefaults: true,
267
+ },
268
+ view: {
269
+ defaultSlug: ":id/view",
270
+ displayName: "$dms.table.view_item",
271
+ description: "$dms.table.view_item_description",
272
+ action: "view",
273
+ redirectsOnSubmit: false,
274
+ submitsFilterDefaults: false,
275
+ },
276
+ };
277
+ /**
278
+ * The `formContainer.pages` key of each form kind.
279
+ *
280
+ * @internal
281
+ */
282
+ exports.FORM_PAGE_CONFIG_KEYS = { new: "new", edit: "edit", view: "details" };
283
+ /**
284
+ * The `formContainer.pages` entry of a form kind.
285
+ *
286
+ * @internal
287
+ */
288
+ function formPageConfig(kind, pages) {
289
+ return pages?.[exports.FORM_PAGE_CONFIG_KEYS[kind]];
290
+ }
291
+ /**
292
+ * Title and description of a page-mode form sub-page: its
293
+ * `formContainer.pages` entry, else the generic "New entry" / "Edit entry" /
294
+ * "Entry details" texts.
295
+ *
296
+ * @internal
297
+ */
298
+ function resolveFormPageTexts(kind, pages) {
299
+ const definition = exports.FORM_PAGE_DEFINITIONS[kind];
300
+ const page = formPageConfig(kind, pages);
301
+ return {
302
+ displayName: page?.displayName || definition.displayName,
303
+ description: page?.description || definition.description,
304
+ };
305
+ }
306
+ /** @internal */
307
+ exports.FORM_PAGE_KINDS = Object.keys(exports.FORM_PAGE_DEFINITIONS);
308
+ /**
309
+ * Append a form page slug to the slug of the page carrying the table view.
310
+ *
311
+ * @internal
312
+ */
313
+ function joinPageSlug(pageSlug, slug) {
314
+ return `${pageSlug}/${slug}`.replace(/\/+/g, "/");
315
+ }
316
+ // A slug starting with "/" addresses a page of its own and is navigated
317
+ // verbatim, query string included; leading ".." segments each drop one segment
318
+ // of the carrying page. Registration joins the slug as it stands instead —
319
+ // these two forms name a page the table view does not register.
320
+ function toFormPageUrl(pageSlug, slug) {
321
+ if (slug.startsWith("/"))
322
+ return slug;
323
+ const parts = slug.split("/");
324
+ let parentCount = 0;
325
+ while (parentCount < parts.length && parts[parentCount] === "..") {
326
+ parentCount++;
327
+ }
328
+ const segments = pageSlug.replace(/\/$/, "").split("/");
329
+ return joinPageSlug(segments.slice(0, segments.length - parentCount).join("/"), parts.slice(parentCount).join("/"));
330
+ }
331
+ /**
332
+ * The key identifying a table view among the components of its page: the last
333
+ * segment of its permission id relative to the page's permission id.
334
+ *
335
+ * Relative to the permission id, not the `fullId`: component permission ids
336
+ * descend from the former, and a page declaring a custom `permission.id` has
337
+ * the two differ.
338
+ *
339
+ * Form routes are named after it rather than after the page, so two table views
340
+ * on one page get URLs of their own; the *simple* key rather than the whole
341
+ * component path, so the URL stays readable and survives the layout being
342
+ * reorganised around the table view.
343
+ *
344
+ * @param permissionId Permission id of the table view
345
+ * @param pagePermissionId Permission id of the page carrying it
346
+ *
347
+ * @internal
348
+ */
349
+ function formRouteKey(permissionId, pagePermissionId) {
350
+ const prefix = `${pagePermissionId}.`;
351
+ const path = permissionId.startsWith(prefix)
352
+ ? permissionId.slice(prefix.length)
353
+ : "";
354
+ const key = path.split(".").pop();
355
+ if (!key) {
356
+ throw new Error(`TableView permission id "${permissionId}" names no component of the page whose permission id is "${pagePermissionId}": its form routes have no key to be named after.`);
357
+ }
358
+ return key;
359
+ }
360
+ /**
361
+ * The slug a page-mode form page takes, relative to the page carrying the table
362
+ * view.
363
+ *
364
+ * A declared `urlSlug` is full control — it is taken as it stands, no key
365
+ * segment inserted, which is both what every existing declaration already meant
366
+ * and the escape hatch for anyone wanting a specific URL.
367
+ *
368
+ * @internal
369
+ */
370
+ function formPageSlug(kind, routeKey, pages) {
371
+ return (formPageConfig(kind, pages)?.urlSlug ||
372
+ `${routeKey}/${exports.FORM_PAGE_DEFINITIONS[kind].defaultSlug}`);
373
+ }
374
+ /**
375
+ * The URL each page-mode form is reached at, whether or not the table view
376
+ * registers a page for it: a `customPage` entry points at a hand-written page
377
+ * and is navigated to all the same.
378
+ *
379
+ * @internal
380
+ */
381
+ function buildFormPageUrls(pageSlug, routeKey, pages) {
382
+ const urls = {};
383
+ for (const kind of exports.FORM_PAGE_KINDS) {
384
+ urls[kind] = toFormPageUrl(pageSlug, formPageSlug(kind, routeKey, pages));
385
+ }
386
+ return urls;
387
+ }
388
+ // Mirrors how the frontend reads a route pattern (extractRouteParams): one
389
+ // placeholder per segment, in pattern order.
390
+ function slugPlaceholders(slug) {
391
+ return slug
392
+ .split("/")
393
+ .filter((segment) => segment.startsWith(":"))
394
+ .map((segment) => segment.substring(1));
395
+ }
396
+ const countOccurrences = (names, name) => names.filter((candidate) => candidate === name).length;
397
+ /**
398
+ * The token reading, on a form page, an occurrence of the route parameter
399
+ * `name` of the page carrying the table view — by default its last, the value
400
+ * its `routeParamFilters` filter on.
401
+ *
402
+ * The bare name holds the last occurrence of a repeated placeholder, which on
403
+ * a form route is the form's own (`/workspaces/:id/invoiceTable/:id/edit`:
404
+ * the row id). The page's placeholders precede the form's, so the page's
405
+ * occurrence is addressed by its number. Numbered keys exist only for repeated
406
+ * names, hence the bare name otherwise.
407
+ */
408
+ function pageParamToken(name, frame, occurrence) {
409
+ if (!frame)
410
+ return `{{params.${name}}}`;
411
+ const pageOccurrence = occurrence ?? countOccurrences(slugPlaceholders(frame.pageSlug), name);
412
+ const total = countOccurrences(slugPlaceholders(frame.formSlug), name);
413
+ return pageOccurrence > 0 && total > 1
414
+ ? `{{params.${name}:${pageOccurrence}}}`
415
+ : `{{params.${name}}}`;
416
+ }
417
+ /**
418
+ * The URL a form page sends the user back to on submit: the slug of the page
419
+ * carrying the table view, each placeholder replaced by the token reading its
420
+ * value on the form route, which the frontend resolves before navigating
421
+ * (`/workspaces/:id` becomes `/workspaces/{{params.id:1}}` from
422
+ * `/workspaces/:id/invoiceTable/:id/edit`). A slug without placeholder is
423
+ * returned as is.
424
+ *
425
+ * @internal
426
+ */
427
+ function buildFormRedirectUrl(frame) {
428
+ const seen = {};
429
+ return frame.pageSlug
430
+ .split("/")
431
+ .map((segment) => {
432
+ if (!segment.startsWith(":"))
433
+ return segment;
434
+ const name = segment.substring(1);
435
+ seen[name] = (seen[name] ?? 0) + 1;
436
+ return pageParamToken(name, frame, seen[name]);
437
+ })
438
+ .join("/");
439
+ }
440
+ /**
441
+ * Default the filtered fields from the URL tokens that `queryParamFilters` /
442
+ * `routeParamFilters` apply to the table, so a form opened from a filtered view
443
+ * inherits that context. The form resolves these tokens at submit time and
444
+ * drops any that are absent.
445
+ *
446
+ * @param filters URL filters of the table view
447
+ * @param frame Route of the form page the form is registered under; without
448
+ * one, the form renders on the page carrying the table view
449
+ *
450
+ * @internal
451
+ */
452
+ function buildFilterSubmitDefaults(filters, frame) {
453
+ const defaults = {};
454
+ for (const [param, filter] of Object.entries(filters.queryParamFilters ?? {})) {
455
+ defaults[filter.field] = `{{query.${param}}}`;
456
+ }
457
+ for (const [param, filter] of Object.entries(filters.routeParamFilters ?? {})) {
458
+ defaults[filter.field] = pageParamToken(param, frame);
459
+ }
460
+ return Object.keys(defaults).length > 0 ? defaults : undefined;
461
+ }
462
+ /**
463
+ * Re-resolve the filter defaults of a form for the page it is registered as.
464
+ *
465
+ * The form was built for the page carrying the table view — where the table
466
+ * view embeds it, and where `{{params.<name>}}` is the parameter it filters
467
+ * on. On a form route repeating that name, the bare name is shadowed by the
468
+ * form's own placeholder.
469
+ *
470
+ * @internal
471
+ */
472
+ function applyFormPageSubmitDefaults(form, filters, frame) {
473
+ const submitDefaults = buildFilterSubmitDefaults(filters, frame);
474
+ if (submitDefaults)
475
+ form.mergeOptions({ submitDefaults });
476
+ }
477
+ //# sourceMappingURL=factory-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory-helpers.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
1
  import type { DataControllerCallback } from "@antelopejs/interface-data-api";
2
+ /**
3
+ * Apply native staging and cleanup only after the route's write guards.
4
+ *
5
+ * @internal
6
+ */
2
7
  export declare const withFilePromotion: (baseRoute: DataControllerCallback, mode?: "save" | "delete") => DataControllerCallback;
@@ -1,15 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withFilePromotion = void 0;
4
- const attachments_1 = require("../../attachments");
5
- const page_1 = require("../../page");
6
- const file_refs_1 = require("../helpers/file-refs");
4
+ const attachments_1 = require("../../../attachments");
5
+ const page_1 = require("../../../page");
6
+ const file_refs_1 = require("../../helpers/file-refs");
7
7
  const meta_1 = require("./meta");
8
+ /**
9
+ * Apply native staging and cleanup only after the route's write guards.
10
+ *
11
+ * @internal
12
+ */
8
13
  const withFilePromotion = (baseRoute, mode = "save") => ({
9
14
  func: async function (context, params, ...args) {
10
15
  if (!(0, file_refs_1.hasFileColumns)((0, meta_1.getTableViewMetaFor)(this).columns)) {
11
16
  return baseRoute.func.call(this, context, params, ...args);
12
17
  }
18
+ // The writing TableView and every new/edit form mounted on this
19
+ // controller save through this route, so a file staged from any of them is
20
+ // one it may promote.
13
21
  const { writingComponents } = (0, meta_1.getTableViewMetaFor)(this);
14
22
  return attachments_1.internal.SaveTableViewAttachments({
15
23
  controller: this,
@@ -18,7 +26,9 @@ const withFilePromotion = (baseRoute, mode = "save") => ({
18
26
  params,
19
27
  args,
20
28
  mode,
21
- componentIds: writingComponents.flatMap(page_1.GetComponentPermissionIds),
29
+ componentIds: [
30
+ ...new Set(writingComponents.flatMap((c) => (0, page_1.GetComponentPermissionIds)(c))),
31
+ ],
22
32
  });
23
33
  },
24
34
  args: baseRoute.args,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/files.ts"],"names":[],"mappings":";;;AAEA,sDAAgD;AAChD,wCAA0D;AAC1D,uDAAyD;AACzD,iCAA6C;AAE7C;;;;GAIG;AACI,MAAM,iBAAiB,GAAG,CAC/B,SAAiC,EACjC,OAA0B,MAAM,EACR,EAAE,CAAC,CAAC;IAC5B,IAAI,EAAE,KAAK,WAET,OAAuB,EACvB,MAAe,EACf,GAAG,IAAe;QAElB,IAAI,CAAC,IAAA,0BAAc,EAAC,IAAA,0BAAmB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,gEAAgE;QAChE,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,0BAAmB,EAAC,IAAI,CAAC,CAAC;QACxD,OAAO,sBAAQ,CAAC,wBAAwB,CAAC;YACvC,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,SAAS;YAChB,OAAO;YACP,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,YAAY,EAAE;gBACZ,GAAG,IAAI,GAAG,CACR,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAyB,EAAC,CAAC,CAAC,CAAC,CAC/D;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,EAAE,SAAS,CAAC,IAAI;IACpB,MAAM,EAAE,SAAS,CAAC,MAAM;CACzB,CAAC,CAAC;AAjCU,QAAA,iBAAiB,qBAiC3B"}
@@ -0,0 +1,33 @@
1
+ import type { ControllerClass } from "@antelopejs/interface-api";
2
+ import type { DataControllerCallbackWithOptions } from "@antelopejs/interface-data-api";
3
+ import type { RowActionRule } from "../../types/row-action";
4
+ import { TableViewMeta } from "../meta";
5
+ import type { TableViewEmptyStates, TableViewEmptyStatesSerialized, TableViewFooterOptions, TableViewFooterSerialized } from "../options";
6
+ /**
7
+ * The columns a row rule reads, nested rules included.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function ruleFields<T extends Record<string, unknown>>(rule: RowActionRule<T>): string[];
12
+ /**
13
+ * The footer as it reaches the client: its summaries checked, recorded on
14
+ * the controller and named by the id the `summary` route knows them by,
15
+ * their `where` rule kept server-side. The legend must be a select column.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function serializeFooter<T extends Record<string, unknown>>(controllerName: string, meta: TableViewMeta, footer: TableViewFooterOptions<T> | undefined): TableViewFooterSerialized | undefined;
20
+ /**
21
+ * The empty states as they reach the client, components serialized.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare function serializeEmptyStates(emptyStates: TableViewEmptyStates | undefined): TableViewEmptyStatesSerialized | undefined;
26
+ /**
27
+ * Warn, once per controller, when a table view declares footer summaries but
28
+ * its controller mounts no `GET summary` route: the footer could not read
29
+ * them. The fix belongs in the controller (`summary: TableViewRoutes.Summary`).
30
+ *
31
+ * @internal
32
+ */
33
+ export declare function warnIfSummaryLacksRoute<T extends Record<string, unknown>>(controller: ControllerClass, location: string, footer: TableViewFooterOptions<T> | undefined, endpoints: Record<string, DataControllerCallbackWithOptions>): void;