@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 @@
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/tabs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import { TableViewMeta } from "../meta";
2
+ import { type FormContainerPages, type GroupedOptions, type KanbanOptions, type TableViewDisplayOption, type TableViewOptions, type TableViewQuickFilter, type TableViewTab, type TableViewViewsOptions } from "../options";
3
+ /**
4
+ * `pageSize` is a whole number of rows, from 1 up to {@link MAX_TABLE_PAGE_SIZE}.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare function validatePageSize(controllerName: string, pageSize: number | undefined): void;
9
+ /**
10
+ * Throws when a table view option names a column the controller lacks.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function assertKnownColumns(controllerName: string, meta: Pick<TableViewMeta, "columns">, option: string, keys: string[]): void;
15
+ /**
16
+ * Quick filters must name filterable columns: they filter with `filter_<field>`.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare function validateQuickFilters(controllerName: string, meta: TableViewMeta, quickFilters: TableViewQuickFilter[] | undefined): void;
21
+ /**
22
+ * The kanban groups on an eligible column and shows declared columns on its
23
+ * cards.
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function validateKanbanOptions(controllerName: string, meta: TableViewMeta, kanban: KanbanOptions | undefined): void;
28
+ /**
29
+ * A display a table view offers is a built-in one, named by its reserved id
30
+ * and drawn by the DMS (no `component` of its own), or a module's, named
31
+ * `<module>:<id>`.
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function validateDisplayIds(controllerName: string, displays: TableViewDisplayOption[] | undefined): void;
36
+ /** What a table view's displays are declared from. */
37
+ interface DisplayDeclarations {
38
+ kanban?: KanbanOptions;
39
+ grouped?: GroupedOptions;
40
+ displays?: TableViewDisplayOption[];
41
+ }
42
+ /**
43
+ * The ids of the displays a table view offers.
44
+ *
45
+ * @internal
46
+ */
47
+ export declare function offeredDisplayIds(options: DisplayDeclarations): Set<string>;
48
+ /**
49
+ * The default display must be one the table view offers.
50
+ *
51
+ * @internal
52
+ */
53
+ export declare function validateDefaultDisplay(controllerName: string, options: DisplayDeclarations & {
54
+ defaultDisplay?: string;
55
+ }): void;
56
+ /**
57
+ * The grouped display sorts on its column, which must therefore be a sortable
58
+ * column, and a date one to be grouped by day or week.
59
+ *
60
+ * @internal
61
+ */
62
+ export declare function validateGroupedOptions(controllerName: string, meta: TableViewMeta, grouped: GroupedOptions | undefined): void;
63
+ /**
64
+ * A hand-ordered table writes its position column through the edit route:
65
+ * the column must be a writable, sortable number, and the edit action on.
66
+ *
67
+ * @internal
68
+ */
69
+ export declare function validateReorder<T extends Record<string, unknown>>(controllerName: string, meta: TableViewMeta, options: TableViewOptions<T>): void;
70
+ /**
71
+ * Views have unique ids, and each one names columns, a sort and a display the
72
+ * table view has; the default view is one of them.
73
+ *
74
+ * @internal
75
+ */
76
+ export declare function validateViews(controllerName: string, meta: TableViewMeta, options: DisplayDeclarations & {
77
+ views?: TableViewViewsOptions;
78
+ }): void;
79
+ /**
80
+ * A declared slug for a row-scoped form page must carry the row's `:id`.
81
+ *
82
+ * @internal
83
+ */
84
+ export declare function assertRowScopedFormSlugs(pages: FormContainerPages | undefined): void;
85
+ /**
86
+ * A tab filters the rows or opens another page, never both.
87
+ *
88
+ * @internal
89
+ */
90
+ export declare function assertTabTargets(controllerName: string, tabs: TableViewTab[] | undefined): void;
91
+ /**
92
+ * Every declaration check `TableView()` runs before it builds anything: the
93
+ * options naming columns, displays, tabs and sizes name ones the table view
94
+ * can have.
95
+ *
96
+ * @internal
97
+ */
98
+ export declare function validateTableViewOptions<T extends Record<string, unknown>>(controllerName: string, meta: TableViewMeta, options: TableViewOptions<T>): void;
99
+ export {};
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ // The declaration checks the TableView factory runs before building anything:
3
+ // every option naming a column, a display or a form slug must name one the
4
+ // table view actually has.
5
+ //
6
+ // Split out of factory-helpers.ts.
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.validatePageSize = validatePageSize;
9
+ exports.assertKnownColumns = assertKnownColumns;
10
+ exports.validateQuickFilters = validateQuickFilters;
11
+ exports.validateKanbanOptions = validateKanbanOptions;
12
+ exports.validateDisplayIds = validateDisplayIds;
13
+ exports.offeredDisplayIds = offeredDisplayIds;
14
+ exports.validateDefaultDisplay = validateDefaultDisplay;
15
+ exports.validateGroupedOptions = validateGroupedOptions;
16
+ exports.validateReorder = validateReorder;
17
+ exports.validateViews = validateViews;
18
+ exports.assertRowScopedFormSlugs = assertRowScopedFormSlugs;
19
+ exports.assertTabTargets = assertTabTargets;
20
+ exports.validateTableViewOptions = validateTableViewOptions;
21
+ const interface_core_1 = require("@antelopejs/interface-core");
22
+ const metadata_1 = require("@antelopejs/interface-data-api/metadata");
23
+ const data_types_1 = require("../../data-types");
24
+ const options_1 = require("../options");
25
+ /**
26
+ * `pageSize` is a whole number of rows, from 1 up to {@link MAX_TABLE_PAGE_SIZE}.
27
+ *
28
+ * @internal
29
+ */
30
+ function validatePageSize(controllerName, pageSize) {
31
+ if (pageSize === undefined)
32
+ return;
33
+ if (!Number.isInteger(pageSize) ||
34
+ pageSize < 1 ||
35
+ pageSize > options_1.MAX_TABLE_PAGE_SIZE) {
36
+ throw new Error(`TableView pageSize on ${controllerName} must be a whole number from 1 to ${options_1.MAX_TABLE_PAGE_SIZE} (got ${pageSize})`);
37
+ }
38
+ }
39
+ /**
40
+ * Throws when a table view option names a column the controller lacks.
41
+ *
42
+ * @internal
43
+ */
44
+ function assertKnownColumns(controllerName, meta, option, keys) {
45
+ for (const key of keys) {
46
+ if (!meta.columns[key]) {
47
+ throw new Error(`TableView ${option} on ${controllerName} references unknown column "${key}"`);
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * Quick filters must name filterable columns: they filter with `filter_<field>`.
53
+ *
54
+ * @internal
55
+ */
56
+ function validateQuickFilters(controllerName, meta, quickFilters) {
57
+ for (const { field } of quickFilters ?? []) {
58
+ const column = meta.columns[field];
59
+ if (!column) {
60
+ throw new Error(`TableView quickFilters on ${controllerName} references unknown column "${field}"`);
61
+ }
62
+ if (!column.filterable) {
63
+ throw new Error(`TableView quickFilters on ${controllerName}: column "${field}" must be filterable`);
64
+ }
65
+ }
66
+ }
67
+ const KANBAN_GROUP_TYPE_ELIGIBILITY = {
68
+ select: (type) => !type.options?.multiple,
69
+ boolean: () => true,
70
+ status: () => true,
71
+ };
72
+ function validateKanbanField(controllerName, meta, groupByField) {
73
+ const groupColumn = meta.columns[groupByField];
74
+ if (!groupColumn) {
75
+ throw new Error(`TableView kanban groupByField on ${controllerName} references unknown column "${groupByField}"`);
76
+ }
77
+ const typeId = (0, data_types_1.getDataTypeId)(groupColumn.type);
78
+ const isEligible = typeId !== undefined &&
79
+ KANBAN_GROUP_TYPE_ELIGIBILITY[typeId]?.(groupColumn.type);
80
+ if (!isEligible) {
81
+ throw new Error(`TableView kanban groupByField "${groupByField}" on ${controllerName} must be a non-multiple SelectType, a BooleanType or a StatusType column (got "${typeId}")`);
82
+ }
83
+ }
84
+ /**
85
+ * The kanban groups on an eligible column and shows declared columns on its
86
+ * cards.
87
+ *
88
+ * @internal
89
+ */
90
+ function validateKanbanOptions(controllerName, meta, kanban) {
91
+ if (!kanban)
92
+ return;
93
+ validateKanbanField(controllerName, meta, kanban.groupByField);
94
+ }
95
+ /** Display ids the DMS keeps for its built-in displays. */
96
+ const RESERVED_DISPLAY_IDS = [
97
+ options_1.TABLE_DISPLAY_ID,
98
+ options_1.KANBAN_DISPLAY_ID,
99
+ options_1.CARDS_DISPLAY_ID,
100
+ options_1.GROUPED_DISPLAY_ID,
101
+ ];
102
+ // `<module>:<id>`: the module's name, then the display's own id.
103
+ const MODULE_DISPLAY_ID = /^[a-z0-9][\w-]*:[\w-]+$/i;
104
+ /**
105
+ * A display a table view offers is a built-in one, named by its reserved id
106
+ * and drawn by the DMS (no `component` of its own), or a module's, named
107
+ * `<module>:<id>`.
108
+ *
109
+ * @internal
110
+ */
111
+ function validateDisplayIds(controllerName, displays) {
112
+ for (const { id, component } of displays ?? []) {
113
+ if (RESERVED_DISPLAY_IDS.includes(id)) {
114
+ if (component) {
115
+ throw new Error(`TableView on ${controllerName} gives the built-in display "${id}" a component: a module display takes an id of its own, "<module>:${id}"`);
116
+ }
117
+ continue;
118
+ }
119
+ if (!MODULE_DISPLAY_ID.test(id)) {
120
+ throw new Error(`TableView on ${controllerName} offers display "${id}": a module display is named "<module>:<id>", e.g. "saas:plan-cards"`);
121
+ }
122
+ }
123
+ }
124
+ /**
125
+ * The ids of the displays a table view offers.
126
+ *
127
+ * @internal
128
+ */
129
+ function offeredDisplayIds(options) {
130
+ const { kanban, grouped, displays } = options;
131
+ return new Set([
132
+ options_1.TABLE_DISPLAY_ID,
133
+ ...(kanban ? [options_1.KANBAN_DISPLAY_ID] : []),
134
+ ...(grouped ? [options_1.GROUPED_DISPLAY_ID] : []),
135
+ ...(displays?.map((display) => display.id) ?? []),
136
+ ]);
137
+ }
138
+ /**
139
+ * The default display must be one the table view offers.
140
+ *
141
+ * @internal
142
+ */
143
+ function validateDefaultDisplay(controllerName, options) {
144
+ const { defaultDisplay } = options;
145
+ if (!defaultDisplay)
146
+ return;
147
+ if (!offeredDisplayIds(options).has(defaultDisplay)) {
148
+ throw new Error(`TableView on ${controllerName} defaults to display "${defaultDisplay}" which is not declared in displays`);
149
+ }
150
+ }
151
+ function isSortableColumn(meta, key) {
152
+ const fields = (0, interface_core_1.GetMetadata)(meta.target, metadata_1.DataAPIMeta).fields;
153
+ return fields[key]?.sortable !== undefined;
154
+ }
155
+ const DAY_GROUPING_TYPE_ID = "date";
156
+ /**
157
+ * The grouped display sorts on its column, which must therefore be a sortable
158
+ * column, and a date one to be grouped by day or week.
159
+ *
160
+ * @internal
161
+ */
162
+ function validateGroupedOptions(controllerName, meta, grouped) {
163
+ if (!grouped)
164
+ return;
165
+ const { groupByField, by } = grouped;
166
+ const column = meta.columns[groupByField];
167
+ if (!column) {
168
+ throw new Error(`TableView grouped groupByField on ${controllerName} references unknown column "${groupByField}"`);
169
+ }
170
+ if (!isSortableColumn(meta, groupByField)) {
171
+ throw new Error(`TableView grouped groupByField "${groupByField}" on ${controllerName} must be @Sortable(): the rows are listed sorted on it`);
172
+ }
173
+ const typeId = (0, data_types_1.getDataTypeId)(column.type);
174
+ if (by && by !== "value" && typeId !== DAY_GROUPING_TYPE_ID) {
175
+ throw new Error(`TableView grouped on ${controllerName} groups "${groupByField}" by ${by}, which needs a DateType column (got "${typeId}")`);
176
+ }
177
+ }
178
+ const NUMBER_TYPE_ID = "number";
179
+ /**
180
+ * A hand-ordered table writes its position column through the edit route:
181
+ * the column must be a writable, sortable number, and the edit action on.
182
+ *
183
+ * @internal
184
+ */
185
+ function validateReorder(controllerName, meta, options) {
186
+ const field = options.reorder?.field;
187
+ if (!field)
188
+ return;
189
+ const where = `TableView reorder field "${field}" on ${controllerName}`;
190
+ const column = meta.columns[field];
191
+ if (!column || (0, data_types_1.getDataTypeId)(column.type) !== NUMBER_TYPE_ID) {
192
+ throw new Error(`${where} must be a NumberType column`);
193
+ }
194
+ const fieldMeta = (0, interface_core_1.GetMetadata)(meta.target, metadata_1.DataAPIMeta)
195
+ .fields[field];
196
+ if (fieldMeta?.sortable === undefined) {
197
+ throw new Error(`${where} must be @Sortable(): the rows are listed sorted on it`);
198
+ }
199
+ if (fieldMeta.mode === metadata_1.AccessMode.ReadOnly) {
200
+ throw new Error(`${where} must be writable: moving a row edits it`);
201
+ }
202
+ if (options.rowActions?.edit === false) {
203
+ throw new Error(`${where} needs the edit action: moving a row edits it`);
204
+ }
205
+ }
206
+ function assertViewFilters(where, meta, view) {
207
+ for (const { accessorKey } of view.filters ?? []) {
208
+ if (!meta.columns[accessorKey]?.filterable) {
209
+ throw new Error(`${where} filters on "${accessorKey}", which is not a filterable column`);
210
+ }
211
+ }
212
+ for (const { field } of view.sort ?? []) {
213
+ if (!meta.columns[field] || !isSortableColumn(meta, field)) {
214
+ throw new Error(`${where} sorts on "${field}", which is not a @Sortable() column`);
215
+ }
216
+ }
217
+ const { visible = [], hidden = [], order = [] } = view.columns ?? {};
218
+ for (const key of [...visible, ...hidden, ...order]) {
219
+ if (!meta.columns[key]) {
220
+ throw new Error(`${where} references unknown column "${key}"`);
221
+ }
222
+ }
223
+ }
224
+ /**
225
+ * Views have unique ids, and each one names columns, a sort and a display the
226
+ * table view has; the default view is one of them.
227
+ *
228
+ * @internal
229
+ */
230
+ function validateViews(controllerName, meta, options) {
231
+ const { views } = options;
232
+ if (!views)
233
+ return;
234
+ const displays = offeredDisplayIds(options);
235
+ const ids = new Set();
236
+ for (const view of views.items) {
237
+ const where = `TableView view "${view.id}" on ${controllerName}`;
238
+ if (ids.has(view.id)) {
239
+ throw new Error(`${where} is declared twice: view ids are unique`);
240
+ }
241
+ ids.add(view.id);
242
+ assertViewFilters(where, meta, view);
243
+ if (view.display && !displays.has(view.display)) {
244
+ throw new Error(`${where} opens display "${view.display}", which the table does not offer`);
245
+ }
246
+ }
247
+ if (views.defaultView && !ids.has(views.defaultView)) {
248
+ throw new Error(`TableView on ${controllerName} defaults to view "${views.defaultView}", which is not declared`);
249
+ }
250
+ }
251
+ /** The kinds addressing one row, whose slug therefore has to carry an `:id`. */
252
+ const ROW_SCOPED_FORM_PAGE_KINDS = ["edit", "details"];
253
+ /**
254
+ * A declared slug for a row-scoped form page must carry the row's `:id`.
255
+ *
256
+ * @internal
257
+ */
258
+ function assertRowScopedFormSlugs(pages) {
259
+ for (const kind of ROW_SCOPED_FORM_PAGE_KINDS) {
260
+ const declared = pages?.[kind]?.urlSlug;
261
+ if (declared && !declared.includes(":id")) {
262
+ throw new Error(`TableView formContainer.pages.${kind}.urlSlug must contain :id placeholder. Got: ${declared}`);
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * A tab filters the rows or opens another page, never both.
268
+ *
269
+ * @internal
270
+ */
271
+ function assertTabTargets(controllerName, tabs) {
272
+ for (const tab of tabs ?? []) {
273
+ if (tab.filter && tab.to) {
274
+ throw new Error(`TableView tab "${tab.id}" on ${controllerName} gives both a filter and a link (to): a tab filters the rows or opens another page, not both`);
275
+ }
276
+ }
277
+ }
278
+ /**
279
+ * Every declaration check `TableView()` runs before it builds anything: the
280
+ * options naming columns, displays, tabs and sizes name ones the table view
281
+ * can have.
282
+ *
283
+ * @internal
284
+ */
285
+ function validateTableViewOptions(controllerName, meta, options) {
286
+ validateKanbanOptions(controllerName, meta, options.kanban);
287
+ assertKnownColumns(controllerName, meta, "card fields", options.card?.fields ?? []);
288
+ validateGroupedOptions(controllerName, meta, options.grouped);
289
+ validateDisplayIds(controllerName, options.displays);
290
+ validateDefaultDisplay(controllerName, options);
291
+ validateViews(controllerName, meta, options);
292
+ validateReorder(controllerName, meta, options);
293
+ validateQuickFilters(controllerName, meta, options.quickFilters);
294
+ validatePageSize(controllerName, options.pageSize);
295
+ assertTabTargets(controllerName, options.tabs);
296
+ }
297
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { TableViewViewsOptions, TableViewViewsSerialized } from "../options";
2
+ /**
3
+ * The views as the options carry them: their permission stays server-side.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare function serializeTableViewViews(views: TableViewViewsOptions | undefined): TableViewViewsSerialized | undefined;
8
+ /**
9
+ * The views served to one request: a view whose permission the caller lacks
10
+ * is left out. A default view left out falls back to the table's own state.
11
+ *
12
+ * @internal
13
+ */
14
+ export declare function resolveTableViewViews(permissions: Set<string>, declared: TableViewViewsOptions | undefined, serialized: TableViewViewsSerialized | undefined, componentPermissionId: string): Promise<TableViewViewsSerialized | undefined>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeTableViewViews = serializeTableViewViews;
4
+ exports.resolveTableViewViews = resolveTableViewViews;
5
+ const permission_gate_1 = require("../../../internal/permission-gate");
6
+ /**
7
+ * The views as the options carry them: their permission stays server-side.
8
+ *
9
+ * @internal
10
+ */
11
+ function serializeTableViewViews(views) {
12
+ if (!views)
13
+ return undefined;
14
+ return {
15
+ ...views,
16
+ items: views.items.map(({ permission: _permission, permissionId: _permissionId, ...view }) => view),
17
+ };
18
+ }
19
+ /**
20
+ * The views served to one request: a view whose permission the caller lacks
21
+ * is left out. A default view left out falls back to the table's own state.
22
+ *
23
+ * @internal
24
+ */
25
+ async function resolveTableViewViews(permissions, declared, serialized, componentPermissionId) {
26
+ if (!declared || !serialized)
27
+ return serialized;
28
+ const items = [];
29
+ for (const [index, view] of serialized.items.entries()) {
30
+ const gate = declared.items[index];
31
+ if (await (0, permission_gate_1.holdsPermissionGate)(permissions, gate, componentPermissionId)) {
32
+ items.push(view);
33
+ }
34
+ }
35
+ const hasDefault = items.some((view) => view.id === serialized.defaultView);
36
+ return {
37
+ ...serialized,
38
+ items,
39
+ defaultView: hasDefault ? serialized.defaultView : undefined,
40
+ };
41
+ }
42
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/views.ts"],"names":[],"mappings":";;AAYA,0DAcC;AAQD,sDAoBC;AAtDD,uEAAwE;AAOxE;;;;GAIG;AACH,SAAgB,uBAAuB,CACrC,KAAwC;IAExC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,GAAG,KAAK;QACR,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CACpB,CAAC,EACC,UAAU,EAAE,WAAW,EACvB,YAAY,EAAE,aAAa,EAC3B,GAAG,IAAI,EACR,EAA2B,EAAE,CAAC,IAAI,CACpC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,qBAAqB,CACzC,WAAwB,EACxB,QAA2C,EAC3C,UAAgD,EAChD,qBAA6B;IAE7B,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC;IAChD,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,IAAA,qCAAmB,EAAC,WAAW,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5E,OAAO;QACL,GAAG,UAAU;QACb,KAAK;QACL,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { PageMetadata } from "../../../page/metadata";
2
+ import type { TableViewCapabilities } from "./factory-helpers";
3
+ import type { TableViewAccess, TableViewMeta } from "../meta";
4
+ import type { TableViewRowActionOptions } from "../options";
5
+ /**
6
+ * Where the controller derivation that lifts the restriction is documented.
7
+ *
8
+ * @internal
9
+ */
10
+ export declare const DERIVE_CONTROLLER_DOCS = "the DMS docs, \"Show the same data in two writing screens: derive the controller\" (docs/04.components/13.derived-controller.md)";
11
+ /** What a TableView can write, from the routes and forms its controller offers. */
12
+ type TableViewWriteCapabilities = Pick<TableViewCapabilities, "hasNewForm" | "hasEditForm" | "hasDeleteEndpoint" | "archiveMode">;
13
+ /** The writing TableView a page mounted over a controller. */
14
+ interface WritingTableViewClaim {
15
+ /** Permission id of the TableView. */
16
+ owner: string;
17
+ /** The registration of the page carrying it. */
18
+ page: PageMetadata;
19
+ }
20
+ /**
21
+ * `write` when the TableView enables at least one action that changes rows
22
+ * through the data routes -- add, duplicate, edit, delete, archive or
23
+ * restore -- and the controller offers it; `read` otherwise.
24
+ *
25
+ * @internal
26
+ */
27
+ export declare function tableViewAccess(rowActions: TableViewRowActionOptions<any> | undefined, capabilities: TableViewWriteCapabilities): TableViewAccess;
28
+ /**
29
+ * Record the writing TableView a page mounts over a controller, refusing a
30
+ * second one.
31
+ *
32
+ * A claim only stands in the way while the page registration holding it is
33
+ * live: a page re-registering after a hot reload replaces that registration,
34
+ * and a page that went away leaves the controller to the next writer.
35
+ *
36
+ * @internal
37
+ */
38
+ export declare function claimWritingTableView(meta: TableViewMeta, controllerName: string, claim: WritingTableViewClaim): void;
39
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DERIVE_CONTROLLER_DOCS = void 0;
4
+ exports.tableViewAccess = tableViewAccess;
5
+ exports.claimWritingTableView = claimWritingTableView;
6
+ const registry_1 = require("../../../page/internal/registry");
7
+ const writer_1 = require("../writer");
8
+ /**
9
+ * Where the controller derivation that lifts the restriction is documented.
10
+ *
11
+ * @internal
12
+ */
13
+ exports.DERIVE_CONTROLLER_DOCS = 'the DMS docs, "Show the same data in two writing screens: derive the controller" (docs/04.components/13.derived-controller.md)';
14
+ const isEnabled = (config) => config === undefined ||
15
+ (typeof config === "boolean" ? config : config.isEnabled !== false);
16
+ /**
17
+ * `write` when the TableView enables at least one action that changes rows
18
+ * through the data routes -- add, duplicate, edit, delete, archive or
19
+ * restore -- and the controller offers it; `read` otherwise.
20
+ *
21
+ * @internal
22
+ */
23
+ function tableViewAccess(rowActions, capabilities) {
24
+ const writes = [
25
+ capabilities.hasNewForm &&
26
+ (isEnabled(rowActions?.add) || isEnabled(rowActions?.duplicate)),
27
+ capabilities.hasEditForm && isEnabled(rowActions?.edit),
28
+ capabilities.hasDeleteEndpoint && isEnabled(rowActions?.delete),
29
+ capabilities.archiveMode &&
30
+ (isEnabled(rowActions?.archive) || isEnabled(rowActions?.restore)),
31
+ ];
32
+ return writes.some(Boolean) ? "write" : "read";
33
+ }
34
+ const claims = new WeakMap();
35
+ /**
36
+ * Record the writing TableView a page mounts over a controller, refusing a
37
+ * second one.
38
+ *
39
+ * A claim only stands in the way while the page registration holding it is
40
+ * live: a page re-registering after a hot reload replaces that registration,
41
+ * and a page that went away leaves the controller to the next writer.
42
+ *
43
+ * @internal
44
+ */
45
+ function claimWritingTableView(meta, controllerName, claim) {
46
+ const held = claims.get(meta);
47
+ const heldPageId = held?.page.pageInfo?.fullId ?? "";
48
+ if (held &&
49
+ held.owner !== claim.owner &&
50
+ registry_1.pageMetadataByFullId.get(heldPageId) === held.page) {
51
+ throw new writer_1.WritingTableViewConflictError(`[dms] TableView "${held.owner}" (page "${heldPageId}") and TableView "${claim.owner}" (page "${claim.page.pageInfo?.fullId}") both write through the data controller ${controllerName}. A data controller has one writing TableView: make the other one read-only (rowActions add, duplicate, edit and delete set to false, no archiveMode), or give it a controller of its own derived from ${controllerName} -- see ${exports.DERIVE_CONTROLLER_DOCS}.`);
52
+ }
53
+ claims.set(meta, claim);
54
+ }
55
+ //# sourceMappingURL=writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/writer.ts"],"names":[],"mappings":";;;AAyCA,0CAaC;AAcD,sDAiBC;AApFD,8DAAuE;AAKvE,sCAA0D;AAE1D;;;;GAIG;AACU,QAAA,sBAAsB,GACjC,gIAAgI,CAAC;AAgBnI,MAAM,SAAS,GAAG,CAAC,MAA6C,EAAW,EAAE,CAC3E,MAAM,KAAK,SAAS;IACpB,CAAC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;AAEtE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsD,EACtD,YAAwC;IAExC,MAAM,MAAM,GAAG;QACb,YAAY,CAAC,UAAU;YACrB,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,YAAY,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;QACvD,YAAY,CAAC,iBAAiB,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;QAC/D,YAAY,CAAC,WAAW;YACtB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACrE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,OAAO,EAAwC,CAAC;AAEnE;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CACnC,IAAmB,EACnB,cAAsB,EACtB,KAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACrD,IACE,IAAI;QACJ,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;QAC1B,+BAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,IAAI,EAClD,CAAC;QACD,MAAM,IAAI,sCAA6B,CACrC,oBAAoB,IAAI,CAAC,KAAK,YAAY,UAAU,qBAAqB,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,6CAA6C,cAAc,0MAA0M,cAAc,WAAW,8BAAsB,GAAG,CACnb,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,CAAC"}