@umbraco-cms/backoffice 14.0.0-8a5fc0ad → 14.0.0-8d2a75e2

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 (665) hide show
  1. package/README.md +12 -6
  2. package/dist-cms/apps/app/app.element.d.ts +0 -1
  3. package/dist-cms/apps/app/app.element.js +21 -1
  4. package/dist-cms/apps/backoffice/backoffice.context.d.ts +5 -1
  5. package/dist-cms/apps/backoffice/backoffice.context.js +13 -5
  6. package/dist-cms/apps/backoffice/backoffice.element.d.ts +0 -1
  7. package/dist-cms/apps/backoffice/backoffice.element.js +5 -6
  8. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.d.ts +0 -2
  9. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +6 -13
  10. package/dist-cms/apps/backoffice/components/backoffice-main.element.js +11 -9
  11. package/dist-cms/apps/backoffice/{extension.controller.js → extension-initializer.controller.js} +2 -0
  12. package/dist-cms/assets/lang/da-dk.d.ts +3 -0
  13. package/dist-cms/assets/lang/da-dk.js +2989 -0
  14. package/dist-cms/assets/lang/da-dk.ts +3246 -0
  15. package/dist-cms/assets/lang/en-us.d.ts +3 -0
  16. package/dist-cms/assets/lang/en-us.js +2966 -0
  17. package/dist-cms/assets/lang/en-us.ts +3219 -0
  18. package/dist-cms/css/uui-css.css +13 -5
  19. package/dist-cms/custom-elements.json +226 -149
  20. package/dist-cms/external/backend-api/index.js +1 -1
  21. package/dist-cms/external/lit/index.js +27 -27
  22. package/dist-cms/external/monaco-editor/{abap-7ad4f8f0.js → abap-b029dff1.js} +1 -1
  23. package/dist-cms/external/monaco-editor/{apex-30597c49.js → apex-039bfc5f.js} +1 -1
  24. package/dist-cms/external/monaco-editor/assets/{bundle-a4f90d1d.css → bundle-b9e43664.css} +25 -13
  25. package/dist-cms/external/monaco-editor/{azcli-67c34a04.js → azcli-f1f7c576.js} +1 -1
  26. package/dist-cms/external/monaco-editor/{bat-b8f4738b.js → bat-86aea46a.js} +1 -1
  27. package/dist-cms/external/monaco-editor/{bicep-b104b38b.js → bicep-75c0c4d5.js} +1 -1
  28. package/dist-cms/external/monaco-editor/{cameligo-001d1ded.js → cameligo-8043f913.js} +1 -1
  29. package/dist-cms/external/monaco-editor/{clojure-fa9652a1.js → clojure-73642b02.js} +1 -1
  30. package/dist-cms/external/monaco-editor/{coffee-b69a8315.js → coffee-a18badcf.js} +1 -1
  31. package/dist-cms/external/monaco-editor/{cpp-8053752f.js → cpp-4034161e.js} +1 -1
  32. package/dist-cms/external/monaco-editor/{csharp-886041a3.js → csharp-49cbf0d2.js} +1 -1
  33. package/dist-cms/external/monaco-editor/{csp-e846bce6.js → csp-d207cac4.js} +1 -1
  34. package/dist-cms/external/monaco-editor/{css-50032e5e.js → css-74326df0.js} +1 -1
  35. package/dist-cms/external/monaco-editor/{cssMode-c0406684.js → cssMode-57ec49ea.js} +2 -2
  36. package/dist-cms/external/monaco-editor/{cypher-6f93a845.js → cypher-49f5f839.js} +1 -1
  37. package/dist-cms/external/monaco-editor/{dart-14284236.js → dart-84b7c6b4.js} +1 -1
  38. package/dist-cms/external/monaco-editor/{dockerfile-e9935eb4.js → dockerfile-bbf114b2.js} +1 -1
  39. package/dist-cms/external/monaco-editor/{ecl-9c89f204.js → ecl-15840f49.js} +1 -1
  40. package/dist-cms/external/monaco-editor/{elixir-ca8bf661.js → elixir-e479e18e.js} +2 -2
  41. package/dist-cms/external/monaco-editor/{flow9-ac147227.js → flow9-42a61225.js} +1 -1
  42. package/dist-cms/external/monaco-editor/{freemarker2-793b7402.js → freemarker2-a72b9c0e.js} +2 -2
  43. package/dist-cms/external/monaco-editor/{fsharp-8eaad024.js → fsharp-8abe6da0.js} +1 -1
  44. package/dist-cms/external/monaco-editor/{go-05529e2e.js → go-8759e9f7.js} +1 -1
  45. package/dist-cms/external/monaco-editor/{graphql-8f5b3fdd.js → graphql-387d549c.js} +1 -1
  46. package/dist-cms/external/monaco-editor/{handlebars-aaa2fd96.js → handlebars-8fc61d07.js} +2 -2
  47. package/dist-cms/external/monaco-editor/{hcl-9e201a51.js → hcl-a88f331a.js} +1 -1
  48. package/dist-cms/external/monaco-editor/{html-1194c0aa.js → html-4320ed19.js} +2 -2
  49. package/dist-cms/external/monaco-editor/{htmlMode-36df69c6.js → htmlMode-95c2e58e.js} +2 -2
  50. package/dist-cms/external/monaco-editor/{index-7368f3e3.js → index-e4ee5993.js} +359 -354
  51. package/dist-cms/external/monaco-editor/index.js +1 -1
  52. package/dist-cms/external/monaco-editor/{ini-31a5619d.js → ini-18bf1153.js} +1 -1
  53. package/dist-cms/external/monaco-editor/{java-8c6e1ae8.js → java-000a6283.js} +1 -1
  54. package/dist-cms/external/monaco-editor/{javascript-86205709.js → javascript-13505434.js} +2 -2
  55. package/dist-cms/external/monaco-editor/{jsonMode-f663e935.js → jsonMode-1d541b8e.js} +2 -2
  56. package/dist-cms/external/monaco-editor/{julia-fbb2af47.js → julia-9a5df632.js} +1 -1
  57. package/dist-cms/external/monaco-editor/{kotlin-bfa96180.js → kotlin-06ee8898.js} +1 -1
  58. package/dist-cms/external/monaco-editor/{less-0b6a8ff1.js → less-dd86a68c.js} +1 -1
  59. package/dist-cms/external/monaco-editor/{lexon-585e5248.js → lexon-8d4b0444.js} +1 -1
  60. package/dist-cms/external/monaco-editor/{liquid-37adc07a.js → liquid-7aa20dd8.js} +2 -2
  61. package/dist-cms/external/monaco-editor/{lua-f6c17885.js → lua-9adddcd9.js} +1 -1
  62. package/dist-cms/external/monaco-editor/{m3-1b6456c5.js → m3-aa2dcf72.js} +1 -1
  63. package/dist-cms/external/monaco-editor/{markdown-7bc251f9.js → markdown-0f073a3a.js} +1 -1
  64. package/dist-cms/external/monaco-editor/mdx-8a1e4ae9.js +6 -0
  65. package/dist-cms/external/monaco-editor/{mips-2df76781.js → mips-bdd96c5a.js} +1 -1
  66. package/dist-cms/external/monaco-editor/{msdax-8c38e8b4.js → msdax-1ac55115.js} +1 -1
  67. package/dist-cms/external/monaco-editor/{mysql-abbb9ca3.js → mysql-b530c105.js} +1 -1
  68. package/dist-cms/external/monaco-editor/{objective-c-efbfd08b.js → objective-c-951ded7b.js} +1 -1
  69. package/dist-cms/external/monaco-editor/{pascal-08abee72.js → pascal-7442fd46.js} +1 -1
  70. package/dist-cms/external/monaco-editor/{pascaligo-200db0cf.js → pascaligo-385edc0e.js} +1 -1
  71. package/dist-cms/external/monaco-editor/{perl-079789ee.js → perl-d5fb326c.js} +1 -1
  72. package/dist-cms/external/monaco-editor/{pgsql-efd093d4.js → pgsql-2d7db25a.js} +1 -1
  73. package/dist-cms/external/monaco-editor/{php-75c530f2.js → php-1daff147.js} +1 -1
  74. package/dist-cms/external/monaco-editor/{pla-a55a2765.js → pla-1b3e1614.js} +1 -1
  75. package/dist-cms/external/monaco-editor/{postiats-6098f37b.js → postiats-9db13649.js} +1 -1
  76. package/dist-cms/external/monaco-editor/{powerquery-949bb7fe.js → powerquery-4c428232.js} +1 -1
  77. package/dist-cms/external/monaco-editor/{powershell-7e550b21.js → powershell-d3380668.js} +1 -1
  78. package/dist-cms/external/monaco-editor/{protobuf-25a4d695.js → protobuf-941cf3e8.js} +1 -1
  79. package/dist-cms/external/monaco-editor/{pug-f8c9f493.js → pug-cfe384ef.js} +1 -1
  80. package/dist-cms/external/monaco-editor/{python-78a47148.js → python-b84d078b.js} +2 -2
  81. package/dist-cms/external/monaco-editor/{qsharp-c4b94317.js → qsharp-e125d03f.js} +1 -1
  82. package/dist-cms/external/monaco-editor/{r-614353db.js → r-e0a01d4f.js} +1 -1
  83. package/dist-cms/external/monaco-editor/{razor-5de9ce12.js → razor-96e08c0a.js} +2 -2
  84. package/dist-cms/external/monaco-editor/{redis-fb089f4d.js → redis-d0a12fea.js} +1 -1
  85. package/dist-cms/external/monaco-editor/{redshift-a620fcb0.js → redshift-a163b94a.js} +1 -1
  86. package/dist-cms/external/monaco-editor/{restructuredtext-7ab09fcf.js → restructuredtext-5a906e1a.js} +1 -1
  87. package/dist-cms/external/monaco-editor/{ruby-922be722.js → ruby-05b021bf.js} +1 -1
  88. package/dist-cms/external/monaco-editor/{rust-23e08578.js → rust-3d80982c.js} +1 -1
  89. package/dist-cms/external/monaco-editor/{sb-ccceec0f.js → sb-2020a5af.js} +1 -1
  90. package/dist-cms/external/monaco-editor/{scala-0535664d.js → scala-54469b4b.js} +1 -1
  91. package/dist-cms/external/monaco-editor/{scheme-dba621eb.js → scheme-ff6e5671.js} +1 -1
  92. package/dist-cms/external/monaco-editor/{scss-28539a11.js → scss-77902feb.js} +1 -1
  93. package/dist-cms/external/monaco-editor/{shell-5b92a834.js → shell-3c06def6.js} +1 -1
  94. package/dist-cms/external/monaco-editor/{solidity-f63d6049.js → solidity-3d59d6a7.js} +1 -1
  95. package/dist-cms/external/monaco-editor/{sophia-12e9ad90.js → sophia-12eb7ba8.js} +1 -1
  96. package/dist-cms/external/monaco-editor/{sparql-dedb74aa.js → sparql-e42fb28a.js} +1 -1
  97. package/dist-cms/external/monaco-editor/{sql-975a69d7.js → sql-d30fd9fd.js} +1 -1
  98. package/dist-cms/external/monaco-editor/{st-1904ae33.js → st-ba2e774a.js} +2 -2
  99. package/dist-cms/external/monaco-editor/{swift-e180a143.js → swift-f0a706dd.js} +1 -1
  100. package/dist-cms/external/monaco-editor/{systemverilog-c5592fac.js → systemverilog-0cfd4211.js} +1 -1
  101. package/dist-cms/external/monaco-editor/{tcl-996f4ac7.js → tcl-7df3c0c5.js} +1 -1
  102. package/dist-cms/external/monaco-editor/{tsMode-f4618e87.js → tsMode-4e2b13b8.js} +2 -2
  103. package/dist-cms/external/monaco-editor/twig-f894aab2.js +6 -0
  104. package/dist-cms/external/monaco-editor/{typescript-efea739f.js → typescript-6571f86d.js} +2 -2
  105. package/dist-cms/external/monaco-editor/{vb-ad68fa9a.js → vb-39a025f4.js} +1 -1
  106. package/dist-cms/external/monaco-editor/{wgsl-5ee7b1ca.js → wgsl-ea93d538.js} +1 -1
  107. package/dist-cms/external/monaco-editor/{xml-12b9ace3.js → xml-265c28d1.js} +2 -2
  108. package/dist-cms/external/monaco-editor/{yaml-65e08cff.js → yaml-cbd1aab5.js} +2 -2
  109. package/dist-cms/external/rxjs/index.js +2 -2
  110. package/dist-cms/external/tinymce/index.js +22 -22
  111. package/dist-cms/external/uui/index.js +470 -292
  112. package/dist-cms/libs/class-api/class.mixin.js +1 -1
  113. package/dist-cms/libs/context-api/consume/context-consumer.controller.js +1 -3
  114. package/dist-cms/libs/context-api/consume/context-consumer.d.ts +0 -1
  115. package/dist-cms/libs/context-api/consume/context-consumer.js +36 -6
  116. package/dist-cms/libs/context-api/provide/context-provide.event.d.ts +21 -0
  117. package/dist-cms/libs/context-api/provide/context-provide.event.js +17 -0
  118. package/dist-cms/libs/context-api/provide/context-provider.controller.js +1 -1
  119. package/dist-cms/libs/context-api/provide/context-provider.d.ts +0 -6
  120. package/dist-cms/libs/context-api/provide/context-provider.js +18 -6
  121. package/dist-cms/libs/controller-api/controller-host-base.mixin.js +1 -0
  122. package/dist-cms/libs/controller-api/controller-host-element.mixin.d.ts +9 -3
  123. package/dist-cms/libs/element-api/element.mixin.d.ts +9 -2
  124. package/dist-cms/libs/element-api/element.mixin.js +6 -1
  125. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.d.ts +7 -0
  126. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.js +1 -0
  127. package/dist-cms/libs/extension-api/condition/extension-condition.interface.d.ts +6 -0
  128. package/dist-cms/libs/extension-api/condition/extension-condition.interface.js +1 -0
  129. package/dist-cms/libs/extension-api/condition/index.d.ts +2 -0
  130. package/dist-cms/libs/extension-api/condition/index.js +2 -0
  131. package/dist-cms/libs/extension-api/controller/base-extension-controller.d.ts +19 -0
  132. package/dist-cms/libs/extension-api/controller/base-extension-controller.js +178 -0
  133. package/dist-cms/libs/extension-api/controller/base-extensions-controller.d.ts +19 -0
  134. package/dist-cms/libs/extension-api/controller/base-extensions-controller.js +112 -0
  135. package/dist-cms/libs/extension-api/controller/extension-element-controller.d.ts +20 -0
  136. package/dist-cms/libs/extension-api/controller/extension-element-controller.js +82 -0
  137. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +9 -0
  138. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +13 -0
  139. package/dist-cms/libs/extension-api/controller/extensions-element-controller.d.ts +13 -0
  140. package/dist-cms/libs/extension-api/controller/extensions-element-controller.js +29 -0
  141. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.d.ts +11 -0
  142. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.js +16 -0
  143. package/dist-cms/libs/extension-api/controller/index.d.ts +6 -0
  144. package/dist-cms/libs/extension-api/controller/index.js +6 -0
  145. package/dist-cms/libs/extension-api/index.d.ts +3 -1
  146. package/dist-cms/libs/extension-api/index.js +3 -1
  147. package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +3 -0
  148. package/dist-cms/libs/extension-api/registry/extension.registry.js +82 -14
  149. package/dist-cms/libs/extension-api/types.d.ts +45 -8
  150. package/dist-cms/libs/localization-api/index.d.ts +3 -0
  151. package/dist-cms/libs/localization-api/index.js +3 -0
  152. package/dist-cms/libs/localization-api/localize.controller.d.ts +47 -0
  153. package/dist-cms/libs/localization-api/localize.controller.js +123 -0
  154. package/dist-cms/libs/localization-api/manager.d.ts +18 -0
  155. package/dist-cms/libs/localization-api/manager.js +40 -0
  156. package/dist-cms/libs/localization-api/types/translation.d.ts +3 -0
  157. package/dist-cms/libs/localization-api/types/translation.js +1 -0
  158. package/dist-cms/libs/observable-api/class-state.d.ts +2 -3
  159. package/dist-cms/libs/observable-api/observer.controller.d.ts +4 -3
  160. package/dist-cms/libs/observable-api/observer.controller.js +9 -2
  161. package/dist-cms/libs/observable-api/observer.d.ts +13 -2
  162. package/dist-cms/libs/observable-api/observer.js +32 -4
  163. package/dist-cms/mocks/data/data-type.data.js +1 -28
  164. package/dist-cms/mocks/data/document-type.data.js +2 -59
  165. package/dist-cms/mocks/data/log-viewer.data.d.ts +4 -4
  166. package/dist-cms/mocks/data/log-viewer.data.js +4 -4
  167. package/dist-cms/mocks/data/partial-views.data.d.ts +19 -3
  168. package/dist-cms/mocks/data/partial-views.data.js +277 -10
  169. package/dist-cms/mocks/data/utils.d.ts +2 -1
  170. package/dist-cms/mocks/data/utils.js +5 -0
  171. package/dist-cms/mocks/handlers/manifests.handlers.js +1 -1
  172. package/dist-cms/mocks/handlers/partial-views.handlers.d.ts +2 -1
  173. package/dist-cms/mocks/handlers/partial-views.handlers.js +37 -5
  174. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +1 -1
  175. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +38 -14
  176. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.js +81 -71
  177. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +2 -2
  178. package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.d.ts +2 -0
  179. package/dist-cms/packages/core/content-type/content-type-property-structure-helper.class.js +9 -0
  180. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.d.ts +1 -0
  181. package/dist-cms/packages/core/content-type/content-type-structure-manager.class.js +10 -6
  182. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.d.ts +8 -0
  183. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.js +21 -0
  184. package/dist-cms/packages/core/entity-action/common/index.d.ts +1 -0
  185. package/dist-cms/packages/core/entity-action/common/index.js +1 -0
  186. package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +5 -5
  187. package/dist-cms/packages/core/entity-action/entity-action-list.element.js +17 -21
  188. package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -0
  189. package/dist-cms/packages/core/extension-registry/conditions/index.js +4 -0
  190. package/dist-cms/packages/core/extension-registry/conditions/manifests.d.ts +1 -0
  191. package/dist-cms/packages/core/extension-registry/conditions/manifests.js +3 -0
  192. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.d.ts +12 -0
  193. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.js +23 -0
  194. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.d.ts +18 -0
  195. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.js +23 -0
  196. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.d.ts +19 -0
  197. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.js +38 -0
  198. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +5 -0
  199. package/dist-cms/packages/core/extension-registry/conditions/types.js +1 -0
  200. package/dist-cms/packages/core/extension-registry/index.d.ts +3 -2
  201. package/dist-cms/packages/core/extension-registry/index.js +3 -2
  202. package/dist-cms/packages/core/extension-registry/models/dashboard.model.d.ts +3 -16
  203. package/dist-cms/packages/core/extension-registry/models/dashboard.model.js +5 -0
  204. package/dist-cms/packages/core/extension-registry/models/entity-action.model.d.ts +2 -5
  205. package/dist-cms/packages/core/extension-registry/models/index.d.ts +4 -2
  206. package/dist-cms/packages/core/extension-registry/models/index.js +1 -0
  207. package/dist-cms/packages/core/extension-registry/models/menu-item.model.d.ts +1 -7
  208. package/dist-cms/packages/core/extension-registry/models/property-action.model.d.ts +5 -3
  209. package/dist-cms/packages/core/extension-registry/models/property-editor.model.d.ts +21 -2
  210. package/dist-cms/packages/core/extension-registry/models/section-sidebar-app.model.d.ts +3 -6
  211. package/dist-cms/packages/core/extension-registry/models/section-view.model.d.ts +3 -5
  212. package/dist-cms/packages/core/extension-registry/models/section.model.d.ts +2 -2
  213. package/dist-cms/packages/core/extension-registry/models/translations.model.d.ts +40 -0
  214. package/dist-cms/packages/core/extension-registry/models/translations.model.js +1 -0
  215. package/dist-cms/packages/core/extension-registry/models/tree-item.model.d.ts +2 -2
  216. package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +4 -7
  217. package/dist-cms/packages/core/extension-registry/models/workspace-editor-view.model.d.ts +3 -6
  218. package/dist-cms/packages/core/extension-registry/models/workspace-view-collection.model.d.ts +3 -29
  219. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.d.ts → multi-extensions-class-initializer.d.ts} +2 -2
  220. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.js → multi-extensions-class-initializer.js} +10 -2
  221. package/dist-cms/packages/core/index.d.ts +1 -0
  222. package/dist-cms/packages/core/index.js +7 -2
  223. package/dist-cms/packages/core/localization/index.d.ts +2 -0
  224. package/dist-cms/packages/core/localization/index.js +2 -0
  225. package/dist-cms/packages/core/localization/localize.element.d.ts +34 -0
  226. package/dist-cms/packages/core/localization/localize.element.js +64 -0
  227. package/dist-cms/packages/core/localization/manifests.d.ts +2 -0
  228. package/dist-cms/packages/core/localization/manifests.js +23 -0
  229. package/dist-cms/packages/core/localization/registry/translation.registry.d.ts +17 -0
  230. package/dist-cms/packages/core/localization/registry/translation.registry.js +79 -0
  231. package/dist-cms/packages/core/menu/index.d.ts +1 -0
  232. package/dist-cms/packages/core/menu/index.js +1 -0
  233. package/dist-cms/packages/core/menu/menu.context.d.ts +9 -0
  234. package/dist-cms/packages/core/menu/menu.context.js +14 -0
  235. package/dist-cms/packages/core/menu/menu.element.d.ts +1 -0
  236. package/dist-cms/packages/core/menu/menu.element.js +6 -2
  237. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.d.ts +2 -2
  238. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +4 -1
  239. package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.js +1 -1
  240. package/dist-cms/packages/core/modal/modal-route-registration.d.ts +2 -2
  241. package/dist-cms/packages/core/modal/modal-route-registration.js +2 -2
  242. package/dist-cms/packages/core/modal/token/folder-modal.token.d.ts +3 -2
  243. package/dist-cms/packages/core/property-action/manifests.js +2 -2
  244. package/dist-cms/packages/core/property-action/shared/property-action-menu/property-action-menu.element.js +2 -1
  245. package/dist-cms/packages/core/property-editor/index.d.ts +1 -1
  246. package/dist-cms/packages/core/property-editor/index.js +1 -1
  247. package/dist-cms/packages/core/property-editor/manifests.d.ts +1 -1
  248. package/dist-cms/packages/core/property-editor/schemas/manifests.js +0 -2
  249. package/dist-cms/packages/core/property-editor/uis/icon-picker/manifests.js +1 -1
  250. package/dist-cms/packages/core/property-editor/uis/value-type/manifests.js +0 -1
  251. package/dist-cms/packages/core/section/index.d.ts +1 -1
  252. package/dist-cms/packages/core/section/index.js +1 -1
  253. package/dist-cms/packages/core/section/section-default.element.d.ts +1 -1
  254. package/dist-cms/packages/core/section/section-default.element.js +13 -21
  255. package/dist-cms/packages/core/section/section-main-views/index.d.ts +1 -0
  256. package/dist-cms/packages/core/section/section-main-views/index.js +1 -0
  257. package/dist-cms/packages/core/section/section-main-views/section-main-views.element.d.ts +19 -0
  258. package/dist-cms/packages/core/section/{section-views/section-views.element.js → section-main-views/section-main-views.element.js} +20 -48
  259. package/dist-cms/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.js +18 -5
  260. package/dist-cms/packages/core/section/section-sidebar-menu/section-sidebar-menu.element.js +3 -4
  261. package/dist-cms/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +2 -2
  262. package/dist-cms/packages/core/sorter/sorter.controller.js +6 -6
  263. package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.d.ts +13 -0
  264. package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.js +92 -0
  265. package/dist-cms/packages/core/tree/file-system-tree-item/file-system-tree-item.context.d.ts +1 -0
  266. package/dist-cms/packages/core/tree/file-system-tree-item/file-system-tree-item.context.js +12 -0
  267. package/dist-cms/packages/core/tree/file-system-tree-item/file-system-tree-item.element.js +1 -0
  268. package/dist-cms/packages/core/tree/tree-item/tree-item.context.interface.d.ts +0 -2
  269. package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +1 -1
  270. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.d.ts +3 -4
  271. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +26 -30
  272. package/dist-cms/packages/core/workspace/index.d.ts +1 -0
  273. package/dist-cms/packages/core/workspace/index.js +1 -0
  274. package/dist-cms/packages/core/workspace/manifests.d.ts +1 -1
  275. package/dist-cms/packages/core/workspace/manifests.js +2 -1
  276. package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.js +2 -2
  277. package/dist-cms/packages/core/workspace/workspace-action/workspace-action.element.js +12 -4
  278. package/dist-cms/packages/core/workspace/workspace-action-menu/workspace-action-menu.element.js +8 -4
  279. package/dist-cms/packages/core/workspace/workspace-alias.condition.d.ts +18 -0
  280. package/dist-cms/packages/core/workspace/workspace-alias.condition.js +21 -0
  281. package/dist-cms/packages/core/workspace/workspace-content/views/collection/workspace-view-collection.element.js +2 -2
  282. package/dist-cms/packages/core/workspace/workspace-context/index.d.ts +1 -1
  283. package/dist-cms/packages/core/workspace/workspace-context/index.js +1 -1
  284. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +2 -1
  285. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.interface.d.ts +2 -2
  286. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.js +4 -3
  287. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.d.ts +4 -0
  288. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.js +2 -0
  289. package/dist-cms/packages/core/workspace/workspace-context/workspace-entity-context.interface.d.ts +0 -1
  290. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.d.ts +4 -8
  291. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.js +11 -39
  292. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.d.ts +0 -10
  293. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.js +1 -23
  294. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.js +2 -2
  295. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.js +4 -0
  296. package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.js +2 -2
  297. package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.js +2 -2
  298. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.js +1 -1
  299. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.d.ts +0 -1
  300. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.js +0 -1
  301. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.d.ts +0 -1
  302. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.js +0 -1
  303. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.d.ts +1 -1
  304. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.js +0 -12
  305. package/dist-cms/packages/dictionary/dictionary/index.d.ts +1 -0
  306. package/dist-cms/packages/dictionary/dictionary/index.js +1 -0
  307. package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -0
  308. package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.js +0 -2
  309. package/dist-cms/packages/dictionary/dictionary/repository/index.d.ts +3 -0
  310. package/dist-cms/packages/dictionary/dictionary/repository/index.js +3 -0
  311. package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.js +1 -1
  312. package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.js +1 -1
  313. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.js +3 -3
  314. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.js +1 -1
  315. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.js +13 -8
  316. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.js +2 -2
  317. package/dist-cms/packages/dictionary/manifests.d.ts +1 -0
  318. package/dist-cms/packages/dictionary/section.manifest.d.ts +2 -0
  319. package/dist-cms/packages/{translation → dictionary}/section.manifest.js +16 -10
  320. package/dist-cms/packages/{translation → dictionary}/umbraco-package.d.ts +1 -1
  321. package/dist-cms/packages/dictionary/umbraco-package.js +9 -0
  322. package/dist-cms/packages/documents/dashboards/manifests.js +6 -3
  323. package/dist-cms/packages/documents/document-blueprints/menu-item/manifests.js +0 -2
  324. package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +0 -2
  325. package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +0 -8
  326. package/dist-cms/packages/documents/document-types/menu-item/manifests.js +0 -2
  327. package/dist-cms/packages/documents/document-types/tree/manifests.js +1 -1
  328. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace-editor.element.js +7 -6
  329. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
  330. package/dist-cms/packages/documents/document-types/workspace/manifests.js +30 -15
  331. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.d.ts +5 -2
  332. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +57 -16
  333. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.d.ts +11 -1
  334. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.js +181 -34
  335. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +12 -6
  336. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.d.ts +3 -0
  337. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +143 -45
  338. package/dist-cms/packages/documents/document-types/workspace/views/settings/document-type-workspace-view-settings.element.js +2 -2
  339. package/dist-cms/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.js +6 -6
  340. package/dist-cms/packages/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.js +2 -2
  341. package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +1 -1
  342. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +0 -24
  343. package/dist-cms/packages/documents/documents/menu-item/manifests.js +0 -2
  344. package/dist-cms/packages/documents/documents/tree/manifests.js +1 -1
  345. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +3 -3
  346. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +2 -2
  347. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +2 -2
  348. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +1 -1
  349. package/dist-cms/packages/documents/documents/workspace/manifests.js +36 -21
  350. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.js +2 -2
  351. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.js +2 -2
  352. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.js +3 -3
  353. package/dist-cms/packages/documents/documents/workspace/views/info/document-info-workspace-view.element.js +2 -2
  354. package/dist-cms/packages/documents/section.manifests.js +6 -3
  355. package/dist-cms/packages/media/manifests.d.ts +1 -1
  356. package/dist-cms/packages/media/media/entity-actions/manifests.js +0 -2
  357. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  358. package/dist-cms/packages/media/media/menu-item/manifests.js +0 -2
  359. package/dist-cms/packages/media/media/tree/manifests.js +1 -1
  360. package/dist-cms/packages/media/media/workspace/manifests.js +24 -12
  361. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +2 -2
  362. package/dist-cms/packages/media/media/workspace/media-workspace.context.js +1 -1
  363. package/dist-cms/packages/media/media/workspace/media-workspace.element.d.ts +1 -0
  364. package/dist-cms/packages/media/media/workspace/media-workspace.element.js +1 -0
  365. package/dist-cms/packages/media/media-types/entity-actions/manifests.js +0 -10
  366. package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
  367. package/dist-cms/packages/media/media-types/menu-item/manifests.js +0 -2
  368. package/dist-cms/packages/media/media-types/tree/manifests.js +1 -1
  369. package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.js +2 -2
  370. package/dist-cms/packages/media/media-types/workspace/media-type-workspace.context.js +1 -1
  371. package/dist-cms/packages/media/section.manifests.d.ts +1 -1
  372. package/dist-cms/packages/media/section.manifests.js +7 -3
  373. package/dist-cms/packages/members/manifests.d.ts +1 -1
  374. package/dist-cms/packages/members/member-groups/entity-actions/manifests.js +0 -2
  375. package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
  376. package/dist-cms/packages/members/member-groups/menu-item/manifests.js +0 -2
  377. package/dist-cms/packages/members/member-groups/tree/manifests.js +1 -1
  378. package/dist-cms/packages/members/member-groups/workspace/manifests.js +12 -6
  379. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace-editor.element.js +2 -2
  380. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace.context.js +1 -1
  381. package/dist-cms/packages/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.js +2 -2
  382. package/dist-cms/packages/members/member-types/entity-actions/manifests.js +0 -2
  383. package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
  384. package/dist-cms/packages/members/member-types/menu-item/manifests.js +0 -2
  385. package/dist-cms/packages/members/member-types/tree/manifests.js +1 -1
  386. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.context.js +1 -1
  387. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.d.ts +1 -0
  388. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.js +1 -0
  389. package/dist-cms/packages/members/members/entity-actions/manifests.js +0 -2
  390. package/dist-cms/packages/members/members/manifests.d.ts +1 -1
  391. package/dist-cms/packages/members/members/menu-item/manifests.js +0 -2
  392. package/dist-cms/packages/members/members/tree/manifests.js +1 -1
  393. package/dist-cms/packages/members/members/workspace/member-workspace.context.js +1 -1
  394. package/dist-cms/packages/members/section.manifests.d.ts +1 -1
  395. package/dist-cms/packages/members/section.manifests.js +12 -6
  396. package/dist-cms/packages/packages/package-section/manifests.js +18 -9
  397. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.d.ts +0 -1
  398. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +0 -1
  399. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.d.ts +1 -0
  400. package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.js +3 -0
  401. package/dist-cms/packages/search/manifests.js +6 -3
  402. package/dist-cms/packages/settings/dashboards/manifests.js +37 -18
  403. package/dist-cms/packages/settings/dashboards/published-status/dashboard-published-status.element.js +11 -3
  404. package/dist-cms/packages/settings/data-types/entity-actions/copy/manifests.js +0 -2
  405. package/dist-cms/packages/settings/data-types/entity-actions/create/manifests.js +0 -2
  406. package/dist-cms/packages/settings/data-types/entity-actions/manifests.js +0 -6
  407. package/dist-cms/packages/settings/data-types/entity-actions/move/manifests.js +0 -2
  408. package/dist-cms/packages/settings/data-types/menu-item/manifests.js +0 -2
  409. package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +2 -1
  410. package/dist-cms/packages/settings/data-types/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.js +3 -2
  411. package/dist-cms/packages/settings/data-types/repository/data-type.repository.d.ts +2 -2
  412. package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
  413. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.d.ts +3 -3
  414. package/dist-cms/packages/settings/data-types/tree/manifests.js +1 -1
  415. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace-editor.element.js +2 -2
  416. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +1 -1
  417. package/dist-cms/packages/settings/data-types/workspace/manifests.js +18 -9
  418. package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +2 -2
  419. package/dist-cms/packages/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.js +2 -2
  420. package/dist-cms/packages/settings/extensions/menu-item/manifests.js +0 -2
  421. package/dist-cms/packages/settings/languages/app-language-select/app-language-select.element.js +1 -5
  422. package/dist-cms/packages/settings/languages/app-language-select/manifests.js +6 -3
  423. package/dist-cms/packages/settings/languages/entity-actions/manifests.js +0 -4
  424. package/dist-cms/packages/settings/languages/menu-item/manifests.js +0 -2
  425. package/dist-cms/packages/settings/languages/workspace/language/language-workspace-editor.element.js +2 -2
  426. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.context.js +1 -1
  427. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.d.ts +0 -1
  428. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.js +0 -1
  429. package/dist-cms/packages/settings/languages/workspace/language/manifests.js +12 -6
  430. package/dist-cms/packages/settings/languages/workspace/language/views/details/language-details-workspace-view.element.js +2 -2
  431. package/dist-cms/packages/settings/logviewer/manifests.d.ts +1 -1
  432. package/dist-cms/packages/settings/logviewer/menu-item/manifests.js +0 -2
  433. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root/logviewer-root-workspace.element.d.ts → logviewer/logviewer-workspace.element.d.ts} +0 -9
  434. package/dist-cms/packages/settings/logviewer/workspace/logviewer/logviewer-workspace.element.js +65 -0
  435. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.js +16 -10
  436. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.d.ts +28 -15
  437. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.js +33 -5
  438. package/dist-cms/packages/settings/logviewer/workspace/manifests.js +2 -2
  439. package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
  440. package/dist-cms/packages/settings/relation-types/menu-item/manifests.js +0 -2
  441. package/dist-cms/packages/settings/relation-types/tree/manifests.js +1 -1
  442. package/dist-cms/packages/settings/relation-types/workspace/manifests.js +18 -9
  443. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace-editor.element.js +2 -2
  444. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.context.js +1 -1
  445. package/dist-cms/packages/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.js +2 -2
  446. package/dist-cms/packages/settings/section.manifests.d.ts +1 -1
  447. package/dist-cms/packages/settings/section.manifests.js +6 -3
  448. package/dist-cms/packages/templating/components/insert-menu/templating-insert-menu.element.js +1 -1
  449. package/dist-cms/packages/templating/manifests.d.ts +6 -1
  450. package/dist-cms/packages/templating/menu.manifests.d.ts +1 -1
  451. package/dist-cms/packages/templating/menu.manifests.js +7 -3
  452. package/dist-cms/packages/templating/partial-views/config.d.ts +3 -4
  453. package/dist-cms/packages/templating/partial-views/config.js +1 -0
  454. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-empty.action.js +1 -1
  455. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.d.ts +10 -1
  456. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.js +16 -1
  457. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.d.ts +16 -0
  458. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.js +73 -0
  459. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.d.ts +6 -1
  460. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.js +38 -10
  461. package/dist-cms/packages/templating/partial-views/manifests.d.ts +6 -1
  462. package/dist-cms/packages/templating/partial-views/menu-item/manifests.js +0 -2
  463. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +39 -23
  464. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.js +66 -19
  465. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.d.ts +48 -13
  466. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.js +56 -17
  467. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +17 -0
  468. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.js +23 -0
  469. package/dist-cms/packages/templating/partial-views/tree/manifests.js +1 -1
  470. package/dist-cms/packages/templating/partial-views/workspace/manifests.js +6 -3
  471. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.d.ts +6 -1
  472. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.js +124 -27
  473. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.d.ts +8 -6
  474. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.js +49 -7
  475. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.d.ts +1 -0
  476. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.js +7 -3
  477. package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
  478. package/dist-cms/packages/templating/stylesheets/menu-item/manifests.js +0 -2
  479. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +1 -1
  480. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.js +1 -1
  481. package/dist-cms/packages/templating/templates/entity-actions/manifests.js +0 -4
  482. package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
  483. package/dist-cms/packages/templating/templates/menu-item/manifests.js +0 -2
  484. package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
  485. package/dist-cms/packages/templating/templates/tree/manifests.js +1 -1
  486. package/dist-cms/packages/templating/templates/workspace/manifests.js +6 -3
  487. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -1
  488. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +1 -1
  489. package/dist-cms/packages/umbraco-news/manifests.js +6 -3
  490. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -1
  491. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +10 -6
  492. package/dist-cms/packages/users/current-user/user-profile-apps/user-profile-app-profile.element.js +7 -5
  493. package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
  494. package/dist-cms/packages/users/user-groups/repository/manifests.d.ts +1 -1
  495. package/dist-cms/packages/users/user-groups/section-view/manifests.js +6 -3
  496. package/dist-cms/packages/users/user-groups/workspace/actions/workspace-action-user-group-save.element.js +2 -2
  497. package/dist-cms/packages/users/user-groups/workspace/manifests.js +6 -3
  498. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +2 -2
  499. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +1 -1
  500. package/dist-cms/packages/users/users/manifests.d.ts +1 -1
  501. package/dist-cms/packages/users/users/repository/manifests.d.ts +1 -1
  502. package/dist-cms/packages/users/users/repository/user.repository.js +5 -1
  503. package/dist-cms/packages/users/users/section-view/manifests.js +6 -3
  504. package/dist-cms/packages/users/users/workspace/actions/user-workspace-action-save.element.js +2 -2
  505. package/dist-cms/packages/users/users/workspace/manifests.js +6 -3
  506. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.d.ts +1 -0
  507. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +53 -8
  508. package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +1 -1
  509. package/dist-cms/packages/users/users/workspace/user-workspace.context.js +18 -1
  510. package/dist-cms/shared/auth/auth.context.d.ts +1 -0
  511. package/dist-cms/shared/auth/auth.context.js +1 -2
  512. package/dist-cms/shared/auth/auth.interface.d.ts +4 -0
  513. package/dist-cms/shared/lit-element/lit-element.element.d.ts +25 -0
  514. package/dist-cms/shared/lit-element/lit-element.element.js +42 -1
  515. package/dist-cms/shared/repository/data-source/data-source.interface.d.ts +2 -2
  516. package/dist-cms/shared/repository/data-source/folder-data-source.interface.d.ts +3 -3
  517. package/dist-cms/shared/repository/detail-repository.interface.d.ts +2 -2
  518. package/dist-cms/shared/repository/folder-repository.interface.d.ts +3 -3
  519. package/dist-cms/shared/resources/resource.controller.js +2 -2
  520. package/dist-cms/shared/router/route.context.js +2 -2
  521. package/dist-cms/shared/utils/component-has-manifest-property.function.d.ts +4 -0
  522. package/dist-cms/shared/utils/component-has-manifest-property.function.js +3 -0
  523. package/dist-cms/shared/utils/index.d.ts +1 -0
  524. package/dist-cms/shared/utils/index.js +1 -0
  525. package/dist-cms/shared/utils/media-helper.service.js +1 -0
  526. package/dist-cms/tinymce/CHANGELOG.md +23 -0
  527. package/dist-cms/tinymce/composer.json +1 -1
  528. package/dist-cms/tinymce/langs/hy.js +2 -2
  529. package/dist-cms/tinymce/langs/id.js +19 -19
  530. package/dist-cms/tinymce/langs/it.js +2 -2
  531. package/dist-cms/tinymce/langs/ka_GE.js +132 -132
  532. package/dist-cms/tinymce/langs/ru.js +4 -4
  533. package/dist-cms/tinymce/langs/sk.js +7 -7
  534. package/dist-cms/tinymce/models/dom/model.js +1 -1
  535. package/dist-cms/tinymce/models/dom/model.min.js +1 -1
  536. package/dist-cms/tinymce/package.json +1 -1
  537. package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
  538. package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
  539. package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
  540. package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
  541. package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
  542. package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
  543. package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
  544. package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
  545. package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
  546. package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
  547. package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
  548. package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
  549. package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
  550. package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
  551. package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
  552. package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
  553. package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
  554. package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
  555. package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
  556. package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
  557. package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
  558. package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
  559. package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
  560. package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  561. package/dist-cms/tinymce/plugins/help/plugin.js +1 -1
  562. package/dist-cms/tinymce/plugins/help/plugin.min.js +1 -1
  563. package/dist-cms/tinymce/plugins/image/plugin.js +2 -2
  564. package/dist-cms/tinymce/plugins/image/plugin.min.js +2 -2
  565. package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
  566. package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
  567. package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
  568. package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  569. package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
  570. package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
  571. package/dist-cms/tinymce/plugins/lists/plugin.js +2 -2
  572. package/dist-cms/tinymce/plugins/lists/plugin.min.js +2 -2
  573. package/dist-cms/tinymce/plugins/media/plugin.js +1 -1
  574. package/dist-cms/tinymce/plugins/media/plugin.min.js +1 -1
  575. package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
  576. package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  577. package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
  578. package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  579. package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
  580. package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
  581. package/dist-cms/tinymce/plugins/quickbars/plugin.js +1 -1
  582. package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +1 -1
  583. package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
  584. package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
  585. package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
  586. package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  587. package/dist-cms/tinymce/plugins/table/plugin.js +1 -1
  588. package/dist-cms/tinymce/plugins/table/plugin.min.js +1 -1
  589. package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
  590. package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
  591. package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
  592. package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  593. package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
  594. package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
  595. package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
  596. package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
  597. package/dist-cms/tinymce/skins/ui/oxide/skin.css +15 -2
  598. package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
  599. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +15 -2
  600. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  601. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +15 -2
  602. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  603. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +15 -2
  604. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  605. package/dist-cms/tinymce/themes/silver/theme.js +181 -108
  606. package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
  607. package/dist-cms/tinymce/tinymce.d.ts +3 -0
  608. package/dist-cms/tinymce/tinymce.js +23 -15
  609. package/dist-cms/tinymce/tinymce.min.js +2 -2
  610. package/dist-cms/tsconfig.build.json +15 -0
  611. package/dist-cms/tsconfig.build.tsbuildinfo +1 -0
  612. package/dist-cms/umbraco-package-schema.json +536 -236
  613. package/dist-cms/vscode-html-custom-data.json +119 -100
  614. package/package.json +32 -30
  615. package/dist-cms/external/monaco-editor/twig-4859b551.js +0 -6
  616. package/dist-cms/packages/core/property-editor/schemas/Umbraco.JSON.d.ts +0 -2
  617. package/dist-cms/packages/core/property-editor/schemas/Umbraco.JSON.js +0 -8
  618. package/dist-cms/packages/core/section/section-views/index.d.ts +0 -1
  619. package/dist-cms/packages/core/section/section-views/index.js +0 -1
  620. package/dist-cms/packages/core/section/section-views/section-views.element.d.ts +0 -26
  621. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.d.ts +0 -4
  622. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.js +0 -2
  623. package/dist-cms/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.js +0 -166
  624. package/dist-cms/packages/translation/dictionary/manifests.d.ts +0 -1
  625. package/dist-cms/packages/translation/manifests.d.ts +0 -1
  626. package/dist-cms/packages/translation/section.manifest.d.ts +0 -2
  627. package/dist-cms/packages/translation/umbraco-package.js +0 -9
  628. package/dist-cms/tsconfig.tsbuildinfo +0 -1
  629. /package/dist-cms/apps/backoffice/{extension.controller.d.ts → extension-initializer.controller.d.ts} +0 -0
  630. /package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.d.ts +0 -0
  631. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.d.ts +0 -0
  632. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.js +0 -0
  633. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.d.ts +0 -0
  634. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.d.ts +0 -0
  635. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.js +0 -0
  636. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.d.ts +0 -0
  637. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.js +0 -0
  638. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.d.ts +0 -0
  639. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.js +0 -0
  640. /package/dist-cms/packages/{translation → dictionary}/dictionary/manifests.js +0 -0
  641. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.d.ts +0 -0
  642. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.js +0 -0
  643. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.d.ts +0 -0
  644. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.d.ts +0 -0
  645. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.js +0 -0
  646. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.d.ts +0 -0
  647. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.js +0 -0
  648. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.d.ts +0 -0
  649. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.js +0 -0
  650. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.d.ts +0 -0
  651. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.js +0 -0
  652. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.d.ts +0 -0
  653. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.d.ts +0 -0
  654. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.js +0 -0
  655. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.d.ts +0 -0
  656. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.js +0 -0
  657. /package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.d.ts +0 -0
  658. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.d.ts +0 -0
  659. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.d.ts +0 -0
  660. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.d.ts +0 -0
  661. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.js +0 -0
  662. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.d.ts +0 -0
  663. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.d.ts +0 -0
  664. /package/dist-cms/packages/{translation → dictionary}/manifests.js +0 -0
  665. /package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.d.ts +0 -0
@@ -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,13 @@
1
+ import { UmbLocalizeController } from '../localization-api/index.js';
1
2
  import { UmbControllerHostElementMixin } from '../controller-api/index.js';
2
3
  import { UmbContextConsumerController, UmbContextProviderController, } from '../context-api/index.js';
3
4
  import { UmbObserverController } from '../observable-api/index.js';
4
5
  export const UmbElementMixin = (superClass) => {
5
6
  class UmbElementMixinClass extends UmbControllerHostElementMixin(superClass) {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.localize = new UmbLocalizeController(this);
10
+ }
6
11
  /**
7
12
  * @description Observe a RxJS source of choice.
8
13
  * @param {Observable<T>} source RxJS source
@@ -11,7 +16,7 @@ export const UmbElementMixin = (superClass) => {
11
16
  * @memberof UmbElementMixin
12
17
  */
13
18
  observe(source, callback, unique) {
14
- return new UmbObserverController(this, source.asObservable ? source.asObservable() : source, callback, unique);
19
+ return new UmbObserverController(this, source, callback, unique);
15
20
  }
16
21
  /**
17
22
  * @description Provide a context API for this or child elements.
@@ -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
+ }