@antelopejs/interface-dms 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/dist/attachments.js +3 -1
  3. package/dist/attachments.js.map +1 -1
  4. package/dist/auth/db/models/sessions.model.js +1 -5
  5. package/dist/auth/db/models/sessions.model.js.map +1 -1
  6. package/dist/auth/db/tables/users.table.js.map +1 -1
  7. package/dist/auth/index.js +4 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/internal/jwt-auth-decorator.js +7 -5
  10. package/dist/auth/internal/jwt-auth-decorator.js.map +1 -1
  11. package/dist/auth/internal/request-authenticators.js +4 -1
  12. package/dist/auth/internal/request-authenticators.js.map +1 -1
  13. package/dist/auth/internal/request-principal.js +1 -0
  14. package/dist/auth/internal/request-principal.js.map +1 -1
  15. package/dist/base/activity-feed.d.ts +26 -26
  16. package/dist/base/banner.d.ts +14 -14
  17. package/dist/base/banner.js +1 -0
  18. package/dist/base/banner.js.map +1 -1
  19. package/dist/base/block-registry/helpers.js +1 -0
  20. package/dist/base/block-registry/helpers.js.map +1 -1
  21. package/dist/base/block-registry/internal/describe.js +107 -85
  22. package/dist/base/block-registry/internal/describe.js.map +1 -1
  23. package/dist/base/block-registry/presentation.js +0 -5
  24. package/dist/base/block-registry/presentation.js.map +1 -1
  25. package/dist/base/block-registry/registry.js +4 -1
  26. package/dist/base/block-registry/registry.js.map +1 -1
  27. package/dist/base/block-types.js +0 -2
  28. package/dist/base/block-types.js.map +1 -1
  29. package/dist/base/card.d.ts +8 -8
  30. package/dist/base/chart-card.d.ts +2 -2
  31. package/dist/base/chart-card.js +2 -2
  32. package/dist/base/chart-card.js.map +1 -1
  33. package/dist/base/chart-schemas.d.ts +66 -66
  34. package/dist/base/chart-schemas.js +19 -21
  35. package/dist/base/chart-schemas.js.map +1 -1
  36. package/dist/base/chart.js +1 -0
  37. package/dist/base/chart.js.map +1 -1
  38. package/dist/base/code-block.js +1 -0
  39. package/dist/base/code-block.js.map +1 -1
  40. package/dist/base/confirm-dialog.d.ts +2 -6
  41. package/dist/base/confirm-dialog.js +36 -15
  42. package/dist/base/confirm-dialog.js.map +1 -1
  43. package/dist/base/data-sources.js +6 -2
  44. package/dist/base/data-sources.js.map +1 -1
  45. package/dist/base/data-types/compare-types.js +82 -68
  46. package/dist/base/data-types/compare-types.js.map +1 -1
  47. package/dist/base/data-types/core.d.ts +8 -101
  48. package/dist/base/data-types/core.js +40 -143
  49. package/dist/base/data-types/core.js.map +1 -1
  50. package/dist/base/data-types/default/address.d.ts +126 -0
  51. package/dist/base/data-types/default/address.js +57 -0
  52. package/dist/base/data-types/default/address.js.map +1 -0
  53. package/dist/base/data-types/default/choices.d.ts +54 -0
  54. package/dist/base/data-types/default/choices.js +135 -0
  55. package/dist/base/data-types/default/choices.js.map +1 -0
  56. package/dist/base/data-types/default/files.d.ts +86 -0
  57. package/dist/base/data-types/default/files.js +214 -0
  58. package/dist/base/data-types/default/files.js.map +1 -0
  59. package/dist/base/data-types/default/inputs.d.ts +11 -0
  60. package/dist/base/data-types/default/inputs.js +26 -0
  61. package/dist/base/data-types/default/inputs.js.map +1 -0
  62. package/dist/base/data-types/default/numbers.d.ts +62 -0
  63. package/dist/base/data-types/default/numbers.js +287 -0
  64. package/dist/base/data-types/default/numbers.js.map +1 -0
  65. package/dist/base/data-types/default/options.d.ts +133 -0
  66. package/dist/base/data-types/default/options.js +3 -0
  67. package/dist/base/data-types/default/options.js.map +1 -0
  68. package/dist/base/data-types/default/relations.d.ts +267 -0
  69. package/dist/base/data-types/default/relations.js +149 -0
  70. package/dist/base/data-types/default/relations.js.map +1 -0
  71. package/dist/base/data-types/default/strings.d.ts +35 -0
  72. package/dist/base/data-types/default/strings.js +154 -0
  73. package/dist/base/data-types/default/strings.js.map +1 -0
  74. package/dist/base/data-types/default-types.d.ts +73 -753
  75. package/dist/base/data-types/default-types.js +39 -991
  76. package/dist/base/data-types/default-types.js.map +1 -1
  77. package/dist/base/data-types/field-types.js +2 -6
  78. package/dist/base/data-types/field-types.js.map +1 -1
  79. package/dist/base/data-types/index.js +1 -20
  80. package/dist/base/data-types/index.js.map +1 -1
  81. package/dist/base/data-types/internal/compare-types.js +0 -2
  82. package/dist/base/data-types/internal/compare-types.js.map +1 -1
  83. package/dist/base/data-types/internal/relation-add-form.d.ts +7 -0
  84. package/dist/base/data-types/internal/relation-add-form.js +21 -0
  85. package/dist/base/data-types/internal/relation-add-form.js.map +1 -0
  86. package/dist/base/data-types/internal/relation-endpoints.d.ts +8 -0
  87. package/dist/base/data-types/internal/relation-endpoints.js +36 -0
  88. package/dist/base/data-types/internal/relation-endpoints.js.map +1 -0
  89. package/dist/base/data-types/status-type.js +0 -6
  90. package/dist/base/data-types/status-type.js.map +1 -1
  91. package/dist/base/display.d.ts +6 -6
  92. package/dist/base/display.js +15 -10
  93. package/dist/base/display.js.map +1 -1
  94. package/dist/base/empty-state.d.ts +8 -8
  95. package/dist/base/export-jobs.js.map +1 -1
  96. package/dist/base/form-block-schema.d.ts +36 -36
  97. package/dist/base/form-block-schema.js +0 -5
  98. package/dist/base/form-block-schema.js.map +1 -1
  99. package/dist/base/form-schema.d.ts +5 -1
  100. package/dist/base/form-schema.js +44 -206
  101. package/dist/base/form-schema.js.map +1 -1
  102. package/dist/base/form-types.d.ts +4 -84
  103. package/dist/base/form-types.js.map +1 -1
  104. package/dist/base/form.js +0 -7
  105. package/dist/base/form.js.map +1 -1
  106. package/dist/base/guard.d.ts +14 -14
  107. package/dist/base/helpers/archive-mode-helpers.js +11 -11
  108. package/dist/base/helpers/archive-mode-helpers.js.map +1 -1
  109. package/dist/base/helpers/file-refs.js +20 -7
  110. package/dist/base/helpers/file-refs.js.map +1 -1
  111. package/dist/base/index.js +0 -5
  112. package/dist/base/index.js.map +1 -1
  113. package/dist/base/internal/button-availability.d.ts +3 -17
  114. package/dist/base/internal/button-availability.js +36 -31
  115. package/dist/base/internal/button-availability.js.map +1 -1
  116. package/dist/base/internal/chart-schemas.js +0 -2
  117. package/dist/base/internal/chart-schemas.js.map +1 -1
  118. package/dist/base/internal/composed-text.js +0 -2
  119. package/dist/base/internal/composed-text.js.map +1 -1
  120. package/dist/base/internal/confirm-dialog.d.ts +3 -13
  121. package/dist/base/internal/confirm-dialog.js +37 -21
  122. package/dist/base/internal/confirm-dialog.js.map +1 -1
  123. package/dist/base/internal/display.js +3 -1
  124. package/dist/base/internal/display.js.map +1 -1
  125. package/dist/base/internal/form-schema-components.d.ts +12 -0
  126. package/dist/base/internal/form-schema-components.js +61 -0
  127. package/dist/base/internal/form-schema-components.js.map +1 -0
  128. package/dist/base/internal/form-schema-validation.d.ts +16 -0
  129. package/dist/base/internal/form-schema-validation.js +68 -0
  130. package/dist/base/internal/form-schema-validation.js.map +1 -0
  131. package/dist/base/internal/form-schema.d.ts +2 -7
  132. package/dist/base/internal/form-schema.js +36 -28
  133. package/dist/base/internal/form-schema.js.map +1 -1
  134. package/dist/base/internal/layouts.d.ts +1 -59
  135. package/dist/base/internal/searchable.js +3 -1
  136. package/dist/base/internal/searchable.js.map +1 -1
  137. package/dist/base/key-value-list.d.ts +12 -12
  138. package/dist/base/kpi-card.d.ts +2 -2
  139. package/dist/base/kpi-card.js +2 -0
  140. package/dist/base/kpi-card.js.map +1 -1
  141. package/dist/base/layouts.d.ts +6 -80
  142. package/dist/base/layouts.js +38 -54
  143. package/dist/base/layouts.js.map +1 -1
  144. package/dist/base/live-toggle.d.ts +2 -2
  145. package/dist/base/meter.d.ts +25 -25
  146. package/dist/base/meter.js +0 -1
  147. package/dist/base/meter.js.map +1 -1
  148. package/dist/base/nav-card-grid.d.ts +13 -13
  149. package/dist/base/page-toolbar.d.ts +2 -2
  150. package/dist/base/page-toolbar.js +0 -6
  151. package/dist/base/page-toolbar.js.map +1 -1
  152. package/dist/base/period-selector.d.ts +2 -2
  153. package/dist/base/period-selector.js +0 -4
  154. package/dist/base/period-selector.js.map +1 -1
  155. package/dist/base/query-response.js +3 -5
  156. package/dist/base/query-response.js.map +1 -1
  157. package/dist/base/resource-form-schema.js +0 -4
  158. package/dist/base/resource-form-schema.js.map +1 -1
  159. package/dist/base/searchable.d.ts +5 -0
  160. package/dist/base/searchable.js +11 -2
  161. package/dist/base/searchable.js.map +1 -1
  162. package/dist/base/stat-group.d.ts +15 -15
  163. package/dist/base/tab.d.ts +8 -8
  164. package/dist/base/tab.js +1 -0
  165. package/dist/base/tab.js.map +1 -1
  166. package/dist/base/table-view/column-display.js +0 -1
  167. package/dist/base/table-view/column-display.js.map +1 -1
  168. package/dist/base/table-view/data-functions.d.ts +10 -10
  169. package/dist/base/table-view/data-functions.js.map +1 -1
  170. package/dist/base/table-view/factory.js +32 -204
  171. package/dist/base/table-view/factory.js.map +1 -1
  172. package/dist/base/table-view/internal/auth.js +5 -19
  173. package/dist/base/table-view/internal/auth.js.map +1 -1
  174. package/dist/base/table-view/internal/column-conditions.js +0 -5
  175. package/dist/base/table-view/internal/column-conditions.js.map +1 -1
  176. package/dist/base/table-view/internal/column-display.js +5 -3
  177. package/dist/base/table-view/internal/column-display.js.map +1 -1
  178. package/dist/base/table-view/internal/factory-helpers.js +24 -158
  179. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  180. package/dist/base/table-view/internal/factory-lifecycle-created.d.ts +21 -0
  181. package/dist/base/table-view/internal/factory-lifecycle-created.js +96 -0
  182. package/dist/base/table-view/internal/factory-lifecycle-created.js.map +1 -0
  183. package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +15 -0
  184. package/dist/base/table-view/internal/factory-lifecycle-filter.js +37 -0
  185. package/dist/base/table-view/internal/factory-lifecycle-filter.js.map +1 -0
  186. package/dist/base/table-view/internal/factory-lifecycle-options.d.ts +41 -0
  187. package/dist/base/table-view/internal/factory-lifecycle-options.js +99 -0
  188. package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -0
  189. package/dist/base/table-view/internal/factory-private-actions.d.ts +32 -0
  190. package/dist/base/table-view/internal/factory-private-actions.js +77 -0
  191. package/dist/base/table-view/internal/factory-private-actions.js.map +1 -0
  192. package/dist/base/table-view/internal/factory-private-displays.d.ts +5 -0
  193. package/dist/base/table-view/internal/factory-private-displays.js +21 -0
  194. package/dist/base/table-view/internal/factory-private-displays.js.map +1 -0
  195. package/dist/base/table-view/internal/factory-private-urls.d.ts +15 -0
  196. package/dist/base/table-view/internal/factory-private-urls.js +43 -0
  197. package/dist/base/table-view/internal/factory-private-urls.js.map +1 -0
  198. package/dist/base/table-view/internal/files.js +3 -4
  199. package/dist/base/table-view/internal/files.js.map +1 -1
  200. package/dist/base/table-view/internal/footer.js +5 -3
  201. package/dist/base/table-view/internal/footer.js.map +1 -1
  202. package/dist/base/table-view/internal/guards.js +7 -10
  203. package/dist/base/table-view/internal/guards.js.map +1 -1
  204. package/dist/base/table-view/internal/meta-helpers.d.ts +27 -0
  205. package/dist/base/table-view/internal/meta-helpers.js +75 -0
  206. package/dist/base/table-view/internal/meta-helpers.js.map +1 -0
  207. package/dist/base/table-view/internal/meta.js +8 -2
  208. package/dist/base/table-view/internal/meta.js.map +1 -1
  209. package/dist/base/table-view/internal/nav-badges.js +5 -3
  210. package/dist/base/table-view/internal/nav-badges.js.map +1 -1
  211. package/dist/base/table-view/internal/option-contract.d.ts +403 -0
  212. package/dist/base/table-view/internal/option-contract.js +3 -0
  213. package/dist/base/table-view/internal/option-contract.js.map +1 -0
  214. package/dist/base/table-view/internal/option-displays.d.ts +125 -0
  215. package/dist/base/table-view/internal/option-displays.js +3 -0
  216. package/dist/base/table-view/internal/option-displays.js.map +1 -0
  217. package/dist/base/table-view/internal/option-empty-states.d.ts +43 -0
  218. package/dist/base/table-view/internal/option-empty-states.js +3 -0
  219. package/dist/base/table-view/internal/option-empty-states.js.map +1 -0
  220. package/dist/base/table-view/internal/option-expandable.d.ts +66 -0
  221. package/dist/base/table-view/internal/option-expandable.js +3 -0
  222. package/dist/base/table-view/internal/option-expandable.js.map +1 -0
  223. package/dist/base/table-view/internal/option-filtering.d.ts +85 -0
  224. package/dist/base/table-view/internal/option-filtering.js +4 -0
  225. package/dist/base/table-view/internal/option-filtering.js.map +1 -0
  226. package/dist/base/table-view/internal/option-footer.d.ts +64 -0
  227. package/dist/base/table-view/internal/option-footer.js +3 -0
  228. package/dist/base/table-view/internal/option-footer.js.map +1 -0
  229. package/dist/base/table-view/internal/option-forms.d.ts +62 -0
  230. package/dist/base/table-view/internal/option-forms.js +3 -0
  231. package/dist/base/table-view/internal/option-forms.js.map +1 -0
  232. package/dist/base/table-view/internal/option-row-actions.d.ts +76 -0
  233. package/dist/base/table-view/internal/option-row-actions.js +3 -0
  234. package/dist/base/table-view/internal/option-row-actions.js.map +1 -0
  235. package/dist/base/table-view/internal/option-views.d.ts +199 -0
  236. package/dist/base/table-view/internal/option-views.js +3 -0
  237. package/dist/base/table-view/internal/option-views.js.map +1 -0
  238. package/dist/base/table-view/internal/options.d.ts +2 -6
  239. package/dist/base/table-view/internal/options.js +35 -6
  240. package/dist/base/table-view/internal/options.js.map +1 -1
  241. package/dist/base/table-view/internal/realtime.js +15 -5
  242. package/dist/base/table-view/internal/realtime.js.map +1 -1
  243. package/dist/base/table-view/internal/request-filter.js +12 -12
  244. package/dist/base/table-view/internal/request-filter.js.map +1 -1
  245. package/dist/base/table-view/internal/resource-form.js +1 -10
  246. package/dist/base/table-view/internal/resource-form.js.map +1 -1
  247. package/dist/base/table-view/internal/row-actions-schema.js +0 -6
  248. package/dist/base/table-view/internal/row-actions-schema.js.map +1 -1
  249. package/dist/base/table-view/internal/row-rule-shape.d.ts +10 -0
  250. package/dist/base/table-view/internal/row-rule-shape.js +43 -0
  251. package/dist/base/table-view/internal/row-rule-shape.js.map +1 -0
  252. package/dist/base/table-view/internal/row-rules.js +1 -4
  253. package/dist/base/table-view/internal/row-rules.js.map +1 -1
  254. package/dist/base/table-view/internal/tabs.js +3 -6
  255. package/dist/base/table-view/internal/tabs.js.map +1 -1
  256. package/dist/base/table-view/internal/validation.js +2 -16
  257. package/dist/base/table-view/internal/validation.js.map +1 -1
  258. package/dist/base/table-view/internal/writer.js +1 -0
  259. package/dist/base/table-view/internal/writer.js.map +1 -1
  260. package/dist/base/table-view/meta.js +11 -93
  261. package/dist/base/table-view/meta.js.map +1 -1
  262. package/dist/base/table-view/options.d.ts +61 -1099
  263. package/dist/base/table-view/options.js.map +1 -1
  264. package/dist/base/table-view/resource-form.js +0 -2
  265. package/dist/base/table-view/resource-form.js.map +1 -1
  266. package/dist/base/table-view/routes.js +10 -9
  267. package/dist/base/table-view/routes.js.map +1 -1
  268. package/dist/base/table-view/schema.d.ts +93 -93
  269. package/dist/base/table-view/schema.js +4 -22
  270. package/dist/base/table-view/schema.js.map +1 -1
  271. package/dist/base/table-view/source.js +0 -5
  272. package/dist/base/table-view/source.js.map +1 -1
  273. package/dist/base/table-view/views.js +0 -3
  274. package/dist/base/table-view/views.js.map +1 -1
  275. package/dist/base/table-view/writer.js +0 -5
  276. package/dist/base/table-view/writer.js.map +1 -1
  277. package/dist/base/top-list-card.d.ts +13 -13
  278. package/dist/base/top-list-card.js +2 -0
  279. package/dist/base/top-list-card.js.map +1 -1
  280. package/dist/base/types/action-target.d.ts +1 -302
  281. package/dist/base/types/button.d.ts +2 -7
  282. package/dist/base/types/button.js +35 -8
  283. package/dist/base/types/button.js.map +1 -1
  284. package/dist/base/types/confirm-dialog.d.ts +1 -127
  285. package/dist/base/types/custom-button.d.ts +1 -87
  286. package/dist/base/types/error.js +2 -1
  287. package/dist/base/types/error.js.map +1 -1
  288. package/dist/base/types/export-status.d.ts +2 -8
  289. package/dist/base/types/export-status.js +35 -9
  290. package/dist/base/types/export-status.js.map +1 -1
  291. package/dist/base/types/form-values.d.ts +1 -4
  292. package/dist/base/types/internal/action-target.d.ts +2 -8
  293. package/dist/base/types/internal/action-target.js +36 -15
  294. package/dist/base/types/internal/action-target.js.map +1 -1
  295. package/dist/base/types/row-action-operators.d.ts +3 -29
  296. package/dist/base/types/row-action-operators.js +35 -18
  297. package/dist/base/types/row-action-operators.js.map +1 -1
  298. package/dist/base/types/row-action.d.ts +3 -36
  299. package/dist/base/types/size.d.ts +1 -3
  300. package/dist/base/types/size.js +0 -3
  301. package/dist/base/types/size.js.map +1 -1
  302. package/dist/base/types/tone.d.ts +3 -8
  303. package/dist/base/types/tone.js +35 -15
  304. package/dist/base/types/tone.js.map +1 -1
  305. package/dist/base/types/watch.d.ts +5 -19
  306. package/dist/base/types/watch.js +35 -3
  307. package/dist/base/types/watch.js.map +1 -1
  308. package/dist/component-options/action-target.d.ts +304 -0
  309. package/dist/component-options/action-target.js +3 -0
  310. package/dist/component-options/action-target.js.map +1 -0
  311. package/dist/component-options/button.d.ts +93 -0
  312. package/dist/component-options/button.js +12 -0
  313. package/dist/component-options/button.js.map +1 -0
  314. package/dist/component-options/confirm-dialog.d.ts +132 -0
  315. package/dist/component-options/confirm-dialog.js +18 -0
  316. package/dist/component-options/confirm-dialog.js.map +1 -0
  317. package/dist/component-options/data-type.d.ts +101 -0
  318. package/dist/component-options/data-type.js +146 -0
  319. package/dist/component-options/data-type.js.map +1 -0
  320. package/dist/component-options/form-field.d.ts +88 -0
  321. package/dist/component-options/form-field.js +3 -0
  322. package/dist/component-options/form-field.js.map +1 -0
  323. package/dist/component-options/internal/action-target.d.ts +8 -0
  324. package/dist/component-options/internal/action-target.js +18 -0
  325. package/dist/component-options/internal/action-target.js.map +1 -0
  326. package/dist/component-options/internal/button-availability.d.ts +17 -0
  327. package/dist/component-options/internal/button-availability.js +34 -0
  328. package/dist/component-options/internal/button-availability.js.map +1 -0
  329. package/dist/component-options/internal/confirm-dialog.d.ts +13 -0
  330. package/dist/component-options/internal/confirm-dialog.js +24 -0
  331. package/dist/component-options/internal/confirm-dialog.js.map +1 -0
  332. package/dist/component-options/internal/form-field.d.ts +7 -0
  333. package/dist/component-options/internal/form-field.js +31 -0
  334. package/dist/component-options/internal/form-field.js.map +1 -0
  335. package/dist/component-options/internal/page-layout.d.ts +71 -0
  336. package/dist/component-options/internal/page-layout.js +10 -0
  337. package/dist/component-options/internal/page-layout.js.map +1 -0
  338. package/dist/component-options/page-layout.d.ts +80 -0
  339. package/dist/component-options/page-layout.js +57 -0
  340. package/dist/component-options/page-layout.js.map +1 -0
  341. package/dist/component-options/row-action.d.ts +66 -0
  342. package/dist/component-options/row-action.js +22 -0
  343. package/dist/component-options/row-action.js.map +1 -0
  344. package/dist/component-slots.js.map +1 -1
  345. package/dist/component.d.ts +2 -2
  346. package/dist/component.js +38 -193
  347. package/dist/component.js.map +1 -1
  348. package/dist/data-controllers/members.js +2 -8
  349. package/dist/data-controllers/members.js.map +1 -1
  350. package/dist/data-controllers/roles.js +0 -5
  351. package/dist/data-controllers/roles.js.map +1 -1
  352. package/dist/db/internal/exportJobs.model.js +10 -6
  353. package/dist/db/internal/exportJobs.model.js.map +1 -1
  354. package/dist/db/internal/tenantLifecycle.model.js +0 -2
  355. package/dist/db/internal/tenantLifecycle.model.js.map +1 -1
  356. package/dist/db/tables/exportJobs.table.d.ts +1 -1
  357. package/dist/db/tables/roles.table.js.map +1 -1
  358. package/dist/db/tables/user_invites.table.d.ts +1 -1
  359. package/dist/db/tables/user_invites.table.js.map +1 -1
  360. package/dist/export-status.d.ts +8 -0
  361. package/dist/export-status.js +13 -0
  362. package/dist/export-status.js.map +1 -0
  363. package/dist/hooks.d.ts +1 -1
  364. package/dist/hooks.js +2 -4
  365. package/dist/hooks.js.map +1 -1
  366. package/dist/index.js +0 -9
  367. package/dist/index.js.map +1 -1
  368. package/dist/internal/component-builder.d.ts +17 -0
  369. package/dist/internal/component-builder.js +58 -0
  370. package/dist/internal/component-builder.js.map +1 -0
  371. package/dist/internal/component-permissions.d.ts +13 -0
  372. package/dist/internal/component-permissions.js +45 -0
  373. package/dist/internal/component-permissions.js.map +1 -0
  374. package/dist/internal/component-serialization.d.ts +10 -0
  375. package/dist/internal/component-serialization.js +42 -0
  376. package/dist/internal/component-serialization.js.map +1 -0
  377. package/dist/internal/component-slots.js +7 -4
  378. package/dist/internal/component-slots.js.map +1 -1
  379. package/dist/internal/component-watches.d.ts +17 -0
  380. package/dist/internal/component-watches.js +110 -0
  381. package/dist/internal/component-watches.js.map +1 -0
  382. package/dist/internal/invite-membership.js +0 -1
  383. package/dist/internal/invite-membership.js.map +1 -1
  384. package/dist/invite-extension-payloads.d.ts +2 -0
  385. package/dist/invite-extension-payloads.js +3 -0
  386. package/dist/invite-extension-payloads.js.map +1 -0
  387. package/dist/invite-extensions/internal/delivery.js +4 -1
  388. package/dist/invite-extensions/internal/delivery.js.map +1 -1
  389. package/dist/invite-extensions/internal/edit.js +5 -4
  390. package/dist/invite-extensions/internal/edit.js.map +1 -1
  391. package/dist/invite-extensions/internal/form-slot.js +5 -35
  392. package/dist/invite-extensions/internal/form-slot.js.map +1 -1
  393. package/dist/invite-extensions/internal/payload-slices.js +10 -3
  394. package/dist/invite-extensions/internal/payload-slices.js.map +1 -1
  395. package/dist/invite-extensions/internal/registry.js +3 -5
  396. package/dist/invite-extensions/internal/registry.js.map +1 -1
  397. package/dist/invite-extensions/registry.js +3 -8
  398. package/dist/invite-extensions/registry.js.map +1 -1
  399. package/dist/invite-extensions/types.d.ts +1 -2
  400. package/dist/invite-resolution.js +2 -1
  401. package/dist/invite-resolution.js.map +1 -1
  402. package/dist/layout-banners.js.map +1 -1
  403. package/dist/notifications/builder.js +25 -5
  404. package/dist/notifications/builder.js.map +1 -1
  405. package/dist/notifications/internal.js +0 -3
  406. package/dist/notifications/internal.js.map +1 -1
  407. package/dist/notifications/sendable.js.map +1 -1
  408. package/dist/page/categories.js +1 -4
  409. package/dist/page/categories.js.map +1 -1
  410. package/dist/page/controllers.js +9 -55
  411. package/dist/page/controllers.js.map +1 -1
  412. package/dist/page/form-page-routes.js +0 -7
  413. package/dist/page/form-page-routes.js.map +1 -1
  414. package/dist/page/internal/categories.d.ts +1 -1
  415. package/dist/page/internal/categories.js +12 -36
  416. package/dist/page/internal/categories.js.map +1 -1
  417. package/dist/page/internal/category-permission.d.ts +10 -0
  418. package/dist/page/internal/category-permission.js +20 -0
  419. package/dist/page/internal/category-permission.js.map +1 -0
  420. package/dist/page/internal/component-target.js +2 -2
  421. package/dist/page/internal/component-target.js.map +1 -1
  422. package/dist/page/internal/component-tree.js +0 -2
  423. package/dist/page/internal/component-tree.js.map +1 -1
  424. package/dist/page/internal/controller-options.d.ts +6 -0
  425. package/dist/page/internal/controller-options.js +40 -0
  426. package/dist/page/internal/controller-options.js.map +1 -0
  427. package/dist/page/internal/extension-assembly.js +2 -7
  428. package/dist/page/internal/extension-assembly.js.map +1 -1
  429. package/dist/page/internal/layout-filter.js +7 -3
  430. package/dist/page/internal/layout-filter.js.map +1 -1
  431. package/dist/page/internal/metadata-components.d.ts +47 -0
  432. package/dist/page/internal/metadata-components.js +136 -0
  433. package/dist/page/internal/metadata-components.js.map +1 -0
  434. package/dist/page/internal/metadata-extension-contributions.d.ts +14 -0
  435. package/dist/page/internal/metadata-extension-contributions.js +56 -0
  436. package/dist/page/internal/metadata-extension-contributions.js.map +1 -0
  437. package/dist/page/internal/metadata-extensions.d.ts +8 -0
  438. package/dist/page/internal/metadata-extensions.js +21 -0
  439. package/dist/page/internal/metadata-extensions.js.map +1 -0
  440. package/dist/page/internal/metadata-helpers.js +0 -14
  441. package/dist/page/internal/metadata-helpers.js.map +1 -1
  442. package/dist/page/internal/metadata-info.d.ts +5 -0
  443. package/dist/page/internal/metadata-info.js +39 -0
  444. package/dist/page/internal/metadata-info.js.map +1 -0
  445. package/dist/page/internal/metadata-layout-response.d.ts +32 -0
  446. package/dist/page/internal/metadata-layout-response.js +76 -0
  447. package/dist/page/internal/metadata-layout-response.js.map +1 -0
  448. package/dist/page/internal/metadata-layout.d.ts +10 -0
  449. package/dist/page/internal/metadata-layout.js +44 -0
  450. package/dist/page/internal/metadata-layout.js.map +1 -0
  451. package/dist/page/internal/metadata-lifecycle.d.ts +52 -0
  452. package/dist/page/internal/metadata-lifecycle.js +241 -0
  453. package/dist/page/internal/metadata-lifecycle.js.map +1 -0
  454. package/dist/page/internal/metadata-owner.d.ts +53 -0
  455. package/dist/page/internal/metadata-owner.js +14 -0
  456. package/dist/page/internal/metadata-owner.js.map +1 -0
  457. package/dist/page/internal/metadata-publish.d.ts +20 -0
  458. package/dist/page/internal/metadata-publish.js +55 -0
  459. package/dist/page/internal/metadata-publish.js.map +1 -0
  460. package/dist/page/internal/metadata-registration.d.ts +8 -0
  461. package/dist/page/internal/metadata-registration.js +72 -0
  462. package/dist/page/internal/metadata-registration.js.map +1 -0
  463. package/dist/page/internal/metadata-upload-registration.d.ts +16 -0
  464. package/dist/page/internal/metadata-upload-registration.js +64 -0
  465. package/dist/page/internal/metadata-upload-registration.js.map +1 -0
  466. package/dist/page/internal/metadata-uploads.d.ts +18 -0
  467. package/dist/page/internal/metadata-uploads.js +46 -0
  468. package/dist/page/internal/metadata-uploads.js.map +1 -0
  469. package/dist/page/internal/nav-badges.d.ts +1 -1
  470. package/dist/page/internal/nav-badges.js +3 -1
  471. package/dist/page/internal/nav-badges.js.map +1 -1
  472. package/dist/page/internal/page-record.d.ts +2 -9
  473. package/dist/page/internal/page-record.js +8 -5
  474. package/dist/page/internal/page-record.js.map +1 -1
  475. package/dist/page/internal/page-registration.js +0 -4
  476. package/dist/page/internal/page-registration.js.map +1 -1
  477. package/dist/page/internal/registry.js +2 -1
  478. package/dist/page/internal/registry.js.map +1 -1
  479. package/dist/page/internal/table-view-ids.js +3 -2
  480. package/dist/page/internal/table-view-ids.js.map +1 -1
  481. package/dist/page/layout-filter.js +1 -0
  482. package/dist/page/layout-filter.js.map +1 -1
  483. package/dist/page/metadata.js +192 -558
  484. package/dist/page/metadata.js.map +1 -1
  485. package/dist/page/roots.js +3 -5
  486. package/dist/page/roots.js.map +1 -1
  487. package/dist/page/types.d.ts +15 -2
  488. package/dist/page/types.js.map +1 -1
  489. package/dist/permissions.js +0 -18
  490. package/dist/permissions.js.map +1 -1
  491. package/dist/realtime.js +0 -3
  492. package/dist/realtime.js.map +1 -1
  493. package/dist/request-tenant.js +4 -1
  494. package/dist/request-tenant.js.map +1 -1
  495. package/dist/tenant-lifecycle.js +2 -2
  496. package/dist/tenant-lifecycle.js.map +1 -1
  497. package/dist/tones.d.ts +8 -0
  498. package/dist/tones.js +19 -0
  499. package/dist/tones.js.map +1 -0
  500. package/dist/uploads.js +15 -4
  501. package/dist/uploads.js.map +1 -1
  502. package/dist/utils/internal/row-instance.js +2 -3
  503. package/dist/utils/internal/row-instance.js.map +1 -1
  504. package/dist/utils/internal/type-check.d.ts +10 -1
  505. package/dist/utils/internal/type-check.js +12 -3
  506. package/dist/utils/internal/type-check.js.map +1 -1
  507. package/dist/utils/internal/value-parser.js +7 -2
  508. package/dist/utils/internal/value-parser.js.map +1 -1
  509. package/dist/watch-actions.d.ts +19 -0
  510. package/dist/watch-actions.js +7 -0
  511. package/dist/watch-actions.js.map +1 -0
  512. package/docs/3.base/2.types.md +1 -1
  513. package/docs/3.base/8.data-types.md +2 -0
  514. package/docs/4.notifications/3.sending.md +1 -1
  515. package/docs/tsconfig.json +5 -1
  516. package/package.json +3 -9
@@ -7,13 +7,6 @@ function compareText(a, b) {
7
7
  return 0;
8
8
  return a < b ? -1 : 1;
9
9
  }
10
- // Placement is anchor-relative first; the comparator only breaks ties inside a
11
- // single anchor group (or the appended tail). Every criterion after `order` is
12
- // intrinsic to the declaration — never the order the modules were started in —
13
- // so the same set of extensions always assembles the same page. Comparison is
14
- // codepoint-wise rather than locale-aware for the same reason. `key` closes the
15
- // total order: keys are unique on a page, a collision being a registration
16
- // error.
17
10
  function compareExtensionEntries(a, b) {
18
11
  return (a.order - b.order ||
19
12
  compareText(a.extensionName, b.extensionName) ||
@@ -86,6 +79,7 @@ function assembleNestedComponent(component, path, entries) {
86
79
  /** @internal */
87
80
  function assembleLayoutComponents(own, entries) {
88
81
  if (entries.length === 0) {
82
+ // oxlint-disable-next-line anti-slop/no-known-value-widening -- Preserve the published component dictionary return type even when no extension changes the shallow copy.
89
83
  return { ...own };
90
84
  }
91
85
  const ownKeys = Object.keys(own);
@@ -104,6 +98,7 @@ function assembleLayoutComponents(own, entries) {
104
98
  appendGroup(groups.after.get(key));
105
99
  }
106
100
  appendGroup(groups.end);
101
+ // oxlint-disable-next-line anti-slop/no-known-value-widening -- Preserve the published component dictionary contract populated from own components and serialized extensions.
107
102
  return assembled;
108
103
  }
109
104
  //# sourceMappingURL=extension-assembly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extension-assembly.js","sourceRoot":"","sources":["../../../src/page/internal/extension-assembly.ts"],"names":[],"mappings":";;AA2IA,4DA2BC;AAtKD,gEAA6D;AAkB7D,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,SAAS;AACT,SAAS,uBAAuB,CAC9B,CAAqB,EACrB,CAAqB;IAErB,OAAO,CACL,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QACjB,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC;QAC7C,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB;QACvC,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,MAAyC,EACzC,GAAW,EACX,KAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA6B,EAC7B,OAAoB;IAEpB,MAAM,MAAM,GAAoB;QAC9B,MAAM,EAAE,IAAI,GAAG,EAAE;QACjB,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,GAAG,EAAE,EAAE;KACR,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,iBAAO,CAAC,IAAI,CACV,mCAAmC,KAAK,CAAC,GAAG,iBAAiB,SAAS,uEAAuE,CAC9I,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,WAAW,CACT,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EACtD,SAAS,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CACf,IAAmC,EACnC,KAAwB;IAExB,OAAO,CACL,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM;QAC7B,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,OAA6B,EAC7B,IAAuB,EACvB,IAAwB;IAExB,OAAO,OAAO;SACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC1E,IAAI,CAAC,uBAAuB,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAA6B;IACtD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,SAAS;QAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAC9B,SAAkC,EAClC,IAAuB,EACvB,OAA6B;IAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,SAAS,CAAC,IAAI,CACZ,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CACpE,CAAC;QACF,SAAS,CAAC,IAAI,CAAC;YACb,GAAG,KAAK;YACR,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;SACxE,CAAC,CAAC;QACH,SAAS,CAAC,IAAI,CACZ,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC;AAED,gBAAgB;AAChB,SAAgB,wBAAwB,CACtC,GAA4C,EAC5C,OAA6B;IAE7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,SAAS,GAA4C,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,CAAC,KAA4B,EAAQ,EAAE;QACzD,KAAK,MAAM,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,SAAS,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACnE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"extension-assembly.js","sourceRoot":"","sources":["../../../src/page/internal/extension-assembly.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.filterLayoutHeaderActions = filterLayoutHeaderActions;
4
4
  exports.withComponentHeaderButtons = withComponentHeaderButtons;
5
- const button_availability_1 = require("../../base/internal/button-availability");
5
+ const button_availability_1 = require("../../component-options/internal/button-availability");
6
6
  const component_target_1 = require("./component-target");
7
7
  const page_record_1 = require("./page-record");
8
8
  const permission_gate_1 = require("../../internal/permission-gate");
@@ -35,6 +35,7 @@ async function serveHeaderButton(declared, permissions, pagePermissionId, contex
35
35
  * @internal
36
36
  */
37
37
  async function filterLayoutHeaderActions(layout, loadPermissions, context, pagePermissionId, recordStatus) {
38
+ // oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- The published generic helper trusts layout options to carry optional header actions; validating or constraining T would change its current contract.
38
39
  const options = layout?.options;
39
40
  if (!layout || !options)
40
41
  return layout;
@@ -53,6 +54,7 @@ async function filterLayoutHeaderActions(layout, loadPermissions, context, pageP
53
54
  }
54
55
  if (declaresRecord)
55
56
  servedOptions.recordStatus = recordStatus;
57
+ // oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- Filtering rebuilds layout options with transport-only fields; the public generic return promises T although arbitrary T is not runtime-validated.
56
58
  return { ...layout, options: servedOptions };
57
59
  }
58
60
  const HEADER_PLACEMENT = "header";
@@ -61,7 +63,7 @@ const ADD_BUTTON_ICON = "i-ph-plus";
61
63
  const ADD_BUTTON_COLOR = "primary";
62
64
  /** The header buttons one component of the page places there. */
63
65
  function componentHeaderButtons(componentId, component) {
64
- const options = (component.options ?? {});
66
+ const options = component.options ?? {};
65
67
  const buttons = (options.customButtons ?? [])
66
68
  .filter((button) => button.placement === HEADER_PLACEMENT)
67
69
  .map(({ id, target: _target, placement: _placement, ...button }, index) => ({
@@ -71,6 +73,7 @@ function componentHeaderButtons(componentId, component) {
71
73
  buttonId: id,
72
74
  }));
73
75
  const add = options.rowActions?.add;
76
+ // oxlint-disable-next-line anti-slop/no-runtime-typeof -- The declared add-action union uses a boolean or button options; only the object variant can declare header placement.
74
77
  if (typeof add === "object" && add.placement === HEADER_PLACEMENT) {
75
78
  if (add.isEnabled === false)
76
79
  return buttons;
@@ -106,9 +109,10 @@ function withComponentHeaderButtons(layout, components) {
106
109
  const placed = Object.entries(components).flatMap(([id, component]) => treeHeaderButtons(id, component));
107
110
  if (!layout || placed.length === 0)
108
111
  return layout;
109
- const options = (layout.options ?? {});
112
+ const options = layout.options ?? {};
110
113
  return {
111
114
  ...layout,
115
+ // oxlint-disable-next-line anti-slop/require-safety-comment-for-type-assertion -- The published generic return retains T after adding header actions, even though arbitrary layout T is not validated at this augmentation boundary.
112
116
  options: {
113
117
  ...options,
114
118
  headerActions: [...(options.headerActions ?? []), ...placed],
@@ -1 +1 @@
1
- {"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../../src/page/internal/layout-filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-filter.js","sourceRoot":"","sources":["../../../src/page/internal/layout-filter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { Component, ComponentInfoSerialized } from "../../component";
2
+ import type { NativeUploadFieldRegistration } from "../../internal/uploads";
3
+ import { type Permission } from "../../permissions";
4
+ import type { ComponentTreeNode } from "../component-tree";
5
+ import type { ComponentNodeMap } from "../layout-filter";
6
+ import type { PageMetadata } from "../metadata";
7
+ import type { PageRegistration } from "./page-registration";
8
+ /** @internal */
9
+ export declare function actionPermissions(component: Component, pageInfo: PageMetadata["pageInfo"]): Permission[];
10
+ /** @internal */
11
+ export declare function notifyPageCreated(page: PageMetadata, node: ComponentTreeNode, notified: () => Set<Component>): void;
12
+ interface ComponentRegistrationContext {
13
+ componentMap(): ComponentNodeMap;
14
+ pageInfo(): PageMetadata["pageInfo"];
15
+ registersComponentPermissions(): boolean;
16
+ actionPermissions(component: Component): Permission[];
17
+ notify(node: ComponentTreeNode): void;
18
+ }
19
+ /** @internal */
20
+ export declare function registerComponentNode(node: ComponentTreeNode, context: ComponentRegistrationContext): void;
21
+ /** @internal */
22
+ export declare function unregisterComponentNode(node: ComponentTreeNode, registers: () => boolean, actions: (node: ComponentTreeNode) => Permission[]): void;
23
+ interface ComponentRemovalContext {
24
+ trees(): Map<string, ComponentTreeNode[]>;
25
+ uploads(): Map<string, NativeUploadFieldRegistration[]>;
26
+ nodes(): ComponentNodeMap;
27
+ notified(): Set<Component>;
28
+ ownsPermissions(): boolean;
29
+ unregister(node: ComponentTreeNode): void;
30
+ }
31
+ /** @internal */
32
+ export declare function unregisterComponent(componentKey: string, context: ComponentRemovalContext): void;
33
+ interface ComponentPreparationContext {
34
+ permissionId(key: string): string;
35
+ trees(): Map<string, ComponentTreeNode[]>;
36
+ registration(): PageRegistration;
37
+ unregister(component: Component, key: string): void;
38
+ register(node: ComponentTreeNode): void;
39
+ detached(): boolean;
40
+ bind(serialized: ComponentInfoSerialized, key: string): Promise<void>;
41
+ }
42
+ /** @internal */
43
+ export declare function prepareComponent(component: Component, componentKey: string, context: ComponentPreparationContext): () => Promise<{
44
+ key: string;
45
+ serialized: ComponentInfoSerialized;
46
+ }>;
47
+ export {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.actionPermissions = actionPermissions;
4
+ exports.notifyPageCreated = notifyPageCreated;
5
+ exports.registerComponentNode = registerComponentNode;
6
+ exports.unregisterComponentNode = unregisterComponentNode;
7
+ exports.unregisterComponent = unregisterComponent;
8
+ exports.prepareComponent = prepareComponent;
9
+ /** @internal */
10
+ const logging_1 = require("@antelopejs/interface-core/logging");
11
+ const permissions_1 = require("../../permissions");
12
+ const uploads_1 = require("../../uploads");
13
+ const declaration_conflict_1 = require("../declaration-conflict");
14
+ const component_tree_1 = require("./component-tree");
15
+ const member_access_1 = require("./member-access");
16
+ const registry_1 = require("./registry");
17
+ /** @internal */
18
+ function actionPermissions(component, pageInfo) {
19
+ const grantsMembers = (0, member_access_1.opensToMembers)(pageInfo?.memberAccess);
20
+ return Object.values(component.actions)
21
+ .map((action) => action.toPermission())
22
+ .filter((permission) => !!permission)
23
+ .map((permission) => grantsMembers ? { ...permission, defaultGranted: true } : permission);
24
+ }
25
+ /** @internal */
26
+ function notifyPageCreated(page, node, notified) {
27
+ if (!node.component.onPageCreated)
28
+ return;
29
+ if (notified().has(node.component))
30
+ return;
31
+ notified().add(node.component);
32
+ if (node.depth === 0) {
33
+ node.component.onPageCreated(page);
34
+ return;
35
+ }
36
+ try {
37
+ node.component.onPageCreated(page);
38
+ }
39
+ catch (error) {
40
+ if (error instanceof declaration_conflict_1.PageDeclarationConflictError)
41
+ throw error;
42
+ logging_1.Logging.Error(`[dms] component "${node.permissionId}" failed its onCreated hook on page "${page.pageInfo?.fullId}": ${String(error)}`);
43
+ }
44
+ }
45
+ /** @internal */
46
+ function registerComponentNode(node, context) {
47
+ const { component, permissionId } = node;
48
+ context.componentMap().set(permissionId, node);
49
+ if (node.access === "withheld")
50
+ return;
51
+ if (node.access === "own" && !registry_1.permissionMap.has(component))
52
+ registry_1.permissionMap.set(component, permissionId);
53
+ if (context.registersComponentPermissions() && node.access === "own") {
54
+ (0, permissions_1.RegisterPermission)(permissionId, {
55
+ id: permissionId,
56
+ title: component.metadata.name,
57
+ icon: component.metadata.icon,
58
+ description: component.metadata.description,
59
+ defaultGranted: (0, member_access_1.opensToMembers)(context.pageInfo()?.memberAccess),
60
+ });
61
+ }
62
+ context.notify(node);
63
+ if (context.registersComponentPermissions()) {
64
+ for (const actionPermission of context.actionPermissions(component))
65
+ (0, permissions_1.RegisterPermission)(actionPermission.id, actionPermission);
66
+ }
67
+ }
68
+ /** @internal */
69
+ function unregisterComponentNode(node, registers, actions) {
70
+ if (node.access === "withheld")
71
+ return;
72
+ if (registers()) {
73
+ for (const actionPermission of actions(node))
74
+ (0, permissions_1.UnregisterPermission)(actionPermission.id);
75
+ }
76
+ if (node.access !== "own")
77
+ return;
78
+ if (registers())
79
+ (0, permissions_1.UnregisterPermission)(node.permissionId);
80
+ if (registry_1.permissionMap.get(node.component) === node.permissionId)
81
+ registry_1.permissionMap.delete(node.component);
82
+ }
83
+ /** @internal */
84
+ function unregisterComponent(componentKey, context) {
85
+ const nodes = context.trees().get(componentKey);
86
+ if (!nodes)
87
+ return;
88
+ context.trees().delete(componentKey);
89
+ for (const node of nodes) {
90
+ for (const field of context.uploads().get(node.permissionId) ?? [])
91
+ uploads_1.internal.RegisterNativeUploadField.unregister(field);
92
+ context.uploads().delete(node.permissionId);
93
+ context.nodes().delete(node.permissionId);
94
+ context.notified().delete(node.component);
95
+ }
96
+ if (!context.ownsPermissions()) {
97
+ for (const node of nodes)
98
+ releaseComponentIdentity(node);
99
+ return;
100
+ }
101
+ for (const node of nodes)
102
+ context.unregister(node);
103
+ }
104
+ /**
105
+ * Drop a position's entry from the permission map on behalf of a page that no
106
+ * longer owns its id, unless a live page holds the same component at that
107
+ * position. Only the entry is released: the permissions of the position and of
108
+ * its component's actions stay registered.
109
+ */
110
+ function releaseComponentIdentity(node) {
111
+ if (node.access !== "own")
112
+ return;
113
+ if (registry_1.permissionMap.get(node.component) !== node.permissionId)
114
+ return;
115
+ const held = [...registry_1.pageMetadataByFullId.values()].some((page) => page.ComponentPermissionIds(node.component).includes(node.permissionId));
116
+ if (!held)
117
+ registry_1.permissionMap.delete(node.component);
118
+ }
119
+ /** @internal */
120
+ function prepareComponent(component, componentKey, context) {
121
+ const nodes = (0, component_tree_1.collectComponentTree)(component, context.permissionId(componentKey));
122
+ context.trees().set(componentKey, nodes);
123
+ context
124
+ .registration()
125
+ .track(() => context.unregister(component, componentKey));
126
+ for (const node of nodes)
127
+ context.register(node);
128
+ return async () => {
129
+ const serialized = await component.serialize();
130
+ if (context.detached() || context.trees().get(componentKey) !== nodes)
131
+ return { key: componentKey, serialized };
132
+ await context.bind(serialized, componentKey);
133
+ return { key: componentKey, serialized };
134
+ };
135
+ }
136
+ //# sourceMappingURL=metadata-components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-components.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { PageMetadata } from "../metadata";
2
+ import type { PageExtensionComponent, PageExtensionInfo } from "../types";
3
+ import type { PageExtensionEntry } from "./extension-assembly";
4
+ /** @internal */
5
+ export declare function removeStaleExtensions(page: PageMetadata, infos: PageExtensionInfo[]): void;
6
+ /** @internal */
7
+ export declare function prepareExtensionEntries(page: PageMetadata, info: PageExtensionInfo): PageExtensionEntry[] | undefined;
8
+ /** @internal */
9
+ export declare function prepareExtensionComponent(page: PageMetadata, info: PageExtensionInfo, contribution: PageExtensionComponent): () => Promise<{
10
+ key: string;
11
+ serialized: import("../..").ComponentInfoSerialized;
12
+ }>;
13
+ /** @internal */
14
+ export declare function reportExtensionFailure(page: PageMetadata, entries: PageExtensionEntry[], info: PageExtensionInfo, contribution: PageExtensionComponent, error: unknown): void;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeStaleExtensions = removeStaleExtensions;
4
+ exports.prepareExtensionEntries = prepareExtensionEntries;
5
+ exports.prepareExtensionComponent = prepareExtensionComponent;
6
+ exports.reportExtensionFailure = reportExtensionFailure;
7
+ /** @internal */
8
+ const logging_1 = require("@antelopejs/interface-core/logging");
9
+ const declaration_conflict_1 = require("../declaration-conflict");
10
+ const extension_validation_1 = require("./extension-validation");
11
+ const metadata_owner_1 = require("./metadata-owner");
12
+ const registry_1 = require("./registry");
13
+ /** @internal */
14
+ function removeStaleExtensions(page, infos) {
15
+ const owner = (0, metadata_owner_1.metadataOwner)(page);
16
+ const desired = new Set(infos);
17
+ // oxlint-disable-next-line unicorn/no-useless-spread -- Snapshot the keys before drop deletes entries from the same map.
18
+ for (const info of [...owner.extensionEntries.keys()]) {
19
+ if (!desired.has(info))
20
+ owner.drop(info);
21
+ }
22
+ }
23
+ /** @internal */
24
+ function prepareExtensionEntries(page, info) {
25
+ const owner = (0, metadata_owner_1.metadataOwner)(page);
26
+ const errors = (0, extension_validation_1.collectExtensionErrors)(info, {
27
+ own: owner.ownComponents,
28
+ taken: owner.takenKeys(),
29
+ });
30
+ const entries = [];
31
+ owner.extensionEntries.set(info, entries);
32
+ if (errors.length > 0) {
33
+ for (const error of errors)
34
+ logging_1.Logging.Error(`[dms] ${error}`);
35
+ return;
36
+ }
37
+ return entries;
38
+ }
39
+ /** @internal */
40
+ function prepareExtensionComponent(page, info, contribution) {
41
+ const owner = (0, metadata_owner_1.metadataOwner)(page);
42
+ const componentPath = owner.path(contribution);
43
+ return (0, registry_1.runAsPageExtensionOwner)(info, () => owner.prepareExtension(contribution, componentPath));
44
+ }
45
+ /** @internal */
46
+ function reportExtensionFailure(page, entries, info, contribution,
47
+ // oxlint-disable-next-line anti-slop/no-unknown-parameters -- JavaScript catch values have no owner-declared type; preserve cleanup, conflict rethrow, and late string conversion for arbitrary throws.
48
+ error) {
49
+ const owner = (0, metadata_owner_1.metadataOwner)(page);
50
+ entries.pop();
51
+ owner.unregisterExtension(contribution);
52
+ if (error instanceof declaration_conflict_1.PageDeclarationConflictError)
53
+ throw error;
54
+ logging_1.Logging.Error(`[dms] page extension "${info.extensionName}" could not register component "${contribution.key}" on page "${info.targetFullId}": ${String(error)}`);
55
+ }
56
+ //# sourceMappingURL=metadata-extension-contributions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-extension-contributions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extension-contributions.ts"],"names":[],"mappings":";;AAWA,sDAUC;AAGD,0DAgBC;AAGD,8DAUC;AAGD,wDAeC;AAvED,gBAAgB;AAChB,gEAA6D;AAC7D,kEAAuE;AAIvE,iEAAgE;AAChE,qDAAiD;AACjD,yCAAqD;AAErD,gBAAgB;AAChB,SAAgB,qBAAqB,CACnC,IAAkB,EAClB,KAA0B;IAE1B,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,yHAAyH;IACzH,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,SAAgB,uBAAuB,CACrC,IAAkB,EAClB,IAAuB;IAEvB,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAA,6CAAsB,EAAC,IAAI,EAAE;QAC1C,GAAG,EAAE,KAAK,CAAC,aAAa;QACxB,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,iBAAO,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,IAAkB,EAClB,IAAuB,EACvB,YAAoC;IAEpC,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,IAAA,kCAAuB,EAAC,IAAI,EAAE,GAAG,EAAE,CACxC,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,CACpD,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,IAAkB,EAClB,OAA6B,EAC7B,IAAuB,EACvB,YAAoC;AACpC,wMAAwM;AACxM,KAAc;IAEd,MAAM,KAAK,GAAG,IAAA,8BAAa,EAAC,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,KAAK,YAAY,mDAA4B;QAAE,MAAM,KAAK,CAAC;IAC/D,iBAAO,CAAC,KAAK,CACX,yBAAyB,IAAI,CAAC,aAAa,mCAAmC,YAAY,CAAC,GAAG,cAAc,IAAI,CAAC,YAAY,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,CACnJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** @internal */
2
+ import type { ComponentInfoSerialized } from "../../component";
3
+ import type { PageExtensionComponent, PageExtensionInfo } from "../types";
4
+ import type { PageExtensionEntry } from "./extension-assembly";
5
+ /** @internal */
6
+ export declare function extensionComponentPath(component: PageExtensionComponent): string;
7
+ /** @internal */
8
+ export declare function takenComponentKeys(owner: string, own: Record<string, ComponentInfoSerialized>, extensions: () => Map<PageExtensionInfo, PageExtensionEntry[]>): Map<string, string>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extensionComponentPath = extensionComponentPath;
4
+ exports.takenComponentKeys = takenComponentKeys;
5
+ /** @internal */
6
+ function extensionComponentPath(component) {
7
+ const anchorPath = component.anchorPath ?? [];
8
+ if (anchorPath.length <= 1)
9
+ return component.key;
10
+ return [...anchorPath.slice(0, -1), component.key].join(".");
11
+ }
12
+ /** @internal */
13
+ function takenComponentKeys(owner, own, extensions) {
14
+ const taken = new Map(Object.keys(own).map((key) => [key, owner]));
15
+ for (const [info, entries] of extensions()) {
16
+ for (const entry of entries)
17
+ taken.set(entry.key, info.extensionName);
18
+ }
19
+ return taken;
20
+ }
21
+ //# sourceMappingURL=metadata-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-extensions.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-extensions.ts"],"names":[],"mappings":";;AAMA,wDAMC;AAGD,gDAYC;AAtBD,gBAAgB;AAChB,SAAgB,sBAAsB,CACpC,SAAiC;IAEjC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,GAAG,CAAC;IACjD,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,gBAAgB;AAChB,SAAgB,kBAAkB,CAChC,KAAa,EACb,GAA4C,EAC5C,UAA8D;IAE9D,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAC5C,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
- // The request-tenant decorator and the two module route guards: telling whether
3
- // a page lives inside a module, and logging once that a route was blocked for
4
- // that reason.
5
- //
6
- // Split out of metadata.ts.
7
2
  Object.defineProperty(exports, "__esModule", { value: true });
8
3
  exports.RequestRouteParametersProperty = exports.RequestQueryProperty = exports.RequestTenantIdProperty = void 0;
9
4
  exports.readRequestQuery = readRequestQuery;
@@ -12,16 +7,7 @@ exports.logModuleRouteGated = logModuleRouteGated;
12
7
  const interface_api_1 = require("@antelopejs/interface-api");
13
8
  const decorators_1 = require("@antelopejs/interface-core/decorators");
14
9
  const logging_1 = require("@antelopejs/interface-core/logging");
15
- // Import from the defining leaf, not the dms-base barrel: the barrel pulls in
16
- // table-view, which imports the page interface back — entering through the
17
- // barrel would then call DefaultLayout() while the barrel is still
18
- // mid-evaluation.
19
10
  const request_tenant_1 = require("../../request-tenant");
20
- // Deliberate and documented above: categories resolve controller
21
- // classes through PageMetadata, and metadata registers pages
22
- // through the proxies declared in categories. Neither module
23
- // dereferences the other while it evaluates.
24
- // oxlint-disable-next-line import/no-cycle
25
11
  const types_1 = require("../types");
26
12
  /** @internal */
27
13
  exports.RequestTenantIdProperty = (0, decorators_1.MakeParameterAndPropertyDecorator)((target, key, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-helpers.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-helpers.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,eAAe;AACf,EAAE;AACF,4BAA4B;;;AAkC5B,4CAIC;AAwBD,gDAEC;AAKD,kDAIC;AAvED,6DAGmC;AACnC,sEAA0F;AAC1F,gEAA6D;AAC7D,8EAA8E;AAC9E,2EAA2E;AAC3E,mEAAmE;AACnE,kBAAkB;AAClB,yDAA8D;AAC9D,iEAAiE;AACjE,6DAA6D;AAC7D,6DAA6D;AAC7D,6CAA6C;AAC7C,2CAA2C;AAC3C,oCAA4D;AAC5D,gBAAgB;AACH,QAAA,uBAAuB,GAAG,IAAA,8CAAiC,EACtE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAC/D,IAAA,uCAAsB,EAAC,GAAG,CAAC,CAC5B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,GAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,gBAAgB;AACH,QAAA,oBAAoB,GAAG,IAAA,8CAAiC,EACnE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACU,QAAA,8BAA8B,GAAG,IAAA,8CAAiC,EAC7E,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC;QACjE,GAAG,GAAG,CAAC,eAAe;KACvB,CAAC,CAAC,CAAC;AACN,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,yBAAiB,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,gBAAgB;AAChB,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC5C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,iBAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,uBAAuB,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"metadata-helpers.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-helpers.ts"],"names":[],"mappings":";;;AAuBA,4CAIC;AAwBD,gDAEC;AAKD,kDAIC;AA9DD,6DAGmC;AACnC,sEAA0F;AAC1F,gEAA6D;AAC7D,yDAA8D;AAC9D,oCAA4D;AAC5D,gBAAgB;AACH,QAAA,uBAAuB,GAAG,IAAA,8CAAiC,EACtE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAC/D,IAAA,uCAAsB,EAAC,GAAG,CAAC,CAC5B,CAAC;AACJ,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACH,SAAgB,gBAAgB,CAC9B,GAAgC;IAEhC,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAClD,CAAC;AAED,gBAAgB;AACH,QAAA,oBAAoB,GAAG,IAAA,8CAAiC,EACnE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF;;;;;GAKG;AACU,QAAA,8BAA8B,GAAG,IAAA,8CAAiC,EAC7E,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IACrB,IAAA,oCAAoB,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,GAAmB,EAAE,EAAE,CAAC,CAAC;QACjE,GAAG,GAAG,CAAC,eAAe;KACvB,CAAC,CAAC,CAAC;AACN,CAAC,CACF,CAAC;AAEF,gBAAgB;AAChB,SAAgB,kBAAkB,CAAC,QAAkB;IACnD,OAAO,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,yBAAiB,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,gBAAgB;AAChB,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC5C,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,iBAAO,CAAC,IAAI,CAAC,sBAAsB,QAAQ,uBAAuB,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ComponentInfo } from "../../component";
2
+ import type { PageMetadata } from "../metadata";
3
+ import type { MenuOptions } from "../types";
4
+ /** @internal */
5
+ export declare function setPageInfo(page: PageMetadata, id: string, fullSlug: string, menuOptions: MenuOptions, pageLayout?: ComponentInfo): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setPageInfo = setPageInfo;
4
+ /** @internal @packageDocumentation */
5
+ const page_layout_1 = require("../../component-options/page-layout");
6
+ const page_routes_1 = require("../page-routes");
7
+ // oxlint-disable-next-line import/no-cycle -- Category resolution reads PageMetadata inside functions, after metadata initialization.
8
+ const categories_1 = require("./categories");
9
+ const member_access_1 = require("./member-access");
10
+ /** @internal */
11
+ function setPageInfo(page, id, fullSlug, menuOptions, pageLayout) {
12
+ const { parent, ...menu } = menuOptions;
13
+ const resolvedCategory = (0, categories_1.resolveCategoryInfo)(menu.category);
14
+ const parentFullId = resolvedCategory?.fullId ?? "";
15
+ const fullId = parentFullId ? `${parentFullId}.${id}` : id;
16
+ const location = (0, page_routes_1.pageRoutePath)(fullSlug, "/pagelayout");
17
+ const pageInfo = {
18
+ ...menu,
19
+ category: resolvedCategory,
20
+ id,
21
+ fullId,
22
+ fullSlug,
23
+ layoutUrl: location,
24
+ parentSlug: parent ? (0, categories_1.resolveCategoryInfo)(parent)?.fullSlug : undefined,
25
+ hidden: menu.hidden || resolvedCategory?.hidden,
26
+ publicAccess: menu.publicAccess || resolvedCategory?.publicAccess,
27
+ authOnly: menu.authOnly || resolvedCategory?.authOnly,
28
+ memberAccess: menu.memberAccess ||
29
+ (0, member_access_1.inheritedMemberAccess)(resolvedCategory?.memberAccess),
30
+ bypassTenantAccessGate: menu.bypassTenantAccessGate || resolvedCategory?.bypassTenantAccessGate,
31
+ };
32
+ page.layout =
33
+ pageLayout ??
34
+ menu.layout ??
35
+ (0, categories_1.resolveInheritedLayout)(resolvedCategory) ??
36
+ (0, page_layout_1.DefaultLayout)();
37
+ page.pageInfo = pageInfo;
38
+ }
39
+ //# sourceMappingURL=metadata-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-info.js","sourceRoot":"","sources":["../../../src/page/internal/metadata-info.ts"],"names":[],"mappings":";;AAWA,kCAsCC;AAjDD,sCAAsC;AACtC,qEAAoE;AAGpE,gDAA+C;AAE/C,sIAAsI;AACtI,6CAA2E;AAC3E,mDAAwD;AAExD,gBAAgB;AAChB,SAAgB,WAAW,CACzB,IAAkB,EAClB,EAAU,EACV,QAAgB,EAChB,WAAwB,EACxB,UAA0B;IAE1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,WAAW,CAAC;IACxC,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3D,MAAM,QAAQ,GAAG,IAAA,2BAAa,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAa;QACzB,GAAG,IAAI;QACP,QAAQ,EAAE,gBAAgB;QAC1B,EAAE;QACF,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;QACtE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,MAAM;QAC/C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,gBAAgB,EAAE,YAAY;QACjE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EAAE,QAAQ;QACrD,YAAY,EACV,IAAI,CAAC,YAAY;YACjB,IAAA,qCAAqB,EAAC,gBAAgB,EAAE,YAAY,CAAC;QACvD,sBAAsB,EACpB,IAAI,CAAC,sBAAsB,IAAI,gBAAgB,EAAE,sBAAsB;KAC1E,CAAC;IAEF,IAAI,CAAC,MAAM;QACT,UAAU;YACV,IAAI,CAAC,MAAM;YACX,IAAA,mCAAsB,EAAC,gBAAgB,CAAC;YACxC,IAAA,2BAAa,GAAE,CAAC;IAClB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { ComponentFilterContext } from "../../component";
2
+ import type { PageMetadata } from "../metadata";
3
+ import type { PageLayout, PageLayoutRequest } from "../types";
4
+ import { filterLayoutHeaderActions, withComponentHeaderButtons } from "./layout-filter";
5
+ import type { readPageRecord } from "./page-record";
6
+ /** @internal */
7
+ export declare function registeredLayout(page: PageMetadata): PageLayout;
8
+ /** @internal */
9
+ export declare function tenantGateRequired(page: PageMetadata, enforce: boolean, user: PageLayoutRequest["user"]): user is NonNullable<PageLayoutRequest["user"]>;
10
+ /** @internal */
11
+ export declare function prepareLayoutContext(request: Pick<PageLayoutRequest, "user" | "memberModel" | "roleModel" | "tenantId" | "query" | "params" | "resolverContext">): {
12
+ context: ComponentFilterContext;
13
+ loadPermissions: () => Promise<Set<string>>;
14
+ };
15
+ /** @internal */
16
+ export declare function filterPageHeader(page: PageMetadata, layout: PageLayout, load: Parameters<typeof filterLayoutHeaderActions>[1], context: ComponentFilterContext, read: Awaited<ReturnType<typeof readPageRecord>>): Promise<import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined>;
17
+ /** @internal */
18
+ export declare function filterPageComponents(page: PageMetadata, components: PageLayout["components"], permissions: Set<string>, context: ComponentFilterContext): Promise<Record<string, import("../..").ComponentInfoSerialized>>;
19
+ /** @internal */
20
+ export declare function permissionLoader(user: PageLayoutRequest["user"], memberModel: PageLayoutRequest["memberModel"], roleModel: PageLayoutRequest["roleModel"], tenantId: PageLayoutRequest["tenantId"], resolverContext: PageLayoutRequest["resolverContext"]): () => Promise<Set<string>>;
21
+ /** @internal */
22
+ export declare function prepareLayoutResponse(layout: PageLayout, components: PageLayout["components"]): (header: Parameters<typeof withComponentHeaderButtons>[0]) => {
23
+ layout: import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined;
24
+ components: Record<string, import("../..").ComponentInfoSerialized>;
25
+ allComponentsHidden?: true;
26
+ };
27
+ /** @internal */
28
+ export declare function prepareFilteredLayoutResponse(layout: PageLayout, declared: PageLayout["components"], served: PageLayout["components"]): (header: Parameters<typeof withComponentHeaderButtons>[0]) => {
29
+ allComponentsHidden?: true;
30
+ layout: import("../..").ComponentInfo<unknown, import("../..").Component<unknown>, import("../..").ComponentChild<unknown, import("../..").Component<unknown>>> | undefined;
31
+ components: Record<string, import("../..").ComponentInfoSerialized>;
32
+ };