@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
@@ -0,0 +1,112 @@
1
+ import { map } from '../../../external/rxjs/index.js';
2
+ import { UmbBaseController } from '../../controller-api/index.js';
3
+ /**
4
+ */
5
+ export class UmbBaseExtensionsController extends UmbBaseController {
6
+ #extensionRegistry;
7
+ #type;
8
+ #filter;
9
+ #onChange;
10
+ constructor(host, extensionRegistry, type, filter, onChange) {
11
+ super(host);
12
+ this._extensions = [];
13
+ this._permittedExts = [];
14
+ this.#gotManifests = (manifests) => {
15
+ if (!manifests) {
16
+ // Clean up:
17
+ this._extensions.forEach((controller) => {
18
+ controller.destroy();
19
+ });
20
+ this._extensions.length = 0;
21
+ // _permittedExts should have been cleared via the destroy callbacks.
22
+ return;
23
+ }
24
+ // Clean up extensions that are no longer.
25
+ this._extensions = this._extensions.filter((controller) => {
26
+ if (!manifests.find((manifest) => manifest.alias === controller.alias)) {
27
+ controller.destroy();
28
+ // destroying the controller will, if permitted, make a last callback with isPermitted = false. This will also remove it from the _permittedExts array.
29
+ return false;
30
+ }
31
+ return true;
32
+ });
33
+ // ---------------------------------------------------------------
34
+ // May change this into a Extensions Manager Controller???
35
+ // ---------------------------------------------------------------
36
+ manifests.forEach((manifest) => {
37
+ const existing = this._extensions.find((x) => x.alias === manifest.alias);
38
+ if (!existing) {
39
+ // Idea: could be abstracted into a createController method, so we can override it in a subclass.
40
+ // (This should be enough to be able to create a element extension controller instead.)
41
+ this._extensions.push(this._createController(manifest));
42
+ }
43
+ });
44
+ };
45
+ this._extensionChanged = (isPermitted, controller) => {
46
+ let hasChanged = false;
47
+ const existingIndex = this._permittedExts.indexOf(controller);
48
+ if (isPermitted) {
49
+ if (existingIndex === -1) {
50
+ this._permittedExts.push(controller);
51
+ hasChanged = true;
52
+ }
53
+ }
54
+ else {
55
+ if (existingIndex !== -1) {
56
+ this._permittedExts.splice(existingIndex, 1);
57
+ hasChanged = true;
58
+ }
59
+ }
60
+ if (hasChanged) {
61
+ // The final list of permitted extensions to be displayed, this will be stripped from extensions that are overwritten by another extension and sorted accordingly.
62
+ const exposedPermittedExts = [...this._permittedExts];
63
+ // Removal of overwritten extensions:
64
+ this._permittedExts.forEach((extCtrl) => {
65
+ // Check if it overwrites another extension:
66
+ // if so, look up the extension it overwrites, and remove it from the list. and check that for if it overwrites another extension and so on.
67
+ if (extCtrl.overwrites.length > 0) {
68
+ extCtrl.overwrites.forEach((overwrite) => {
69
+ this.#removeOverwrittenExtensions(exposedPermittedExts, overwrite);
70
+ });
71
+ }
72
+ });
73
+ // Sorting:
74
+ exposedPermittedExts.sort((a, b) => b.weight - a.weight);
75
+ this.#onChange(exposedPermittedExts, this);
76
+ }
77
+ };
78
+ this.#extensionRegistry = extensionRegistry;
79
+ this.#type = type;
80
+ this.#filter = filter;
81
+ this.#onChange = onChange;
82
+ }
83
+ _init() {
84
+ let source = Array.isArray(this.#type)
85
+ ? this.#extensionRegistry.extensionsOfTypes(this.#type)
86
+ : this.#extensionRegistry.extensionsOfType(this.#type);
87
+ if (this.#filter) {
88
+ source = source.pipe(map((extensions) => extensions.filter(this.#filter)));
89
+ }
90
+ this.observe(source, this.#gotManifests);
91
+ }
92
+ #gotManifests;
93
+ #removeOverwrittenExtensions(list, alias) {
94
+ const index = list.findIndex((a) => a.alias === alias);
95
+ if (index !== -1) {
96
+ const entry = list[index];
97
+ // Remove this extension:
98
+ list.splice(index, 1);
99
+ // Then remove other extensions that this was replacing:
100
+ if (entry.overwrites.length > 0) {
101
+ entry.overwrites.forEach((overwrite) => {
102
+ this.#removeOverwrittenExtensions(list, overwrite);
103
+ });
104
+ }
105
+ }
106
+ }
107
+ destroy() {
108
+ super.destroy();
109
+ this._extensions.length = 0;
110
+ this._permittedExts.length = 0;
111
+ }
112
+ }
@@ -0,0 +1,20 @@
1
+ import { UmbExtensionRegistry } from '../registry/extension.registry.js';
2
+ import { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
3
+ import { UmbBaseExtensionController } from './base-extension-controller.js';
4
+ import { UmbControllerHost } from '../../controller-api/index.js';
5
+ export declare class UmbExtensionElementController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, ControllerType extends UmbExtensionElementController<ManifestType> = any> extends UmbBaseExtensionController<ManifestType, ControllerType> {
6
+ #private;
7
+ _defaultElement?: string;
8
+ _component?: HTMLElement;
9
+ /**
10
+ * The component that is created for this extension.
11
+ * @readonly
12
+ * @type {(HTMLElement | undefined)}
13
+ */
14
+ get component(): HTMLElement | undefined;
15
+ get properties(): Record<string, unknown> | undefined;
16
+ set properties(newVal: Record<string, unknown> | undefined);
17
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: ControllerType) => void, defaultElement?: string);
18
+ protected _conditionsAreGood(): Promise<boolean>;
19
+ protected _conditionsAreBad(): Promise<void>;
20
+ }
@@ -0,0 +1,82 @@
1
+ import { createExtensionElement } from '../create-extension-element.function.js';
2
+ import { isManifestElementableType } from '../type-guards/is-manifest-elementable-type.function.js';
3
+ import { UmbBaseExtensionController } from './base-extension-controller.js';
4
+ export class UmbExtensionElementController extends UmbBaseExtensionController {
5
+ /**
6
+ * The component that is created for this extension.
7
+ * @readonly
8
+ * @type {(HTMLElement | undefined)}
9
+ */
10
+ get component() {
11
+ return this._component;
12
+ }
13
+ /**
14
+ * The props that are passed to the component.
15
+ * @type {Record<string, any>}
16
+ * @memberof UmbElementExtensionController
17
+ * @example
18
+ * ```ts
19
+ * const controller = new UmbElementExtensionController(host, extensionRegistry, alias, onPermissionChanged);
20
+ * controller.props = { foo: 'bar' };
21
+ * ```
22
+ * Is equivalent to:
23
+ * ```ts
24
+ * controller.component.foo = 'bar';
25
+ * ```
26
+ */
27
+ #properties;
28
+ get properties() {
29
+ return this.#properties;
30
+ }
31
+ set properties(newVal) {
32
+ this.#properties = newVal;
33
+ // TODO: we could optimize this so we only re-set the changed props.
34
+ this.#assignProperties();
35
+ }
36
+ constructor(host, extensionRegistry, alias, onPermissionChanged, defaultElement) {
37
+ super(host, extensionRegistry, alias, onPermissionChanged);
38
+ this._defaultElement = defaultElement;
39
+ this._init();
40
+ }
41
+ #assignProperties = () => {
42
+ if (!this._component || !this.#properties)
43
+ return;
44
+ // TODO: we could optimize this so we only re-set the updated props.
45
+ Object.keys(this.#properties).forEach((key) => {
46
+ this._component[key] = this.#properties[key];
47
+ });
48
+ };
49
+ async _conditionsAreGood() {
50
+ const manifest = this.manifest; // In this case we are sure its not undefined.
51
+ if (isManifestElementableType(manifest)) {
52
+ const newComponent = await createExtensionElement(manifest);
53
+ if (!this._positive) {
54
+ // We are not positive anymore, so we will back out of this creation.
55
+ return false;
56
+ }
57
+ this._component = newComponent;
58
+ }
59
+ else if (this._defaultElement) {
60
+ this._component = document.createElement(this._defaultElement);
61
+ }
62
+ else {
63
+ this._component = undefined;
64
+ // TODO: Lets make an console.error in this case? we could not initialize any component based on this manifest.
65
+ }
66
+ if (this._component) {
67
+ this.#assignProperties();
68
+ this._component.manifest = manifest;
69
+ return true; // we will confirm we have a component and are still good to go.
70
+ }
71
+ return false; // we will reject the state, we have no component, we are not good to be shown.
72
+ }
73
+ async _conditionsAreBad() {
74
+ // Destroy the element:
75
+ if (this._component) {
76
+ if ('destroy' in this._component) {
77
+ this._component.destroy();
78
+ }
79
+ this._component = undefined;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,9 @@
1
+ import type { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
2
+ import type { UmbExtensionRegistry } from '../registry/extension.registry.js';
3
+ import { UmbBaseExtensionController } from './base-extension-controller.js';
4
+ import type { UmbControllerHost } from '../../controller-api/index.js';
5
+ export declare class UmbExtensionManifestController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions> extends UmbBaseExtensionController<ManifestType> {
6
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: UmbBaseExtensionController<ManifestType>) => void);
7
+ protected _conditionsAreGood(): Promise<boolean>;
8
+ protected _conditionsAreBad(): Promise<void>;
9
+ }
@@ -0,0 +1,13 @@
1
+ import { UmbBaseExtensionController } from './base-extension-controller.js';
2
+ export class UmbExtensionManifestController extends UmbBaseExtensionController {
3
+ constructor(host, extensionRegistry, alias, onPermissionChanged) {
4
+ super(host, extensionRegistry, alias, onPermissionChanged);
5
+ this._init();
6
+ }
7
+ async _conditionsAreGood() {
8
+ return true;
9
+ }
10
+ async _conditionsAreBad() {
11
+ // Destroy the element/class.
12
+ }
13
+ }
@@ -0,0 +1,13 @@
1
+ import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
2
+ import { type ManifestBase, type ManifestTypeMap, type SpecificManifestTypeOrManifestBase, UmbExtensionElementController, type UmbExtensionRegistry } from '../index.js';
3
+ import type { UmbControllerHost } from '../../controller-api/index.js';
4
+ /**
5
+ */
6
+ export declare class UmbExtensionsElementController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string = string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionElementController<ManifestType> = UmbExtensionElementController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
7
+ #private;
8
+ private _defaultElement?;
9
+ get properties(): Record<string, unknown> | undefined;
10
+ set properties(props: Record<string, unknown> | undefined);
11
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void, defaultElement?: string);
12
+ protected _createController(manifest: ManifestType): ControllerType;
13
+ }
@@ -0,0 +1,29 @@
1
+ import { UmbBaseExtensionsController } from './base-extensions-controller.js';
2
+ import { UmbExtensionElementController, } from '../index.js';
3
+ /**
4
+ */
5
+ export class UmbExtensionsElementController extends UmbBaseExtensionsController {
6
+ //
7
+ #extensionRegistry;
8
+ #props;
9
+ get properties() {
10
+ return this.#props;
11
+ }
12
+ set properties(props) {
13
+ this.#props = props;
14
+ this._extensions.forEach((controller) => {
15
+ controller.properties = props;
16
+ });
17
+ }
18
+ constructor(host, extensionRegistry, type, filter, onChange, defaultElement) {
19
+ super(host, extensionRegistry, type, filter, onChange);
20
+ this.#extensionRegistry = extensionRegistry;
21
+ this._defaultElement = defaultElement;
22
+ this._init();
23
+ }
24
+ _createController(manifest) {
25
+ const extController = new UmbExtensionElementController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged, this._defaultElement);
26
+ extController.properties = this.#props;
27
+ return extController;
28
+ }
29
+ }
@@ -0,0 +1,11 @@
1
+ import { UmbExtensionManifestController } from './extension-manifest-controller.js';
2
+ import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
3
+ import { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbExtensionRegistry } from '../index.js';
4
+ import { UmbControllerHost } from '../../controller-api/index.js';
5
+ /**
6
+ */
7
+ export declare class UmbExtensionsManifestController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionManifestController<ManifestType> = UmbExtensionManifestController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
8
+ #private;
9
+ constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void);
10
+ protected _createController(manifest: ManifestType): ControllerType;
11
+ }
@@ -0,0 +1,16 @@
1
+ import { UmbExtensionManifestController } from './extension-manifest-controller.js';
2
+ import { UmbBaseExtensionsController } from './base-extensions-controller.js';
3
+ /**
4
+ */
5
+ export class UmbExtensionsManifestController extends UmbBaseExtensionsController {
6
+ //
7
+ #extensionRegistry;
8
+ constructor(host, extensionRegistry, type, filter, onChange) {
9
+ super(host, extensionRegistry, type, filter, onChange);
10
+ this.#extensionRegistry = extensionRegistry;
11
+ this._init();
12
+ }
13
+ _createController(manifest) {
14
+ return new UmbExtensionManifestController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged);
15
+ }
16
+ }
@@ -0,0 +1,6 @@
1
+ export * from './base-extension-controller.js';
2
+ export * from './base-extensions-controller.js';
3
+ export * from './extension-element-controller.js';
4
+ export * from './extensions-element-controller.js';
5
+ export * from './extension-manifest-controller.js';
6
+ export * from './extensions-manifest-controller.js';
@@ -0,0 +1,6 @@
1
+ export * from './base-extension-controller.js';
2
+ export * from './base-extensions-controller.js';
3
+ export * from './extension-element-controller.js';
4
+ export * from './extensions-element-controller.js';
5
+ export * from './extension-manifest-controller.js';
6
+ export * from './extensions-manifest-controller.js';
@@ -1,12 +1,14 @@
1
1
  export * from './bundle-extension-initializer.js';
2
+ export * from './condition/index.js';
3
+ export * from './controller/index.js';
2
4
  export * from './create-extension-class.function.js';
3
5
  export * from './create-extension-element-or-fallback.function.js';
4
6
  export * from './create-extension-element.function.js';
5
7
  export * from './entry-point-extension-initializer.js';
8
+ export * from './entry-point.interface.js';
6
9
  export * from './has-default-export.function.js';
7
10
  export * from './has-init-export.function.js';
8
11
  export * from './load-extension.function.js';
9
12
  export * from './registry/extension.registry.js';
10
13
  export * from './type-guards/index.js';
11
14
  export * from './types.js';
12
- export * from './entry-point.interface.js';
@@ -1,12 +1,14 @@
1
1
  export * from './bundle-extension-initializer.js';
2
+ export * from './condition/index.js';
3
+ export * from './controller/index.js';
2
4
  export * from './create-extension-class.function.js';
3
5
  export * from './create-extension-element-or-fallback.function.js';
4
6
  export * from './create-extension-element.function.js';
5
7
  export * from './entry-point-extension-initializer.js';
8
+ export * from './entry-point.interface.js';
6
9
  export * from './has-default-export.function.js';
7
10
  export * from './has-init-export.function.js';
8
11
  export * from './load-extension.function.js';
9
12
  export * from './registry/extension.registry.js';
10
13
  export * from './type-guards/index.js';
11
14
  export * from './types.js';
12
- export * from './entry-point.interface.js';
@@ -12,11 +12,14 @@ export declare class UmbExtensionRegistry<IncomingManifestTypes extends Manifest
12
12
  unregisterMany(aliases: Array<string>): void;
13
13
  unregister(alias: string): void;
14
14
  isRegistered(alias: string): boolean;
15
+ private checkExtension;
15
16
  private _kindsOfType;
16
17
  private _extensionsOfType;
17
18
  private _kindsOfTypes;
18
19
  private _extensionsOfTypes;
20
+ getByAlias<T extends ManifestBase = ManifestBase>(alias: string): Observable<T | undefined>;
19
21
  getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
22
+ getByTypeAndAliases<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>): Observable<T[]>;
20
23
  extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
21
24
  extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
22
25
  }
@@ -1,5 +1,5 @@
1
1
  import { UmbBasicState } from '../../observable-api/index.js';
2
- import { map, distinctUntilChanged, combineLatest } from '../../../external/rxjs/index.js';
2
+ import { map, distinctUntilChanged, combineLatest, of, switchMap, } from '../../../external/rxjs/index.js';
3
3
  function extensionArrayMemoization(previousValue, currentValue) {
4
4
  // If length is different, data is different:
5
5
  if (previousValue.length !== currentValue.length) {
@@ -11,7 +11,6 @@ function extensionArrayMemoization(previousValue, currentValue) {
11
11
  }
12
12
  return true;
13
13
  }
14
- // Note: Keeping the memoization in two separate function, for performance concern.
15
14
  function extensionAndKindMatchArrayMemoization(previousValue, currentValue) {
16
15
  // If length is different, data is different:
17
16
  if (previousValue.length !== currentValue.length) {
@@ -39,6 +38,12 @@ function extensionSingleMemoization(previousValue, currentValue) {
39
38
  }
40
39
  return previousValue === currentValue;
41
40
  }
41
+ function extensionAndKindMatchSingleMemoization(previousValue, currentValue) {
42
+ if (previousValue && currentValue) {
43
+ return (previousValue.alias === currentValue.alias && previousValue.isMatchedWithKind === currentValue.isMatchedWithKind);
44
+ }
45
+ return previousValue === currentValue;
46
+ }
42
47
  const sortExtensions = (a, b) => (b.weight || 0) - (a.weight || 0);
43
48
  export class UmbExtensionRegistry {
44
49
  constructor() {
@@ -49,6 +54,12 @@ export class UmbExtensionRegistry {
49
54
  this.kinds = this._kinds.asObservable();
50
55
  }
51
56
  defineKind(kind) {
57
+ const extensionsValues = this._extensions.getValue();
58
+ const extension = extensionsValues.find((extension) => extension.alias === kind.alias);
59
+ if (extension) {
60
+ console.error(`Extension Kind with alias ${kind.alias} is already registered`);
61
+ return;
62
+ }
52
63
  const nextData = this._kinds
53
64
  .getValue()
54
65
  .filter((k) => !(k.matchType === kind.matchType &&
@@ -57,21 +68,15 @@ export class UmbExtensionRegistry {
57
68
  this._kinds.next(nextData);
58
69
  }
59
70
  register(manifest) {
60
- // TODO: Consider if we need to implement some safety features here, like checking if the object has a 'type' and/or 'alias'?
61
- if (manifest.type === 'kind') {
62
- this.defineKind(manifest);
71
+ const isValid = this.checkExtension(manifest);
72
+ if (!isValid) {
63
73
  return;
64
74
  }
65
- const extensionsValues = this._extensions.getValue();
66
- const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
67
- if (extension) {
68
- console.error(`Extension with alias ${manifest.alias} is already registered`);
69
- return;
70
- }
71
- this._extensions.next([...extensionsValues, manifest]);
75
+ this._extensions.next([...this._extensions.getValue(), manifest]);
72
76
  }
73
77
  registerMany(manifests) {
74
- manifests.forEach((manifest) => this.register(manifest));
78
+ const validManifests = manifests.filter(this.checkExtension.bind(this));
79
+ this._extensions.next([...this._extensions.getValue(), ...validManifests]);
75
80
  }
76
81
  unregisterMany(aliases) {
77
82
  aliases.forEach((alias) => this.unregister(alias));
@@ -97,6 +102,27 @@ export class UmbExtensionRegistry {
97
102
  return this.extensions.pipe(map((extensions) => extensions.find((extension) => extension.alias === alias) || null));
98
103
  }
99
104
  */
105
+ checkExtension(manifest) {
106
+ if (!manifest.type) {
107
+ console.error(`Extension is missing type`, manifest);
108
+ return false;
109
+ }
110
+ if (!manifest.alias) {
111
+ console.error(`Extension is missing alias`, manifest);
112
+ return false;
113
+ }
114
+ if (manifest.type === 'kind') {
115
+ this.defineKind(manifest);
116
+ return false;
117
+ }
118
+ const extensionsValues = this._extensions.getValue();
119
+ const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
120
+ if (extension) {
121
+ console.error(`Extension with alias ${manifest.alias} is already registered`);
122
+ return false;
123
+ }
124
+ return true;
125
+ }
100
126
  _kindsOfType(type) {
101
127
  return this.kinds.pipe(map((kinds) => kinds.filter((kind) => kind.matchType === type)), distinctUntilChanged(extensionArrayMemoization));
102
128
  }
@@ -110,6 +136,29 @@ export class UmbExtensionRegistry {
110
136
  _extensionsOfTypes(types) {
111
137
  return this.extensions.pipe(map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), distinctUntilChanged(extensionArrayMemoization));
112
138
  }
139
+ getByAlias(alias) {
140
+ return this.extensions.pipe(map((exts) => exts.find((ext) => ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization), switchMap((ext) => {
141
+ if (ext?.kind) {
142
+ return this._kindsOfType(ext.type).pipe(map((kinds) => {
143
+ // Specific Extension Meta merge (does not merge conditions)
144
+ if (ext) {
145
+ // Since we dont have the type up front in this request, we will just get all kinds here and find the matching one:
146
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
147
+ // TODO: This check can go away when making a find kind based on type and kind.
148
+ if (baseManifest) {
149
+ const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
150
+ if (baseManifest.meta) {
151
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
152
+ }
153
+ return merged;
154
+ }
155
+ }
156
+ return ext;
157
+ }));
158
+ }
159
+ return of(ext);
160
+ }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
161
+ }
113
162
  getByTypeAndAlias(type, alias) {
114
163
  return combineLatest([
115
164
  this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization)),
@@ -128,7 +177,26 @@ export class UmbExtensionRegistry {
128
177
  }
129
178
  }
130
179
  return ext;
131
- }), distinctUntilChanged(extensionSingleMemoization));
180
+ }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
181
+ }
182
+ getByTypeAndAliases(type, aliases) {
183
+ return combineLatest([
184
+ this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type && aliases.indexOf(ext.alias) !== -1)), distinctUntilChanged(extensionArrayMemoization)),
185
+ this._kindsOfType(type),
186
+ ]).pipe(map(([exts, kinds]) => exts
187
+ .map((ext) => {
188
+ // Specific Extension Meta merge (does not merge conditions)
189
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
190
+ if (baseManifest) {
191
+ const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
192
+ if (baseManifest.meta) {
193
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
194
+ }
195
+ return merged;
196
+ }
197
+ return ext;
198
+ })
199
+ .sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
132
200
  }
133
201
  extensionsOfType(type) {
134
202
  return combineLatest([this._extensionsOfType(type), this._kindsOfType(type)]).pipe(map(([exts, kinds]) => exts
@@ -1,5 +1,5 @@
1
- import { UmbEntryPointModule } from './entry-point.interface.js';
2
- import { UmbBackofficeExtensionRegistry } from '../../packages/core/extension-registry/index.js';
1
+ import type { UmbExtensionCondition } from './condition/index.js';
2
+ import type { UmbEntryPointModule } from './entry-point.interface.js';
3
3
  export type HTMLElementConstructor<T = HTMLElement> = new (...args: any[]) => T;
4
4
  export type ClassConstructor<T = object> = new (...args: any[]) => T;
5
5
  export type ManifestTypeMap<ManifestTypes extends ManifestBase> = {
@@ -39,11 +39,30 @@ export interface ManifestKind<ManifestTypes> {
39
39
  matchKind: string;
40
40
  manifest: Partial<ManifestTypes>;
41
41
  }
42
- export interface ManifestWithConditions<ConditionsType> {
42
+ export interface ManifestWithConditions<ConditionType> {
43
43
  /**
44
44
  * Set the conditions for when the extension should be loaded
45
45
  */
46
- conditions: ConditionsType;
46
+ conditions: ConditionType;
47
+ }
48
+ export interface UmbConditionConfigBase<AliasType extends string = string> {
49
+ alias: AliasType;
50
+ }
51
+ export type ConditionTypeMap<ConditionTypes extends UmbConditionConfigBase> = {
52
+ [Condition in ConditionTypes as Condition['alias']]: Condition;
53
+ } & {
54
+ [key: string]: UmbConditionConfigBase;
55
+ };
56
+ export type SpecificConditionTypeOrUmbConditionConfigBase<ConditionTypes extends UmbConditionConfigBase, T extends keyof ConditionTypeMap<ConditionTypes> | string> = T extends keyof ConditionTypeMap<ConditionTypes> ? ConditionTypeMap<ConditionTypes>[T] : UmbConditionConfigBase;
57
+ export interface ManifestWithDynamicConditions<ConditionTypes extends UmbConditionConfigBase = UmbConditionConfigBase> extends ManifestBase {
58
+ /**
59
+ * Set the conditions for when the extension should be loaded
60
+ */
61
+ conditions?: Array<ConditionTypes>;
62
+ /**
63
+ * Define one or more extension aliases that this extension should overwrite.
64
+ */
65
+ overwrites?: string | Array<string>;
47
66
  }
48
67
  export interface ManifestWithLoader<LoaderReturnType> extends ManifestBase {
49
68
  /**
@@ -78,6 +97,14 @@ export interface ManifestClass<ClassType = unknown> extends ManifestWithLoader<{
78
97
  export interface ManifestClassWithClassConstructor<T = unknown> extends ManifestClass<T> {
79
98
  class: ClassConstructor<T>;
80
99
  }
100
+ export interface ManifestWithLoaderIncludingDefaultExport<T = unknown> extends ManifestWithLoader<{
101
+ default: T;
102
+ } | Omit<object, 'default'>> {
103
+ /**
104
+ * The file location of the javascript file to load
105
+ */
106
+ js?: string;
107
+ }
81
108
  export interface ManifestElement<ElementType extends HTMLElement = HTMLElement> extends ManifestWithLoader<{
82
109
  default: ClassConstructor<ElementType>;
83
110
  } | Omit<object, 'default'>> {
@@ -131,17 +158,27 @@ export interface ManifestEntryPoint extends ManifestWithLoader<UmbEntryPointModu
131
158
  /**
132
159
  * The file location of the javascript file to load in the backoffice
133
160
  */
134
- js: string;
161
+ js?: string;
135
162
  }
136
163
  /**
137
164
  * This type of extension takes a JS module and registers all exported manifests from the pointed JS file.
138
165
  */
139
- export interface ManifestBundle extends ManifestWithLoader<{
140
- [key: string]: Array<UmbBackofficeExtensionRegistry['MANIFEST_TYPES']>;
166
+ export interface ManifestBundle<UmbManifestTypes extends ManifestBase = ManifestBase> extends ManifestWithLoader<{
167
+ [key: string]: Array<UmbManifestTypes>;
141
168
  }> {
142
169
  type: 'bundle';
143
170
  /**
144
171
  * The file location of the javascript file to load in the backoffice
145
172
  */
146
- js: string;
173
+ js?: string;
174
+ }
175
+ /**
176
+ * This type of extension takes a JS module and registers all exported manifests from the pointed JS file.
177
+ */
178
+ export interface ManifestCondition extends ManifestClass<UmbExtensionCondition> {
179
+ type: 'condition';
180
+ /**
181
+ * The file location of the javascript file to load in the backoffice
182
+ */
183
+ js?: string;
147
184
  }
@@ -0,0 +1,3 @@
1
+ export * from './localize.controller.js';
2
+ export * from './types/translation.js';
3
+ export * from './manager.js';
@@ -0,0 +1,3 @@
1
+ export * from './localize.controller.js';
2
+ export * from './types/translation.js';
3
+ export * from './manager.js';