@antelopejs/interface-dms 0.3.5 → 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 +27 -0
  2. package/README.md +2 -2
  3. package/dist/attachments.d.ts +19 -10
  4. package/dist/attachments.js +15 -0
  5. package/dist/attachments.js.map +1 -1
  6. package/dist/auth/db/internal/sessions.model.d.ts +9 -0
  7. package/dist/auth/db/internal/sessions.model.js +31 -0
  8. package/dist/auth/db/internal/sessions.model.js.map +1 -0
  9. package/dist/auth/db/models/sessions.model.d.ts +16 -2
  10. package/dist/auth/db/models/sessions.model.js +33 -41
  11. package/dist/auth/db/models/sessions.model.js.map +1 -1
  12. package/dist/auth/db/models/userExternalIdentities.model.d.ts +11 -0
  13. package/dist/auth/db/models/userExternalIdentities.model.js +11 -0
  14. package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -1
  15. package/dist/auth/db/models/users.model.d.ts +13 -0
  16. package/dist/auth/db/models/users.model.js +13 -0
  17. package/dist/auth/db/models/users.model.js.map +1 -1
  18. package/dist/auth/db/tables/sessions.table.d.ts +6 -1
  19. package/dist/auth/db/tables/sessions.table.js +0 -4
  20. package/dist/auth/db/tables/sessions.table.js.map +1 -1
  21. package/dist/auth/db/tables/userExternalIdentities.table.d.ts +24 -0
  22. package/dist/auth/db/tables/userExternalIdentities.table.js +13 -0
  23. package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -1
  24. package/dist/auth/db/tables/users.table.d.ts +60 -0
  25. package/dist/auth/db/tables/users.table.js +32 -0
  26. package/dist/auth/db/tables/users.table.js.map +1 -1
  27. package/dist/auth/index.d.ts +114 -10
  28. package/dist/auth/index.js +110 -17
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/auth/internal/request-authenticators.d.ts +6 -0
  31. package/dist/auth/internal/request-authenticators.js +82 -0
  32. package/dist/auth/internal/request-authenticators.js.map +1 -0
  33. package/dist/auth/internal/request-principal.d.ts +10 -0
  34. package/dist/auth/internal/request-principal.js +27 -0
  35. package/dist/auth/internal/request-principal.js.map +1 -0
  36. package/dist/auth/internal/user-agent.d.ts +10 -0
  37. package/dist/auth/internal/user-agent.js +3 -0
  38. package/dist/auth/internal/user-agent.js.map +1 -0
  39. package/dist/auth/password.d.ts +19 -0
  40. package/dist/auth/password.js +23 -0
  41. package/dist/auth/password.js.map +1 -1
  42. package/dist/auth/request-authenticators.d.ts +4 -3
  43. package/dist/auth/request-authenticators.js +0 -77
  44. package/dist/auth/request-authenticators.js.map +1 -1
  45. package/dist/base/activity-feed.d.ts +210 -0
  46. package/dist/base/activity-feed.js +104 -0
  47. package/dist/base/activity-feed.js.map +1 -0
  48. package/dist/base/banner.d.ts +111 -0
  49. package/dist/base/banner.js +93 -0
  50. package/dist/base/banner.js.map +1 -0
  51. package/dist/base/block-registry/helpers.d.ts +26 -0
  52. package/dist/base/block-registry/helpers.js +27 -1
  53. package/dist/base/block-registry/helpers.js.map +1 -1
  54. package/dist/base/block-registry/internal/describe.d.ts +35 -0
  55. package/dist/base/block-registry/{describe.js → internal/describe.js} +50 -0
  56. package/dist/base/block-registry/internal/describe.js.map +1 -0
  57. package/dist/base/block-registry/internal/ui.d.ts +23 -0
  58. package/dist/base/block-registry/internal/ui.js +35 -0
  59. package/dist/base/block-registry/internal/ui.js.map +1 -0
  60. package/dist/base/block-registry/registry.d.ts +24 -0
  61. package/dist/base/block-registry/registry.js +30 -1
  62. package/dist/base/block-registry/registry.js.map +1 -1
  63. package/dist/base/block-registry/types.d.ts +149 -0
  64. package/dist/base/block-types.d.ts +22 -2
  65. package/dist/base/block-types.js +24 -2
  66. package/dist/base/block-types.js.map +1 -1
  67. package/dist/base/card.d.ts +100 -0
  68. package/dist/base/card.js +91 -0
  69. package/dist/base/card.js.map +1 -0
  70. package/dist/base/chart-card.d.ts +9 -2
  71. package/dist/base/chart-card.js +14 -1
  72. package/dist/base/chart-card.js.map +1 -1
  73. package/dist/base/chart-schemas.d.ts +127 -115
  74. package/dist/base/chart-schemas.js +18 -56
  75. package/dist/base/chart-schemas.js.map +1 -1
  76. package/dist/base/chart-type.d.ts +15 -0
  77. package/dist/base/chart-type.js +20 -0
  78. package/dist/base/chart-type.js.map +1 -0
  79. package/dist/base/chart.d.ts +31 -22
  80. package/dist/base/chart.js +27 -54
  81. package/dist/base/chart.js.map +1 -1
  82. package/dist/base/confirm-dialog.d.ts +6 -0
  83. package/dist/base/confirm-dialog.js +18 -0
  84. package/dist/base/confirm-dialog.js.map +1 -0
  85. package/dist/base/data-sources.d.ts +38 -0
  86. package/dist/base/data-sources.js +13 -0
  87. package/dist/base/data-sources.js.map +1 -1
  88. package/dist/base/data-types/compare-types.d.ts +0 -2
  89. package/dist/base/data-types/compare-types.js +18 -13
  90. package/dist/base/data-types/compare-types.js.map +1 -1
  91. package/dist/base/data-types/core.d.ts +55 -0
  92. package/dist/base/data-types/core.js +42 -0
  93. package/dist/base/data-types/core.js.map +1 -1
  94. package/dist/base/data-types/default-types.d.ts +241 -62
  95. package/dist/base/data-types/default-types.js +257 -135
  96. package/dist/base/data-types/default-types.js.map +1 -1
  97. package/dist/base/data-types/field-types.d.ts +164 -0
  98. package/dist/base/data-types/field-types.js +236 -0
  99. package/dist/base/data-types/field-types.js.map +1 -0
  100. package/dist/base/data-types/index.d.ts +1 -0
  101. package/dist/base/data-types/index.js +21 -0
  102. package/dist/base/data-types/index.js.map +1 -1
  103. package/dist/base/data-types/internal/compare-types.d.ts +3 -0
  104. package/dist/base/data-types/internal/compare-types.js +15 -0
  105. package/dist/base/data-types/internal/compare-types.js.map +1 -0
  106. package/dist/base/data-types/status-type.d.ts +2 -1
  107. package/dist/base/data-types/status-type.js +6 -0
  108. package/dist/base/data-types/status-type.js.map +1 -1
  109. package/dist/base/display.d.ts +124 -0
  110. package/dist/base/display.js +95 -0
  111. package/dist/base/display.js.map +1 -0
  112. package/dist/base/empty-state.d.ts +106 -0
  113. package/dist/base/empty-state.js +109 -0
  114. package/dist/base/empty-state.js.map +1 -0
  115. package/dist/base/export-jobs.d.ts +39 -1
  116. package/dist/base/export-jobs.js +12 -3
  117. package/dist/base/export-jobs.js.map +1 -1
  118. package/dist/base/form-block-schema.d.ts +345 -28
  119. package/dist/base/form-block-schema.js +83 -12
  120. package/dist/base/form-block-schema.js.map +1 -1
  121. package/dist/base/form-schema.d.ts +137 -22
  122. package/dist/base/form-schema.js +139 -42
  123. package/dist/base/form-schema.js.map +1 -1
  124. package/dist/base/form-types.d.ts +139 -4
  125. package/dist/base/form-types.js +7 -1
  126. package/dist/base/form-types.js.map +1 -1
  127. package/dist/base/form.js +7 -0
  128. package/dist/base/form.js.map +1 -1
  129. package/dist/base/grid.d.ts +57 -0
  130. package/dist/base/grid.js +43 -0
  131. package/dist/base/grid.js.map +1 -1
  132. package/dist/base/helpers/file-refs.js +5 -1
  133. package/dist/base/helpers/file-refs.js.map +1 -1
  134. package/dist/base/index.d.ts +11 -1
  135. package/dist/base/index.js +16 -1
  136. package/dist/base/index.js.map +1 -1
  137. package/dist/base/internal/button-availability.d.ts +17 -0
  138. package/dist/base/internal/button-availability.js +31 -0
  139. package/dist/base/internal/button-availability.js.map +1 -0
  140. package/dist/base/internal/chart-schemas.d.ts +6 -0
  141. package/dist/base/internal/chart-schemas.js +70 -0
  142. package/dist/base/internal/chart-schemas.js.map +1 -0
  143. package/dist/base/internal/chart.d.ts +22 -0
  144. package/dist/base/internal/chart.js +37 -0
  145. package/dist/base/internal/chart.js.map +1 -0
  146. package/dist/base/internal/confirm-dialog.d.ts +13 -0
  147. package/dist/base/internal/confirm-dialog.js +24 -0
  148. package/dist/base/internal/confirm-dialog.js.map +1 -0
  149. package/dist/base/internal/display.d.ts +13 -0
  150. package/dist/base/internal/display.js +18 -0
  151. package/dist/base/internal/display.js.map +1 -0
  152. package/dist/base/internal/export-jobs.d.ts +2 -0
  153. package/dist/base/internal/export-jobs.js +6 -0
  154. package/dist/base/internal/export-jobs.js.map +1 -0
  155. package/dist/base/internal/form-block-schema.d.ts +6 -0
  156. package/dist/base/internal/form-block-schema.js +10 -0
  157. package/dist/base/internal/form-block-schema.js.map +1 -0
  158. package/dist/base/internal/form-schema.d.ts +7 -0
  159. package/dist/base/internal/form-schema.js +26 -0
  160. package/dist/base/internal/form-schema.js.map +1 -0
  161. package/dist/base/internal/layouts.d.ts +39 -0
  162. package/dist/base/internal/layouts.js +3 -0
  163. package/dist/base/internal/layouts.js.map +1 -0
  164. package/dist/base/internal/query-response.d.ts +24 -0
  165. package/dist/base/internal/query-response.js +47 -0
  166. package/dist/base/internal/query-response.js.map +1 -0
  167. package/dist/base/internal/searchable.d.ts +6 -0
  168. package/dist/base/internal/searchable.js +15 -0
  169. package/dist/base/internal/searchable.js.map +1 -0
  170. package/dist/base/key-value-list.d.ts +160 -0
  171. package/dist/base/key-value-list.js +107 -0
  172. package/dist/base/key-value-list.js.map +1 -0
  173. package/dist/base/kpi-card.d.ts +12 -4
  174. package/dist/base/kpi-card.js +7 -0
  175. package/dist/base/kpi-card.js.map +1 -1
  176. package/dist/base/layouts.d.ts +35 -0
  177. package/dist/base/layouts.js +41 -7
  178. package/dist/base/layouts.js.map +1 -1
  179. package/dist/base/meter.d.ts +186 -0
  180. package/dist/base/meter.js +134 -0
  181. package/dist/base/meter.js.map +1 -0
  182. package/dist/base/nav-card-grid.d.ts +173 -0
  183. package/dist/base/nav-card-grid.js +89 -0
  184. package/dist/base/nav-card-grid.js.map +1 -0
  185. package/dist/base/period-selector.d.ts +20 -0
  186. package/dist/base/period-selector.js +23 -0
  187. package/dist/base/period-selector.js.map +1 -1
  188. package/dist/base/placeholder.d.ts +26 -0
  189. package/dist/base/placeholder.js +12 -0
  190. package/dist/base/placeholder.js.map +1 -1
  191. package/dist/base/query-response.d.ts +51 -1
  192. package/dist/base/query-response.js +43 -26
  193. package/dist/base/query-response.js.map +1 -1
  194. package/dist/base/resource-form-schema.d.ts +18 -0
  195. package/dist/base/resource-form-schema.js +20 -3
  196. package/dist/base/resource-form-schema.js.map +1 -1
  197. package/dist/base/searchable.d.ts +2 -0
  198. package/dist/base/searchable.js +4 -0
  199. package/dist/base/searchable.js.map +1 -1
  200. package/dist/base/section.d.ts +105 -0
  201. package/dist/base/section.js +123 -0
  202. package/dist/base/section.js.map +1 -0
  203. package/dist/base/stack.d.ts +113 -0
  204. package/dist/base/stack.js +58 -0
  205. package/dist/base/stack.js.map +1 -1
  206. package/dist/base/stat-group.d.ts +152 -0
  207. package/dist/base/stat-group.js +97 -0
  208. package/dist/base/stat-group.js.map +1 -0
  209. package/dist/base/tab.d.ts +25 -8
  210. package/dist/base/tab.js +11 -0
  211. package/dist/base/tab.js.map +1 -1
  212. package/dist/base/table-view/column-display.d.ts +195 -0
  213. package/dist/base/table-view/column-display.js +131 -0
  214. package/dist/base/table-view/column-display.js.map +1 -0
  215. package/dist/base/table-view/data-functions.d.ts +36 -14
  216. package/dist/base/table-view/data-functions.js +26 -1
  217. package/dist/base/table-view/data-functions.js.map +1 -1
  218. package/dist/base/table-view/factory-helpers.d.ts +0 -42
  219. package/dist/base/table-view/factory-helpers.js +1 -244
  220. package/dist/base/table-view/factory-helpers.js.map +1 -1
  221. package/dist/base/table-view/factory.d.ts +5 -1
  222. package/dist/base/table-view/factory.js +158 -202
  223. package/dist/base/table-view/factory.js.map +1 -1
  224. package/dist/base/table-view/internal/auth.d.ts +33 -0
  225. package/dist/base/table-view/{auth.js → internal/auth.js} +45 -6
  226. package/dist/base/table-view/internal/auth.js.map +1 -0
  227. package/dist/base/table-view/internal/column-display.d.ts +18 -0
  228. package/dist/base/table-view/internal/column-display.js +37 -0
  229. package/dist/base/table-view/internal/column-display.js.map +1 -0
  230. package/dist/base/table-view/internal/data-functions.d.ts +14 -0
  231. package/dist/base/table-view/internal/data-functions.js +3 -0
  232. package/dist/base/table-view/internal/data-functions.js.map +1 -0
  233. package/dist/base/table-view/internal/factory-helpers.d.ts +213 -0
  234. package/dist/base/table-view/internal/factory-helpers.js +477 -0
  235. package/dist/base/table-view/internal/factory-helpers.js.map +1 -0
  236. package/dist/base/table-view/{files.d.ts → internal/files.d.ts} +5 -0
  237. package/dist/base/table-view/{files.js → internal/files.js} +14 -4
  238. package/dist/base/table-view/internal/files.js.map +1 -0
  239. package/dist/base/table-view/internal/footer.d.ts +33 -0
  240. package/dist/base/table-view/internal/footer.js +112 -0
  241. package/dist/base/table-view/internal/footer.js.map +1 -0
  242. package/dist/base/table-view/{guards.d.ts → internal/guards.d.ts} +3 -0
  243. package/dist/base/table-view/internal/guards.js +134 -0
  244. package/dist/base/table-view/internal/guards.js.map +1 -0
  245. package/dist/base/table-view/internal/meta.d.ts +5 -0
  246. package/dist/base/table-view/internal/meta.js +13 -0
  247. package/dist/base/table-view/internal/meta.js.map +1 -0
  248. package/dist/base/table-view/internal/nav-badges.d.ts +9 -0
  249. package/dist/base/table-view/internal/nav-badges.js +79 -0
  250. package/dist/base/table-view/internal/nav-badges.js.map +1 -0
  251. package/dist/base/table-view/internal/options.d.ts +6 -0
  252. package/dist/base/table-view/internal/options.js +10 -0
  253. package/dist/base/table-view/internal/options.js.map +1 -0
  254. package/dist/base/table-view/internal/realtime-listeners.d.ts +4 -0
  255. package/dist/base/table-view/internal/realtime-listeners.js +7 -0
  256. package/dist/base/table-view/internal/realtime-listeners.js.map +1 -0
  257. package/dist/base/table-view/internal/realtime.d.ts +39 -0
  258. package/dist/base/table-view/internal/realtime.js +163 -0
  259. package/dist/base/table-view/internal/realtime.js.map +1 -0
  260. package/dist/base/table-view/internal/request-filter.d.ts +75 -0
  261. package/dist/base/table-view/internal/request-filter.js +154 -0
  262. package/dist/base/table-view/internal/request-filter.js.map +1 -0
  263. package/dist/base/table-view/internal/resource-form.d.ts +25 -0
  264. package/dist/base/table-view/internal/resource-form.js +91 -0
  265. package/dist/base/table-view/internal/resource-form.js.map +1 -0
  266. package/dist/base/table-view/{row-rules.d.ts → internal/row-rules.d.ts} +5 -2
  267. package/dist/base/table-view/{row-rules.js → internal/row-rules.js} +20 -19
  268. package/dist/base/table-view/internal/row-rules.js.map +1 -0
  269. package/dist/base/table-view/internal/tabs.d.ts +39 -0
  270. package/dist/base/table-view/internal/tabs.js +116 -0
  271. package/dist/base/table-view/internal/tabs.js.map +1 -0
  272. package/dist/base/table-view/internal/validation.d.ts +99 -0
  273. package/dist/base/table-view/internal/validation.js +297 -0
  274. package/dist/base/table-view/internal/validation.js.map +1 -0
  275. package/dist/base/table-view/internal/views.d.ts +14 -0
  276. package/dist/base/table-view/internal/views.js +42 -0
  277. package/dist/base/table-view/internal/views.js.map +1 -0
  278. package/dist/base/table-view/internal/writer.d.ts +39 -0
  279. package/dist/base/table-view/internal/writer.js +55 -0
  280. package/dist/base/table-view/internal/writer.js.map +1 -0
  281. package/dist/base/table-view/meta.d.ts +77 -4
  282. package/dist/base/table-view/meta.js +133 -13
  283. package/dist/base/table-view/meta.js.map +1 -1
  284. package/dist/base/table-view/options.d.ts +749 -28
  285. package/dist/base/table-view/options.js +9 -2
  286. package/dist/base/table-view/options.js.map +1 -1
  287. package/dist/base/table-view/realtime.d.ts +26 -17
  288. package/dist/base/table-view/realtime.js +29 -126
  289. package/dist/base/table-view/realtime.js.map +1 -1
  290. package/dist/base/table-view/resource-form.d.ts +11 -5
  291. package/dist/base/table-view/resource-form.js +15 -59
  292. package/dist/base/table-view/resource-form.js.map +1 -1
  293. package/dist/base/table-view/routes.d.ts +29 -0
  294. package/dist/base/table-view/routes.js +71 -6
  295. package/dist/base/table-view/routes.js.map +1 -1
  296. package/dist/base/table-view/schema.d.ts +483 -69
  297. package/dist/base/table-view/schema.js +163 -18
  298. package/dist/base/table-view/schema.js.map +1 -1
  299. package/dist/base/table-view/source.d.ts +62 -0
  300. package/dist/base/table-view/source.js +161 -0
  301. package/dist/base/table-view/source.js.map +1 -0
  302. package/dist/base/table-view/views.d.ts +20 -0
  303. package/dist/base/table-view/views.js +38 -0
  304. package/dist/base/table-view/views.js.map +1 -0
  305. package/dist/base/table-view/writer.d.ts +7 -0
  306. package/dist/base/table-view/writer.js +17 -0
  307. package/dist/base/table-view/writer.js.map +1 -0
  308. package/dist/base/table-view.d.ts +34 -6
  309. package/dist/base/table-view.js +42 -6
  310. package/dist/base/table-view.js.map +1 -1
  311. package/dist/base/tenant-export-archive.d.ts +21 -0
  312. package/dist/base/tenant-export-archive.js +11 -0
  313. package/dist/base/tenant-export-archive.js.map +1 -1
  314. package/dist/base/top-list-card.d.ts +35 -12
  315. package/dist/base/top-list-card.js +24 -0
  316. package/dist/base/top-list-card.js.map +1 -1
  317. package/dist/base/types/action-target.d.ts +36 -20
  318. package/dist/base/types/component-input.d.ts +3 -0
  319. package/dist/base/types/confirm-dialog.d.ts +69 -0
  320. package/dist/base/types/confirm-dialog.js +3 -0
  321. package/dist/base/types/confirm-dialog.js.map +1 -0
  322. package/dist/base/types/custom-button.d.ts +48 -2
  323. package/dist/base/types/enum-option.d.ts +9 -0
  324. package/dist/base/types/error.d.ts +9 -0
  325. package/dist/base/types/error.js +7 -1
  326. package/dist/base/types/error.js.map +1 -1
  327. package/dist/base/types/export-status.d.ts +3 -0
  328. package/dist/base/types/export-status.js +3 -0
  329. package/dist/base/types/export-status.js.map +1 -1
  330. package/dist/base/types/field-config.d.ts +3 -0
  331. package/dist/base/types/form-mode.d.ts +3 -0
  332. package/dist/base/types/form-mode.js +3 -0
  333. package/dist/base/types/form-mode.js.map +1 -1
  334. package/dist/base/types/form-values.d.ts +6 -0
  335. package/dist/base/types/guards.d.ts +37 -7
  336. package/dist/base/types/index.d.ts +2 -0
  337. package/dist/base/types/index.js +2 -0
  338. package/dist/base/types/index.js.map +1 -1
  339. package/dist/base/types/internal/action-target.d.ts +8 -0
  340. package/dist/base/types/internal/action-target.js +16 -0
  341. package/dist/base/types/internal/action-target.js.map +1 -0
  342. package/dist/base/types/json.d.ts +6 -0
  343. package/dist/base/types/orientation.d.ts +3 -0
  344. package/dist/base/types/orientation.js +3 -0
  345. package/dist/base/types/orientation.js.map +1 -1
  346. package/dist/base/types/readonly-behavior.d.ts +9 -0
  347. package/dist/base/types/readonly-behavior.js +3 -0
  348. package/dist/base/types/readonly-behavior.js.map +1 -1
  349. package/dist/base/types/row-action.d.ts +111 -0
  350. package/dist/base/types/size.d.ts +1 -0
  351. package/dist/base/types/size.js +4 -0
  352. package/dist/base/types/size.js.map +1 -1
  353. package/dist/base/types/tone.d.ts +14 -0
  354. package/dist/base/types/tone.js +24 -0
  355. package/dist/base/types/tone.js.map +1 -0
  356. package/dist/client-base-url.d.ts +8 -0
  357. package/dist/client-base-url.js +8 -0
  358. package/dist/client-base-url.js.map +1 -1
  359. package/dist/component-slots.d.ts +17 -2
  360. package/dist/component-slots.js +18 -66
  361. package/dist/component-slots.js.map +1 -1
  362. package/dist/component.d.ts +113 -0
  363. package/dist/component.js +84 -1
  364. package/dist/component.js.map +1 -1
  365. package/dist/data-controllers/members.d.ts +16 -1
  366. package/dist/data-controllers/members.js +87 -26
  367. package/dist/data-controllers/members.js.map +1 -1
  368. package/dist/data-controllers/roles.d.ts +1 -0
  369. package/dist/data-controllers/roles.js +3 -3
  370. package/dist/data-controllers/roles.js.map +1 -1
  371. package/dist/db/{models → internal}/exportJobs.model.d.ts +2 -0
  372. package/dist/db/{models → internal}/exportJobs.model.js +4 -1
  373. package/dist/db/internal/exportJobs.model.js.map +1 -0
  374. package/dist/db/internal/inviteResolutions.model.d.ts +34 -0
  375. package/dist/db/internal/inviteResolutions.model.js +80 -0
  376. package/dist/db/internal/inviteResolutions.model.js.map +1 -0
  377. package/dist/db/internal/table-names.d.ts +4 -0
  378. package/dist/db/internal/table-names.js +8 -0
  379. package/dist/db/internal/table-names.js.map +1 -0
  380. package/dist/db/{models → internal}/tenantLifecycle.model.d.ts +10 -1
  381. package/dist/db/{models → internal}/tenantLifecycle.model.js +10 -1
  382. package/dist/db/internal/tenantLifecycle.model.js.map +1 -0
  383. package/dist/db/{tables → internal}/tenantLifecycle.table.d.ts +6 -0
  384. package/dist/db/{tables → internal}/tenantLifecycle.table.js +6 -0
  385. package/dist/db/internal/tenantLifecycle.table.js.map +1 -0
  386. package/dist/db/models/index.d.ts +0 -2
  387. package/dist/db/models/index.js +0 -2
  388. package/dist/db/models/index.js.map +1 -1
  389. package/dist/db/models/inviteResolutions.model.d.ts +1 -25
  390. package/dist/db/models/inviteResolutions.model.js +0 -68
  391. package/dist/db/models/inviteResolutions.model.js.map +1 -1
  392. package/dist/db/models/roles.model.d.ts +6 -0
  393. package/dist/db/models/roles.model.js +6 -0
  394. package/dist/db/models/roles.model.js.map +1 -1
  395. package/dist/db/models/tenantMembers.model.js +1 -1
  396. package/dist/db/models/tenantMembers.model.js.map +1 -1
  397. package/dist/db/models/user_invites.model.d.ts +24 -0
  398. package/dist/db/models/user_invites.model.js +25 -1
  399. package/dist/db/models/user_invites.model.js.map +1 -1
  400. package/dist/db/tables/exportJobs.table.d.ts +5 -1
  401. package/dist/db/tables/exportJobs.table.js +3 -3
  402. package/dist/db/tables/exportJobs.table.js.map +1 -1
  403. package/dist/db/tables/index.d.ts +0 -1
  404. package/dist/db/tables/index.js +0 -1
  405. package/dist/db/tables/index.js.map +1 -1
  406. package/dist/db/tables/inviteResolutions.table.d.ts +1 -1
  407. package/dist/db/tables/inviteResolutions.table.js +4 -3
  408. package/dist/db/tables/inviteResolutions.table.js.map +1 -1
  409. package/dist/db/tables/roles.table.d.ts +2 -0
  410. package/dist/db/tables/roles.table.js +4 -0
  411. package/dist/db/tables/roles.table.js.map +1 -1
  412. package/dist/db/tables/tenantMembers.table.d.ts +1 -0
  413. package/dist/db/tables/user_invites.table.d.ts +11 -0
  414. package/dist/db/tables/user_invites.table.js +4 -0
  415. package/dist/db/tables/user_invites.table.js.map +1 -1
  416. package/dist/guards.d.ts +36 -0
  417. package/dist/guards.js +30 -1
  418. package/dist/guards.js.map +1 -1
  419. package/dist/hooks.d.ts +133 -1
  420. package/dist/hooks.js +87 -1
  421. package/dist/hooks.js.map +1 -1
  422. package/dist/html-render/index.d.ts +15 -0
  423. package/dist/html-render/index.js +15 -0
  424. package/dist/html-render/index.js.map +1 -1
  425. package/dist/html-render/types.d.ts +4 -0
  426. package/dist/index.d.ts +6 -7
  427. package/dist/index.js +12 -17
  428. package/dist/index.js.map +1 -1
  429. package/dist/internal/attachments.d.ts +16 -0
  430. package/dist/internal/attachments.js +3 -0
  431. package/dist/internal/attachments.js.map +1 -0
  432. package/dist/internal/component-slots.d.ts +27 -0
  433. package/dist/internal/component-slots.js +97 -0
  434. package/dist/internal/component-slots.js.map +1 -0
  435. package/dist/internal/invite-membership.d.ts +8 -0
  436. package/dist/{invite-membership.js → internal/invite-membership.js} +11 -5
  437. package/dist/internal/invite-membership.js.map +1 -0
  438. package/dist/internal/invite-replacement.d.ts +7 -0
  439. package/dist/{invite-replacement.js → internal/invite-replacement.js} +8 -3
  440. package/dist/internal/invite-replacement.js.map +1 -0
  441. package/dist/internal/invite-resolution.d.ts +3 -0
  442. package/dist/internal/invite-resolution.js +50 -0
  443. package/dist/internal/invite-resolution.js.map +1 -0
  444. package/dist/internal/invites.d.ts +31 -0
  445. package/dist/internal/invites.js +44 -0
  446. package/dist/internal/invites.js.map +1 -0
  447. package/dist/internal/permission-gate.d.ts +23 -0
  448. package/dist/internal/permission-gate.js +43 -0
  449. package/dist/internal/permission-gate.js.map +1 -0
  450. package/dist/internal/tenant-access.d.ts +28 -0
  451. package/dist/internal/tenant-access.js +28 -0
  452. package/dist/internal/tenant-access.js.map +1 -0
  453. package/dist/internal/tenant-ownership.d.ts +13 -0
  454. package/dist/internal/tenant-ownership.js +95 -0
  455. package/dist/internal/tenant-ownership.js.map +1 -0
  456. package/dist/internal/uploads.d.ts +19 -0
  457. package/dist/internal/uploads.js +3 -0
  458. package/dist/internal/uploads.js.map +1 -0
  459. package/dist/invite-extensions/availability.d.ts +28 -3
  460. package/dist/invite-extensions/availability.js +26 -23
  461. package/dist/invite-extensions/availability.js.map +1 -1
  462. package/dist/invite-extensions/internal/availability.d.ts +12 -0
  463. package/dist/invite-extensions/internal/availability.js +32 -0
  464. package/dist/invite-extensions/internal/availability.js.map +1 -0
  465. package/dist/invite-extensions/internal/delivery.d.ts +44 -0
  466. package/dist/invite-extensions/{delivery.js → internal/delivery.js} +38 -0
  467. package/dist/invite-extensions/internal/delivery.js.map +1 -0
  468. package/dist/invite-extensions/internal/edit.d.ts +34 -0
  469. package/dist/invite-extensions/{edit.js → internal/edit.js} +33 -0
  470. package/dist/invite-extensions/internal/edit.js.map +1 -0
  471. package/dist/invite-extensions/internal/field-ids.d.ts +21 -0
  472. package/dist/invite-extensions/{field-ids.js → internal/field-ids.js} +13 -0
  473. package/dist/invite-extensions/internal/field-ids.js.map +1 -0
  474. package/dist/invite-extensions/internal/form-slot.d.ts +13 -0
  475. package/dist/invite-extensions/{form-slot.js → internal/form-slot.js} +49 -4
  476. package/dist/invite-extensions/internal/form-slot.js.map +1 -0
  477. package/dist/invite-extensions/internal/payload-slices.d.ts +31 -0
  478. package/dist/invite-extensions/{payload-slices.js → internal/payload-slices.js} +30 -0
  479. package/dist/invite-extensions/internal/payload-slices.js.map +1 -0
  480. package/dist/invite-extensions/internal/registry.d.ts +48 -0
  481. package/dist/invite-extensions/internal/registry.js +77 -0
  482. package/dist/invite-extensions/internal/registry.js.map +1 -0
  483. package/dist/invite-extensions/internal/types.d.ts +61 -0
  484. package/dist/invite-extensions/internal/types.js +3 -0
  485. package/dist/invite-extensions/internal/types.js.map +1 -0
  486. package/dist/invite-extensions/registry.d.ts +44 -12
  487. package/dist/invite-extensions/registry.js +51 -43
  488. package/dist/invite-extensions/registry.js.map +1 -1
  489. package/dist/invite-extensions/types.d.ts +59 -34
  490. package/dist/invite-extensions.d.ts +30 -4
  491. package/dist/invite-extensions.js +57 -7
  492. package/dist/invite-extensions.js.map +1 -1
  493. package/dist/invite-resolution.d.ts +5 -2
  494. package/dist/invite-resolution.js +16 -46
  495. package/dist/invite-resolution.js.map +1 -1
  496. package/dist/invitee-display-name.d.ts +5 -0
  497. package/dist/invitee-display-name.js +15 -0
  498. package/dist/invitee-display-name.js.map +1 -0
  499. package/dist/invites.d.ts +46 -14
  500. package/dist/invites.js +41 -44
  501. package/dist/invites.js.map +1 -1
  502. package/dist/layout-banners.d.ts +68 -0
  503. package/dist/layout-banners.js +18 -0
  504. package/dist/layout-banners.js.map +1 -1
  505. package/dist/notifications/builder.d.ts +3 -1
  506. package/dist/notifications/builder.js +10 -0
  507. package/dist/notifications/builder.js.map +1 -1
  508. package/dist/notifications/index.d.ts +1 -0
  509. package/dist/notifications/index.js +16 -0
  510. package/dist/notifications/index.js.map +1 -1
  511. package/dist/notifications/internal.d.ts +8 -5
  512. package/dist/notifications/internal.js +6 -0
  513. package/dist/notifications/internal.js.map +1 -1
  514. package/dist/notifications/sendable.d.ts +6 -0
  515. package/dist/notifications/sendable.js +13 -4
  516. package/dist/notifications/sendable.js.map +1 -1
  517. package/dist/notifications/types.d.ts +26 -1
  518. package/dist/page/categories.d.ts +19 -17
  519. package/dist/page/categories.js +24 -168
  520. package/dist/page/categories.js.map +1 -1
  521. package/dist/page/component-tree.d.ts +15 -1
  522. package/dist/page/component-tree.js +0 -40
  523. package/dist/page/component-tree.js.map +1 -1
  524. package/dist/page/controllers.d.ts +135 -0
  525. package/dist/page/controllers.js +124 -8
  526. package/dist/page/controllers.js.map +1 -1
  527. package/dist/page/declaration-conflict.d.ts +9 -0
  528. package/dist/page/declaration-conflict.js +17 -0
  529. package/dist/page/declaration-conflict.js.map +1 -0
  530. package/dist/page/form-page-routes.d.ts +7 -10
  531. package/dist/page/form-page-routes.js +14 -31
  532. package/dist/page/form-page-routes.js.map +1 -1
  533. package/dist/page/internal/categories.d.ts +62 -0
  534. package/dist/page/internal/categories.js +260 -0
  535. package/dist/page/internal/categories.js.map +1 -0
  536. package/dist/page/internal/component-target.d.ts +37 -0
  537. package/dist/page/{component-target.js → internal/component-target.js} +27 -2
  538. package/dist/page/internal/component-target.js.map +1 -0
  539. package/dist/page/internal/component-tree.d.ts +13 -0
  540. package/dist/page/internal/component-tree.js +61 -0
  541. package/dist/page/internal/component-tree.js.map +1 -0
  542. package/dist/page/{extension-assembly.d.ts → internal/extension-assembly.d.ts} +5 -2
  543. package/dist/page/{extension-assembly.js → internal/extension-assembly.js} +8 -0
  544. package/dist/page/internal/extension-assembly.js.map +1 -0
  545. package/dist/page/internal/extension-validation.d.ts +24 -0
  546. package/dist/page/{extension-validation.js → internal/extension-validation.js} +8 -0
  547. package/dist/page/internal/extension-validation.js.map +1 -0
  548. package/dist/page/internal/form-page-routes.d.ts +26 -0
  549. package/dist/page/internal/form-page-routes.js +40 -0
  550. package/dist/page/internal/form-page-routes.js.map +1 -0
  551. package/dist/page/internal/layout-filter.d.ts +21 -0
  552. package/dist/page/internal/layout-filter.js +101 -0
  553. package/dist/page/internal/layout-filter.js.map +1 -0
  554. package/dist/page/{metadata-helpers.d.ts → internal/metadata-helpers.d.ts} +4 -1
  555. package/dist/page/{metadata-helpers.js → internal/metadata-helpers.js} +19 -2
  556. package/dist/page/internal/metadata-helpers.js.map +1 -0
  557. package/dist/page/internal/nav-badges.d.ts +17 -0
  558. package/dist/page/internal/nav-badges.js +68 -0
  559. package/dist/page/internal/nav-badges.js.map +1 -0
  560. package/dist/page/internal/page-registration.d.ts +29 -0
  561. package/dist/page/internal/page-registration.js +41 -0
  562. package/dist/page/internal/page-registration.js.map +1 -0
  563. package/dist/page/internal/registry.d.ts +128 -0
  564. package/dist/page/internal/registry.js +225 -0
  565. package/dist/page/internal/registry.js.map +1 -0
  566. package/dist/page/internal/table-view-ids.d.ts +10 -0
  567. package/dist/page/internal/table-view-ids.js +39 -0
  568. package/dist/page/internal/table-view-ids.js.map +1 -0
  569. package/dist/page/internal/types.d.ts +2 -0
  570. package/dist/page/internal/types.js +6 -0
  571. package/dist/page/internal/types.js.map +1 -0
  572. package/dist/page/layout-filter.d.ts +4 -0
  573. package/dist/page/layout-filter.js +11 -0
  574. package/dist/page/layout-filter.js.map +1 -1
  575. package/dist/page/metadata.d.ts +93 -0
  576. package/dist/page/metadata.js +236 -28
  577. package/dist/page/metadata.js.map +1 -1
  578. package/dist/page/registry.d.ts +17 -36
  579. package/dist/page/registry.js +25 -127
  580. package/dist/page/registry.js.map +1 -1
  581. package/dist/page/roots.d.ts +10 -0
  582. package/dist/page/roots.js +27 -6
  583. package/dist/page/roots.js.map +1 -1
  584. package/dist/page/types.d.ts +186 -1
  585. package/dist/page/types.js +1 -2
  586. package/dist/page/types.js.map +1 -1
  587. package/dist/page.d.ts +23 -1
  588. package/dist/page.js +24 -2
  589. package/dist/page.js.map +1 -1
  590. package/dist/permission-gate.d.ts +14 -0
  591. package/dist/permission-gate.js +3 -0
  592. package/dist/permission-gate.js.map +1 -0
  593. package/dist/permissions-resolver.d.ts +24 -0
  594. package/dist/permissions-resolver.js +24 -0
  595. package/dist/permissions-resolver.js.map +1 -1
  596. package/dist/permissions.d.ts +27 -0
  597. package/dist/permissions.js +37 -0
  598. package/dist/permissions.js.map +1 -1
  599. package/dist/quick-actions.d.ts +27 -0
  600. package/dist/quick-actions.js +1 -0
  601. package/dist/quick-actions.js.map +1 -1
  602. package/dist/realtime.d.ts +29 -0
  603. package/dist/realtime.js +30 -0
  604. package/dist/realtime.js.map +1 -1
  605. package/dist/request-tenant.d.ts +17 -0
  606. package/dist/request-tenant.js +18 -1
  607. package/dist/request-tenant.js.map +1 -1
  608. package/dist/tenant-access.d.ts +38 -6
  609. package/dist/tenant-access.js +38 -8
  610. package/dist/tenant-access.js.map +1 -1
  611. package/dist/tenant-export.d.ts +19 -0
  612. package/dist/tenant-lifecycle.d.ts +13 -0
  613. package/dist/tenant-lifecycle.js +22 -1
  614. package/dist/tenant-lifecycle.js.map +1 -1
  615. package/dist/tenant-ownership.d.ts +2 -1
  616. package/dist/tenant-ownership.js +5 -85
  617. package/dist/tenant-ownership.js.map +1 -1
  618. package/dist/tenant-scoped-model.d.ts +8 -0
  619. package/dist/tenant-scoped-model.js +8 -0
  620. package/dist/tenant-scoped-model.js.map +1 -1
  621. package/dist/uploads.d.ts +24 -16
  622. package/dist/uploads.js +24 -0
  623. package/dist/uploads.js.map +1 -1
  624. package/dist/utils/fire-and-forget.d.ts +4 -0
  625. package/dist/utils/fire-and-forget.js +4 -0
  626. package/dist/utils/fire-and-forget.js.map +1 -1
  627. package/dist/utils/internal/owned-registry.d.ts +36 -0
  628. package/dist/utils/internal/owned-registry.js +60 -0
  629. package/dist/utils/internal/owned-registry.js.map +1 -0
  630. package/dist/utils/{row-instance.d.ts → internal/row-instance.d.ts} +1 -0
  631. package/dist/utils/internal/row-instance.js +12 -0
  632. package/dist/utils/internal/row-instance.js.map +1 -0
  633. package/dist/utils/internal/saas-mode.d.ts +8 -0
  634. package/dist/utils/internal/saas-mode.js +3 -0
  635. package/dist/utils/internal/saas-mode.js.map +1 -0
  636. package/dist/utils/{time.d.ts → internal/time.d.ts} +4 -0
  637. package/dist/utils/{time.js → internal/time.js} +4 -0
  638. package/dist/utils/internal/time.js.map +1 -0
  639. package/dist/utils/{type-check.d.ts → internal/type-check.d.ts} +12 -0
  640. package/dist/utils/{type-check.js → internal/type-check.js} +12 -0
  641. package/dist/utils/internal/type-check.js.map +1 -0
  642. package/dist/utils/internal/value-parser.d.ts +86 -0
  643. package/dist/utils/internal/value-parser.js +160 -0
  644. package/dist/utils/internal/value-parser.js.map +1 -0
  645. package/dist/utils/saas-mode.d.ts +25 -3
  646. package/dist/utils/saas-mode.js +24 -0
  647. package/dist/utils/saas-mode.js.map +1 -1
  648. package/package.json +3 -3
  649. package/dist/base/block-registry/describe.d.ts +0 -6
  650. package/dist/base/block-registry/describe.js.map +0 -1
  651. package/dist/base/block-registry/ui.d.ts +0 -5
  652. package/dist/base/block-registry/ui.js +0 -17
  653. package/dist/base/block-registry/ui.js.map +0 -1
  654. package/dist/base/table-view/auth.d.ts +0 -9
  655. package/dist/base/table-view/auth.js.map +0 -1
  656. package/dist/base/table-view/files.js.map +0 -1
  657. package/dist/base/table-view/guards.js +0 -85
  658. package/dist/base/table-view/guards.js.map +0 -1
  659. package/dist/base/table-view/row-rules.js.map +0 -1
  660. package/dist/base/tree.d.ts +0 -115
  661. package/dist/base/tree.js +0 -145
  662. package/dist/base/tree.js.map +0 -1
  663. package/dist/db/models/exportJobs.model.js.map +0 -1
  664. package/dist/db/models/tenantLifecycle.model.js.map +0 -1
  665. package/dist/db/tables/tenantLifecycle.table.js.map +0 -1
  666. package/dist/invite-extensions/delivery.d.ts +0 -5
  667. package/dist/invite-extensions/delivery.js.map +0 -1
  668. package/dist/invite-extensions/edit.d.ts +0 -4
  669. package/dist/invite-extensions/edit.js.map +0 -1
  670. package/dist/invite-extensions/field-ids.d.ts +0 -7
  671. package/dist/invite-extensions/field-ids.js.map +0 -1
  672. package/dist/invite-extensions/form-slot.d.ts +0 -2
  673. package/dist/invite-extensions/form-slot.js.map +0 -1
  674. package/dist/invite-extensions/internal.d.ts +0 -17
  675. package/dist/invite-extensions/internal.js +0 -55
  676. package/dist/invite-extensions/internal.js.map +0 -1
  677. package/dist/invite-extensions/payload-slices.d.ts +0 -8
  678. package/dist/invite-extensions/payload-slices.js.map +0 -1
  679. package/dist/invite-membership.d.ts +0 -3
  680. package/dist/invite-membership.js.map +0 -1
  681. package/dist/invite-replacement.d.ts +0 -2
  682. package/dist/invite-replacement.js.map +0 -1
  683. package/dist/page/component-target.d.ts +0 -10
  684. package/dist/page/component-target.js.map +0 -1
  685. package/dist/page/extension-assembly.js.map +0 -1
  686. package/dist/page/extension-validation.d.ts +0 -7
  687. package/dist/page/extension-validation.js.map +0 -1
  688. package/dist/page/metadata-helpers.js.map +0 -1
  689. package/dist/page/page-registration.d.ts +0 -13
  690. package/dist/page/page-registration.js +0 -22
  691. package/dist/page/page-registration.js.map +0 -1
  692. package/dist/utils/owned-registry.d.ts +0 -10
  693. package/dist/utils/owned-registry.js +0 -34
  694. package/dist/utils/owned-registry.js.map +0 -1
  695. package/dist/utils/row-instance.js +0 -8
  696. package/dist/utils/row-instance.js.map +0 -1
  697. package/dist/utils/time.js.map +0 -1
  698. package/dist/utils/type-check.js.map +0 -1
  699. package/dist/utils/value-parser.d.ts +0 -11
  700. package/dist/utils/value-parser.js +0 -86
  701. package/dist/utils/value-parser.js.map +0 -1
@@ -1,43 +1,24 @@
1
1
  import type { ControllerClass } from "@antelopejs/interface-api";
2
2
  import { type Component, type ComponentTargetInput } from "../component";
3
- import type { PageMetadata } from "./metadata";
4
- import type { CategoryInfo, DynamicMenuProviderInfo, ModuleInfo, PageExtensionInfo, PageInfo, PageLayoutHandler } from "./types";
5
- export declare const permissionMap: Map<ControllerClass | Component<unknown>, string>;
6
- export declare const pageLayoutHandlers: Map<string, PageLayoutHandler>;
7
- export declare const pageMetadataByFullId: Map<string, PageMetadata>;
8
- export declare class RegistrationIdentity<T extends object> {
9
- private readonly kind;
10
- private readonly byToken;
11
- constructor(kind: string);
12
- private tokenOf;
13
- stamp(value: T): void;
14
- remember(value: T): void;
15
- forget(value: T): void;
16
- resolve(value: T): T;
17
- isSame(left: T | undefined, right: T | undefined): boolean;
18
- }
19
- export declare const pageIdentity: RegistrationIdentity<PageInfo>;
20
- export declare const categoryIdentity: RegistrationIdentity<CategoryInfo>;
21
- export declare const moduleIdentity: RegistrationIdentity<ModuleInfo>;
22
- export declare const dynamicMenuProviderIdentity: RegistrationIdentity<DynamicMenuProviderInfo>;
23
- export declare const pageExtensionIdentity: RegistrationIdentity<PageExtensionInfo>;
24
- export declare function capturePageExtensionContext(info: PageExtensionInfo): void;
25
- export declare function runAsPageExtensionOwner<T>(info: PageExtensionInfo, callback: () => T): T;
26
- export declare function stampPageRegistration(pageInfo: PageInfo): void;
27
- export declare function isSamePageRegistration(left: PageInfo | undefined, right: PageInfo | undefined): boolean;
3
+ import type { PageLayoutHandler } from "./types";
4
+ /** Resolve every live page position of a reusable component. */
28
5
  export declare function GetComponentPermissionIds(component: Component): string[];
29
- export declare const pageExtensions: Map<string, PageExtensionInfo[]>;
30
- export declare function isPageExtensionRegistered(info: PageExtensionInfo): boolean;
31
6
  export declare function GetPageLayoutBySlug(slug: string): PageLayoutHandler | undefined;
7
+ /**
8
+ * Drop the layout handler a page registered.
9
+ *
10
+ * Called when the page unregisters: the handler is reachable by slug through
11
+ * `/dms/pagelayout`, so leaving it behind keeps serving the layout of a page
12
+ * that is already gone from the registry, the navigation tree and its own
13
+ * route — an unloaded module's screens would still answer.
14
+ *
15
+ * @param slug Full slug the page registered under
16
+ */
32
17
  export declare function ClearPageLayoutBySlug(slug: string): void;
33
- export declare function acceptsPageExtensions(targetFullId: string): boolean;
34
- export interface PendingPageExtension {
35
- extensionName: string;
36
- targetFullId: string;
37
- }
38
- export declare function GetPendingPageExtensions(): PendingPageExtension[];
18
+ /**
19
+ * Ids of every registered page, sorted. The id of a page is what
20
+ * `@RegisterPageExtension` takes, and also its permission id.
21
+ */
39
22
  export declare function GetRegisteredPageIds(): string[];
40
- export declare function syncTargetExtensions(targetFullId: string): Promise<void>;
23
+ /** Resolve the permission id of a page, component, or exact child position. */
41
24
  export declare function GetPermissionId(target: ComponentTargetInput | ControllerClass): string | undefined;
42
- export declare const moduleRootCategories: Map<string, CategoryInfo>;
43
- export declare const moduleDefaultCategories: Map<string, CategoryInfo>;
@@ -1,150 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.moduleDefaultCategories = exports.moduleRootCategories = exports.pageExtensions = exports.pageExtensionIdentity = exports.dynamicMenuProviderIdentity = exports.moduleIdentity = exports.categoryIdentity = exports.pageIdentity = exports.RegistrationIdentity = exports.pageMetadataByFullId = exports.pageLayoutHandlers = exports.permissionMap = void 0;
4
- exports.capturePageExtensionContext = capturePageExtensionContext;
5
- exports.runAsPageExtensionOwner = runAsPageExtensionOwner;
6
- exports.stampPageRegistration = stampPageRegistration;
7
- exports.isSamePageRegistration = isSamePageRegistration;
8
3
  exports.GetComponentPermissionIds = GetComponentPermissionIds;
9
- exports.isPageExtensionRegistered = isPageExtensionRegistered;
10
4
  exports.GetPageLayoutBySlug = GetPageLayoutBySlug;
11
5
  exports.ClearPageLayoutBySlug = ClearPageLayoutBySlug;
12
- exports.acceptsPageExtensions = acceptsPageExtensions;
13
- exports.GetPendingPageExtensions = GetPendingPageExtensions;
14
6
  exports.GetRegisteredPageIds = GetRegisteredPageIds;
15
- exports.syncTargetExtensions = syncTargetExtensions;
16
7
  exports.GetPermissionId = GetPermissionId;
17
- const interface_core_1 = require("@antelopejs/interface-core");
18
- const modules_1 = require("@antelopejs/interface-core/modules");
19
8
  const component_1 = require("../component");
20
- exports.permissionMap = new Map();
21
- component_1.getPermissionIdRef.get = (component) => exports.permissionMap.get(component);
22
- exports.pageLayoutHandlers = new Map();
23
- exports.pageMetadataByFullId = new Map();
24
- const REGISTRATION_TOKEN = Symbol.for("@antelopejs/interface-dms:pageRegistration");
25
- let nextRegistrationToken = 0;
26
- class RegistrationIdentity {
27
- kind;
28
- byToken = new Map();
29
- constructor(kind) {
30
- this.kind = kind;
31
- }
32
- tokenOf(value) {
33
- return value[REGISTRATION_TOKEN];
34
- }
35
- stamp(value) {
36
- Object.defineProperty(value, REGISTRATION_TOKEN, {
37
- value: `${this.kind}:${(nextRegistrationToken += 1)}`,
38
- configurable: true,
39
- enumerable: false,
40
- writable: false,
41
- });
42
- }
43
- remember(value) {
44
- if (this.tokenOf(value) === undefined)
45
- this.stamp(value);
46
- const token = this.tokenOf(value);
47
- if (token === undefined)
48
- return;
49
- this.byToken.set(token, value);
50
- }
51
- forget(value) {
52
- const token = this.tokenOf(value);
53
- if (token === undefined)
54
- return;
55
- if (this.byToken.get(token) !== value)
56
- return;
57
- this.byToken.delete(token);
58
- }
59
- resolve(value) {
60
- const token = this.tokenOf(value);
61
- if (token === undefined)
62
- return value;
63
- return this.byToken.get(token) ?? value;
64
- }
65
- isSame(left, right) {
66
- if (!left || !right)
67
- return false;
68
- if (left === right)
69
- return true;
70
- const token = this.tokenOf(left);
71
- return token !== undefined && token === this.tokenOf(right);
72
- }
73
- }
74
- exports.RegistrationIdentity = RegistrationIdentity;
75
- exports.pageIdentity = new RegistrationIdentity("page");
76
- exports.categoryIdentity = new RegistrationIdentity("category");
77
- exports.moduleIdentity = new RegistrationIdentity("module");
78
- exports.dynamicMenuProviderIdentity = new RegistrationIdentity("dynamic-menu-provider");
79
- exports.pageExtensionIdentity = new RegistrationIdentity("page-extension");
80
- const pageExtensionContexts = new WeakMap();
81
- function capturePageExtensionContext(info) {
82
- const context = (0, modules_1.GetModuleContext)();
83
- if (context) {
84
- pageExtensionContexts.set(info, context);
85
- return;
86
- }
87
- const module = (0, interface_core_1.GetResponsibleModule)();
88
- if (module)
89
- pageExtensionContexts.set(info, { module });
90
- }
91
- function runAsPageExtensionOwner(info, callback) {
92
- const context = pageExtensionContexts.get(exports.pageExtensionIdentity.resolve(info));
93
- return context ? (0, modules_1.RunWithModuleContext)(context, callback) : callback();
94
- }
95
- function stampPageRegistration(pageInfo) {
96
- exports.pageIdentity.stamp(pageInfo);
97
- }
98
- function isSamePageRegistration(left, right) {
99
- return exports.pageIdentity.isSame(left, right);
100
- }
9
+ const registry_1 = require("./internal/registry");
10
+ component_1.getPermissionIdRef.get = (component) => registry_1.permissionMap.get(component);
11
+ /** Resolve every live page position of a reusable component. */
101
12
  function GetComponentPermissionIds(component) {
102
- return [...exports.pageMetadataByFullId.values()].flatMap((page) => page.ComponentPermissionIds(component));
103
- }
104
- exports.pageExtensions = new Map();
105
- function isPageExtensionRegistered(info) {
106
- const registered = exports.pageExtensions.get(info.targetFullId) ?? [];
107
- return registered.some((entry) => exports.pageExtensionIdentity.isSame(entry, info));
13
+ return [...registry_1.pageMetadataByFullId.values()].flatMap((page) => page.ComponentPermissionIds(component));
108
14
  }
109
15
  function GetPageLayoutBySlug(slug) {
110
- return exports.pageLayoutHandlers.get(slug);
111
- }
16
+ return registry_1.pageLayoutHandlers.get(slug);
17
+ }
18
+ /**
19
+ * Drop the layout handler a page registered.
20
+ *
21
+ * Called when the page unregisters: the handler is reachable by slug through
22
+ * `/dms/pagelayout`, so leaving it behind keeps serving the layout of a page
23
+ * that is already gone from the registry, the navigation tree and its own
24
+ * route — an unloaded module's screens would still answer.
25
+ *
26
+ * @param slug Full slug the page registered under
27
+ */
112
28
  function ClearPageLayoutBySlug(slug) {
113
- exports.pageLayoutHandlers.delete(slug);
114
- }
115
- function acceptsPageExtensions(targetFullId) {
116
- return exports.pageMetadataByFullId.get(targetFullId)?.AcceptsExtensions() ?? false;
117
- }
118
- function GetPendingPageExtensions() {
119
- const pending = [];
120
- for (const [targetFullId, infos] of exports.pageExtensions) {
121
- if (exports.pageMetadataByFullId.has(targetFullId))
122
- continue;
123
- for (const info of infos) {
124
- pending.push({ extensionName: info.extensionName, targetFullId });
125
- }
126
- }
127
- return pending;
29
+ registry_1.pageLayoutHandlers.delete(slug);
128
30
  }
31
+ /**
32
+ * Ids of every registered page, sorted. The id of a page is what
33
+ * `@RegisterPageExtension` takes, and also its permission id.
34
+ */
129
35
  function GetRegisteredPageIds() {
130
- return [...exports.pageMetadataByFullId.keys()].sort();
131
- }
132
- function syncTargetExtensions(targetFullId) {
133
- const metadata = exports.pageMetadataByFullId.get(targetFullId);
134
- if (!metadata) {
135
- return Promise.resolve();
136
- }
137
- return metadata.SyncExtensions();
36
+ return [...registry_1.pageMetadataByFullId.keys()].sort();
138
37
  }
38
+ /** Resolve the permission id of a page, component, or exact child position. */
139
39
  function GetPermissionId(target) {
140
40
  if (target instanceof component_1.ComponentTarget) {
141
- const rootPermissionId = exports.permissionMap.get(target.root);
41
+ const rootPermissionId = registry_1.permissionMap.get(target.root);
142
42
  if (!rootPermissionId)
143
43
  return undefined;
144
44
  return [rootPermissionId, ...target.path].join(".");
145
45
  }
146
- return exports.permissionMap.get(target);
46
+ return registry_1.permissionMap.get(target);
147
47
  }
148
- exports.moduleRootCategories = new Map();
149
- exports.moduleDefaultCategories = new Map();
150
48
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/page/registry.ts"],"names":[],"mappings":";;;AAiKA,kEAQC;AAOD,0DAQC;AAED,sDAEC;AAED,wDAKC;AAGD,8DAIC;AAQD,8DAGC;AAED,kDAIC;AAYD,sDAEC;AAOD,sDAEC;AAaD,4DASC;AAMD,oDAEC;AAED,oDAMC;AAGD,0CASC;AAnSD,+DAAkE;AAClE,gEAI4C;AAC5C,4CAKsB;AAWT,QAAA,aAAa,GAAG,IAAI,GAAG,EAAuC,CAAC;AAE5E,8BAAkB,CAAC,GAAG,GAAG,CAAC,SAAoB,EAAE,EAAE,CAAC,qBAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEnE,QAAA,kBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;AAE1D,QAAA,oBAAoB,GAAG,IAAI,GAAG,EAAwB,CAAC;AASpE,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CACnC,4CAA4C,CAC7C,CAAC;AAEF,IAAI,qBAAqB,GAAG,CAAC,CAAC;AAc9B,MAAa,oBAAoB;IAGF;IAFZ,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;IAEhD,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAErC,OAAO,CAAC,KAAQ;QACtB,OAAQ,KAAoB,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAGM,KAAK,CAAC,KAAQ;QACnB,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE;YAC/C,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,EAAE;YACrD,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAOM,QAAQ,CAAC,KAAQ;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IASM,MAAM,CAAC,KAAQ;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK;YAAE,OAAO;QAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IASM,OAAO,CAAC,KAAQ;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAC1C,CAAC;IAOM,MAAM,CAAC,IAAmB,EAAE,KAAoB;QACrD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;CACF;AArED,oDAqEC;AAEY,QAAA,YAAY,GAAG,IAAI,oBAAoB,CAAW,MAAM,CAAC,CAAC;AAE1D,QAAA,gBAAgB,GAAG,IAAI,oBAAoB,CACtD,UAAU,CACX,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,oBAAoB,CAAa,QAAQ,CAAC,CAAC;AAEhE,QAAA,2BAA2B,GACtC,IAAI,oBAAoB,CAA0B,uBAAuB,CAAC,CAAC;AAEhE,QAAA,qBAAqB,GAChC,IAAI,oBAAoB,CAAoB,gBAAgB,CAAC,CAAC;AAahE,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAGtC,CAAC;AAMJ,SAAgB,2BAA2B,CAAC,IAAuB;IACjE,MAAM,OAAO,GAAG,IAAA,0BAAgB,GAAE,CAAC;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,IAAA,qCAAoB,GAAE,CAAC;IACtC,IAAI,MAAM;QAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAC1D,CAAC;AAOD,SAAgB,uBAAuB,CACrC,IAAuB,EACvB,QAAiB;IAEjB,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CACvC,6BAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CACpC,CAAC;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAA,8BAAoB,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACxE,CAAC;AAED,SAAgB,qBAAqB,CAAC,QAAkB;IACtD,oBAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,sBAAsB,CACpC,IAA0B,EAC1B,KAA2B;IAE3B,OAAO,oBAAY,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAGD,SAAgB,yBAAyB,CAAC,SAAoB;IAC5D,OAAO,CAAC,GAAG,4BAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CACvC,CAAC;AACJ,CAAC;AACY,QAAA,cAAc,GAAG,IAAI,GAAG,EAA+B,CAAC;AAOrE,SAAgB,yBAAyB,CAAC,IAAuB;IAC/D,MAAM,UAAU,GAAG,sBAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC/D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAgB,mBAAmB,CACjC,IAAY;IAEZ,OAAO,0BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAYD,SAAgB,qBAAqB,CAAC,IAAY;IAChD,0BAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAOD,SAAgB,qBAAqB,CAAC,YAAoB;IACxD,OAAO,4BAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,KAAK,CAAC;AAC9E,CAAC;AAaD,SAAgB,wBAAwB;IACtC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,sBAAc,EAAE,CAAC;QACnD,IAAI,4BAAoB,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,SAAS;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAMD,SAAgB,oBAAoB;IAClC,OAAO,CAAC,GAAG,4BAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,MAAM,QAAQ,GAAG,4BAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;AACnC,CAAC;AAGD,SAAgB,eAAe,CAC7B,MAA8C;IAE9C,IAAI,MAAM,YAAY,2BAAe,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,qBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,CAAC,gBAAgB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,qBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAEY,QAAA,oBAAoB,GAAG,IAAI,GAAG,EAAwB,CAAC;AACvD,QAAA,uBAAuB,GAAG,IAAI,GAAG,EAAwB,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/page/registry.ts"],"names":[],"mappings":";;AAiBA,8DAIC;AAED,kDAIC;AAYD,sDAEC;AAMD,oDAEC;AAGD,0CASC;AA5DD,4CAKsB;AAEtB,kDAI6B;AAE7B,8BAAkB,CAAC,GAAG,GAAG,CAAC,SAAoB,EAAE,EAAE,CAAC,wBAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAEhF,gEAAgE;AAChE,SAAgB,yBAAyB,CAAC,SAAoB;IAC5D,OAAO,CAAC,GAAG,+BAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CACjC,IAAY;IAEZ,OAAO,6BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,6BAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB;IAClC,OAAO,CAAC,GAAG,+BAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,SAAgB,eAAe,CAC7B,MAA8C;IAE9C,IAAI,MAAM,YAAY,2BAAe,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,wBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,CAAC,gBAAgB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,wBAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -11,3 +11,13 @@ export declare const settingsCategory: {
11
11
  extend: <T extends import("@antelopejs/interface-api").ControllerClass>(this: T, location: string) => T;
12
12
  location: string;
13
13
  };
14
+ /**
15
+ * The settings of the workspace as a whole — members, invitations, roles —
16
+ * next to the account settings each user keeps for themselves. A project adds
17
+ * its workspace settings here (`category: workspaceSettingsCategory`) rather
18
+ * than declaring a `settings.workspace` category of its own. A page declaring
19
+ * a `module` cannot: registration throws for any page of a module under the
20
+ * settings root. A module keeps its settings in its own sidebar, or
21
+ * registers a workspace settings page without `module`.
22
+ */
23
+ export declare const workspaceSettingsCategory: CategoryInfo;
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.settingsCategory = exports.modulesCategory = exports.pagesCategory = void 0;
3
+ exports.workspaceSettingsCategory = exports.settingsCategory = exports.modulesCategory = exports.pagesCategory = void 0;
4
4
  exports.RegisterModule = RegisterModule;
5
5
  const layouts_1 = require("../base/layouts");
6
6
  const categories_1 = require("./categories");
7
+ const categories_2 = require("./internal/categories");
7
8
  const controllers_1 = require("./controllers");
8
- const registry_1 = require("./registry");
9
+ const registry_1 = require("./internal/registry");
9
10
  function RegisterModule(opts) {
10
11
  if (registry_1.moduleRootCategories.has(opts.id)) {
11
12
  throw new Error(`Module "${opts.id}" is already registered.`);
12
13
  }
13
- const moduleRoot = categories_1.internal.RootCategory(opts.id, {
14
+ const moduleRoot = (0, categories_2.RootCategory)(opts.id, {
14
15
  displayName: opts.title,
15
16
  description: opts.description,
16
17
  icon: opts.icon,
@@ -21,7 +22,9 @@ function RegisterModule(opts) {
21
22
  });
22
23
  registry_1.moduleRootCategories.set(opts.id, moduleRoot);
23
24
  if (opts.defaultCategory) {
24
- const defaultCategory = categories_1.internal.RootCategory("pages", {
25
+ const defaultCategory = (0, categories_2.RootCategory)("pages", {
26
+ // Treat an empty string the same as omitted: fall back to the built-in
27
+ // i18n label rather than rendering a blank heading.
25
28
  displayName: opts.defaultCategory.displayName || "$menu.section.pages",
26
29
  icon: opts.defaultCategory.icon,
27
30
  order: opts.defaultCategory.order,
@@ -34,7 +37,7 @@ function RegisterModule(opts) {
34
37
  categories_1.internal.RegisterModule.register(opts);
35
38
  return moduleRoot;
36
39
  }
37
- exports.pagesCategory = categories_1.internal.RootCategory("pages", {
40
+ exports.pagesCategory = (0, categories_2.RootCategory)("pages", {
38
41
  displayName: "$menu.section.pages",
39
42
  urlSlug: "/",
40
43
  order: 1,
@@ -56,5 +59,23 @@ exports.settingsCategory = (0, controllers_1.RootPageController)("settings", {
56
59
  icon: "i-ph-gear",
57
60
  order: 3,
58
61
  noComponentPermissions: true,
59
- }, (0, layouts_1.DefaultLayout)());
62
+ layout: (0, layouts_1.SettingsLayout)(),
63
+ });
64
+ /**
65
+ * The settings of the workspace as a whole — members, invitations, roles —
66
+ * next to the account settings each user keeps for themselves. A project adds
67
+ * its workspace settings here (`category: workspaceSettingsCategory`) rather
68
+ * than declaring a `settings.workspace` category of its own. A page declaring
69
+ * a `module` cannot: registration throws for any page of a module under the
70
+ * settings root. A module keeps its settings in its own sidebar, or
71
+ * registers a workspace settings page without `module`.
72
+ */
73
+ exports.workspaceSettingsCategory = (0, controllers_1.Category)("workspace", {
74
+ category: exports.settingsCategory,
75
+ displayName: "$page.settings.shell.workspace",
76
+ description: "$page.settings.overview.workspace_description",
77
+ urlSlug: "workspace",
78
+ icon: "i-ph-buildings",
79
+ order: 2,
80
+ });
60
81
  //# sourceMappingURL=roots.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/page/roots.ts"],"names":[],"mappings":";;;AAMA,wCAkCC;AAxCD,6CAAgD;AAChD,6CAAwC;AACxC,+CAAmD;AACnD,yCAA2E;AAG3E,SAAgB,cAAc,CAAC,IAAgB;IAC7C,IAAI,+BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,qBAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE;QAChD,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,uBAAe;KAC1B,CAAC,CAAC;IAEH,+BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,qBAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;YAGrD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,qBAAqB;YACtE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC/B,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACjC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,OAAO;YAChD,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,kCAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,qBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,UAAU,CAAC;AACpB,CAAC;AAEY,QAAA,aAAa,GAAG,qBAAQ,CAAC,YAAY,CAAC,OAAO,EAAE;IAC1D,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,IAAA,gCAAkB,EAC/C,SAAS,EACT;IACE,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;CACnB,EACD,IAAA,uBAAa,GAAE,CAChB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,gCAAkB,EAChD,UAAU,EACV;IACE,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;CAC7B,EACD,IAAA,uBAAa,GAAE,CAChB,CAAC"}
1
+ {"version":3,"file":"roots.js","sourceRoot":"","sources":["../../src/page/roots.ts"],"names":[],"mappings":";;;AAUA,wCAkCC;AA5CD,6CAAgE;AAChE,6CAAwC;AACxC,sDAAqD;AACrD,+CAA6D;AAC7D,kDAG6B;AAG7B,SAAgB,cAAc,CAAC,IAAgB;IAC7C,IAAI,+BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,yBAAY,EAAC,IAAI,CAAC,EAAE,EAAE;QACvC,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,uBAAe;KAC1B,CAAC,CAAC;IAEH,+BAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAE9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,MAAM,eAAe,GAAG,IAAA,yBAAY,EAAC,OAAO,EAAE;YAC5C,uEAAuE;YACvE,oDAAoD;YACpD,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,IAAI,qBAAqB;YACtE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YAC/B,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACjC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,OAAO;YAChD,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,kCAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;IAED,qBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvC,OAAO,UAAU,CAAC;AACpB,CAAC;AAEY,QAAA,aAAa,GAAG,IAAA,yBAAY,EAAC,OAAO,EAAE;IACjD,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,OAAO;CACd,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,IAAA,gCAAkB,EAC/C,SAAS,EACT;IACE,WAAW,EAAE,gBAAgB;IAC7B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,YAAY,EAAE,IAAI;CACnB,EACD,IAAA,uBAAa,GAAE,CAChB,CAAC;AAEW,QAAA,gBAAgB,GAAG,IAAA,gCAAkB,EAAC,UAAU,EAAE;IAC7D,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE,sBAAsB;IACnC,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC;IACR,sBAAsB,EAAE,IAAI;IAC5B,MAAM,EAAE,IAAA,wBAAc,GAAE;CACzB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAG,IAAA,sBAAQ,EAAC,WAAW,EAAE;IAC7D,QAAQ,EAAE,wBAAgB;IAC1B,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,+CAA+C;IAC5D,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC;CACT,CAAC,CAAC"}
@@ -3,33 +3,113 @@ import type { User } from "../auth/db";
3
3
  import type { Action, Component, ComponentInfo, ComponentInfoSerialized, PlacementSide } from "../component";
4
4
  import type { RoleModel, TenantMemberModel } from "../db";
5
5
  import type { Permission } from "../permissions";
6
+ import type { Tone } from "../base/types/tone";
6
7
  import type { MaybePromise } from "../types";
7
8
  export type { MaybePromise };
8
9
  export type MenuItemType = "label" | "link";
10
+ /**
11
+ * Semantic look of a menu entry. `accent` renders the entry in the theme's
12
+ * primary color, for call-to-action entries such as "New project".
13
+ */
9
14
  export type MenuItemVariant = "default" | "accent";
15
+ /**
16
+ * Semantic state dot rendered at the end of a menu entry. Maps to the theme's
17
+ * semantic colors, so a consumer never ships raw classes.
18
+ */
10
19
  export type MenuItemStatus = "success" | "warning" | "error" | "neutral";
20
+ /** Query parameters appended to a menu entry's link. */
11
21
  export type MenuItemQuery = Record<string, string>;
22
+ /** Values for the `:name` segments of the page slug a menu entry links to. */
12
23
  export type MenuItemParams = Record<string, string>;
24
+ /** Cleanup callback returned by a PageSetupFunction. Called on page unmount. */
13
25
  export type PageSetupCleanup = () => void;
26
+ /**
27
+ * Context passed to a PageSetupFunction. Use on(component, event, handler)
28
+ * to subscribe (returns an unsubscribe). Use emit(component, event, data) to
29
+ * dispatch on the shared window event bus.
30
+ */
14
31
  export interface PageSetupContext {
15
32
  pageInfo: PageInfo;
16
33
  permissions: Set<string>;
17
34
  on(component: string, event: string, handler: (data: unknown) => void): () => void;
18
35
  emit(component: string, event: string, data?: unknown): void;
19
36
  }
37
+ /**
38
+ * Page-level setup function referenced by MenuOptions.setupId. Registered on
39
+ * the frontend via useDefinedFunctions().registerFunction(). Runs in
40
+ * onMounted; cleanup runs on onUnmounted.
41
+ *
42
+ * Returns `void` rather than `undefined`, which lets callers omit a return
43
+ * statement entirely.
44
+ */
20
45
  export type PageSetupFunction = (context: PageSetupContext) => MaybePromise<PageSetupCleanup | void>;
21
46
  export interface PageValidation {
22
47
  requiredQueryParams?: string[];
23
48
  customFunctionId?: string;
24
49
  }
25
50
  export declare const MODULE_URL_PREFIX = "/modules";
26
- export declare const ROOT_SLUG = "/";
51
+ /**
52
+ * State a module reports on the modules catalog, rendered as a pill on its
53
+ * tile: `live` (working normally, the default), `beta` (usable, still
54
+ * changing), `update` (a newer version is available) or `attention`
55
+ * (something needs a platform owner, such as a failing job).
56
+ */
57
+ export type ModuleStatus = "live" | "beta" | "update" | "attention";
58
+ /**
59
+ * Tone of one readout line: `success` (healthy figure), `info` (neutral
60
+ * fact), `warning` (worth a look) or `error` (something is failing). The
61
+ * former `ok` is still read as `success` in 0.4, with a warning.
62
+ */
63
+ export type ModuleReadoutTone = Extract<Tone, "success" | "info" | "warning" | "error">;
64
+ /**
65
+ * One short line of a module's live readout on the catalog
66
+ * (`42 tables · 1.9 GB`). `text` may be an i18n key prefixed with `$`.
67
+ */
68
+ export interface ModuleReadoutLine {
69
+ text: string;
70
+ tone?: ModuleReadoutTone;
71
+ }
72
+ /**
73
+ * Request the catalog hooks of a module run for. The catalog is owner-only,
74
+ * so `user` is a platform owner; `tenantId` is the tenant the request is
75
+ * scoped to.
76
+ */
77
+ export interface ModuleCatalogContext {
78
+ user: User | undefined;
79
+ tenantId: string;
80
+ }
27
81
  export interface ModuleInfo {
28
82
  id: string;
29
83
  title: string;
30
84
  description: string;
31
85
  icon: string;
32
86
  landingPage?: string;
87
+ /** Version shown on the catalog tile (`1.4.0`). */
88
+ version?: string;
89
+ /**
90
+ * Catalog category the module is filed under (`Content`, `Developer`…).
91
+ * May be an i18n key prefixed with `$`. Modules without one are grouped
92
+ * under a generic "Other" category.
93
+ */
94
+ catalogCategory?: string;
95
+ /**
96
+ * Reports the module's current state on the catalog. Called on each catalog
97
+ * load; a hook that throws or does not answer in time is ignored and the
98
+ * module shows as `live`.
99
+ */
100
+ status?: (context: ModuleCatalogContext) => MaybePromise<ModuleStatus>;
101
+ /**
102
+ * Returns a few short lines (two read best) saying what the module is doing
103
+ * right now. Called on each catalog load; a hook that throws or does not
104
+ * answer in time is ignored and the tile shows no readout.
105
+ */
106
+ readout?: (context: ModuleCatalogContext) => MaybePromise<ModuleReadoutLine[]>;
107
+ /**
108
+ * Optional category that groups the module's "loose" pages (pages declared
109
+ * with `module` but no explicit `category`) under a real, controllable
110
+ * heading instead of the default "Pages" label. When omitted, loose pages
111
+ * fall back to the generic "Pages" grouping.
112
+ */
33
113
  defaultCategory?: {
34
114
  displayName?: string;
35
115
  icon?: string;
@@ -49,13 +129,57 @@ export interface MenuOptions {
49
129
  permission?: Partial<Permission> | Action;
50
130
  publicAccess?: boolean;
51
131
  authOnly?: boolean;
132
+ /**
133
+ * Every signed-in member of the tenant reaches the entry, its components and
134
+ * their actions without a role grant: their permissions are registered as
135
+ * `defaultGranted`, so they never wait on a role and the role editor does not
136
+ * list them. Guards, menus and table views keep checking them as usual — only
137
+ * the grant is implied. Unlike `authOnly`, the tenant access gate still
138
+ * applies and the permission ids still exist.
139
+ *
140
+ * Inherited by the pages of a flagged category. Meant for personal surfaces
141
+ * every member owns: their profile, security, notifications and preferences.
142
+ */
143
+ memberAccess?: boolean;
52
144
  type?: MenuItemType;
53
145
  validation?: PageValidation;
54
146
  setupId?: string;
55
147
  noComponentPermissions?: boolean;
148
+ /**
149
+ * Query parameters carried by the entry's menu link, so a single page with
150
+ * `validation.requiredQueryParams` can serve many entries
151
+ * (e.g. `/project?project=<id>`).
152
+ */
56
153
  query?: MenuItemQuery;
57
154
  variant?: MenuItemVariant;
58
155
  status?: MenuItemStatus;
156
+ /**
157
+ * Short count or label rendered at the end of the menu entry (`3`, `new`).
158
+ * Takes the trailing slot, so a leaf entry shows either a badge or a
159
+ * status dot — the badge wins.
160
+ */
161
+ badge?: string;
162
+ /**
163
+ * Default layout of the entry and of every page and sub-category declared
164
+ * under it that sets none of its own (`Category("billing", { category,
165
+ * layout: SettingsLayout() })`). The nearest declaring ancestor wins; a
166
+ * page's own layout argument always overrides it, and a page with neither
167
+ * gets `DefaultLayout()`.
168
+ */
169
+ layout?: ComponentInfo;
170
+ /**
171
+ * Keep the page reachable while a tenant access gate denies the tenant, the
172
+ * page-level mirror of the `bypassTenantAccessGate` guard option. Covers page
173
+ * visibility, menu visibility and the page's own layout route. Permission
174
+ * checks still apply normally — unlike `authOnly`, which drops them entirely.
175
+ *
176
+ * Inherited by the pages of a flagged category. The data routes feeding the
177
+ * page are not covered: a data API is not owned by a single page, so it opts
178
+ * out explicitly through its own guard's `bypassTenantAccessGate` option.
179
+ *
180
+ * Reserved for recovery surfaces (billing, payment portal) a blocked tenant
181
+ * must still reach.
182
+ */
59
183
  bypassTenantAccessGate?: boolean;
60
184
  }
61
185
  export interface CategoryInfo extends Omit<MenuOptions, "category"> {
@@ -64,15 +188,45 @@ export interface CategoryInfo extends Omit<MenuOptions, "category"> {
64
188
  fullSlug: string;
65
189
  category: CategoryInfo | ControllerClass | undefined;
66
190
  isModuleRoot?: boolean;
191
+ /**
192
+ * Whether the category adds no segment of its own to the URL, because its
193
+ * `fullSlug` is its parent's — what `urlSlug: "/"` produces. Such a category
194
+ * is a section heading, not a route: it cannot be addressed on its own, and
195
+ * any number of them may sit under one parent.
196
+ *
197
+ * Derived at declaration time, never declared: `MenuOptions` has no matching
198
+ * field, and passing one would be ignored.
199
+ */
67
200
  urlTransparent?: boolean;
68
201
  }
69
202
  export interface PageInfo extends CategoryInfo {
70
203
  layoutUrl: string;
71
204
  }
205
+ /**
206
+ * A menu entry produced by a dynamic menu provider. It is not a page: it links
207
+ * to an already registered page (`fullSlug`), optionally narrowed by `params`
208
+ * and `query`, so one page can back any number of entries.
209
+ */
72
210
  export interface DynamicMenuItem {
211
+ /**
212
+ * Unique within the provider's category; becomes the entry's `fullId` suffix.
213
+ * Dots separate the levels of a `fullId`, so an id may not contain one — an
214
+ * entry that does is skipped with a warning.
215
+ */
73
216
  id: string;
74
217
  displayName: string;
218
+ /**
219
+ * Full slug of the registered page the entry links to. The entry is listed
220
+ * only when the caller can access that page, so an entry never offers a link
221
+ * its target would refuse.
222
+ */
75
223
  fullSlug: string;
224
+ /**
225
+ * Values for the `:name` segments of `fullSlug`, URL-encoded into the entry's
226
+ * link. They must fill every segment and nothing else: an entry that leaves a
227
+ * segment unfilled, or names a parameter the slug does not have, is skipped
228
+ * with a warning.
229
+ */
76
230
  params?: MenuItemParams;
77
231
  query?: MenuItemQuery;
78
232
  description?: string;
@@ -80,13 +234,39 @@ export interface DynamicMenuItem {
80
234
  order?: number;
81
235
  variant?: MenuItemVariant;
82
236
  status?: MenuItemStatus;
237
+ /** Short count or label rendered at the end of the entry (`3`, `new`). */
238
+ badge?: string;
239
+ /**
240
+ * Permission required to see the entry, as a raw id — unlike `MenuOptions`,
241
+ * which takes a whole permission or an `Action`. Unset means always visible.
242
+ *
243
+ * It is matched against the permission set the caller's browser actually
244
+ * receives, the way the browser matches it — the wildcard or a literal grant,
245
+ * never a `defaultGranted` fallback — so the sidebar never offers an entry
246
+ * whose controls would be inert. While a tenant access gate denies the
247
+ * tenant, that set only holds the surfaces flagged `bypassTenantAccessGate`,
248
+ * so a recovery entry declares its permission under its target page, as in
249
+ * `<recoveryPageFullId>.settle`.
250
+ */
83
251
  permissionId?: string;
84
252
  }
253
+ /**
254
+ * Resolves the dynamic entries of a category for one request. `permissions` is
255
+ * the caller's effective permission set as the parent category sees it: empty
256
+ * when a tenant access gate denies the tenant, unless the category is flagged
257
+ * `bypassTenantAccessGate`, in which case the real permissions are kept.
258
+ * `user` is undefined for an unauthenticated request.
259
+ */
85
260
  export type DynamicMenuResolver = (user: User | undefined, tenantId: string, permissions: Set<string>) => MaybePromise<DynamicMenuItem[]>;
86
261
  export interface DynamicMenuProviderInfo {
87
262
  categoryFullId: string;
88
263
  resolver: DynamicMenuResolver;
89
264
  }
265
+ /**
266
+ * One component a page extension contributes to its target page. `key` is the
267
+ * static field name it was declared under, and also the last segment of its
268
+ * permission id on the target page.
269
+ */
90
270
  export interface PageExtensionComponent {
91
271
  key: string;
92
272
  component: Component;
@@ -94,6 +274,11 @@ export interface PageExtensionComponent {
94
274
  anchorPath?: readonly string[];
95
275
  order: number;
96
276
  }
277
+ /**
278
+ * Everything one `@RegisterPageExtension` class contributes to one target page.
279
+ * The object itself is the registration handle: it is what gets unregistered
280
+ * when the extending module stops.
281
+ */
97
282
  export interface PageExtensionInfo {
98
283
  extensionName: string;
99
284
  targetFullId: string;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ROOT_SLUG = exports.MODULE_URL_PREFIX = void 0;
3
+ exports.MODULE_URL_PREFIX = void 0;
4
4
  exports.MODULE_URL_PREFIX = "/modules";
5
- exports.ROOT_SLUG = "/";
6
5
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":";;;AAuEa,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAE/B,QAAA,SAAS,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/page/types.ts"],"names":[],"mappings":";;;AAwEa,QAAA,iBAAiB,GAAG,UAAU,CAAC"}
package/dist/page.d.ts CHANGED
@@ -1,7 +1,29 @@
1
+ /**
2
+ * Public entry of the page system, split by concern under `./page/`:
3
+ *
4
+ * - `types` — the shared vocabulary (menu options, page/category infos,
5
+ * dynamic menu and extension contracts)
6
+ * - `registry` — the page layout and permission id lookups
7
+ * - `layout-filter` — permission filtering of a serialized layout
8
+ * - `categories` — the `internal` registration proxies and the module
9
+ * membership check
10
+ * - `metadata` — `PageMetadata`, the registration/teardown lifecycle of one
11
+ * page
12
+ * - `controllers` — the consumer-facing decorators and constructors
13
+ * - `roots` — the built-in root categories and module registration
14
+ *
15
+ * The plumbing behind them lives under `./page/internal/` and is not
16
+ * re-exported here: the module-wide registries every piece writes to
17
+ * (`registry`), category resolution and creation (`categories`), the
18
+ * deterministic ordering and grafting of page extensions into a layout
19
+ * (`extension-assembly`), extension validation, component targets and trees,
20
+ * form page route claims and the registration identities.
21
+ */
1
22
  export { internal, isInsideModule } from "./page/categories";
2
23
  export { AddFrontendModule, type AddFrontendModuleOptions, Category, type FrontendModuleMetadata, type FrontendModuleOptions, type FrontendModuleValue, type FrontendRendererMetadata, GetFrontendModules, NotifyMenuChanged, PageController, RegisterDynamicMenuProvider, RegisterPage, RegisterPageExtension, RootCategory, RootPageController, } from "./page/controllers";
24
+ export { PageDeclarationConflictError } from "./page/declaration-conflict";
3
25
  export { FormPageRouteConflictError } from "./page/form-page-routes";
4
26
  export { PageMetadata } from "./page/metadata";
5
- export { ClearPageLayoutBySlug, GetComponentPermissionIds, GetPageLayoutBySlug, GetPendingPageExtensions, GetPermissionId, GetRegisteredPageIds, type PendingPageExtension, } from "./page/registry";
27
+ export { ClearPageLayoutBySlug, GetComponentPermissionIds, GetPageLayoutBySlug, GetPermissionId, GetRegisteredPageIds, } from "./page/registry";
6
28
  export * from "./page/roots";
7
29
  export * from "./page/types";