@umbraco-cms/backoffice 14.0.0-b0704cee → 14.0.0-c26a40c4

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 (744) hide show
  1. package/dist-cms/apps/app/app.element.d.ts +11 -1
  2. package/dist-cms/apps/app/app.element.js +25 -1
  3. package/dist-cms/apps/backoffice/backoffice.context.d.ts +5 -1
  4. package/dist-cms/apps/backoffice/backoffice.context.js +13 -5
  5. package/dist-cms/apps/backoffice/backoffice.element.d.ts +0 -1
  6. package/dist-cms/apps/backoffice/backoffice.element.js +5 -6
  7. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.d.ts +0 -2
  8. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +6 -13
  9. package/dist-cms/apps/backoffice/components/backoffice-main.element.js +11 -9
  10. package/dist-cms/apps/backoffice/{extension.controller.js → extension-initializer.controller.js} +2 -0
  11. package/dist-cms/apps/installer/error/installer-error.element.d.ts +2 -2
  12. package/dist-cms/apps/installer/installer.context.d.ts +6 -6
  13. package/dist-cms/apps/installer/installer.context.js +2 -2
  14. package/dist-cms/assets/lang/da-dk.d.ts +3 -0
  15. package/dist-cms/assets/lang/da-dk.js +2989 -0
  16. package/dist-cms/assets/lang/da-dk.ts +3246 -0
  17. package/dist-cms/assets/lang/en-us.d.ts +3 -0
  18. package/dist-cms/assets/lang/en-us.js +2966 -0
  19. package/dist-cms/assets/lang/en-us.ts +3219 -0
  20. package/dist-cms/custom-elements.json +210 -163
  21. package/dist-cms/external/backend-api/index.js +1 -1
  22. package/dist-cms/external/monaco-editor/{abap-42d5eca7.js → abap-7ad4f8f0.js} +1 -1
  23. package/dist-cms/external/monaco-editor/{apex-051da044.js → apex-30597c49.js} +1 -1
  24. package/dist-cms/external/monaco-editor/{bundle.css → assets/bundle-a4f90d1d.css} +593 -279
  25. package/dist-cms/external/monaco-editor/{azcli-ad3d7346.js → azcli-67c34a04.js} +1 -1
  26. package/dist-cms/external/monaco-editor/{bat-0217c0bc.js → bat-b8f4738b.js} +1 -1
  27. package/dist-cms/external/monaco-editor/{bicep-0cadb30a.js → bicep-b104b38b.js} +1 -1
  28. package/dist-cms/external/monaco-editor/{cameligo-ac55f854.js → cameligo-001d1ded.js} +1 -1
  29. package/dist-cms/external/monaco-editor/{clojure-388a0d58.js → clojure-fa9652a1.js} +1 -1
  30. package/dist-cms/external/monaco-editor/{coffee-7e7a2971.js → coffee-b69a8315.js} +1 -1
  31. package/dist-cms/external/monaco-editor/{cpp-840d082a.js → cpp-8053752f.js} +1 -1
  32. package/dist-cms/external/monaco-editor/{csharp-b3429875.js → csharp-886041a3.js} +1 -1
  33. package/dist-cms/external/monaco-editor/{csp-83442b86.js → csp-e846bce6.js} +1 -1
  34. package/dist-cms/external/monaco-editor/{css-7a34b8c3.js → css-50032e5e.js} +1 -1
  35. package/dist-cms/external/monaco-editor/{cssMode-98237bd7.js → cssMode-c0406684.js} +3 -3
  36. package/dist-cms/external/monaco-editor/{cypher-cc9c23cc.js → cypher-6f93a845.js} +1 -1
  37. package/dist-cms/external/monaco-editor/{dart-00a58d1c.js → dart-14284236.js} +1 -1
  38. package/dist-cms/external/monaco-editor/{dockerfile-668ee825.js → dockerfile-e9935eb4.js} +1 -1
  39. package/dist-cms/external/monaco-editor/{ecl-b42ffd48.js → ecl-9c89f204.js} +1 -1
  40. package/dist-cms/external/monaco-editor/{elixir-b9ceca92.js → elixir-ca8bf661.js} +1 -1
  41. package/dist-cms/external/monaco-editor/{flow9-7e9b2e50.js → flow9-ac147227.js} +1 -1
  42. package/dist-cms/external/monaco-editor/{freemarker2-b9eee947.js → freemarker2-793b7402.js} +2 -2
  43. package/dist-cms/external/monaco-editor/{fsharp-cdc5b8f1.js → fsharp-8eaad024.js} +1 -1
  44. package/dist-cms/external/monaco-editor/{go-4c92fa5c.js → go-05529e2e.js} +1 -1
  45. package/dist-cms/external/monaco-editor/{graphql-67842079.js → graphql-8f5b3fdd.js} +1 -1
  46. package/dist-cms/external/monaco-editor/{handlebars-36a3f04f.js → handlebars-aaa2fd96.js} +2 -2
  47. package/dist-cms/external/monaco-editor/{hcl-59febf1c.js → hcl-9e201a51.js} +1 -1
  48. package/dist-cms/external/monaco-editor/{html-b0d38e59.js → html-1194c0aa.js} +2 -2
  49. package/dist-cms/external/monaco-editor/{htmlMode-b85c3f7d.js → htmlMode-36df69c6.js} +3 -3
  50. package/dist-cms/external/monaco-editor/{index-534fb84c.js → index-7368f3e3.js} +418 -409
  51. package/dist-cms/external/monaco-editor/index.js +1 -1
  52. package/dist-cms/external/monaco-editor/{ini-1cf2ce67.js → ini-31a5619d.js} +1 -1
  53. package/dist-cms/external/monaco-editor/{java-e4fb14c6.js → java-8c6e1ae8.js} +1 -1
  54. package/dist-cms/external/monaco-editor/javascript-86205709.js +6 -0
  55. package/dist-cms/external/monaco-editor/{jsonMode-fa2b41c8.js → jsonMode-f663e935.js} +6 -6
  56. package/dist-cms/external/monaco-editor/{julia-9b6c6458.js → julia-fbb2af47.js} +1 -1
  57. package/dist-cms/external/monaco-editor/{kotlin-b66c14ff.js → kotlin-bfa96180.js} +1 -1
  58. package/dist-cms/external/monaco-editor/{less-8dc8685d.js → less-0b6a8ff1.js} +1 -1
  59. package/dist-cms/external/monaco-editor/{lexon-59c0b911.js → lexon-585e5248.js} +1 -1
  60. package/dist-cms/external/monaco-editor/{liquid-be38812f.js → liquid-37adc07a.js} +2 -2
  61. package/dist-cms/external/monaco-editor/{lua-3f4d9098.js → lua-f6c17885.js} +1 -1
  62. package/dist-cms/external/monaco-editor/{m3-82a8c502.js → m3-1b6456c5.js} +1 -1
  63. package/dist-cms/external/monaco-editor/{markdown-07c3fa1e.js → markdown-7bc251f9.js} +1 -1
  64. package/dist-cms/external/monaco-editor/{mips-59ddf2f4.js → mips-2df76781.js} +1 -1
  65. package/dist-cms/external/monaco-editor/{msdax-12ec689c.js → msdax-8c38e8b4.js} +1 -1
  66. package/dist-cms/external/monaco-editor/{mysql-2958efa4.js → mysql-abbb9ca3.js} +1 -1
  67. package/dist-cms/external/monaco-editor/{objective-c-08d94025.js → objective-c-efbfd08b.js} +1 -1
  68. package/dist-cms/external/monaco-editor/{pascal-b686b438.js → pascal-08abee72.js} +1 -1
  69. package/dist-cms/external/monaco-editor/{pascaligo-96457e5f.js → pascaligo-200db0cf.js} +1 -1
  70. package/dist-cms/external/monaco-editor/{perl-b938bdad.js → perl-079789ee.js} +1 -1
  71. package/dist-cms/external/monaco-editor/{pgsql-42970e97.js → pgsql-efd093d4.js} +1 -1
  72. package/dist-cms/external/monaco-editor/{php-7476401f.js → php-75c530f2.js} +1 -1
  73. package/dist-cms/external/monaco-editor/{pla-aaf0caa2.js → pla-a55a2765.js} +1 -1
  74. package/dist-cms/external/monaco-editor/{postiats-759ff404.js → postiats-6098f37b.js} +1 -1
  75. package/dist-cms/external/monaco-editor/{powerquery-a33a8de4.js → powerquery-949bb7fe.js} +1 -1
  76. package/dist-cms/external/monaco-editor/{powershell-ec154f36.js → powershell-7e550b21.js} +1 -1
  77. package/dist-cms/external/monaco-editor/{protobuf-e42d83dc.js → protobuf-25a4d695.js} +1 -1
  78. package/dist-cms/external/monaco-editor/{pug-04b2d67c.js → pug-f8c9f493.js} +1 -1
  79. package/dist-cms/external/monaco-editor/{python-b3b058ea.js → python-78a47148.js} +2 -2
  80. package/dist-cms/external/monaco-editor/{qsharp-5376e9d1.js → qsharp-c4b94317.js} +1 -1
  81. package/dist-cms/external/monaco-editor/{r-d212ba98.js → r-614353db.js} +1 -1
  82. package/dist-cms/external/monaco-editor/{razor-911a705a.js → razor-5de9ce12.js} +2 -2
  83. package/dist-cms/external/monaco-editor/{redis-51e44009.js → redis-fb089f4d.js} +1 -1
  84. package/dist-cms/external/monaco-editor/{redshift-8de2cfdc.js → redshift-a620fcb0.js} +1 -1
  85. package/dist-cms/external/monaco-editor/{restructuredtext-3f99254a.js → restructuredtext-7ab09fcf.js} +1 -1
  86. package/dist-cms/external/monaco-editor/{ruby-64a73e64.js → ruby-922be722.js} +1 -1
  87. package/dist-cms/external/monaco-editor/{rust-2a0390f1.js → rust-23e08578.js} +1 -1
  88. package/dist-cms/external/monaco-editor/{sb-4d8fa557.js → sb-ccceec0f.js} +1 -1
  89. package/dist-cms/external/monaco-editor/{scala-00d62260.js → scala-0535664d.js} +1 -1
  90. package/dist-cms/external/monaco-editor/{scheme-a0903f29.js → scheme-dba621eb.js} +1 -1
  91. package/dist-cms/external/monaco-editor/{scss-3e25f7ad.js → scss-28539a11.js} +1 -1
  92. package/dist-cms/external/monaco-editor/{shell-9c442847.js → shell-5b92a834.js} +1 -1
  93. package/dist-cms/external/monaco-editor/{solidity-6b3049ed.js → solidity-f63d6049.js} +1 -1
  94. package/dist-cms/external/monaco-editor/{sophia-f4a2b303.js → sophia-12e9ad90.js} +1 -1
  95. package/dist-cms/external/monaco-editor/{sparql-1d37a384.js → sparql-dedb74aa.js} +1 -1
  96. package/dist-cms/external/monaco-editor/{sql-946641be.js → sql-975a69d7.js} +1 -1
  97. package/dist-cms/external/monaco-editor/{st-9220dec1.js → st-1904ae33.js} +1 -1
  98. package/dist-cms/external/monaco-editor/{swift-06592b81.js → swift-e180a143.js} +1 -1
  99. package/dist-cms/external/monaco-editor/{systemverilog-b5ba493c.js → systemverilog-c5592fac.js} +1 -1
  100. package/dist-cms/external/monaco-editor/{tcl-3fe51e69.js → tcl-996f4ac7.js} +1 -1
  101. package/dist-cms/external/monaco-editor/tsMode-f4618e87.js +16 -0
  102. package/dist-cms/external/monaco-editor/{twig-ee0f3b03.js → twig-4859b551.js} +1 -1
  103. package/dist-cms/external/monaco-editor/{typescript-4d577e09.js → typescript-efea739f.js} +3 -3
  104. package/dist-cms/external/monaco-editor/{vb-e7e59935.js → vb-ad68fa9a.js} +1 -1
  105. package/dist-cms/external/monaco-editor/wgsl-5ee7b1ca.js +303 -0
  106. package/dist-cms/external/monaco-editor/{xml-b05159d9.js → xml-12b9ace3.js} +2 -2
  107. package/dist-cms/external/monaco-editor/{yaml-b4ec85f0.js → yaml-65e08cff.js} +3 -3
  108. package/dist-cms/external/rxjs/index.js +2 -2
  109. package/dist-cms/external/tinymce/index.js +22 -22
  110. package/dist-cms/libs/class-api/class.mixin.js +2 -2
  111. package/dist-cms/libs/context-api/consume/context-consumer.controller.js +1 -3
  112. package/dist-cms/libs/context-api/consume/context-consumer.d.ts +0 -1
  113. package/dist-cms/libs/context-api/consume/context-consumer.js +36 -6
  114. package/dist-cms/libs/context-api/provide/context-provide.event.d.ts +21 -0
  115. package/dist-cms/libs/context-api/provide/context-provide.event.js +17 -0
  116. package/dist-cms/libs/context-api/provide/context-provider.controller.js +1 -1
  117. package/dist-cms/libs/context-api/provide/context-provider.d.ts +0 -6
  118. package/dist-cms/libs/context-api/provide/context-provider.js +18 -6
  119. package/dist-cms/libs/controller-api/controller-host-base.mixin.js +1 -0
  120. package/dist-cms/libs/controller-api/controller-host-element.mixin.d.ts +9 -3
  121. package/dist-cms/libs/element-api/element.mixin.d.ts +9 -2
  122. package/dist-cms/libs/element-api/element.mixin.js +22 -1
  123. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.d.ts +7 -0
  124. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.js +1 -0
  125. package/dist-cms/libs/extension-api/condition/extension-condition.interface.d.ts +6 -0
  126. package/dist-cms/libs/extension-api/condition/extension-condition.interface.js +1 -0
  127. package/dist-cms/libs/extension-api/condition/index.d.ts +2 -0
  128. package/dist-cms/libs/extension-api/condition/index.js +2 -0
  129. package/dist-cms/libs/extension-api/controller/base-extension-controller.d.ts +19 -0
  130. package/dist-cms/libs/extension-api/controller/base-extension-controller.js +178 -0
  131. package/dist-cms/libs/extension-api/controller/base-extensions-controller.d.ts +19 -0
  132. package/dist-cms/libs/extension-api/controller/base-extensions-controller.js +112 -0
  133. package/dist-cms/libs/extension-api/controller/extension-element-controller.d.ts +20 -0
  134. package/dist-cms/libs/extension-api/controller/extension-element-controller.js +82 -0
  135. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +9 -0
  136. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +13 -0
  137. package/dist-cms/libs/extension-api/controller/extensions-element-controller.d.ts +13 -0
  138. package/dist-cms/libs/extension-api/controller/extensions-element-controller.js +29 -0
  139. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.d.ts +11 -0
  140. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.js +16 -0
  141. package/dist-cms/libs/extension-api/controller/index.d.ts +6 -0
  142. package/dist-cms/libs/extension-api/controller/index.js +6 -0
  143. package/dist-cms/libs/extension-api/index.d.ts +3 -1
  144. package/dist-cms/libs/extension-api/index.js +3 -1
  145. package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +2 -0
  146. package/dist-cms/libs/extension-api/registry/extension.registry.js +64 -4
  147. package/dist-cms/libs/extension-api/types.d.ts +45 -8
  148. package/dist-cms/libs/localization-api/index.d.ts +3 -0
  149. package/dist-cms/libs/localization-api/index.js +3 -0
  150. package/dist-cms/libs/localization-api/localize.controller.d.ts +47 -0
  151. package/dist-cms/libs/localization-api/localize.controller.js +125 -0
  152. package/dist-cms/libs/localization-api/manager.d.ts +18 -0
  153. package/dist-cms/libs/localization-api/manager.js +40 -0
  154. package/dist-cms/libs/localization-api/registry/translation.registry.d.ts +12 -0
  155. package/dist-cms/libs/localization-api/registry/translation.registry.js +58 -0
  156. package/dist-cms/libs/observable-api/class-state.d.ts +2 -3
  157. package/dist-cms/libs/observable-api/observer.controller.d.ts +4 -3
  158. package/dist-cms/libs/observable-api/observer.controller.js +9 -2
  159. package/dist-cms/libs/observable-api/observer.d.ts +13 -2
  160. package/dist-cms/libs/observable-api/observer.js +32 -4
  161. package/dist-cms/mocks/data/data-type.data.js +0 -40
  162. package/dist-cms/mocks/data/dictionary.data.js +0 -6
  163. package/dist-cms/mocks/data/document-type.data.d.ts +2 -0
  164. package/dist-cms/mocks/data/document-type.data.js +4 -6
  165. package/dist-cms/mocks/data/document.data.d.ts +3 -1
  166. package/dist-cms/mocks/data/document.data.js +18 -68
  167. package/dist-cms/mocks/data/log-viewer.data.d.ts +4 -4
  168. package/dist-cms/mocks/data/log-viewer.data.js +4 -4
  169. package/dist-cms/mocks/data/media-type.data.d.ts +3 -3
  170. package/dist-cms/mocks/data/media-type.data.js +0 -4
  171. package/dist-cms/mocks/data/media.data.d.ts +3 -3
  172. package/dist-cms/mocks/data/media.data.js +0 -16
  173. package/dist-cms/mocks/data/member-group.data.js +0 -2
  174. package/dist-cms/mocks/data/member-type.data.js +0 -2
  175. package/dist-cms/mocks/data/member.data.js +0 -2
  176. package/dist-cms/mocks/data/partial-views.data.d.ts +19 -3
  177. package/dist-cms/mocks/data/partial-views.data.js +277 -18
  178. package/dist-cms/mocks/data/relation-type.data.js +0 -10
  179. package/dist-cms/mocks/data/stylesheet.data.js +0 -4
  180. package/dist-cms/mocks/data/template.data.d.ts +0 -1
  181. package/dist-cms/mocks/data/template.data.js +0 -10
  182. package/dist-cms/mocks/data/user-groups.data.js +0 -1
  183. package/dist-cms/mocks/data/users.data.js +0 -6
  184. package/dist-cms/mocks/data/utils.d.ts +2 -1
  185. package/dist-cms/mocks/data/utils.js +5 -5
  186. package/dist-cms/mocks/handlers/dictionary.handlers.js +0 -2
  187. package/dist-cms/mocks/handlers/document.handlers.js +15 -4
  188. package/dist-cms/mocks/handlers/partial-views.handlers.d.ts +2 -1
  189. package/dist-cms/mocks/handlers/partial-views.handlers.js +37 -5
  190. package/dist-cms/packages/core/collection/collection-selection-actions.element.d.ts +1 -1
  191. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +1 -1
  192. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +38 -14
  193. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.js +81 -71
  194. package/dist-cms/packages/core/components/input-checkbox-list/input-checkbox-list.element.d.ts +1 -1
  195. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.d.ts +1 -1
  196. package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.handlers.js +1 -1
  197. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +2 -2
  198. package/dist-cms/packages/core/debug/debug.element.d.ts +1 -1
  199. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.d.ts +8 -0
  200. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.js +21 -0
  201. package/dist-cms/packages/core/entity-action/common/index.d.ts +1 -0
  202. package/dist-cms/packages/core/entity-action/common/index.js +1 -0
  203. package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +5 -5
  204. package/dist-cms/packages/core/entity-action/entity-action-list.element.js +17 -21
  205. package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -0
  206. package/dist-cms/packages/core/extension-registry/conditions/index.js +4 -0
  207. package/dist-cms/packages/core/extension-registry/conditions/manifests.d.ts +1 -0
  208. package/dist-cms/packages/core/extension-registry/conditions/manifests.js +3 -0
  209. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.d.ts +12 -0
  210. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.js +23 -0
  211. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.d.ts +18 -0
  212. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.js +23 -0
  213. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.d.ts +19 -0
  214. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.js +38 -0
  215. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +5 -0
  216. package/dist-cms/packages/core/extension-registry/conditions/types.js +1 -0
  217. package/dist-cms/packages/core/extension-registry/index.d.ts +3 -2
  218. package/dist-cms/packages/core/extension-registry/index.js +3 -2
  219. package/dist-cms/packages/core/extension-registry/models/dashboard.model.d.ts +3 -16
  220. package/dist-cms/packages/core/extension-registry/models/dashboard.model.js +5 -0
  221. package/dist-cms/packages/core/extension-registry/models/entity-action.model.d.ts +2 -5
  222. package/dist-cms/packages/core/extension-registry/models/index.d.ts +4 -2
  223. package/dist-cms/packages/core/extension-registry/models/index.js +1 -0
  224. package/dist-cms/packages/core/extension-registry/models/menu-item.model.d.ts +1 -7
  225. package/dist-cms/packages/core/extension-registry/models/property-action.model.d.ts +5 -3
  226. package/dist-cms/packages/core/extension-registry/models/section-sidebar-app.model.d.ts +3 -6
  227. package/dist-cms/packages/core/extension-registry/models/section-view.model.d.ts +3 -5
  228. package/dist-cms/packages/core/extension-registry/models/section.model.d.ts +2 -2
  229. package/dist-cms/packages/core/extension-registry/models/translations.model.d.ts +41 -0
  230. package/dist-cms/packages/core/extension-registry/models/translations.model.js +1 -0
  231. package/dist-cms/packages/core/extension-registry/models/tree-item.model.d.ts +2 -2
  232. package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +4 -7
  233. package/dist-cms/packages/core/extension-registry/models/workspace-editor-view.model.d.ts +3 -6
  234. package/dist-cms/packages/core/extension-registry/models/workspace-view-collection.model.d.ts +3 -29
  235. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.d.ts → multi-extensions-class-initializer.d.ts} +2 -2
  236. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.js → multi-extensions-class-initializer.js} +10 -2
  237. package/dist-cms/packages/core/index.d.ts +1 -0
  238. package/dist-cms/packages/core/index.js +7 -2
  239. package/dist-cms/packages/core/localization/index.d.ts +1 -0
  240. package/dist-cms/packages/core/localization/index.js +1 -0
  241. package/dist-cms/packages/core/localization/localize.element.d.ts +34 -0
  242. package/dist-cms/packages/core/localization/localize.element.js +64 -0
  243. package/dist-cms/packages/core/localization/manifests.d.ts +2 -0
  244. package/dist-cms/packages/core/localization/manifests.js +23 -0
  245. package/dist-cms/packages/core/menu/index.d.ts +1 -0
  246. package/dist-cms/packages/core/menu/index.js +1 -0
  247. package/dist-cms/packages/core/menu/menu.context.d.ts +9 -0
  248. package/dist-cms/packages/core/menu/menu.context.js +14 -0
  249. package/dist-cms/packages/core/menu/menu.element.d.ts +1 -0
  250. package/dist-cms/packages/core/menu/menu.element.js +6 -2
  251. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +4 -1
  252. package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.js +1 -0
  253. package/dist-cms/packages/core/modal/token/embedded-media-modal.token.js +0 -1
  254. package/dist-cms/packages/core/modal/token/folder-modal.token.d.ts +1 -0
  255. package/dist-cms/packages/core/modal/token/user-picker-modal.token.d.ts +2 -2
  256. package/dist-cms/packages/core/property-action/manifests.js +2 -2
  257. package/dist-cms/packages/core/property-action/shared/property-action-menu/property-action-menu.element.js +2 -1
  258. package/dist-cms/packages/core/property-editor/manifests.d.ts +1 -1
  259. package/dist-cms/packages/core/property-editor/uis/textarea/property-editor-ui-textarea.element.js +0 -1
  260. package/dist-cms/packages/core/section/index.d.ts +1 -1
  261. package/dist-cms/packages/core/section/index.js +1 -1
  262. package/dist-cms/packages/core/section/section-default.element.d.ts +1 -1
  263. package/dist-cms/packages/core/section/section-default.element.js +13 -21
  264. package/dist-cms/packages/core/section/section-main-views/index.d.ts +1 -0
  265. package/dist-cms/packages/core/section/section-main-views/index.js +1 -0
  266. package/dist-cms/packages/core/section/section-main-views/section-main-views.element.d.ts +19 -0
  267. package/dist-cms/packages/core/section/{section-views/section-views.element.js → section-main-views/section-main-views.element.js} +20 -48
  268. package/dist-cms/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.js +18 -5
  269. package/dist-cms/packages/core/section/section-sidebar-menu/section-sidebar-menu.element.js +3 -4
  270. package/dist-cms/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +2 -2
  271. package/dist-cms/packages/core/tree/entity-tree-item/entity-tree-item.element.d.ts +1 -1
  272. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.context.d.ts +9 -1
  273. package/dist-cms/packages/core/tree/file-system-tree-item/file-system-tree-item.context.js +28 -0
  274. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.element.d.ts +11 -3
  275. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.element.js +10 -1
  276. package/dist-cms/packages/core/tree/file-system-tree-item/index.d.ts +2 -0
  277. package/dist-cms/packages/core/tree/file-system-tree-item/index.js +2 -0
  278. package/dist-cms/packages/core/tree/index.d.ts +1 -0
  279. package/dist-cms/packages/core/tree/index.js +1 -0
  280. package/dist-cms/packages/core/tree/tree-item/tree-item.context.interface.d.ts +2 -4
  281. package/dist-cms/packages/core/tree/tree-item/tree-item.element.d.ts +1 -1
  282. package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +1 -1
  283. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.d.ts +4 -5
  284. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +26 -30
  285. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.d.ts +1 -0
  286. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.js +6 -3
  287. package/dist-cms/packages/core/tree/tree-menu-item/tree-menu-item.element.d.ts +1 -1
  288. package/dist-cms/packages/core/tree/tree.context.d.ts +5 -5
  289. package/dist-cms/packages/core/workspace/index.d.ts +7 -5
  290. package/dist-cms/packages/core/workspace/index.js +7 -5
  291. package/dist-cms/packages/core/workspace/manifests.d.ts +1 -1
  292. package/dist-cms/packages/core/workspace/manifests.js +2 -1
  293. package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.js +2 -2
  294. package/dist-cms/packages/core/workspace/workspace-action/workspace-action.element.js +12 -4
  295. package/dist-cms/packages/core/workspace/workspace-action-menu/workspace-action-menu.element.js +8 -4
  296. package/dist-cms/packages/core/workspace/workspace-alias.condition.d.ts +18 -0
  297. package/dist-cms/packages/core/workspace/workspace-alias.condition.js +21 -0
  298. package/dist-cms/packages/core/workspace/workspace-content/views/collection/workspace-view-collection.element.js +2 -2
  299. package/dist-cms/packages/core/workspace/workspace-context/index.d.ts +1 -1
  300. package/dist-cms/packages/core/workspace/workspace-context/index.js +1 -1
  301. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +4 -3
  302. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.interface.d.ts +2 -2
  303. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.js +4 -3
  304. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.d.ts +4 -0
  305. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.js +2 -0
  306. package/dist-cms/packages/core/workspace/workspace-context/workspace-entity-context.interface.d.ts +0 -1
  307. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.d.ts +4 -8
  308. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.js +11 -39
  309. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.d.ts +0 -10
  310. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.js +1 -23
  311. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.d.ts +1 -0
  312. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.js +1 -0
  313. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.d.ts +16 -0
  314. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.js +31 -0
  315. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.js +2 -2
  316. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.js +4 -0
  317. package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.js +2 -2
  318. package/dist-cms/packages/core/workspace/workspace.element.d.ts +1 -1
  319. package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.js +2 -3
  320. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.js +1 -1
  321. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.d.ts +0 -1
  322. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.js +0 -1
  323. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.d.ts +0 -1
  324. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.js +0 -1
  325. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.d.ts +1 -1
  326. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.js +0 -12
  327. package/dist-cms/packages/dictionary/dictionary/index.d.ts +1 -0
  328. package/dist-cms/packages/dictionary/dictionary/index.js +1 -0
  329. package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -0
  330. package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.js +0 -2
  331. package/dist-cms/packages/dictionary/dictionary/repository/index.d.ts +3 -0
  332. package/dist-cms/packages/dictionary/dictionary/repository/index.js +3 -0
  333. package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.js +1 -1
  334. package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.js +1 -1
  335. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.js +3 -3
  336. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.js +1 -1
  337. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.js +13 -8
  338. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.js +2 -2
  339. package/dist-cms/packages/dictionary/manifests.d.ts +1 -0
  340. package/dist-cms/packages/dictionary/section.manifest.d.ts +2 -0
  341. package/dist-cms/packages/{translation → dictionary}/section.manifest.js +16 -10
  342. package/dist-cms/packages/{translation → dictionary}/umbraco-package.d.ts +1 -1
  343. package/dist-cms/packages/dictionary/umbraco-package.js +9 -0
  344. package/dist-cms/packages/documents/dashboards/manifests.js +6 -3
  345. package/dist-cms/packages/documents/document-blueprints/menu-item/manifests.js +0 -2
  346. package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +0 -2
  347. package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +0 -8
  348. package/dist-cms/packages/documents/document-types/menu-item/manifests.js +0 -2
  349. package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.d.ts +1 -1
  350. package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.js +12 -23
  351. package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +2 -11
  352. package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +1 -2
  353. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +1 -7
  354. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +0 -4
  355. package/dist-cms/packages/documents/document-types/tree/manifests.js +1 -1
  356. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace-editor.element.js +2 -2
  357. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
  358. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.element.js +3 -22
  359. package/dist-cms/packages/documents/document-types/workspace/manifests.js +30 -15
  360. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +2 -2
  361. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +2 -2
  362. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +2 -2
  363. package/dist-cms/packages/documents/document-types/workspace/views/settings/document-type-workspace-view-settings.element.js +2 -2
  364. package/dist-cms/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.js +2 -2
  365. package/dist-cms/packages/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.js +2 -2
  366. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.js +0 -1
  367. package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +1 -1
  368. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +0 -24
  369. package/dist-cms/packages/documents/documents/menu-item/manifests.js +0 -2
  370. package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +2 -0
  371. package/dist-cms/packages/documents/documents/repository/document.repository.js +10 -0
  372. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +14 -0
  373. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +25 -5
  374. package/dist-cms/packages/documents/documents/tree/manifests.js +1 -1
  375. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +3 -3
  376. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +1 -1
  377. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +2 -2
  378. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -1
  379. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +2 -2
  380. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +2 -2
  381. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +2 -2
  382. package/dist-cms/packages/documents/documents/workspace/document-workspace.element.js +2 -0
  383. package/dist-cms/packages/documents/documents/workspace/manifests.js +36 -21
  384. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.js +2 -2
  385. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.js +2 -2
  386. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.js +2 -2
  387. package/dist-cms/packages/documents/documents/workspace/views/info/document-info-workspace-view.element.js +2 -2
  388. package/dist-cms/packages/documents/section.manifests.js +6 -3
  389. package/dist-cms/packages/media/manifests.d.ts +1 -1
  390. package/dist-cms/packages/media/media/collection-view/media-table-collection-view.element.js +0 -1
  391. package/dist-cms/packages/media/media/entity-actions/manifests.js +0 -2
  392. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  393. package/dist-cms/packages/media/media/menu-item/manifests.js +0 -2
  394. package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.d.ts +3 -3
  395. package/dist-cms/packages/media/media/tree/manifests.js +1 -1
  396. package/dist-cms/packages/media/media/workspace/manifests.js +24 -12
  397. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.d.ts +1 -1
  398. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +2 -2
  399. package/dist-cms/packages/media/media/workspace/media-workspace.context.js +1 -1
  400. package/dist-cms/packages/media/media/workspace/media-workspace.element.d.ts +1 -0
  401. package/dist-cms/packages/media/media/workspace/media-workspace.element.js +1 -0
  402. package/dist-cms/packages/media/media-types/entity-actions/manifests.js +0 -10
  403. package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
  404. package/dist-cms/packages/media/media-types/menu-item/manifests.js +0 -2
  405. package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.d.ts +2 -2
  406. package/dist-cms/packages/media/media-types/tree/manifests.js +1 -1
  407. package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.js +2 -2
  408. package/dist-cms/packages/media/media-types/workspace/media-type-workspace.context.js +1 -1
  409. package/dist-cms/packages/media/section.manifests.d.ts +1 -1
  410. package/dist-cms/packages/media/section.manifests.js +7 -3
  411. package/dist-cms/packages/members/manifests.d.ts +1 -1
  412. package/dist-cms/packages/members/member-groups/entity-actions/manifests.js +0 -2
  413. package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
  414. package/dist-cms/packages/members/member-groups/menu-item/manifests.js +0 -2
  415. package/dist-cms/packages/members/member-groups/tree/manifests.js +1 -1
  416. package/dist-cms/packages/members/member-groups/workspace/manifests.js +12 -6
  417. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace-editor.element.js +2 -2
  418. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace.context.js +1 -1
  419. package/dist-cms/packages/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.js +2 -2
  420. package/dist-cms/packages/members/member-types/entity-actions/manifests.js +0 -2
  421. package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
  422. package/dist-cms/packages/members/member-types/menu-item/manifests.js +0 -2
  423. package/dist-cms/packages/members/member-types/tree/manifests.js +1 -1
  424. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.context.js +1 -1
  425. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.d.ts +1 -0
  426. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.js +1 -0
  427. package/dist-cms/packages/members/members/entity-actions/manifests.js +0 -2
  428. package/dist-cms/packages/members/members/manifests.d.ts +1 -1
  429. package/dist-cms/packages/members/members/menu-item/manifests.js +0 -2
  430. package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.js +1 -1
  431. package/dist-cms/packages/members/members/tree/manifests.js +1 -1
  432. package/dist-cms/packages/members/members/workspace/member-workspace.context.js +1 -1
  433. package/dist-cms/packages/members/section.manifests.d.ts +1 -1
  434. package/dist-cms/packages/members/section.manifests.js +12 -6
  435. package/dist-cms/packages/packages/package-section/manifests.js +18 -9
  436. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.d.ts +0 -1
  437. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +0 -1
  438. package/dist-cms/packages/search/examine-management-dashboard/views/modal-views/fields-viewer.element.d.ts +1 -1
  439. package/dist-cms/packages/search/manifests.js +6 -3
  440. package/dist-cms/packages/settings/dashboards/health-check/views/health-check-group.element.d.ts +1 -1
  441. package/dist-cms/packages/settings/dashboards/manifests.js +37 -18
  442. package/dist-cms/packages/settings/dashboards/published-status/dashboard-published-status.element.js +11 -3
  443. package/dist-cms/packages/settings/data-types/entity-actions/copy/manifests.js +0 -2
  444. package/dist-cms/packages/settings/data-types/entity-actions/create/manifests.js +0 -2
  445. package/dist-cms/packages/settings/data-types/entity-actions/manifests.js +0 -6
  446. package/dist-cms/packages/settings/data-types/entity-actions/move/manifests.js +0 -2
  447. package/dist-cms/packages/settings/data-types/menu-item/manifests.js +0 -2
  448. package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.js +1 -1
  449. package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +2 -2
  450. package/dist-cms/packages/settings/data-types/models.d.ts +1 -1
  451. package/dist-cms/packages/settings/data-types/repository/data-type.repository.js +0 -1
  452. package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
  453. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.js +0 -1
  454. package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.d.ts +2 -2
  455. package/dist-cms/packages/settings/data-types/tree/manifests.js +1 -1
  456. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace-editor.element.js +2 -2
  457. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +1 -1
  458. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.element.js +2 -0
  459. package/dist-cms/packages/settings/data-types/workspace/manifests.js +18 -9
  460. package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +2 -2
  461. package/dist-cms/packages/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.js +2 -2
  462. package/dist-cms/packages/settings/extensions/menu-item/manifests.js +0 -2
  463. package/dist-cms/packages/settings/languages/app-language-select/app-language-select.element.js +1 -5
  464. package/dist-cms/packages/settings/languages/app-language-select/manifests.js +6 -3
  465. package/dist-cms/packages/settings/languages/entity-actions/manifests.js +0 -4
  466. package/dist-cms/packages/settings/languages/menu-item/manifests.js +0 -2
  467. package/dist-cms/packages/settings/languages/workspace/language/language-workspace-editor.element.js +2 -2
  468. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.context.js +1 -1
  469. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.d.ts +0 -1
  470. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.js +3 -21
  471. package/dist-cms/packages/settings/languages/workspace/language/manifests.js +12 -6
  472. package/dist-cms/packages/settings/languages/workspace/language/views/details/language-details-workspace-view.element.js +2 -2
  473. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.d.ts +1 -1
  474. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-name-column-layout.element.d.ts +1 -1
  475. package/dist-cms/packages/settings/logviewer/manifests.d.ts +1 -1
  476. package/dist-cms/packages/settings/logviewer/menu-item/manifests.js +0 -2
  477. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root/logviewer-root-workspace.element.d.ts → logviewer/logviewer-workspace.element.d.ts} +0 -9
  478. package/dist-cms/packages/settings/logviewer/workspace/logviewer/logviewer-workspace.element.js +65 -0
  479. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.js +16 -10
  480. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.d.ts +28 -15
  481. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.js +33 -5
  482. package/dist-cms/packages/settings/logviewer/workspace/manifests.js +2 -2
  483. package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
  484. package/dist-cms/packages/settings/relation-types/menu-item/manifests.js +0 -2
  485. package/dist-cms/packages/settings/relation-types/tree/manifests.js +1 -1
  486. package/dist-cms/packages/settings/relation-types/workspace/manifests.js +18 -9
  487. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace-editor.element.js +2 -2
  488. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.context.js +1 -1
  489. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.element.js +2 -0
  490. package/dist-cms/packages/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.js +2 -2
  491. package/dist-cms/packages/settings/section.manifests.d.ts +1 -1
  492. package/dist-cms/packages/settings/section.manifests.js +6 -3
  493. package/dist-cms/packages/templating/components/index.d.ts +0 -1
  494. package/dist-cms/packages/templating/components/index.js +0 -1
  495. package/dist-cms/packages/templating/components/insert-menu/templating-insert-menu.element.js +1 -1
  496. package/dist-cms/packages/templating/manifests.d.ts +6 -1
  497. package/dist-cms/packages/templating/menu.manifests.d.ts +1 -1
  498. package/dist-cms/packages/templating/menu.manifests.js +7 -3
  499. package/dist-cms/packages/templating/partial-views/config.d.ts +5 -5
  500. package/dist-cms/packages/templating/partial-views/config.js +3 -1
  501. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-empty.action.js +1 -1
  502. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.d.ts +10 -1
  503. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.js +16 -1
  504. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.d.ts +16 -0
  505. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.js +73 -0
  506. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.d.ts +6 -1
  507. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.js +38 -10
  508. package/dist-cms/packages/templating/partial-views/manifests.d.ts +6 -1
  509. package/dist-cms/packages/templating/partial-views/menu-item/manifests.js +0 -2
  510. package/dist-cms/packages/templating/partial-views/repository/manifests.js +2 -2
  511. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +51 -30
  512. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.js +81 -24
  513. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.d.ts +48 -13
  514. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.js +56 -17
  515. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +17 -0
  516. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.js +23 -0
  517. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.d.ts +3 -3
  518. package/dist-cms/packages/templating/partial-views/tree/manifests.js +4 -3
  519. package/dist-cms/packages/templating/partial-views/workspace/manifests.js +6 -3
  520. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.d.ts +6 -1
  521. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.js +124 -27
  522. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.d.ts +9 -7
  523. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.js +52 -10
  524. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.d.ts +1 -0
  525. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.js +10 -12
  526. package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
  527. package/dist-cms/packages/templating/stylesheets/menu-item/manifests.js +0 -2
  528. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +1 -1
  529. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.js +1 -1
  530. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.element.js +2 -0
  531. package/dist-cms/packages/templating/templates/entity-actions/manifests.js +0 -4
  532. package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
  533. package/dist-cms/packages/templating/templates/menu-item/manifests.js +0 -2
  534. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder-filter.element.js +2 -2
  535. package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
  536. package/dist-cms/packages/templating/templates/repository/template.repository.js +1 -1
  537. package/dist-cms/packages/templating/templates/tree/manifests.js +1 -1
  538. package/dist-cms/packages/templating/templates/workspace/manifests.js +6 -3
  539. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -1
  540. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +5 -5
  541. package/dist-cms/packages/templating/templates/workspace/template-workspace.element.js +3 -7
  542. package/dist-cms/packages/umbraco-news/manifests.js +6 -3
  543. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +9 -5
  544. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +10 -6
  545. package/dist-cms/packages/users/current-user/user-profile-apps/user-profile-app-profile.element.js +7 -5
  546. package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
  547. package/dist-cms/packages/users/user-groups/repository/manifests.d.ts +1 -1
  548. package/dist-cms/packages/users/user-groups/section-view/manifests.js +6 -3
  549. package/dist-cms/packages/users/user-groups/workspace/actions/workspace-action-user-group-save.element.js +2 -2
  550. package/dist-cms/packages/users/user-groups/workspace/manifests.js +6 -3
  551. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +1 -1
  552. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +2 -2
  553. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +1 -1
  554. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +2 -0
  555. package/dist-cms/packages/users/users/collection/user-collection.context.d.ts +3 -3
  556. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +1 -1
  557. package/dist-cms/packages/users/users/manifests.d.ts +1 -1
  558. package/dist-cms/packages/users/users/repository/manifests.d.ts +1 -1
  559. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.d.ts +18 -4
  560. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.js +7 -2
  561. package/dist-cms/packages/users/users/repository/sources/user.server.data.d.ts +16 -1
  562. package/dist-cms/packages/users/users/repository/sources/user.server.data.js +6 -2
  563. package/dist-cms/packages/users/users/repository/user.repository.d.ts +8 -8
  564. package/dist-cms/packages/users/users/repository/user.repository.js +5 -1
  565. package/dist-cms/packages/users/users/repository/user.store.d.ts +6 -6
  566. package/dist-cms/packages/users/users/repository/user.store.js +2 -2
  567. package/dist-cms/packages/users/users/section-view/manifests.js +6 -3
  568. package/dist-cms/packages/users/users/types.d.ts +6 -3
  569. package/dist-cms/packages/users/users/workspace/actions/user-workspace-action-save.element.js +2 -2
  570. package/dist-cms/packages/users/users/workspace/manifests.js +6 -3
  571. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.d.ts +1 -0
  572. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +53 -8
  573. package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +5 -5
  574. package/dist-cms/packages/users/users/workspace/user-workspace.context.js +18 -1
  575. package/dist-cms/shared/auth/auth.context.d.ts +1 -0
  576. package/dist-cms/shared/auth/auth.context.js +1 -2
  577. package/dist-cms/shared/auth/auth.interface.d.ts +4 -0
  578. package/dist-cms/shared/repository/data-source/data-source-response.interface.d.ts +1 -1
  579. package/dist-cms/shared/repository/data-source/data-source.interface.d.ts +2 -2
  580. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.d.ts +20 -0
  581. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.js +30 -0
  582. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.d.ts +20 -0
  583. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.js +22 -0
  584. package/dist-cms/shared/repository/data-source/index.d.ts +5 -3
  585. package/dist-cms/shared/repository/data-source/index.js +5 -3
  586. package/dist-cms/shared/repository/detail-repository.interface.d.ts +2 -2
  587. package/dist-cms/shared/repository/folder-repository.interface.d.ts +6 -6
  588. package/dist-cms/shared/repository/item-repository.interface.d.ts +2 -2
  589. package/dist-cms/shared/repository/tree-repository.interface.d.ts +6 -6
  590. package/dist-cms/shared/resources/resource.controller.js +1 -1
  591. package/dist-cms/shared/router/generate-route-path-builder.function.d.ts +1 -1
  592. package/dist-cms/shared/router/generate-route-path-builder.function.js +1 -1
  593. package/dist-cms/shared/router/route.context.js +8 -8
  594. package/dist-cms/shared/utils/component-has-manifest-property.function.d.ts +4 -0
  595. package/dist-cms/shared/utils/component-has-manifest-property.function.js +3 -0
  596. package/dist-cms/shared/utils/diff.type.d.ts +5 -0
  597. package/dist-cms/shared/utils/diff.type.js +1 -0
  598. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.d.ts +1 -0
  599. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.js +3 -0
  600. package/dist-cms/shared/utils/index.d.ts +3 -0
  601. package/dist-cms/shared/utils/index.js +3 -0
  602. package/dist-cms/shared/utils/media-helper.service.d.ts +1 -1
  603. package/dist-cms/shared/utils/media-helper.service.js +2 -1
  604. package/dist-cms/tinymce/CHANGELOG.md +22 -0
  605. package/dist-cms/tinymce/composer.json +1 -1
  606. package/dist-cms/tinymce/icons/default/icons.js +3 -0
  607. package/dist-cms/tinymce/icons/default/icons.min.js +1 -1
  608. package/dist-cms/tinymce/langs/ar.js +1 -1
  609. package/dist-cms/tinymce/langs/bg_BG.js +56 -56
  610. package/dist-cms/tinymce/langs/fr_FR.js +1 -1
  611. package/dist-cms/tinymce/langs/ka_GE.js +406 -0
  612. package/dist-cms/tinymce/langs/nb_NO.js +15 -15
  613. package/dist-cms/tinymce/models/dom/model.js +1 -1
  614. package/dist-cms/tinymce/models/dom/model.min.js +1 -1
  615. package/dist-cms/tinymce/package.json +1 -1
  616. package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
  617. package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
  618. package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
  619. package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
  620. package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
  621. package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
  622. package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
  623. package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
  624. package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
  625. package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
  626. package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
  627. package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
  628. package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
  629. package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
  630. package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
  631. package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
  632. package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
  633. package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
  634. package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
  635. package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
  636. package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
  637. package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
  638. package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
  639. package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  640. package/dist-cms/tinymce/plugins/help/plugin.js +6 -1
  641. package/dist-cms/tinymce/plugins/help/plugin.min.js +2 -2
  642. package/dist-cms/tinymce/plugins/image/plugin.js +1 -1
  643. package/dist-cms/tinymce/plugins/image/plugin.min.js +1 -1
  644. package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
  645. package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
  646. package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
  647. package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  648. package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
  649. package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
  650. package/dist-cms/tinymce/plugins/lists/plugin.js +1 -1
  651. package/dist-cms/tinymce/plugins/lists/plugin.min.js +1 -1
  652. package/dist-cms/tinymce/plugins/media/plugin.js +1 -1
  653. package/dist-cms/tinymce/plugins/media/plugin.min.js +1 -1
  654. package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
  655. package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  656. package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
  657. package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  658. package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
  659. package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
  660. package/dist-cms/tinymce/plugins/quickbars/plugin.js +1 -1
  661. package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +1 -1
  662. package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
  663. package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
  664. package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
  665. package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  666. package/dist-cms/tinymce/plugins/table/plugin.js +1 -1
  667. package/dist-cms/tinymce/plugins/table/plugin.min.js +1 -1
  668. package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
  669. package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
  670. package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
  671. package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  672. package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
  673. package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
  674. package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
  675. package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
  676. package/dist-cms/tinymce/skins/ui/oxide/skin.css +18 -0
  677. package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
  678. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +18 -0
  679. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  680. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +18 -0
  681. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  682. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +18 -0
  683. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  684. package/dist-cms/tinymce/themes/silver/theme.js +279 -85
  685. package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
  686. package/dist-cms/tinymce/tinymce.d.ts +7 -2
  687. package/dist-cms/tinymce/tinymce.js +3 -3
  688. package/dist-cms/tinymce/tinymce.min.js +2 -2
  689. package/dist-cms/tsconfig.build.json +15 -0
  690. package/dist-cms/tsconfig.build.tsbuildinfo +1 -0
  691. package/dist-cms/umbraco-package-schema.json +574 -362
  692. package/dist-cms/vscode-html-custom-data.json +104 -105
  693. package/package.json +29 -28
  694. package/dist-cms/external/monaco-editor/javascript-53ce59fc.js +0 -6
  695. package/dist-cms/external/monaco-editor/tsMode-3f4e7f54.js +0 -16
  696. package/dist-cms/packages/core/section/section-views/index.d.ts +0 -1
  697. package/dist-cms/packages/core/section/section-views/index.js +0 -1
  698. package/dist-cms/packages/core/section/section-views/section-views.element.d.ts +0 -26
  699. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.d.ts +0 -4
  700. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.js +0 -2
  701. package/dist-cms/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.js +0 -166
  702. package/dist-cms/packages/templating/components/file-system-tree-item/file-system-tree-item.context.js +0 -10
  703. package/dist-cms/packages/translation/dictionary/manifests.d.ts +0 -1
  704. package/dist-cms/packages/translation/manifests.d.ts +0 -1
  705. package/dist-cms/packages/translation/section.manifest.d.ts +0 -2
  706. package/dist-cms/packages/translation/umbraco-package.js +0 -9
  707. package/dist-cms/tsconfig.tsbuildinfo +0 -1
  708. /package/dist-cms/apps/backoffice/{extension.controller.d.ts → extension-initializer.controller.d.ts} +0 -0
  709. /package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.d.ts +0 -0
  710. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.d.ts +0 -0
  711. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.js +0 -0
  712. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.d.ts +0 -0
  713. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.d.ts +0 -0
  714. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.js +0 -0
  715. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.d.ts +0 -0
  716. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.js +0 -0
  717. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.d.ts +0 -0
  718. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.js +0 -0
  719. /package/dist-cms/packages/{translation → dictionary}/dictionary/manifests.js +0 -0
  720. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.d.ts +0 -0
  721. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.js +0 -0
  722. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.d.ts +0 -0
  723. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.d.ts +0 -0
  724. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.js +0 -0
  725. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.d.ts +0 -0
  726. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.js +0 -0
  727. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.d.ts +0 -0
  728. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.js +0 -0
  729. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.d.ts +0 -0
  730. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.js +0 -0
  731. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.d.ts +0 -0
  732. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.d.ts +0 -0
  733. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.js +0 -0
  734. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.d.ts +0 -0
  735. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.js +0 -0
  736. /package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.d.ts +0 -0
  737. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.d.ts +0 -0
  738. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.d.ts +0 -0
  739. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.d.ts +0 -0
  740. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.js +0 -0
  741. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.d.ts +0 -0
  742. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.d.ts +0 -0
  743. /package/dist-cms/packages/{translation → dictionary}/manifests.js +0 -0
  744. /package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.d.ts +0 -0
@@ -6,7 +6,7 @@ export const UmbClassMixin = (superClass) => {
6
6
  constructor(host, controllerAlias) {
7
7
  super();
8
8
  this._host = host;
9
- this._controllerAlias = controllerAlias ?? undefined; // ?? Symbol();
9
+ this._controllerAlias = controllerAlias ?? Symbol(); // This will fallback to a Symbol, ensuring that this class is only appended to the controller host once.
10
10
  }
11
11
  getHostElement() {
12
12
  return this._host.getHostElement();
@@ -22,7 +22,7 @@ export const UmbClassMixin = (superClass) => {
22
22
  * @memberof UmbElementMixin
23
23
  */
24
24
  observe(source, callback, controllerAlias) {
25
- return new UmbObserverController(this, source.asObservable ? source.asObservable() : source, callback, controllerAlias);
25
+ return new UmbObserverController(this, source, callback, controllerAlias);
26
26
  }
27
27
  /**
28
28
  * @description Provide a context API for this or child elements.
@@ -12,8 +12,6 @@ export class UmbContextConsumerController extends UmbContextConsumer {
12
12
  }
13
13
  destroy() {
14
14
  super.destroy();
15
- if (this.#host) {
16
- this.#host.removeController(this);
17
- }
15
+ this.#host.removeController(this);
18
16
  }
19
17
  }
@@ -24,6 +24,5 @@ export declare class UmbContextConsumer<T = unknown> {
24
24
  request(): void;
25
25
  hostConnected(): void;
26
26
  hostDisconnected(): void;
27
- private _handleNewProvider;
28
27
  destroy(): void;
29
28
  }
@@ -1,4 +1,8 @@
1
- import { isUmbContextProvideEventType, umbContextProvideEventType } from '../provide/context-provide.event.js';
1
+ import { isUmbContextProvideEventType,
2
+ //isUmbContextUnprovidedEventType,
3
+ umbContextProvideEventType,
4
+ //umbContextUnprovidedEventType,
5
+ } from '../provide/context-provide.event.js';
2
6
  import { UmbContextRequestEventImplementation } from './context-request.event.js';
3
7
  /**
4
8
  * @export
@@ -22,15 +26,20 @@ export class UmbContextConsumer {
22
26
  */
23
27
  constructor(hostElement, contextAlias, callback) {
24
28
  this.hostElement = hostElement;
29
+ /* Idea: Niels: If we need to filter for specific contexts, we could make the response method return true/false. If false, the event should then then not be stopped. Alternatively parse the event it self on to the response-callback. This will enable the event to continue to bubble up finding a context that matches. The reason for such would be to have some who are more specific than others. For example, some might just need the current workspace-context, others might need the closest handling a certain entityType. As I'm writting this is not relevant, but I wanted to keep the idea as we have had some circumstance that might be solved with this approach.*/
25
30
  this._onResponse = (instance) => {
26
31
  if (this.#instance === instance) {
27
32
  return;
28
33
  }
29
34
  this.#instance = instance;
30
35
  this.#callback?.(instance);
31
- this.#promiseResolver?.(instance);
36
+ if (instance !== undefined) {
37
+ this.#promiseResolver?.(instance);
38
+ this.#promise = undefined;
39
+ }
32
40
  };
33
- this._handleNewProvider = (event) => {
41
+ this.#handleNewProvider = (event) => {
42
+ // Does seem a bit unnecessary, we could just assume the type via type casting...
34
43
  if (!isUmbContextProvideEventType(event))
35
44
  return;
36
45
  if (this.#contextAlias === event.contextAlias) {
@@ -41,7 +50,7 @@ export class UmbContextConsumer {
41
50
  this.#callback = callback;
42
51
  }
43
52
  asPromise() {
44
- return (this.#promise ||
53
+ return (this.#promise ??
45
54
  (this.#promise = new Promise((resolve) => {
46
55
  this.#instance ? resolve(this.#instance) : (this.#promiseResolver = resolve);
47
56
  })));
@@ -55,13 +64,34 @@ export class UmbContextConsumer {
55
64
  }
56
65
  hostConnected() {
57
66
  // TODO: We need to use closets application element. We need this in order to have separate Backoffice running within or next to each other.
58
- window.addEventListener(umbContextProvideEventType, this._handleNewProvider);
67
+ window.addEventListener(umbContextProvideEventType, this.#handleNewProvider);
68
+ //window.addEventListener(umbContextUnprovidedEventType, this.#handleRemovedProvider);
59
69
  this.request();
60
70
  }
61
71
  hostDisconnected() {
62
72
  // TODO: We need to use closets application element. We need this in order to have separate Backoffice running within or next to each other.
63
- window.removeEventListener(umbContextProvideEventType, this._handleNewProvider);
73
+ window.removeEventListener(umbContextProvideEventType, this.#handleNewProvider);
74
+ //window.removeEventListener(umbContextUnprovidedEventType, this.#handleRemovedProvider);
75
+ }
76
+ #handleNewProvider;
77
+ //Niels: I'm keeping this code around as it might be relevant, but I wanted to try to see if leaving this feature out for now could work for us.
78
+ /*
79
+ #handleRemovedProvider = (event: Event) => {
80
+ // Does seem a bit unnecessary, we could just assume the type via type casting...
81
+ if (!isUmbContextUnprovidedEventType(event)) return;
82
+
83
+ if (this.#contextAlias === event.contextAlias && event.instance === this.#instance) {
84
+ this.#unProvide();
85
+ }
86
+ };
87
+
88
+ #unProvide() {
89
+ if (this.#instance !== undefined) {
90
+ this.#instance = undefined;
91
+ this.#callback?.(undefined);
92
+ }
64
93
  }
94
+ */
65
95
  // TODO: Test destroy scenarios:
66
96
  destroy() {
67
97
  this.hostDisconnected();
@@ -18,3 +18,24 @@ export declare class UmbContextProvideEventImplementation extends Event implemen
18
18
  constructor(contextAlias: string | UmbContextToken);
19
19
  }
20
20
  export declare const isUmbContextProvideEventType: (event: Event) => event is UmbContextProvideEventImplementation;
21
+ export declare const umbContextUnprovidedEventType = "umb:context-unprovided";
22
+ /**
23
+ * @export
24
+ * @interface UmbContextProvideEvent
25
+ */
26
+ export interface UmbContextUnprovidedEvent extends Event {
27
+ readonly contextAlias: string | UmbContextToken;
28
+ readonly instance: unknown;
29
+ }
30
+ /**
31
+ * @export
32
+ * @class UmbContextUnprovidedEventImplementation
33
+ * @extends {Event}
34
+ * @implements {UmbContextUnprovidedEvent}
35
+ */
36
+ export declare class UmbContextUnprovidedEventImplementation extends Event implements UmbContextUnprovidedEvent {
37
+ readonly contextAlias: string | UmbContextToken;
38
+ readonly instance: unknown;
39
+ constructor(contextAlias: string | UmbContextToken, instance: unknown);
40
+ }
41
+ export declare const isUmbContextUnprovidedEventType: (event: Event) => event is UmbContextUnprovidedEventImplementation;
@@ -14,3 +14,20 @@ export class UmbContextProvideEventImplementation extends Event {
14
14
  export const isUmbContextProvideEventType = (event) => {
15
15
  return event.type === umbContextProvideEventType;
16
16
  };
17
+ export const umbContextUnprovidedEventType = 'umb:context-unprovided';
18
+ /**
19
+ * @export
20
+ * @class UmbContextUnprovidedEventImplementation
21
+ * @extends {Event}
22
+ * @implements {UmbContextUnprovidedEvent}
23
+ */
24
+ export class UmbContextUnprovidedEventImplementation extends Event {
25
+ constructor(contextAlias, instance) {
26
+ super(umbContextUnprovidedEventType, { bubbles: true, composed: true });
27
+ this.contextAlias = contextAlias;
28
+ this.instance = instance;
29
+ }
30
+ }
31
+ export const isUmbContextUnprovidedEventType = (event) => {
32
+ return event.type === umbContextUnprovidedEventType;
33
+ };
@@ -19,9 +19,9 @@ export class UmbContextProviderController extends UmbContextProvider {
19
19
  }
20
20
  }
21
21
  destroy() {
22
- super.destroy();
23
22
  if (this.#host) {
24
23
  this.#host.removeController(this);
25
24
  }
25
+ super.destroy();
26
26
  }
27
27
  }
@@ -29,12 +29,6 @@ export declare class UmbContextProvider {
29
29
  * @memberof UmbContextProvider
30
30
  */
31
31
  hostDisconnected(): void;
32
- /**
33
- * @private
34
- * @param {UmbContextRequestEvent} event
35
- * @memberof UmbContextProvider
36
- */
37
- private _handleContextRequest;
38
32
  private _handleDebugContextRequest;
39
33
  destroy(): void;
40
34
  }
@@ -1,5 +1,7 @@
1
1
  import { umbContextRequestEventType, isUmbContextRequestEvent, umbDebugContextEventType, } from '../consume/context-request.event.js';
2
- import { UmbContextProvideEventImplementation } from './context-provide.event.js';
2
+ import { UmbContextProvideEventImplementation,
3
+ //UmbContextUnprovidedEventImplementation,
4
+ } from './context-provide.event.js';
3
5
  /**
4
6
  * @export
5
7
  * @class UmbContextProvider
@@ -27,7 +29,7 @@ export class UmbContextProvider {
27
29
  * @param {UmbContextRequestEvent} event
28
30
  * @memberof UmbContextProvider
29
31
  */
30
- this._handleContextRequest = (event) => {
32
+ this.#handleContextRequest = (event) => {
31
33
  if (!isUmbContextRequestEvent(event))
32
34
  return;
33
35
  if (event.contextAlias !== this._contextAlias)
@@ -51,11 +53,17 @@ export class UmbContextProvider {
51
53
  this._contextAlias = contextAlias.toString();
52
54
  this.#instance = instance;
53
55
  }
56
+ /**
57
+ * @private
58
+ * @param {UmbContextRequestEvent} event
59
+ * @memberof UmbContextProvider
60
+ */
61
+ #handleContextRequest;
54
62
  /**
55
63
  * @memberof UmbContextProvider
56
64
  */
57
65
  hostConnected() {
58
- this.hostElement.addEventListener(umbContextRequestEventType, this._handleContextRequest);
66
+ this.hostElement.addEventListener(umbContextRequestEventType, this.#handleContextRequest);
59
67
  this.hostElement.dispatchEvent(new UmbContextProvideEventImplementation(this._contextAlias));
60
68
  // Listen to our debug event 'umb:debug-contexts'
61
69
  this.hostElement.addEventListener(umbDebugContextEventType, this._handleDebugContextRequest);
@@ -64,11 +72,15 @@ export class UmbContextProvider {
64
72
  * @memberof UmbContextProvider
65
73
  */
66
74
  hostDisconnected() {
67
- this.hostElement.removeEventListener(umbContextRequestEventType, this._handleContextRequest);
68
- // TODO: fire unprovided event.
75
+ this.hostElement.removeEventListener(umbContextRequestEventType, this.#handleContextRequest);
76
+ // Out-commented for now, but kept if we like to reintroduce this:
77
+ //window.dispatchEvent(new UmbContextUnprovidedEventImplementation(this._contextAlias, this.#instance));
78
+ // Stop listen to our debug event 'umb:debug-contexts'
79
+ this.hostElement.removeEventListener(umbDebugContextEventType, this._handleDebugContextRequest);
69
80
  }
70
81
  destroy() {
71
- // I want to make sure to call this, but for now it was too overwhelming to require the destroy method on context instances.
82
+ // We want to call a destroy method on the instance, if it has one.
72
83
  this.#instance?.destroy?.();
84
+ this.#instance = undefined;
73
85
  }
74
86
  }
@@ -80,6 +80,7 @@ export const UmbControllerHostBaseMixin = (superClass) => {
80
80
  }
81
81
  destroy() {
82
82
  this.#controllers.forEach((ctrl) => ctrl.destroy());
83
+ this.#controllers.length = 0;
83
84
  }
84
85
  }
85
86
  return UmbControllerHostBaseClass;
@@ -1,8 +1,14 @@
1
- import { HTMLElementConstructor } from '../extension-api/types.js';
2
- import { UmbControllerAlias } from './controller-alias.type.js';
3
- import { UmbControllerHost } from './controller-host.interface.js';
1
+ import type { HTMLElementConstructor } from '../extension-api/types.js';
2
+ import type { UmbControllerAlias } from './controller-alias.type.js';
3
+ import type { UmbControllerHost } from './controller-host.interface.js';
4
4
  import type { UmbController } from './controller.interface.js';
5
+ import type { UmbLocalizeController } from '../localization-api/index.js';
5
6
  export declare class UmbControllerHostElement extends HTMLElement implements UmbControllerHost {
7
+ /**
8
+ * Use the UmbLocalizeController to localize your element.
9
+ * @see UmbLocalizeController
10
+ */
11
+ localize: UmbLocalizeController;
6
12
  hasController(controller: UmbController): boolean;
7
13
  getControllers(filterMethod: (ctrl: UmbController) => boolean): UmbController[];
8
14
  addController(controller: UmbController): void;
@@ -2,11 +2,18 @@ import type { Observable } from '../../external/rxjs/index.js';
2
2
  import type { HTMLElementConstructor } from '../extension-api/index.js';
3
3
  import type { UmbControllerHostElement } from '../controller-api/index.js';
4
4
  import { UmbContextToken, UmbContextCallback, UmbContextConsumerController, UmbContextProviderController } from '../context-api/index.js';
5
- import { UmbObserverController } from '../observable-api/index.js';
5
+ import { ObserverCallback, UmbObserverController } from '../observable-api/index.js';
6
6
  export declare class UmbElement extends UmbControllerHostElement {
7
+ /**
8
+ * @description Observe a RxJS source of choice.
9
+ * @param {Observable<T>} source RxJS source
10
+ * @param {method} callback Callback method called when data is changed.
11
+ * @return {UmbObserverController} Reference to a Observer Controller instance
12
+ * @memberof UmbElementMixin
13
+ */
7
14
  observe<T>(source: Observable<T> | {
8
15
  asObservable: () => Observable<T>;
9
- }, callback: (_value: T) => void, unique?: string): UmbObserverController<T>;
16
+ }, callback: ObserverCallback<T>, unique?: string): UmbObserverController<T>;
10
17
  provideContext<R = unknown>(alias: string | UmbContextToken<R>, instance: R): UmbContextProviderController<R>;
11
18
  consumeContext<R = unknown>(alias: string | UmbContextToken<R>, callback: UmbContextCallback<R>): UmbContextConsumerController<R>;
12
19
  }
@@ -1,8 +1,23 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { UmbLocalizeController } from '../localization-api/index.js';
1
8
  import { UmbControllerHostElementMixin } from '../controller-api/index.js';
2
9
  import { UmbContextConsumerController, UmbContextProviderController, } from '../context-api/index.js';
3
10
  import { UmbObserverController } from '../observable-api/index.js';
11
+ import { property } from '../../external/lit/index.js';
4
12
  export const UmbElementMixin = (superClass) => {
5
13
  class UmbElementMixinClass extends UmbControllerHostElementMixin(superClass) {
14
+ constructor() {
15
+ super(...arguments);
16
+ // Make `dir` and `lang` reactive properties so they react to language changes:
17
+ this.dir = '';
18
+ this.lang = '';
19
+ this.localize = new UmbLocalizeController(this);
20
+ }
6
21
  /**
7
22
  * @description Observe a RxJS source of choice.
8
23
  * @param {Observable<T>} source RxJS source
@@ -11,7 +26,7 @@ export const UmbElementMixin = (superClass) => {
11
26
  * @memberof UmbElementMixin
12
27
  */
13
28
  observe(source, callback, unique) {
14
- return new UmbObserverController(this, source.asObservable ? source.asObservable() : source, callback, unique);
29
+ return new UmbObserverController(this, source, callback, unique);
15
30
  }
16
31
  /**
17
32
  * @description Provide a context API for this or child elements.
@@ -34,5 +49,11 @@ export const UmbElementMixin = (superClass) => {
34
49
  return new UmbContextConsumerController(this, alias, callback);
35
50
  }
36
51
  }
52
+ __decorate([
53
+ property()
54
+ ], UmbElementMixinClass.prototype, "dir", void 0);
55
+ __decorate([
56
+ property()
57
+ ], UmbElementMixinClass.prototype, "lang", void 0);
37
58
  return UmbElementMixinClass;
38
59
  };
@@ -0,0 +1,7 @@
1
+ import type { UmbConditionConfigBase } from '../types.js';
2
+ import type { UmbControllerHost } from '../../controller-api/index.js';
3
+ export type UmbConditionControllerArguments<ConditionConfigType extends UmbConditionConfigBase = UmbConditionConfigBase> = {
4
+ host: UmbControllerHost;
5
+ config: ConditionConfigType;
6
+ onChange: () => void;
7
+ };
@@ -0,0 +1,6 @@
1
+ import type { UmbConditionConfigBase } from '../types.js';
2
+ import { UmbController } from '../../controller-api/index.js';
3
+ export interface UmbExtensionCondition extends UmbController {
4
+ readonly permitted: boolean;
5
+ readonly config: UmbConditionConfigBase;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './extension-condition.interface.js';
2
+ export * from './condition-controller-arguments.type.js';
@@ -0,0 +1,2 @@
1
+ export * from './extension-condition.interface.js';
2
+ export * from './condition-controller-arguments.type.js';
@@ -0,0 +1,19 @@
1
+ import { UmbBaseController, type UmbControllerHost } from '../../controller-api/index.js';
2
+ import { type ManifestCondition, type ManifestWithDynamicConditions, type UmbExtensionRegistry } from '../index.js';
3
+ export declare abstract class UmbBaseExtensionController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, SubClassType = never> extends UmbBaseController {
4
+ #private;
5
+ protected _positive?: boolean;
6
+ get weight(): number;
7
+ get permitted(): boolean;
8
+ get manifest(): ManifestType | undefined;
9
+ get alias(): string;
10
+ get overwrites(): string[];
11
+ hasConditions: () => Promise<boolean>;
12
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: SubClassType) => void);
13
+ protected _init(): void;
14
+ asPromise(): Promise<void>;
15
+ protected abstract _conditionsAreGood(): Promise<boolean>;
16
+ protected abstract _conditionsAreBad(): Promise<void>;
17
+ equal(otherClass: UmbBaseExtensionController | undefined): boolean;
18
+ destroy(): void;
19
+ }
@@ -0,0 +1,178 @@
1
+ import { UmbBaseController } from '../../controller-api/index.js';
2
+ import { createExtensionClass, } from '../index.js';
3
+ export class UmbBaseExtensionController extends UmbBaseController {
4
+ #promiseResolvers;
5
+ #manifestObserver;
6
+ #extensionRegistry;
7
+ #alias;
8
+ #overwrites;
9
+ #manifest;
10
+ #conditionControllers;
11
+ #onPermissionChanged;
12
+ #isPermitted;
13
+ get weight() {
14
+ return this.#manifest?.weight ?? 0;
15
+ }
16
+ get permitted() {
17
+ return this.#isPermitted ?? false;
18
+ }
19
+ get manifest() {
20
+ return this.#manifest;
21
+ }
22
+ get alias() {
23
+ return this.#alias;
24
+ }
25
+ get overwrites() {
26
+ return this.#overwrites;
27
+ }
28
+ constructor(host, extensionRegistry, alias, onPermissionChanged) {
29
+ super(host, alias);
30
+ this.#promiseResolvers = [];
31
+ this.#overwrites = [];
32
+ this.#conditionControllers = [];
33
+ this.hasConditions = async () => {
34
+ await this.#manifestObserver.asPromise();
35
+ return (this.#manifest?.conditions ?? []).length > 0;
36
+ };
37
+ this.#onConditionsChangedCallback = async () => {
38
+ const oldValue = this.#isPermitted ?? false;
39
+ // Find a condition that is not permitted (Notice how no conditions, means that this extension is permitted)
40
+ const isPositive = this.#conditionsAreInitialized() &&
41
+ this.#conditionControllers.find((condition) => condition.permitted === false) === undefined;
42
+ this._positive = isPositive;
43
+ if (isPositive) {
44
+ if (this.#isPermitted !== true) {
45
+ this.#isPermitted = await this._conditionsAreGood();
46
+ }
47
+ }
48
+ else if (this.#isPermitted !== false) {
49
+ await this._conditionsAreBad();
50
+ this.#isPermitted = false;
51
+ }
52
+ if (oldValue !== this.#isPermitted) {
53
+ if (this.#isPermitted) {
54
+ this.#promiseResolvers.forEach((x) => x());
55
+ this.#promiseResolvers = [];
56
+ }
57
+ this.#onPermissionChanged(this.#isPermitted, this);
58
+ }
59
+ };
60
+ this.#extensionRegistry = extensionRegistry;
61
+ this.#alias = alias;
62
+ this.#onPermissionChanged = onPermissionChanged;
63
+ }
64
+ _init() {
65
+ this.#manifestObserver = this.observe(this.#extensionRegistry.getByAlias(this.#alias), async (extensionManifest) => {
66
+ this.#isPermitted = undefined;
67
+ this.#manifest = extensionManifest;
68
+ if (extensionManifest) {
69
+ if (extensionManifest.overwrites) {
70
+ if (typeof extensionManifest.overwrites === 'string') {
71
+ this.#overwrites = [extensionManifest.overwrites];
72
+ }
73
+ else if (Array.isArray(extensionManifest.overwrites)) {
74
+ this.#overwrites = extensionManifest.overwrites;
75
+ }
76
+ }
77
+ this.#gotConditions();
78
+ }
79
+ else {
80
+ this.#overwrites = [];
81
+ this.#cleanConditions();
82
+ }
83
+ });
84
+ }
85
+ asPromise() {
86
+ return new Promise((resolve) => {
87
+ this.#isPermitted === true ? resolve() : this.#promiseResolvers.push(resolve);
88
+ });
89
+ }
90
+ #cleanConditions() {
91
+ this.#conditionControllers.forEach((controller) => controller.destroy());
92
+ this.#conditionControllers = [];
93
+ this.removeControllerByAlias('_observeConditions');
94
+ }
95
+ #gotConditions() {
96
+ const conditionConfigs = this.#manifest?.conditions ?? [];
97
+ // As conditionConfigs might have been configured as something else than an array, then we ignorer them.
98
+ if (conditionConfigs.length === undefined || conditionConfigs.length === 0) {
99
+ this.#cleanConditions();
100
+ this.#onConditionsChangedCallback();
101
+ return;
102
+ }
103
+ const conditionAliases = conditionConfigs
104
+ .map((condition) => condition.alias)
105
+ .filter((value, index, array) => array.indexOf(value) === index);
106
+ const oldAmountOfControllers = this.#conditionControllers.length;
107
+ // Clean up conditions controllers based on keepers:
108
+ this.#conditionControllers = this.#conditionControllers.filter((current) => {
109
+ const continueExistence = conditionConfigs.find((config) => config === current.config);
110
+ if (!continueExistence) {
111
+ // Destroy condition that is no longer needed.
112
+ current.destroy();
113
+ }
114
+ return continueExistence;
115
+ });
116
+ // Check if there was no change in conditions:
117
+ // First check if any got removed(old amount equal controllers after clean-up)
118
+ // && check if any new is about to be added(old equal new amount):
119
+ const noChangeInConditions = oldAmountOfControllers === this.#conditionControllers.length &&
120
+ oldAmountOfControllers === conditionConfigs.length;
121
+ if (conditionConfigs.length > 0) {
122
+ // Observes the conditions and initialize as they come in.
123
+ this.observe(this.#extensionRegistry.getByTypeAndAliases('condition', conditionAliases), async (manifests) => {
124
+ // New comers:
125
+ manifests.forEach((conditionManifest) => {
126
+ const configsOfThisType = conditionConfigs.filter((conditionConfig) => conditionConfig.alias === conditionManifest.alias);
127
+ // Spin up conditions, based of condition configs:
128
+ configsOfThisType.forEach(async (conditionConfig) => {
129
+ // Check if we already have a controller for this config:
130
+ const existing = this.#conditionControllers.find((controller) => controller.config === conditionConfig);
131
+ if (!existing) {
132
+ const conditionController = await createExtensionClass(conditionManifest, [
133
+ {
134
+ host: this,
135
+ manifest: conditionManifest,
136
+ config: conditionConfig,
137
+ onChange: this.#onConditionsChangedCallback,
138
+ },
139
+ ]);
140
+ if (conditionController) {
141
+ // Some how listen to it? callback/event/onChange something.
142
+ // then call this one: this.#onConditionsChanged();
143
+ this.#conditionControllers.push(conditionController);
144
+ this.#onConditionsChangedCallback();
145
+ }
146
+ }
147
+ });
148
+ });
149
+ }, '_observeConditions');
150
+ }
151
+ else {
152
+ this.removeControllerByAlias('_observeConditions');
153
+ }
154
+ if (noChangeInConditions) {
155
+ // There was not change in the amount of conditions, but the manifest was changed, this means this.#isPermitted is set to undefined and this will always fire the callback:
156
+ this.#onConditionsChangedCallback();
157
+ }
158
+ }
159
+ #conditionsAreInitialized() {
160
+ // Not good if we don't have a manifest.
161
+ // Only good if conditions of manifest is equal to the amount of condition controllers (one for each condition).
162
+ return (this.#manifest !== undefined && this.#conditionControllers.length === (this.#manifest.conditions ?? []).length);
163
+ }
164
+ #onConditionsChangedCallback;
165
+ equal(otherClass) {
166
+ return otherClass?.manifest === this.manifest;
167
+ }
168
+ destroy() {
169
+ this.#promiseResolvers = [];
170
+ if (this.#isPermitted === true) {
171
+ this.#isPermitted = undefined;
172
+ this._conditionsAreBad();
173
+ this.#onPermissionChanged(false, this);
174
+ }
175
+ super.destroy();
176
+ // Destroy the conditions controllers, are begin destroyed cause they are controllers.
177
+ }
178
+ }
@@ -0,0 +1,19 @@
1
+ import type { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbBaseExtensionController, UmbExtensionRegistry } from '../index.js';
2
+ import { UmbBaseController, UmbControllerHost } from '../../controller-api/index.js';
3
+ export type PermittedControllerType<ControllerType extends {
4
+ manifest: any;
5
+ }> = ControllerType & {
6
+ manifest: Required<Pick<ControllerType, 'manifest'>>;
7
+ };
8
+ /**
9
+ */
10
+ export declare abstract class UmbBaseExtensionsController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbBaseExtensionController<ManifestType> = UmbBaseExtensionController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseController {
11
+ #private;
12
+ protected _extensions: Array<ControllerType>;
13
+ private _permittedExts;
14
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestType>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void);
15
+ protected _init(): void;
16
+ protected abstract _createController(manifest: ManifestType): ControllerType;
17
+ protected _extensionChanged: (isPermitted: boolean, controller: UmbBaseExtensionController<ManifestType>) => void;
18
+ destroy(): void;
19
+ }