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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (744) hide show
  1. package/dist-cms/apps/app/app.element.d.ts +11 -1
  2. package/dist-cms/apps/app/app.element.js +25 -1
  3. package/dist-cms/apps/backoffice/backoffice.context.d.ts +5 -1
  4. package/dist-cms/apps/backoffice/backoffice.context.js +13 -5
  5. package/dist-cms/apps/backoffice/backoffice.element.d.ts +0 -1
  6. package/dist-cms/apps/backoffice/backoffice.element.js +5 -6
  7. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.d.ts +0 -2
  8. package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +6 -13
  9. package/dist-cms/apps/backoffice/components/backoffice-main.element.js +11 -9
  10. package/dist-cms/apps/backoffice/{extension.controller.js → extension-initializer.controller.js} +2 -0
  11. package/dist-cms/apps/installer/error/installer-error.element.d.ts +2 -2
  12. package/dist-cms/apps/installer/installer.context.d.ts +6 -6
  13. package/dist-cms/apps/installer/installer.context.js +2 -2
  14. package/dist-cms/assets/lang/da-dk.d.ts +3 -0
  15. package/dist-cms/assets/lang/da-dk.js +2989 -0
  16. package/dist-cms/assets/lang/da-dk.ts +3246 -0
  17. package/dist-cms/assets/lang/en-us.d.ts +3 -0
  18. package/dist-cms/assets/lang/en-us.js +2966 -0
  19. package/dist-cms/assets/lang/en-us.ts +3219 -0
  20. package/dist-cms/custom-elements.json +210 -163
  21. package/dist-cms/external/backend-api/index.js +1 -1
  22. package/dist-cms/external/monaco-editor/{abap-42d5eca7.js → abap-7ad4f8f0.js} +1 -1
  23. package/dist-cms/external/monaco-editor/{apex-051da044.js → apex-30597c49.js} +1 -1
  24. package/dist-cms/external/monaco-editor/{bundle.css → assets/bundle-a4f90d1d.css} +593 -279
  25. package/dist-cms/external/monaco-editor/{azcli-ad3d7346.js → azcli-67c34a04.js} +1 -1
  26. package/dist-cms/external/monaco-editor/{bat-0217c0bc.js → bat-b8f4738b.js} +1 -1
  27. package/dist-cms/external/monaco-editor/{bicep-0cadb30a.js → bicep-b104b38b.js} +1 -1
  28. package/dist-cms/external/monaco-editor/{cameligo-ac55f854.js → cameligo-001d1ded.js} +1 -1
  29. package/dist-cms/external/monaco-editor/{clojure-388a0d58.js → clojure-fa9652a1.js} +1 -1
  30. package/dist-cms/external/monaco-editor/{coffee-7e7a2971.js → coffee-b69a8315.js} +1 -1
  31. package/dist-cms/external/monaco-editor/{cpp-840d082a.js → cpp-8053752f.js} +1 -1
  32. package/dist-cms/external/monaco-editor/{csharp-b3429875.js → csharp-886041a3.js} +1 -1
  33. package/dist-cms/external/monaco-editor/{csp-83442b86.js → csp-e846bce6.js} +1 -1
  34. package/dist-cms/external/monaco-editor/{css-7a34b8c3.js → css-50032e5e.js} +1 -1
  35. package/dist-cms/external/monaco-editor/{cssMode-98237bd7.js → cssMode-c0406684.js} +3 -3
  36. package/dist-cms/external/monaco-editor/{cypher-cc9c23cc.js → cypher-6f93a845.js} +1 -1
  37. package/dist-cms/external/monaco-editor/{dart-00a58d1c.js → dart-14284236.js} +1 -1
  38. package/dist-cms/external/monaco-editor/{dockerfile-668ee825.js → dockerfile-e9935eb4.js} +1 -1
  39. package/dist-cms/external/monaco-editor/{ecl-b42ffd48.js → ecl-9c89f204.js} +1 -1
  40. package/dist-cms/external/monaco-editor/{elixir-b9ceca92.js → elixir-ca8bf661.js} +1 -1
  41. package/dist-cms/external/monaco-editor/{flow9-7e9b2e50.js → flow9-ac147227.js} +1 -1
  42. package/dist-cms/external/monaco-editor/{freemarker2-b9eee947.js → freemarker2-793b7402.js} +2 -2
  43. package/dist-cms/external/monaco-editor/{fsharp-cdc5b8f1.js → fsharp-8eaad024.js} +1 -1
  44. package/dist-cms/external/monaco-editor/{go-4c92fa5c.js → go-05529e2e.js} +1 -1
  45. package/dist-cms/external/monaco-editor/{graphql-67842079.js → graphql-8f5b3fdd.js} +1 -1
  46. package/dist-cms/external/monaco-editor/{handlebars-36a3f04f.js → handlebars-aaa2fd96.js} +2 -2
  47. package/dist-cms/external/monaco-editor/{hcl-59febf1c.js → hcl-9e201a51.js} +1 -1
  48. package/dist-cms/external/monaco-editor/{html-b0d38e59.js → html-1194c0aa.js} +2 -2
  49. package/dist-cms/external/monaco-editor/{htmlMode-b85c3f7d.js → htmlMode-36df69c6.js} +3 -3
  50. package/dist-cms/external/monaco-editor/{index-534fb84c.js → index-7368f3e3.js} +418 -409
  51. package/dist-cms/external/monaco-editor/index.js +1 -1
  52. package/dist-cms/external/monaco-editor/{ini-1cf2ce67.js → ini-31a5619d.js} +1 -1
  53. package/dist-cms/external/monaco-editor/{java-e4fb14c6.js → java-8c6e1ae8.js} +1 -1
  54. package/dist-cms/external/monaco-editor/javascript-86205709.js +6 -0
  55. package/dist-cms/external/monaco-editor/{jsonMode-fa2b41c8.js → jsonMode-f663e935.js} +6 -6
  56. package/dist-cms/external/monaco-editor/{julia-9b6c6458.js → julia-fbb2af47.js} +1 -1
  57. package/dist-cms/external/monaco-editor/{kotlin-b66c14ff.js → kotlin-bfa96180.js} +1 -1
  58. package/dist-cms/external/monaco-editor/{less-8dc8685d.js → less-0b6a8ff1.js} +1 -1
  59. package/dist-cms/external/monaco-editor/{lexon-59c0b911.js → lexon-585e5248.js} +1 -1
  60. package/dist-cms/external/monaco-editor/{liquid-be38812f.js → liquid-37adc07a.js} +2 -2
  61. package/dist-cms/external/monaco-editor/{lua-3f4d9098.js → lua-f6c17885.js} +1 -1
  62. package/dist-cms/external/monaco-editor/{m3-82a8c502.js → m3-1b6456c5.js} +1 -1
  63. package/dist-cms/external/monaco-editor/{markdown-07c3fa1e.js → markdown-7bc251f9.js} +1 -1
  64. package/dist-cms/external/monaco-editor/{mips-59ddf2f4.js → mips-2df76781.js} +1 -1
  65. package/dist-cms/external/monaco-editor/{msdax-12ec689c.js → msdax-8c38e8b4.js} +1 -1
  66. package/dist-cms/external/monaco-editor/{mysql-2958efa4.js → mysql-abbb9ca3.js} +1 -1
  67. package/dist-cms/external/monaco-editor/{objective-c-08d94025.js → objective-c-efbfd08b.js} +1 -1
  68. package/dist-cms/external/monaco-editor/{pascal-b686b438.js → pascal-08abee72.js} +1 -1
  69. package/dist-cms/external/monaco-editor/{pascaligo-96457e5f.js → pascaligo-200db0cf.js} +1 -1
  70. package/dist-cms/external/monaco-editor/{perl-b938bdad.js → perl-079789ee.js} +1 -1
  71. package/dist-cms/external/monaco-editor/{pgsql-42970e97.js → pgsql-efd093d4.js} +1 -1
  72. package/dist-cms/external/monaco-editor/{php-7476401f.js → php-75c530f2.js} +1 -1
  73. package/dist-cms/external/monaco-editor/{pla-aaf0caa2.js → pla-a55a2765.js} +1 -1
  74. package/dist-cms/external/monaco-editor/{postiats-759ff404.js → postiats-6098f37b.js} +1 -1
  75. package/dist-cms/external/monaco-editor/{powerquery-a33a8de4.js → powerquery-949bb7fe.js} +1 -1
  76. package/dist-cms/external/monaco-editor/{powershell-ec154f36.js → powershell-7e550b21.js} +1 -1
  77. package/dist-cms/external/monaco-editor/{protobuf-e42d83dc.js → protobuf-25a4d695.js} +1 -1
  78. package/dist-cms/external/monaco-editor/{pug-04b2d67c.js → pug-f8c9f493.js} +1 -1
  79. package/dist-cms/external/monaco-editor/{python-b3b058ea.js → python-78a47148.js} +2 -2
  80. package/dist-cms/external/monaco-editor/{qsharp-5376e9d1.js → qsharp-c4b94317.js} +1 -1
  81. package/dist-cms/external/monaco-editor/{r-d212ba98.js → r-614353db.js} +1 -1
  82. package/dist-cms/external/monaco-editor/{razor-911a705a.js → razor-5de9ce12.js} +2 -2
  83. package/dist-cms/external/monaco-editor/{redis-51e44009.js → redis-fb089f4d.js} +1 -1
  84. package/dist-cms/external/monaco-editor/{redshift-8de2cfdc.js → redshift-a620fcb0.js} +1 -1
  85. package/dist-cms/external/monaco-editor/{restructuredtext-3f99254a.js → restructuredtext-7ab09fcf.js} +1 -1
  86. package/dist-cms/external/monaco-editor/{ruby-64a73e64.js → ruby-922be722.js} +1 -1
  87. package/dist-cms/external/monaco-editor/{rust-2a0390f1.js → rust-23e08578.js} +1 -1
  88. package/dist-cms/external/monaco-editor/{sb-4d8fa557.js → sb-ccceec0f.js} +1 -1
  89. package/dist-cms/external/monaco-editor/{scala-00d62260.js → scala-0535664d.js} +1 -1
  90. package/dist-cms/external/monaco-editor/{scheme-a0903f29.js → scheme-dba621eb.js} +1 -1
  91. package/dist-cms/external/monaco-editor/{scss-3e25f7ad.js → scss-28539a11.js} +1 -1
  92. package/dist-cms/external/monaco-editor/{shell-9c442847.js → shell-5b92a834.js} +1 -1
  93. package/dist-cms/external/monaco-editor/{solidity-6b3049ed.js → solidity-f63d6049.js} +1 -1
  94. package/dist-cms/external/monaco-editor/{sophia-f4a2b303.js → sophia-12e9ad90.js} +1 -1
  95. package/dist-cms/external/monaco-editor/{sparql-1d37a384.js → sparql-dedb74aa.js} +1 -1
  96. package/dist-cms/external/monaco-editor/{sql-946641be.js → sql-975a69d7.js} +1 -1
  97. package/dist-cms/external/monaco-editor/{st-9220dec1.js → st-1904ae33.js} +1 -1
  98. package/dist-cms/external/monaco-editor/{swift-06592b81.js → swift-e180a143.js} +1 -1
  99. package/dist-cms/external/monaco-editor/{systemverilog-b5ba493c.js → systemverilog-c5592fac.js} +1 -1
  100. package/dist-cms/external/monaco-editor/{tcl-3fe51e69.js → tcl-996f4ac7.js} +1 -1
  101. package/dist-cms/external/monaco-editor/tsMode-f4618e87.js +16 -0
  102. package/dist-cms/external/monaco-editor/{twig-ee0f3b03.js → twig-4859b551.js} +1 -1
  103. package/dist-cms/external/monaco-editor/{typescript-4d577e09.js → typescript-efea739f.js} +3 -3
  104. package/dist-cms/external/monaco-editor/{vb-e7e59935.js → vb-ad68fa9a.js} +1 -1
  105. package/dist-cms/external/monaco-editor/wgsl-5ee7b1ca.js +303 -0
  106. package/dist-cms/external/monaco-editor/{xml-b05159d9.js → xml-12b9ace3.js} +2 -2
  107. package/dist-cms/external/monaco-editor/{yaml-b4ec85f0.js → yaml-65e08cff.js} +3 -3
  108. package/dist-cms/external/rxjs/index.js +2 -2
  109. package/dist-cms/external/tinymce/index.js +22 -22
  110. package/dist-cms/libs/class-api/class.mixin.js +2 -2
  111. package/dist-cms/libs/context-api/consume/context-consumer.controller.js +1 -3
  112. package/dist-cms/libs/context-api/consume/context-consumer.d.ts +0 -1
  113. package/dist-cms/libs/context-api/consume/context-consumer.js +36 -6
  114. package/dist-cms/libs/context-api/provide/context-provide.event.d.ts +21 -0
  115. package/dist-cms/libs/context-api/provide/context-provide.event.js +17 -0
  116. package/dist-cms/libs/context-api/provide/context-provider.controller.js +1 -1
  117. package/dist-cms/libs/context-api/provide/context-provider.d.ts +0 -6
  118. package/dist-cms/libs/context-api/provide/context-provider.js +18 -6
  119. package/dist-cms/libs/controller-api/controller-host-base.mixin.js +1 -0
  120. package/dist-cms/libs/controller-api/controller-host-element.mixin.d.ts +9 -3
  121. package/dist-cms/libs/element-api/element.mixin.d.ts +9 -2
  122. package/dist-cms/libs/element-api/element.mixin.js +22 -1
  123. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.d.ts +7 -0
  124. package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.js +1 -0
  125. package/dist-cms/libs/extension-api/condition/extension-condition.interface.d.ts +6 -0
  126. package/dist-cms/libs/extension-api/condition/extension-condition.interface.js +1 -0
  127. package/dist-cms/libs/extension-api/condition/index.d.ts +2 -0
  128. package/dist-cms/libs/extension-api/condition/index.js +2 -0
  129. package/dist-cms/libs/extension-api/controller/base-extension-controller.d.ts +19 -0
  130. package/dist-cms/libs/extension-api/controller/base-extension-controller.js +178 -0
  131. package/dist-cms/libs/extension-api/controller/base-extensions-controller.d.ts +19 -0
  132. package/dist-cms/libs/extension-api/controller/base-extensions-controller.js +112 -0
  133. package/dist-cms/libs/extension-api/controller/extension-element-controller.d.ts +20 -0
  134. package/dist-cms/libs/extension-api/controller/extension-element-controller.js +82 -0
  135. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +9 -0
  136. package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +13 -0
  137. package/dist-cms/libs/extension-api/controller/extensions-element-controller.d.ts +13 -0
  138. package/dist-cms/libs/extension-api/controller/extensions-element-controller.js +29 -0
  139. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.d.ts +11 -0
  140. package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.js +16 -0
  141. package/dist-cms/libs/extension-api/controller/index.d.ts +6 -0
  142. package/dist-cms/libs/extension-api/controller/index.js +6 -0
  143. package/dist-cms/libs/extension-api/index.d.ts +3 -1
  144. package/dist-cms/libs/extension-api/index.js +3 -1
  145. package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +2 -0
  146. package/dist-cms/libs/extension-api/registry/extension.registry.js +64 -4
  147. package/dist-cms/libs/extension-api/types.d.ts +45 -8
  148. package/dist-cms/libs/localization-api/index.d.ts +3 -0
  149. package/dist-cms/libs/localization-api/index.js +3 -0
  150. package/dist-cms/libs/localization-api/localize.controller.d.ts +47 -0
  151. package/dist-cms/libs/localization-api/localize.controller.js +125 -0
  152. package/dist-cms/libs/localization-api/manager.d.ts +18 -0
  153. package/dist-cms/libs/localization-api/manager.js +40 -0
  154. package/dist-cms/libs/localization-api/registry/translation.registry.d.ts +12 -0
  155. package/dist-cms/libs/localization-api/registry/translation.registry.js +58 -0
  156. package/dist-cms/libs/observable-api/class-state.d.ts +2 -3
  157. package/dist-cms/libs/observable-api/observer.controller.d.ts +4 -3
  158. package/dist-cms/libs/observable-api/observer.controller.js +9 -2
  159. package/dist-cms/libs/observable-api/observer.d.ts +13 -2
  160. package/dist-cms/libs/observable-api/observer.js +32 -4
  161. package/dist-cms/mocks/data/data-type.data.js +0 -40
  162. package/dist-cms/mocks/data/dictionary.data.js +0 -6
  163. package/dist-cms/mocks/data/document-type.data.d.ts +2 -0
  164. package/dist-cms/mocks/data/document-type.data.js +4 -6
  165. package/dist-cms/mocks/data/document.data.d.ts +3 -1
  166. package/dist-cms/mocks/data/document.data.js +18 -68
  167. package/dist-cms/mocks/data/log-viewer.data.d.ts +4 -4
  168. package/dist-cms/mocks/data/log-viewer.data.js +4 -4
  169. package/dist-cms/mocks/data/media-type.data.d.ts +3 -3
  170. package/dist-cms/mocks/data/media-type.data.js +0 -4
  171. package/dist-cms/mocks/data/media.data.d.ts +3 -3
  172. package/dist-cms/mocks/data/media.data.js +0 -16
  173. package/dist-cms/mocks/data/member-group.data.js +0 -2
  174. package/dist-cms/mocks/data/member-type.data.js +0 -2
  175. package/dist-cms/mocks/data/member.data.js +0 -2
  176. package/dist-cms/mocks/data/partial-views.data.d.ts +19 -3
  177. package/dist-cms/mocks/data/partial-views.data.js +277 -18
  178. package/dist-cms/mocks/data/relation-type.data.js +0 -10
  179. package/dist-cms/mocks/data/stylesheet.data.js +0 -4
  180. package/dist-cms/mocks/data/template.data.d.ts +0 -1
  181. package/dist-cms/mocks/data/template.data.js +0 -10
  182. package/dist-cms/mocks/data/user-groups.data.js +0 -1
  183. package/dist-cms/mocks/data/users.data.js +0 -6
  184. package/dist-cms/mocks/data/utils.d.ts +2 -1
  185. package/dist-cms/mocks/data/utils.js +5 -5
  186. package/dist-cms/mocks/handlers/dictionary.handlers.js +0 -2
  187. package/dist-cms/mocks/handlers/document.handlers.js +15 -4
  188. package/dist-cms/mocks/handlers/partial-views.handlers.d.ts +2 -1
  189. package/dist-cms/mocks/handlers/partial-views.handlers.js +37 -5
  190. package/dist-cms/packages/core/collection/collection-selection-actions.element.d.ts +1 -1
  191. package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +1 -1
  192. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +38 -14
  193. package/dist-cms/packages/core/components/extension-slot/extension-slot.element.js +81 -71
  194. package/dist-cms/packages/core/components/input-checkbox-list/input-checkbox-list.element.d.ts +1 -1
  195. package/dist-cms/packages/core/components/input-radio-button-list/input-radio-button-list.element.d.ts +1 -1
  196. package/dist-cms/packages/core/components/input-tiny-mce/input-tiny-mce.handlers.js +1 -1
  197. package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +2 -2
  198. package/dist-cms/packages/core/debug/debug.element.d.ts +1 -1
  199. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.d.ts +8 -0
  200. package/dist-cms/packages/core/entity-action/common/create-folder/create-folder.action.js +21 -0
  201. package/dist-cms/packages/core/entity-action/common/index.d.ts +1 -0
  202. package/dist-cms/packages/core/entity-action/common/index.js +1 -0
  203. package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +5 -5
  204. package/dist-cms/packages/core/entity-action/entity-action-list.element.js +17 -21
  205. package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -0
  206. package/dist-cms/packages/core/extension-registry/conditions/index.js +4 -0
  207. package/dist-cms/packages/core/extension-registry/conditions/manifests.d.ts +1 -0
  208. package/dist-cms/packages/core/extension-registry/conditions/manifests.js +3 -0
  209. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.d.ts +12 -0
  210. package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.js +23 -0
  211. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.d.ts +18 -0
  212. package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.js +23 -0
  213. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.d.ts +19 -0
  214. package/dist-cms/packages/core/extension-registry/conditions/switch.condition.js +38 -0
  215. package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +5 -0
  216. package/dist-cms/packages/core/extension-registry/conditions/types.js +1 -0
  217. package/dist-cms/packages/core/extension-registry/index.d.ts +3 -2
  218. package/dist-cms/packages/core/extension-registry/index.js +3 -2
  219. package/dist-cms/packages/core/extension-registry/models/dashboard.model.d.ts +3 -16
  220. package/dist-cms/packages/core/extension-registry/models/dashboard.model.js +5 -0
  221. package/dist-cms/packages/core/extension-registry/models/entity-action.model.d.ts +2 -5
  222. package/dist-cms/packages/core/extension-registry/models/index.d.ts +4 -2
  223. package/dist-cms/packages/core/extension-registry/models/index.js +1 -0
  224. package/dist-cms/packages/core/extension-registry/models/menu-item.model.d.ts +1 -7
  225. package/dist-cms/packages/core/extension-registry/models/property-action.model.d.ts +5 -3
  226. package/dist-cms/packages/core/extension-registry/models/section-sidebar-app.model.d.ts +3 -6
  227. package/dist-cms/packages/core/extension-registry/models/section-view.model.d.ts +3 -5
  228. package/dist-cms/packages/core/extension-registry/models/section.model.d.ts +2 -2
  229. package/dist-cms/packages/core/extension-registry/models/translations.model.d.ts +41 -0
  230. package/dist-cms/packages/core/extension-registry/models/translations.model.js +1 -0
  231. package/dist-cms/packages/core/extension-registry/models/tree-item.model.d.ts +2 -2
  232. package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +4 -7
  233. package/dist-cms/packages/core/extension-registry/models/workspace-editor-view.model.d.ts +3 -6
  234. package/dist-cms/packages/core/extension-registry/models/workspace-view-collection.model.d.ts +3 -29
  235. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.d.ts → multi-extensions-class-initializer.d.ts} +2 -2
  236. package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.js → multi-extensions-class-initializer.js} +10 -2
  237. package/dist-cms/packages/core/index.d.ts +1 -0
  238. package/dist-cms/packages/core/index.js +7 -2
  239. package/dist-cms/packages/core/localization/index.d.ts +1 -0
  240. package/dist-cms/packages/core/localization/index.js +1 -0
  241. package/dist-cms/packages/core/localization/localize.element.d.ts +34 -0
  242. package/dist-cms/packages/core/localization/localize.element.js +64 -0
  243. package/dist-cms/packages/core/localization/manifests.d.ts +2 -0
  244. package/dist-cms/packages/core/localization/manifests.js +23 -0
  245. package/dist-cms/packages/core/menu/index.d.ts +1 -0
  246. package/dist-cms/packages/core/menu/index.js +1 -0
  247. package/dist-cms/packages/core/menu/menu.context.d.ts +9 -0
  248. package/dist-cms/packages/core/menu/menu.context.js +14 -0
  249. package/dist-cms/packages/core/menu/menu.element.d.ts +1 -0
  250. package/dist-cms/packages/core/menu/menu.element.js +6 -2
  251. package/dist-cms/packages/core/modal/common/folder/folder-modal.element.js +4 -1
  252. package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.js +1 -0
  253. package/dist-cms/packages/core/modal/token/embedded-media-modal.token.js +0 -1
  254. package/dist-cms/packages/core/modal/token/folder-modal.token.d.ts +1 -0
  255. package/dist-cms/packages/core/modal/token/user-picker-modal.token.d.ts +2 -2
  256. package/dist-cms/packages/core/property-action/manifests.js +2 -2
  257. package/dist-cms/packages/core/property-action/shared/property-action-menu/property-action-menu.element.js +2 -1
  258. package/dist-cms/packages/core/property-editor/manifests.d.ts +1 -1
  259. package/dist-cms/packages/core/property-editor/uis/textarea/property-editor-ui-textarea.element.js +0 -1
  260. package/dist-cms/packages/core/section/index.d.ts +1 -1
  261. package/dist-cms/packages/core/section/index.js +1 -1
  262. package/dist-cms/packages/core/section/section-default.element.d.ts +1 -1
  263. package/dist-cms/packages/core/section/section-default.element.js +13 -21
  264. package/dist-cms/packages/core/section/section-main-views/index.d.ts +1 -0
  265. package/dist-cms/packages/core/section/section-main-views/index.js +1 -0
  266. package/dist-cms/packages/core/section/section-main-views/section-main-views.element.d.ts +19 -0
  267. package/dist-cms/packages/core/section/{section-views/section-views.element.js → section-main-views/section-main-views.element.js} +20 -48
  268. package/dist-cms/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.js +18 -5
  269. package/dist-cms/packages/core/section/section-sidebar-menu/section-sidebar-menu.element.js +3 -4
  270. package/dist-cms/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +2 -2
  271. package/dist-cms/packages/core/tree/entity-tree-item/entity-tree-item.element.d.ts +1 -1
  272. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.context.d.ts +9 -1
  273. package/dist-cms/packages/core/tree/file-system-tree-item/file-system-tree-item.context.js +28 -0
  274. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.element.d.ts +11 -3
  275. package/dist-cms/packages/{templating/components → core/tree}/file-system-tree-item/file-system-tree-item.element.js +10 -1
  276. package/dist-cms/packages/core/tree/file-system-tree-item/index.d.ts +2 -0
  277. package/dist-cms/packages/core/tree/file-system-tree-item/index.js +2 -0
  278. package/dist-cms/packages/core/tree/index.d.ts +1 -0
  279. package/dist-cms/packages/core/tree/index.js +1 -0
  280. package/dist-cms/packages/core/tree/tree-item/tree-item.context.interface.d.ts +2 -4
  281. package/dist-cms/packages/core/tree/tree-item/tree-item.element.d.ts +1 -1
  282. package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +1 -1
  283. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.d.ts +4 -5
  284. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +26 -30
  285. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.d.ts +1 -0
  286. package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.element.js +6 -3
  287. package/dist-cms/packages/core/tree/tree-menu-item/tree-menu-item.element.d.ts +1 -1
  288. package/dist-cms/packages/core/tree/tree.context.d.ts +5 -5
  289. package/dist-cms/packages/core/workspace/index.d.ts +7 -5
  290. package/dist-cms/packages/core/workspace/index.js +7 -5
  291. package/dist-cms/packages/core/workspace/manifests.d.ts +1 -1
  292. package/dist-cms/packages/core/workspace/manifests.js +2 -1
  293. package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.js +2 -2
  294. package/dist-cms/packages/core/workspace/workspace-action/workspace-action.element.js +12 -4
  295. package/dist-cms/packages/core/workspace/workspace-action-menu/workspace-action-menu.element.js +8 -4
  296. package/dist-cms/packages/core/workspace/workspace-alias.condition.d.ts +18 -0
  297. package/dist-cms/packages/core/workspace/workspace-alias.condition.js +21 -0
  298. package/dist-cms/packages/core/workspace/workspace-content/views/collection/workspace-view-collection.element.js +2 -2
  299. package/dist-cms/packages/core/workspace/workspace-context/index.d.ts +1 -1
  300. package/dist-cms/packages/core/workspace/workspace-context/index.js +1 -1
  301. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +4 -3
  302. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.interface.d.ts +2 -2
  303. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.js +4 -3
  304. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.d.ts +4 -0
  305. package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.js +2 -0
  306. package/dist-cms/packages/core/workspace/workspace-context/workspace-entity-context.interface.d.ts +0 -1
  307. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.d.ts +4 -8
  308. package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.js +11 -39
  309. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.d.ts +0 -10
  310. package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.js +1 -23
  311. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.d.ts +1 -0
  312. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/index.js +1 -0
  313. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.d.ts +16 -0
  314. package/dist-cms/packages/core/workspace/workspace-is-new-redirect-controller/workspace-is-new-redirect-controller.js +31 -0
  315. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.js +2 -2
  316. package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.js +4 -0
  317. package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.js +2 -2
  318. package/dist-cms/packages/core/workspace/workspace.element.d.ts +1 -1
  319. package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.js +2 -3
  320. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.js +1 -1
  321. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.d.ts +0 -1
  322. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export.action.js +0 -1
  323. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.d.ts +0 -1
  324. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import.action.js +0 -1
  325. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.d.ts +1 -1
  326. package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/manifests.js +0 -12
  327. package/dist-cms/packages/dictionary/dictionary/index.d.ts +1 -0
  328. package/dist-cms/packages/dictionary/dictionary/index.js +1 -0
  329. package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -0
  330. package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.js +0 -2
  331. package/dist-cms/packages/dictionary/dictionary/repository/index.d.ts +3 -0
  332. package/dist-cms/packages/dictionary/dictionary/repository/index.js +3 -0
  333. package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.js +1 -1
  334. package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.js +1 -1
  335. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.js +3 -3
  336. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.js +1 -1
  337. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.js +13 -8
  338. package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.js +2 -2
  339. package/dist-cms/packages/dictionary/manifests.d.ts +1 -0
  340. package/dist-cms/packages/dictionary/section.manifest.d.ts +2 -0
  341. package/dist-cms/packages/{translation → dictionary}/section.manifest.js +16 -10
  342. package/dist-cms/packages/{translation → dictionary}/umbraco-package.d.ts +1 -1
  343. package/dist-cms/packages/dictionary/umbraco-package.js +9 -0
  344. package/dist-cms/packages/documents/dashboards/manifests.js +6 -3
  345. package/dist-cms/packages/documents/document-blueprints/menu-item/manifests.js +0 -2
  346. package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +0 -2
  347. package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +0 -8
  348. package/dist-cms/packages/documents/document-types/menu-item/manifests.js +0 -2
  349. package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.d.ts +1 -1
  350. package/dist-cms/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.js +12 -23
  351. package/dist-cms/packages/documents/document-types/repository/document-type.repository.d.ts +2 -11
  352. package/dist-cms/packages/documents/document-types/repository/document-type.repository.js +1 -2
  353. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.d.ts +1 -7
  354. package/dist-cms/packages/documents/document-types/repository/sources/document-type.server.data.js +0 -4
  355. package/dist-cms/packages/documents/document-types/tree/manifests.js +1 -1
  356. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace-editor.element.js +2 -2
  357. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
  358. package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.element.js +3 -22
  359. package/dist-cms/packages/documents/document-types/workspace/manifests.js +30 -15
  360. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +2 -2
  361. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +2 -2
  362. package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +2 -2
  363. package/dist-cms/packages/documents/document-types/workspace/views/settings/document-type-workspace-view-settings.element.js +2 -2
  364. package/dist-cms/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.js +2 -2
  365. package/dist-cms/packages/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.js +2 -2
  366. package/dist-cms/packages/documents/documents/collection/views/table/document-table-collection-view.element.js +0 -1
  367. package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +1 -1
  368. package/dist-cms/packages/documents/documents/entity-actions/manifests.js +0 -24
  369. package/dist-cms/packages/documents/documents/menu-item/manifests.js +0 -2
  370. package/dist-cms/packages/documents/documents/repository/document.repository.d.ts +2 -0
  371. package/dist-cms/packages/documents/documents/repository/document.repository.js +10 -0
  372. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.d.ts +14 -0
  373. package/dist-cms/packages/documents/documents/repository/sources/document.server.data.js +25 -5
  374. package/dist-cms/packages/documents/documents/tree/manifests.js +1 -1
  375. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +3 -3
  376. package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.element.d.ts +1 -1
  377. package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +2 -2
  378. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.d.ts +1 -1
  379. package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +2 -2
  380. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.d.ts +2 -2
  381. package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +2 -2
  382. package/dist-cms/packages/documents/documents/workspace/document-workspace.element.js +2 -0
  383. package/dist-cms/packages/documents/documents/workspace/manifests.js +36 -21
  384. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.js +2 -2
  385. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.js +2 -2
  386. package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.js +2 -2
  387. package/dist-cms/packages/documents/documents/workspace/views/info/document-info-workspace-view.element.js +2 -2
  388. package/dist-cms/packages/documents/section.manifests.js +6 -3
  389. package/dist-cms/packages/media/manifests.d.ts +1 -1
  390. package/dist-cms/packages/media/media/collection-view/media-table-collection-view.element.js +0 -1
  391. package/dist-cms/packages/media/media/entity-actions/manifests.js +0 -2
  392. package/dist-cms/packages/media/media/manifests.d.ts +1 -1
  393. package/dist-cms/packages/media/media/menu-item/manifests.js +0 -2
  394. package/dist-cms/packages/media/media/repository/sources/media.tree.server.data.d.ts +3 -3
  395. package/dist-cms/packages/media/media/tree/manifests.js +1 -1
  396. package/dist-cms/packages/media/media/workspace/manifests.js +24 -12
  397. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.d.ts +1 -1
  398. package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +2 -2
  399. package/dist-cms/packages/media/media/workspace/media-workspace.context.js +1 -1
  400. package/dist-cms/packages/media/media/workspace/media-workspace.element.d.ts +1 -0
  401. package/dist-cms/packages/media/media/workspace/media-workspace.element.js +1 -0
  402. package/dist-cms/packages/media/media-types/entity-actions/manifests.js +0 -10
  403. package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
  404. package/dist-cms/packages/media/media-types/menu-item/manifests.js +0 -2
  405. package/dist-cms/packages/media/media-types/repository/sources/media-type.tree.server.data.d.ts +2 -2
  406. package/dist-cms/packages/media/media-types/tree/manifests.js +1 -1
  407. package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.js +2 -2
  408. package/dist-cms/packages/media/media-types/workspace/media-type-workspace.context.js +1 -1
  409. package/dist-cms/packages/media/section.manifests.d.ts +1 -1
  410. package/dist-cms/packages/media/section.manifests.js +7 -3
  411. package/dist-cms/packages/members/manifests.d.ts +1 -1
  412. package/dist-cms/packages/members/member-groups/entity-actions/manifests.js +0 -2
  413. package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
  414. package/dist-cms/packages/members/member-groups/menu-item/manifests.js +0 -2
  415. package/dist-cms/packages/members/member-groups/tree/manifests.js +1 -1
  416. package/dist-cms/packages/members/member-groups/workspace/manifests.js +12 -6
  417. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace-editor.element.js +2 -2
  418. package/dist-cms/packages/members/member-groups/workspace/member-group-workspace.context.js +1 -1
  419. package/dist-cms/packages/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.js +2 -2
  420. package/dist-cms/packages/members/member-types/entity-actions/manifests.js +0 -2
  421. package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
  422. package/dist-cms/packages/members/member-types/menu-item/manifests.js +0 -2
  423. package/dist-cms/packages/members/member-types/tree/manifests.js +1 -1
  424. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.context.js +1 -1
  425. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.d.ts +1 -0
  426. package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.js +1 -0
  427. package/dist-cms/packages/members/members/entity-actions/manifests.js +0 -2
  428. package/dist-cms/packages/members/members/manifests.d.ts +1 -1
  429. package/dist-cms/packages/members/members/menu-item/manifests.js +0 -2
  430. package/dist-cms/packages/members/members/repository/sources/member.tree.server.data.js +1 -1
  431. package/dist-cms/packages/members/members/tree/manifests.js +1 -1
  432. package/dist-cms/packages/members/members/workspace/member-workspace.context.js +1 -1
  433. package/dist-cms/packages/members/section.manifests.d.ts +1 -1
  434. package/dist-cms/packages/members/section.manifests.js +12 -6
  435. package/dist-cms/packages/packages/package-section/manifests.js +18 -9
  436. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.d.ts +0 -1
  437. package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +0 -1
  438. package/dist-cms/packages/search/examine-management-dashboard/views/modal-views/fields-viewer.element.d.ts +1 -1
  439. package/dist-cms/packages/search/manifests.js +6 -3
  440. package/dist-cms/packages/settings/dashboards/health-check/views/health-check-group.element.d.ts +1 -1
  441. package/dist-cms/packages/settings/dashboards/manifests.js +37 -18
  442. package/dist-cms/packages/settings/dashboards/published-status/dashboard-published-status.element.js +11 -3
  443. package/dist-cms/packages/settings/data-types/entity-actions/copy/manifests.js +0 -2
  444. package/dist-cms/packages/settings/data-types/entity-actions/create/manifests.js +0 -2
  445. package/dist-cms/packages/settings/data-types/entity-actions/manifests.js +0 -6
  446. package/dist-cms/packages/settings/data-types/entity-actions/move/manifests.js +0 -2
  447. package/dist-cms/packages/settings/data-types/menu-item/manifests.js +0 -2
  448. package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-data-type-picker-modal.element.js +1 -1
  449. package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +2 -2
  450. package/dist-cms/packages/settings/data-types/models.d.ts +1 -1
  451. package/dist-cms/packages/settings/data-types/repository/data-type.repository.js +0 -1
  452. package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
  453. package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.js +0 -1
  454. package/dist-cms/packages/settings/data-types/repository/sources/data-type.tree.server.data.d.ts +2 -2
  455. package/dist-cms/packages/settings/data-types/tree/manifests.js +1 -1
  456. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace-editor.element.js +2 -2
  457. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +1 -1
  458. package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.element.js +2 -0
  459. package/dist-cms/packages/settings/data-types/workspace/manifests.js +18 -9
  460. package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +2 -2
  461. package/dist-cms/packages/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.js +2 -2
  462. package/dist-cms/packages/settings/extensions/menu-item/manifests.js +0 -2
  463. package/dist-cms/packages/settings/languages/app-language-select/app-language-select.element.js +1 -5
  464. package/dist-cms/packages/settings/languages/app-language-select/manifests.js +6 -3
  465. package/dist-cms/packages/settings/languages/entity-actions/manifests.js +0 -4
  466. package/dist-cms/packages/settings/languages/menu-item/manifests.js +0 -2
  467. package/dist-cms/packages/settings/languages/workspace/language/language-workspace-editor.element.js +2 -2
  468. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.context.js +1 -1
  469. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.d.ts +0 -1
  470. package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.js +3 -21
  471. package/dist-cms/packages/settings/languages/workspace/language/manifests.js +12 -6
  472. package/dist-cms/packages/settings/languages/workspace/language/views/details/language-details-workspace-view.element.js +2 -2
  473. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-delete-column-layout.element.d.ts +1 -1
  474. package/dist-cms/packages/settings/languages/workspace/language-root/components/language-root-table-name-column-layout.element.d.ts +1 -1
  475. package/dist-cms/packages/settings/logviewer/manifests.d.ts +1 -1
  476. package/dist-cms/packages/settings/logviewer/menu-item/manifests.js +0 -2
  477. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root/logviewer-root-workspace.element.d.ts → logviewer/logviewer-workspace.element.d.ts} +0 -9
  478. package/dist-cms/packages/settings/logviewer/workspace/logviewer/logviewer-workspace.element.js +65 -0
  479. package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.js +16 -10
  480. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.d.ts +28 -15
  481. package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.js +33 -5
  482. package/dist-cms/packages/settings/logviewer/workspace/manifests.js +2 -2
  483. package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
  484. package/dist-cms/packages/settings/relation-types/menu-item/manifests.js +0 -2
  485. package/dist-cms/packages/settings/relation-types/tree/manifests.js +1 -1
  486. package/dist-cms/packages/settings/relation-types/workspace/manifests.js +18 -9
  487. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace-editor.element.js +2 -2
  488. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.context.js +1 -1
  489. package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.element.js +2 -0
  490. package/dist-cms/packages/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.js +2 -2
  491. package/dist-cms/packages/settings/section.manifests.d.ts +1 -1
  492. package/dist-cms/packages/settings/section.manifests.js +6 -3
  493. package/dist-cms/packages/templating/components/index.d.ts +0 -1
  494. package/dist-cms/packages/templating/components/index.js +0 -1
  495. package/dist-cms/packages/templating/components/insert-menu/templating-insert-menu.element.js +1 -1
  496. package/dist-cms/packages/templating/manifests.d.ts +6 -1
  497. package/dist-cms/packages/templating/menu.manifests.d.ts +1 -1
  498. package/dist-cms/packages/templating/menu.manifests.js +7 -3
  499. package/dist-cms/packages/templating/partial-views/config.d.ts +5 -5
  500. package/dist-cms/packages/templating/partial-views/config.js +3 -1
  501. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-empty.action.js +1 -1
  502. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.d.ts +10 -1
  503. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.action.js +16 -1
  504. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.d.ts +16 -0
  505. package/dist-cms/packages/templating/partial-views/entity-actions/create/create-from-snippet.modal.js +73 -0
  506. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.d.ts +6 -1
  507. package/dist-cms/packages/templating/partial-views/entity-actions/manifests.js +38 -10
  508. package/dist-cms/packages/templating/partial-views/manifests.d.ts +6 -1
  509. package/dist-cms/packages/templating/partial-views/menu-item/manifests.js +0 -2
  510. package/dist-cms/packages/templating/partial-views/repository/manifests.js +2 -2
  511. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +51 -30
  512. package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.js +81 -24
  513. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.d.ts +48 -13
  514. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.detail.server.data.js +56 -17
  515. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +17 -0
  516. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.js +23 -0
  517. package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.tree.server.data.d.ts +3 -3
  518. package/dist-cms/packages/templating/partial-views/tree/manifests.js +4 -3
  519. package/dist-cms/packages/templating/partial-views/workspace/manifests.js +6 -3
  520. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.d.ts +6 -1
  521. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.js +124 -27
  522. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.d.ts +9 -7
  523. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.js +52 -10
  524. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.d.ts +1 -0
  525. package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.element.js +10 -12
  526. package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
  527. package/dist-cms/packages/templating/stylesheets/menu-item/manifests.js +0 -2
  528. package/dist-cms/packages/templating/stylesheets/tree/manifests.js +1 -1
  529. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.js +1 -1
  530. package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.element.js +2 -0
  531. package/dist-cms/packages/templating/templates/entity-actions/manifests.js +0 -4
  532. package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
  533. package/dist-cms/packages/templating/templates/menu-item/manifests.js +0 -2
  534. package/dist-cms/packages/templating/templates/modals/query-builder/query-builder-filter.element.js +2 -2
  535. package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
  536. package/dist-cms/packages/templating/templates/repository/template.repository.js +1 -1
  537. package/dist-cms/packages/templating/templates/tree/manifests.js +1 -1
  538. package/dist-cms/packages/templating/templates/workspace/manifests.js +6 -3
  539. package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -1
  540. package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +5 -5
  541. package/dist-cms/packages/templating/templates/workspace/template-workspace.element.js +3 -7
  542. package/dist-cms/packages/umbraco-news/manifests.js +6 -3
  543. package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +9 -5
  544. package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +10 -6
  545. package/dist-cms/packages/users/current-user/user-profile-apps/user-profile-app-profile.element.js +7 -5
  546. package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
  547. package/dist-cms/packages/users/user-groups/repository/manifests.d.ts +1 -1
  548. package/dist-cms/packages/users/user-groups/section-view/manifests.js +6 -3
  549. package/dist-cms/packages/users/user-groups/workspace/actions/workspace-action-user-group-save.element.js +2 -2
  550. package/dist-cms/packages/users/user-groups/workspace/manifests.js +6 -3
  551. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.d.ts +1 -1
  552. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +2 -2
  553. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +1 -1
  554. package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.element.js +2 -0
  555. package/dist-cms/packages/users/users/collection/user-collection.context.d.ts +3 -3
  556. package/dist-cms/packages/users/users/collection/views/grid/user-collection-grid-view.element.js +1 -1
  557. package/dist-cms/packages/users/users/manifests.d.ts +1 -1
  558. package/dist-cms/packages/users/users/repository/manifests.d.ts +1 -1
  559. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.d.ts +18 -4
  560. package/dist-cms/packages/users/users/repository/sources/user-collection.server.data.js +7 -2
  561. package/dist-cms/packages/users/users/repository/sources/user.server.data.d.ts +16 -1
  562. package/dist-cms/packages/users/users/repository/sources/user.server.data.js +6 -2
  563. package/dist-cms/packages/users/users/repository/user.repository.d.ts +8 -8
  564. package/dist-cms/packages/users/users/repository/user.repository.js +5 -1
  565. package/dist-cms/packages/users/users/repository/user.store.d.ts +6 -6
  566. package/dist-cms/packages/users/users/repository/user.store.js +2 -2
  567. package/dist-cms/packages/users/users/section-view/manifests.js +6 -3
  568. package/dist-cms/packages/users/users/types.d.ts +6 -3
  569. package/dist-cms/packages/users/users/workspace/actions/user-workspace-action-save.element.js +2 -2
  570. package/dist-cms/packages/users/users/workspace/manifests.js +6 -3
  571. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.d.ts +1 -0
  572. package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +53 -8
  573. package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +5 -5
  574. package/dist-cms/packages/users/users/workspace/user-workspace.context.js +18 -1
  575. package/dist-cms/shared/auth/auth.context.d.ts +1 -0
  576. package/dist-cms/shared/auth/auth.context.js +1 -2
  577. package/dist-cms/shared/auth/auth.interface.d.ts +4 -0
  578. package/dist-cms/shared/repository/data-source/data-source-response.interface.d.ts +1 -1
  579. package/dist-cms/shared/repository/data-source/data-source.interface.d.ts +2 -2
  580. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.d.ts +20 -0
  581. package/dist-cms/shared/repository/data-source/extend-data-source-paged-response-data.function.js +30 -0
  582. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.d.ts +20 -0
  583. package/dist-cms/shared/repository/data-source/extend-data-source-response-data.function.js +22 -0
  584. package/dist-cms/shared/repository/data-source/index.d.ts +5 -3
  585. package/dist-cms/shared/repository/data-source/index.js +5 -3
  586. package/dist-cms/shared/repository/detail-repository.interface.d.ts +2 -2
  587. package/dist-cms/shared/repository/folder-repository.interface.d.ts +6 -6
  588. package/dist-cms/shared/repository/item-repository.interface.d.ts +2 -2
  589. package/dist-cms/shared/repository/tree-repository.interface.d.ts +6 -6
  590. package/dist-cms/shared/resources/resource.controller.js +1 -1
  591. package/dist-cms/shared/router/generate-route-path-builder.function.d.ts +1 -1
  592. package/dist-cms/shared/router/generate-route-path-builder.function.js +1 -1
  593. package/dist-cms/shared/router/route.context.js +8 -8
  594. package/dist-cms/shared/utils/component-has-manifest-property.function.d.ts +4 -0
  595. package/dist-cms/shared/utils/component-has-manifest-property.function.js +3 -0
  596. package/dist-cms/shared/utils/diff.type.d.ts +5 -0
  597. package/dist-cms/shared/utils/diff.type.js +1 -0
  598. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.d.ts +1 -0
  599. package/dist-cms/shared/utils/ensure-path-ends-with-slash.function.js +3 -0
  600. package/dist-cms/shared/utils/index.d.ts +3 -0
  601. package/dist-cms/shared/utils/index.js +3 -0
  602. package/dist-cms/shared/utils/media-helper.service.d.ts +1 -1
  603. package/dist-cms/shared/utils/media-helper.service.js +2 -1
  604. package/dist-cms/tinymce/CHANGELOG.md +22 -0
  605. package/dist-cms/tinymce/composer.json +1 -1
  606. package/dist-cms/tinymce/icons/default/icons.js +3 -0
  607. package/dist-cms/tinymce/icons/default/icons.min.js +1 -1
  608. package/dist-cms/tinymce/langs/ar.js +1 -1
  609. package/dist-cms/tinymce/langs/bg_BG.js +56 -56
  610. package/dist-cms/tinymce/langs/fr_FR.js +1 -1
  611. package/dist-cms/tinymce/langs/ka_GE.js +406 -0
  612. package/dist-cms/tinymce/langs/nb_NO.js +15 -15
  613. package/dist-cms/tinymce/models/dom/model.js +1 -1
  614. package/dist-cms/tinymce/models/dom/model.min.js +1 -1
  615. package/dist-cms/tinymce/package.json +1 -1
  616. package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
  617. package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
  618. package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
  619. package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
  620. package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
  621. package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
  622. package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
  623. package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
  624. package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
  625. package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
  626. package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
  627. package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
  628. package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
  629. package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
  630. package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
  631. package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
  632. package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
  633. package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
  634. package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
  635. package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
  636. package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
  637. package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
  638. package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
  639. package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  640. package/dist-cms/tinymce/plugins/help/plugin.js +6 -1
  641. package/dist-cms/tinymce/plugins/help/plugin.min.js +2 -2
  642. package/dist-cms/tinymce/plugins/image/plugin.js +1 -1
  643. package/dist-cms/tinymce/plugins/image/plugin.min.js +1 -1
  644. package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
  645. package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
  646. package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
  647. package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  648. package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
  649. package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
  650. package/dist-cms/tinymce/plugins/lists/plugin.js +1 -1
  651. package/dist-cms/tinymce/plugins/lists/plugin.min.js +1 -1
  652. package/dist-cms/tinymce/plugins/media/plugin.js +1 -1
  653. package/dist-cms/tinymce/plugins/media/plugin.min.js +1 -1
  654. package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
  655. package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  656. package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
  657. package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  658. package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
  659. package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
  660. package/dist-cms/tinymce/plugins/quickbars/plugin.js +1 -1
  661. package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +1 -1
  662. package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
  663. package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
  664. package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
  665. package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  666. package/dist-cms/tinymce/plugins/table/plugin.js +1 -1
  667. package/dist-cms/tinymce/plugins/table/plugin.min.js +1 -1
  668. package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
  669. package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
  670. package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
  671. package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  672. package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
  673. package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
  674. package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
  675. package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
  676. package/dist-cms/tinymce/skins/ui/oxide/skin.css +18 -0
  677. package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
  678. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +18 -0
  679. package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  680. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +18 -0
  681. package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
  682. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +18 -0
  683. package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
  684. package/dist-cms/tinymce/themes/silver/theme.js +279 -85
  685. package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
  686. package/dist-cms/tinymce/tinymce.d.ts +7 -2
  687. package/dist-cms/tinymce/tinymce.js +3 -3
  688. package/dist-cms/tinymce/tinymce.min.js +2 -2
  689. package/dist-cms/tsconfig.build.json +15 -0
  690. package/dist-cms/tsconfig.build.tsbuildinfo +1 -0
  691. package/dist-cms/umbraco-package-schema.json +574 -362
  692. package/dist-cms/vscode-html-custom-data.json +104 -105
  693. package/package.json +29 -28
  694. package/dist-cms/external/monaco-editor/javascript-53ce59fc.js +0 -6
  695. package/dist-cms/external/monaco-editor/tsMode-3f4e7f54.js +0 -16
  696. package/dist-cms/packages/core/section/section-views/index.d.ts +0 -1
  697. package/dist-cms/packages/core/section/section-views/index.js +0 -1
  698. package/dist-cms/packages/core/section/section-views/section-views.element.d.ts +0 -26
  699. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.d.ts +0 -4
  700. package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.js +0 -2
  701. package/dist-cms/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.js +0 -166
  702. package/dist-cms/packages/templating/components/file-system-tree-item/file-system-tree-item.context.js +0 -10
  703. package/dist-cms/packages/translation/dictionary/manifests.d.ts +0 -1
  704. package/dist-cms/packages/translation/manifests.d.ts +0 -1
  705. package/dist-cms/packages/translation/section.manifest.d.ts +0 -2
  706. package/dist-cms/packages/translation/umbraco-package.js +0 -9
  707. package/dist-cms/tsconfig.tsbuildinfo +0 -1
  708. /package/dist-cms/apps/backoffice/{extension.controller.d.ts → extension-initializer.controller.d.ts} +0 -0
  709. /package/dist-cms/packages/{translation → dictionary}/dashboards/dictionary/dashboard-translation-dictionary.element.d.ts +0 -0
  710. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.d.ts +0 -0
  711. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create-dictionary-modal.element.js +0 -0
  712. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/create/create.action.d.ts +0 -0
  713. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.d.ts +0 -0
  714. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/export/export-dictionary-modal.element.js +0 -0
  715. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.d.ts +0 -0
  716. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/import/import-dictionary-modal.element.js +0 -0
  717. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.d.ts +0 -0
  718. /package/dist-cms/packages/{translation → dictionary}/dictionary/entity-actions/reload.action.js +0 -0
  719. /package/dist-cms/packages/{translation → dictionary}/dictionary/manifests.js +0 -0
  720. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.d.ts +0 -0
  721. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/dictionary-menu-item.element.js +0 -0
  722. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu-item/manifests.d.ts +0 -0
  723. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.d.ts +0 -0
  724. /package/dist-cms/packages/{translation → dictionary}/dictionary/menu.manifests.js +0 -0
  725. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.d.ts +0 -0
  726. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.repository.js +0 -0
  727. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.d.ts +0 -0
  728. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.store.js +0 -0
  729. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.d.ts +0 -0
  730. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/dictionary.tree.store.js +0 -0
  731. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/manifests.d.ts +0 -0
  732. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.d.ts +0 -0
  733. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.detail.server.data.js +0 -0
  734. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.d.ts +0 -0
  735. /package/dist-cms/packages/{translation → dictionary}/dictionary/repository/sources/dictionary.tree.server.data.js +0 -0
  736. /package/dist-cms/packages/{translation → dictionary}/dictionary/tree/manifests.d.ts +0 -0
  737. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace-editor.element.d.ts +0 -0
  738. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.context.d.ts +0 -0
  739. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.d.ts +0 -0
  740. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/dictionary-workspace.element.js +0 -0
  741. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/manifests.d.ts +0 -0
  742. /package/dist-cms/packages/{translation → dictionary}/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.d.ts +0 -0
  743. /package/dist-cms/packages/{translation → dictionary}/manifests.js +0 -0
  744. /package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.d.ts +0 -0
@@ -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';
@@ -16,7 +16,9 @@ export declare class UmbExtensionRegistry<IncomingManifestTypes extends Manifest
16
16
  private _extensionsOfType;
17
17
  private _kindsOfTypes;
18
18
  private _extensionsOfTypes;
19
+ getByAlias<T extends ManifestBase = ManifestBase>(alias: string): Observable<T | undefined>;
19
20
  getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
21
+ getByTypeAndAliases<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>): Observable<T[]>;
20
22
  extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
21
23
  extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
22
24
  }
@@ -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,7 +68,14 @@ 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'?
71
+ if (!manifest.type) {
72
+ console.error(`Extension is missing type`, manifest);
73
+ return;
74
+ }
75
+ if (!manifest.alias) {
76
+ console.error(`Extension is missing alias`, manifest);
77
+ return;
78
+ }
61
79
  if (manifest.type === 'kind') {
62
80
  this.defineKind(manifest);
63
81
  return;
@@ -110,6 +128,29 @@ export class UmbExtensionRegistry {
110
128
  _extensionsOfTypes(types) {
111
129
  return this.extensions.pipe(map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), distinctUntilChanged(extensionArrayMemoization));
112
130
  }
131
+ getByAlias(alias) {
132
+ return this.extensions.pipe(map((exts) => exts.find((ext) => ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization), switchMap((ext) => {
133
+ if (ext?.kind) {
134
+ return this._kindsOfType(ext.type).pipe(map((kinds) => {
135
+ // Specific Extension Meta merge (does not merge conditions)
136
+ if (ext) {
137
+ // Since we dont have the type up front in this request, we will just get all kinds here and find the matching one:
138
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
139
+ // TODO: This check can go away when making a find kind based on type and kind.
140
+ if (baseManifest) {
141
+ const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
142
+ if (baseManifest.meta) {
143
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
144
+ }
145
+ return merged;
146
+ }
147
+ }
148
+ return ext;
149
+ }));
150
+ }
151
+ return of(ext);
152
+ }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
153
+ }
113
154
  getByTypeAndAlias(type, alias) {
114
155
  return combineLatest([
115
156
  this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization)),
@@ -128,7 +169,26 @@ export class UmbExtensionRegistry {
128
169
  }
129
170
  }
130
171
  return ext;
131
- }), distinctUntilChanged(extensionSingleMemoization));
172
+ }), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
173
+ }
174
+ getByTypeAndAliases(type, aliases) {
175
+ return combineLatest([
176
+ this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type && aliases.indexOf(ext.alias) !== -1)), distinctUntilChanged(extensionArrayMemoization)),
177
+ this._kindsOfType(type),
178
+ ]).pipe(map(([exts, kinds]) => exts
179
+ .map((ext) => {
180
+ // Specific Extension Meta merge (does not merge conditions)
181
+ const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
182
+ if (baseManifest) {
183
+ const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
184
+ if (baseManifest.meta) {
185
+ merged.meta = { ...baseManifest.meta, ...ext.meta };
186
+ }
187
+ return merged;
188
+ }
189
+ return ext;
190
+ })
191
+ .sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
132
192
  }
133
193
  extensionsOfType(type) {
134
194
  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 './registry/translation.registry.js';
2
+ export * from './localize.controller.js';
3
+ export { registerTranslation } from './manager.js';
@@ -0,0 +1,3 @@
1
+ export * from './registry/translation.registry.js';
2
+ export * from './localize.controller.js';
3
+ export { registerTranslation } from './manager.js';
@@ -0,0 +1,47 @@
1
+ import { DefaultTranslationSet, FunctionParams, TranslationSet } from './manager.js';
2
+ import { UmbController, UmbControllerHost } from '../controller-api/index.js';
3
+ /**
4
+ * The UmbLocalizeController enables localization for your element.
5
+ *
6
+ * @see UmbLocalizeElement
7
+ * @example
8
+ * ```ts
9
+ * import { UmbLocalizeController } from './index.js';
10
+ *
11
+ * \@customElement('my-element')
12
+ * export class MyElement extends LitElement {
13
+ * private localize = new UmbLocalizeController(this);
14
+ *
15
+ * render() {
16
+ * return html`<p>${this.localize.term('general_close')}</p>`;
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ export declare class UmbLocalizeController<TranslationType extends TranslationSet = DefaultTranslationSet> implements UmbController {
22
+ #private;
23
+ controllerAlias: symbol;
24
+ constructor(host: UmbControllerHost);
25
+ hostConnected(): void;
26
+ hostDisconnected(): void;
27
+ destroy(): void;
28
+ /**
29
+ * Gets the host element's directionality as determined by the `dir` attribute. The return value is transformed to
30
+ * lowercase.
31
+ */
32
+ dir(): string;
33
+ /**
34
+ * Gets the host element's language as determined by the `lang` attribute. The return value is transformed to
35
+ * lowercase.
36
+ */
37
+ lang(): string;
38
+ private getTranslationData;
39
+ /** Outputs a translated term. */
40
+ term<K extends keyof TranslationType>(key: K, ...args: FunctionParams<TranslationType[K]>): string;
41
+ /** Outputs a localized date in the specified format. */
42
+ date(dateToFormat: Date | string, options?: Intl.DateTimeFormatOptions): string;
43
+ /** Outputs a localized number in the specified format. */
44
+ number(numberToFormat: number | string, options?: Intl.NumberFormatOptions): string;
45
+ /** Outputs a localized time in relative format. */
46
+ relativeTime(value: number, unit: Intl.RelativeTimeFormatUnit, options?: Intl.RelativeTimeFormatOptions): string;
47
+ }