@umbraco-cms/backoffice 14.0.0-d87d656d → 14.0.0-d9a74398
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.
- package/README.md +12 -6
- package/dist-cms/apps/app/app.element.d.ts +0 -1
- package/dist-cms/apps/app/app.element.js +21 -1
- package/dist-cms/apps/backoffice/backoffice.context.d.ts +5 -1
- package/dist-cms/apps/backoffice/backoffice.context.js +13 -5
- package/dist-cms/apps/backoffice/backoffice.element.d.ts +0 -1
- package/dist-cms/apps/backoffice/backoffice.element.js +4 -5
- package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.d.ts +0 -2
- package/dist-cms/apps/backoffice/components/backoffice-header-sections.element.js +6 -13
- package/dist-cms/apps/backoffice/components/backoffice-main.element.js +11 -9
- package/dist-cms/apps/backoffice/{extension.controller.js → extension-initializer.controller.js} +2 -0
- package/dist-cms/assets/lang/da-dk.d.ts +3 -0
- package/dist-cms/assets/lang/da-dk.js +2989 -0
- package/dist-cms/assets/lang/da-dk.ts +3246 -0
- package/dist-cms/assets/lang/en-us.d.ts +3 -0
- package/dist-cms/assets/lang/en-us.js +2966 -0
- package/dist-cms/assets/lang/en-us.ts +3219 -0
- package/dist-cms/css/uui-css.css +13 -5
- package/dist-cms/custom-elements.json +115 -68
- package/dist-cms/external/backend-api/index.js +1 -1
- package/dist-cms/external/lit/index.js +27 -27
- package/dist-cms/external/monaco-editor/{abap-7ad4f8f0.js → abap-b029dff1.js} +1 -1
- package/dist-cms/external/monaco-editor/{apex-30597c49.js → apex-039bfc5f.js} +1 -1
- package/dist-cms/external/monaco-editor/assets/{bundle-a4f90d1d.css → bundle-b9e43664.css} +25 -13
- package/dist-cms/external/monaco-editor/{azcli-67c34a04.js → azcli-f1f7c576.js} +1 -1
- package/dist-cms/external/monaco-editor/{bat-b8f4738b.js → bat-86aea46a.js} +1 -1
- package/dist-cms/external/monaco-editor/{bicep-b104b38b.js → bicep-75c0c4d5.js} +1 -1
- package/dist-cms/external/monaco-editor/{cameligo-001d1ded.js → cameligo-8043f913.js} +1 -1
- package/dist-cms/external/monaco-editor/{clojure-fa9652a1.js → clojure-73642b02.js} +1 -1
- package/dist-cms/external/monaco-editor/{coffee-b69a8315.js → coffee-a18badcf.js} +1 -1
- package/dist-cms/external/monaco-editor/{cpp-8053752f.js → cpp-4034161e.js} +1 -1
- package/dist-cms/external/monaco-editor/{csharp-886041a3.js → csharp-49cbf0d2.js} +1 -1
- package/dist-cms/external/monaco-editor/{csp-e846bce6.js → csp-d207cac4.js} +1 -1
- package/dist-cms/external/monaco-editor/{css-50032e5e.js → css-74326df0.js} +1 -1
- package/dist-cms/external/monaco-editor/{cssMode-c0406684.js → cssMode-57ec49ea.js} +2 -2
- package/dist-cms/external/monaco-editor/{cypher-6f93a845.js → cypher-49f5f839.js} +1 -1
- package/dist-cms/external/monaco-editor/{dart-14284236.js → dart-84b7c6b4.js} +1 -1
- package/dist-cms/external/monaco-editor/{dockerfile-e9935eb4.js → dockerfile-bbf114b2.js} +1 -1
- package/dist-cms/external/monaco-editor/{ecl-9c89f204.js → ecl-15840f49.js} +1 -1
- package/dist-cms/external/monaco-editor/{elixir-ca8bf661.js → elixir-e479e18e.js} +2 -2
- package/dist-cms/external/monaco-editor/{flow9-ac147227.js → flow9-42a61225.js} +1 -1
- package/dist-cms/external/monaco-editor/{freemarker2-793b7402.js → freemarker2-a72b9c0e.js} +2 -2
- package/dist-cms/external/monaco-editor/{fsharp-8eaad024.js → fsharp-8abe6da0.js} +1 -1
- package/dist-cms/external/monaco-editor/{go-05529e2e.js → go-8759e9f7.js} +1 -1
- package/dist-cms/external/monaco-editor/{graphql-8f5b3fdd.js → graphql-387d549c.js} +1 -1
- package/dist-cms/external/monaco-editor/{handlebars-aaa2fd96.js → handlebars-8fc61d07.js} +2 -2
- package/dist-cms/external/monaco-editor/{hcl-9e201a51.js → hcl-a88f331a.js} +1 -1
- package/dist-cms/external/monaco-editor/{html-1194c0aa.js → html-4320ed19.js} +2 -2
- package/dist-cms/external/monaco-editor/{htmlMode-36df69c6.js → htmlMode-95c2e58e.js} +2 -2
- package/dist-cms/external/monaco-editor/{index-7368f3e3.js → index-e4ee5993.js} +359 -354
- package/dist-cms/external/monaco-editor/index.js +1 -1
- package/dist-cms/external/monaco-editor/{ini-31a5619d.js → ini-18bf1153.js} +1 -1
- package/dist-cms/external/monaco-editor/{java-8c6e1ae8.js → java-000a6283.js} +1 -1
- package/dist-cms/external/monaco-editor/{javascript-86205709.js → javascript-13505434.js} +2 -2
- package/dist-cms/external/monaco-editor/{jsonMode-f663e935.js → jsonMode-1d541b8e.js} +2 -2
- package/dist-cms/external/monaco-editor/{julia-fbb2af47.js → julia-9a5df632.js} +1 -1
- package/dist-cms/external/monaco-editor/{kotlin-bfa96180.js → kotlin-06ee8898.js} +1 -1
- package/dist-cms/external/monaco-editor/{less-0b6a8ff1.js → less-dd86a68c.js} +1 -1
- package/dist-cms/external/monaco-editor/{lexon-585e5248.js → lexon-8d4b0444.js} +1 -1
- package/dist-cms/external/monaco-editor/{liquid-37adc07a.js → liquid-7aa20dd8.js} +2 -2
- package/dist-cms/external/monaco-editor/{lua-f6c17885.js → lua-9adddcd9.js} +1 -1
- package/dist-cms/external/monaco-editor/{m3-1b6456c5.js → m3-aa2dcf72.js} +1 -1
- package/dist-cms/external/monaco-editor/{markdown-7bc251f9.js → markdown-0f073a3a.js} +1 -1
- package/dist-cms/external/monaco-editor/mdx-8a1e4ae9.js +6 -0
- package/dist-cms/external/monaco-editor/{mips-2df76781.js → mips-bdd96c5a.js} +1 -1
- package/dist-cms/external/monaco-editor/{msdax-8c38e8b4.js → msdax-1ac55115.js} +1 -1
- package/dist-cms/external/monaco-editor/{mysql-abbb9ca3.js → mysql-b530c105.js} +1 -1
- package/dist-cms/external/monaco-editor/{objective-c-efbfd08b.js → objective-c-951ded7b.js} +1 -1
- package/dist-cms/external/monaco-editor/{pascal-08abee72.js → pascal-7442fd46.js} +1 -1
- package/dist-cms/external/monaco-editor/{pascaligo-200db0cf.js → pascaligo-385edc0e.js} +1 -1
- package/dist-cms/external/monaco-editor/{perl-079789ee.js → perl-d5fb326c.js} +1 -1
- package/dist-cms/external/monaco-editor/{pgsql-efd093d4.js → pgsql-2d7db25a.js} +1 -1
- package/dist-cms/external/monaco-editor/{php-75c530f2.js → php-1daff147.js} +1 -1
- package/dist-cms/external/monaco-editor/{pla-a55a2765.js → pla-1b3e1614.js} +1 -1
- package/dist-cms/external/monaco-editor/{postiats-6098f37b.js → postiats-9db13649.js} +1 -1
- package/dist-cms/external/monaco-editor/{powerquery-949bb7fe.js → powerquery-4c428232.js} +1 -1
- package/dist-cms/external/monaco-editor/{powershell-7e550b21.js → powershell-d3380668.js} +1 -1
- package/dist-cms/external/monaco-editor/{protobuf-25a4d695.js → protobuf-941cf3e8.js} +1 -1
- package/dist-cms/external/monaco-editor/{pug-f8c9f493.js → pug-cfe384ef.js} +1 -1
- package/dist-cms/external/monaco-editor/{python-78a47148.js → python-b84d078b.js} +2 -2
- package/dist-cms/external/monaco-editor/{qsharp-c4b94317.js → qsharp-e125d03f.js} +1 -1
- package/dist-cms/external/monaco-editor/{r-614353db.js → r-e0a01d4f.js} +1 -1
- package/dist-cms/external/monaco-editor/{razor-5de9ce12.js → razor-96e08c0a.js} +2 -2
- package/dist-cms/external/monaco-editor/{redis-fb089f4d.js → redis-d0a12fea.js} +1 -1
- package/dist-cms/external/monaco-editor/{redshift-a620fcb0.js → redshift-a163b94a.js} +1 -1
- package/dist-cms/external/monaco-editor/{restructuredtext-7ab09fcf.js → restructuredtext-5a906e1a.js} +1 -1
- package/dist-cms/external/monaco-editor/{ruby-922be722.js → ruby-05b021bf.js} +1 -1
- package/dist-cms/external/monaco-editor/{rust-23e08578.js → rust-3d80982c.js} +1 -1
- package/dist-cms/external/monaco-editor/{sb-ccceec0f.js → sb-2020a5af.js} +1 -1
- package/dist-cms/external/monaco-editor/{scala-0535664d.js → scala-54469b4b.js} +1 -1
- package/dist-cms/external/monaco-editor/{scheme-dba621eb.js → scheme-ff6e5671.js} +1 -1
- package/dist-cms/external/monaco-editor/{scss-28539a11.js → scss-77902feb.js} +1 -1
- package/dist-cms/external/monaco-editor/{shell-5b92a834.js → shell-3c06def6.js} +1 -1
- package/dist-cms/external/monaco-editor/{solidity-f63d6049.js → solidity-3d59d6a7.js} +1 -1
- package/dist-cms/external/monaco-editor/{sophia-12e9ad90.js → sophia-12eb7ba8.js} +1 -1
- package/dist-cms/external/monaco-editor/{sparql-dedb74aa.js → sparql-e42fb28a.js} +1 -1
- package/dist-cms/external/monaco-editor/{sql-975a69d7.js → sql-d30fd9fd.js} +1 -1
- package/dist-cms/external/monaco-editor/{st-1904ae33.js → st-ba2e774a.js} +2 -2
- package/dist-cms/external/monaco-editor/{swift-e180a143.js → swift-f0a706dd.js} +1 -1
- package/dist-cms/external/monaco-editor/{systemverilog-c5592fac.js → systemverilog-0cfd4211.js} +1 -1
- package/dist-cms/external/monaco-editor/{tcl-996f4ac7.js → tcl-7df3c0c5.js} +1 -1
- package/dist-cms/external/monaco-editor/{tsMode-f4618e87.js → tsMode-4e2b13b8.js} +2 -2
- package/dist-cms/external/monaco-editor/twig-f894aab2.js +6 -0
- package/dist-cms/external/monaco-editor/{typescript-efea739f.js → typescript-6571f86d.js} +2 -2
- package/dist-cms/external/monaco-editor/{vb-ad68fa9a.js → vb-39a025f4.js} +1 -1
- package/dist-cms/external/monaco-editor/{wgsl-5ee7b1ca.js → wgsl-ea93d538.js} +1 -1
- package/dist-cms/external/monaco-editor/{xml-12b9ace3.js → xml-265c28d1.js} +2 -2
- package/dist-cms/external/monaco-editor/{yaml-65e08cff.js → yaml-cbd1aab5.js} +2 -2
- package/dist-cms/external/rxjs/index.js +2 -2
- package/dist-cms/external/tinymce/index.js +22 -22
- package/dist-cms/external/uui/index.js +470 -292
- package/dist-cms/libs/class-api/class.mixin.js +1 -1
- package/dist-cms/libs/context-api/consume/context-consumer.controller.js +1 -3
- package/dist-cms/libs/context-api/consume/context-consumer.d.ts +0 -1
- package/dist-cms/libs/context-api/consume/context-consumer.js +36 -6
- package/dist-cms/libs/context-api/provide/context-provide.event.d.ts +21 -0
- package/dist-cms/libs/context-api/provide/context-provide.event.js +17 -0
- package/dist-cms/libs/context-api/provide/context-provider.controller.js +1 -1
- package/dist-cms/libs/context-api/provide/context-provider.d.ts +0 -6
- package/dist-cms/libs/context-api/provide/context-provider.js +18 -6
- package/dist-cms/libs/controller-api/controller-host-base.mixin.js +1 -0
- package/dist-cms/libs/controller-api/controller-host-element.mixin.d.ts +9 -3
- package/dist-cms/libs/element-api/element.mixin.d.ts +9 -2
- package/dist-cms/libs/element-api/element.mixin.js +6 -1
- package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.d.ts +7 -0
- package/dist-cms/libs/extension-api/condition/condition-controller-arguments.type.js +1 -0
- package/dist-cms/libs/extension-api/condition/extension-condition.interface.d.ts +6 -0
- package/dist-cms/libs/extension-api/condition/extension-condition.interface.js +1 -0
- package/dist-cms/libs/extension-api/condition/index.d.ts +2 -0
- package/dist-cms/libs/extension-api/condition/index.js +2 -0
- package/dist-cms/libs/extension-api/controller/base-extension-controller.d.ts +19 -0
- package/dist-cms/libs/extension-api/controller/base-extension-controller.js +178 -0
- package/dist-cms/libs/extension-api/controller/base-extensions-controller.d.ts +19 -0
- package/dist-cms/libs/extension-api/controller/base-extensions-controller.js +112 -0
- package/dist-cms/libs/extension-api/controller/extension-element-controller.d.ts +20 -0
- package/dist-cms/libs/extension-api/controller/extension-element-controller.js +82 -0
- package/dist-cms/libs/extension-api/controller/extension-manifest-controller.d.ts +9 -0
- package/dist-cms/libs/extension-api/controller/extension-manifest-controller.js +13 -0
- package/dist-cms/libs/extension-api/controller/extensions-element-controller.d.ts +13 -0
- package/dist-cms/libs/extension-api/controller/extensions-element-controller.js +29 -0
- package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.d.ts +11 -0
- package/dist-cms/libs/extension-api/controller/extensions-manifest-controller.js +16 -0
- package/dist-cms/libs/extension-api/controller/index.d.ts +6 -0
- package/dist-cms/libs/extension-api/controller/index.js +6 -0
- package/dist-cms/libs/extension-api/index.d.ts +3 -1
- package/dist-cms/libs/extension-api/index.js +3 -1
- package/dist-cms/libs/extension-api/registry/extension.registry.d.ts +3 -0
- package/dist-cms/libs/extension-api/registry/extension.registry.js +82 -14
- package/dist-cms/libs/extension-api/types.d.ts +45 -8
- package/dist-cms/libs/localization-api/index.d.ts +3 -0
- package/dist-cms/libs/localization-api/index.js +3 -0
- package/dist-cms/libs/localization-api/localize.controller.d.ts +47 -0
- package/dist-cms/libs/localization-api/localize.controller.js +123 -0
- package/dist-cms/libs/localization-api/manager.d.ts +18 -0
- package/dist-cms/libs/localization-api/manager.js +40 -0
- package/dist-cms/libs/localization-api/types/translation.d.ts +3 -0
- package/dist-cms/libs/localization-api/types/translation.js +1 -0
- package/dist-cms/libs/observable-api/class-state.d.ts +2 -3
- package/dist-cms/libs/observable-api/observer.controller.d.ts +4 -3
- package/dist-cms/libs/observable-api/observer.controller.js +9 -2
- package/dist-cms/libs/observable-api/observer.d.ts +13 -2
- package/dist-cms/libs/observable-api/observer.js +32 -4
- package/dist-cms/mocks/data/data-type.data.js +1 -28
- package/dist-cms/mocks/data/document-type.data.js +2 -59
- package/dist-cms/mocks/data/log-viewer.data.d.ts +4 -4
- package/dist-cms/mocks/data/log-viewer.data.js +4 -4
- package/dist-cms/mocks/handlers/manifests.handlers.js +1 -1
- package/dist-cms/packages/core/components/entity-actions-bundle/entity-actions-bundle.element.js +1 -1
- package/dist-cms/packages/core/components/extension-slot/extension-slot.element.d.ts +38 -14
- package/dist-cms/packages/core/components/extension-slot/extension-slot.element.js +81 -71
- package/dist-cms/packages/core/components/property-type-based-property/property-type-based-property.element.js +2 -2
- package/dist-cms/packages/core/content-type/content-type-structure-manager.class.js +2 -2
- package/dist-cms/packages/core/entity-action/entity-action-list.element.d.ts +5 -5
- package/dist-cms/packages/core/entity-action/entity-action-list.element.js +17 -21
- package/dist-cms/packages/core/extension-registry/conditions/index.d.ts +1 -0
- package/dist-cms/packages/core/extension-registry/conditions/index.js +4 -0
- package/dist-cms/packages/core/extension-registry/conditions/manifests.d.ts +1 -0
- package/dist-cms/packages/core/extension-registry/conditions/manifests.js +3 -0
- package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.d.ts +12 -0
- package/dist-cms/packages/core/extension-registry/conditions/menu-alias.condition.js +23 -0
- package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.d.ts +18 -0
- package/dist-cms/packages/core/extension-registry/conditions/section-alias.condition.js +23 -0
- package/dist-cms/packages/core/extension-registry/conditions/switch.condition.d.ts +19 -0
- package/dist-cms/packages/core/extension-registry/conditions/switch.condition.js +38 -0
- package/dist-cms/packages/core/extension-registry/conditions/types.d.ts +5 -0
- package/dist-cms/packages/core/extension-registry/conditions/types.js +1 -0
- package/dist-cms/packages/core/extension-registry/index.d.ts +3 -2
- package/dist-cms/packages/core/extension-registry/index.js +3 -2
- package/dist-cms/packages/core/extension-registry/models/dashboard.model.d.ts +3 -16
- package/dist-cms/packages/core/extension-registry/models/dashboard.model.js +5 -0
- package/dist-cms/packages/core/extension-registry/models/entity-action.model.d.ts +2 -5
- package/dist-cms/packages/core/extension-registry/models/index.d.ts +4 -2
- package/dist-cms/packages/core/extension-registry/models/index.js +1 -0
- package/dist-cms/packages/core/extension-registry/models/menu-item.model.d.ts +1 -7
- package/dist-cms/packages/core/extension-registry/models/property-action.model.d.ts +5 -3
- package/dist-cms/packages/core/extension-registry/models/property-editor.model.d.ts +21 -2
- package/dist-cms/packages/core/extension-registry/models/section-sidebar-app.model.d.ts +3 -6
- package/dist-cms/packages/core/extension-registry/models/section-view.model.d.ts +3 -5
- package/dist-cms/packages/core/extension-registry/models/section.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/translations.model.d.ts +40 -0
- package/dist-cms/packages/core/extension-registry/models/translations.model.js +1 -0
- package/dist-cms/packages/core/extension-registry/models/tree-item.model.d.ts +2 -2
- package/dist-cms/packages/core/extension-registry/models/workspace-action.model.d.ts +4 -7
- package/dist-cms/packages/core/extension-registry/models/workspace-editor-view.model.d.ts +3 -6
- package/dist-cms/packages/core/extension-registry/models/workspace-view-collection.model.d.ts +3 -29
- package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.d.ts → multi-extensions-class-initializer.d.ts} +2 -2
- package/dist-cms/packages/core/extension-registry/{class-extensions-initializer.js → multi-extensions-class-initializer.js} +10 -2
- package/dist-cms/packages/core/index.d.ts +1 -0
- package/dist-cms/packages/core/index.js +7 -2
- package/dist-cms/packages/core/localization/index.d.ts +2 -0
- package/dist-cms/packages/core/localization/index.js +2 -0
- package/dist-cms/packages/core/localization/localize.element.d.ts +34 -0
- package/dist-cms/packages/core/localization/localize.element.js +64 -0
- package/dist-cms/packages/core/localization/manifests.d.ts +2 -0
- package/dist-cms/packages/core/localization/manifests.js +23 -0
- package/dist-cms/packages/core/localization/registry/translation.registry.d.ts +17 -0
- package/dist-cms/packages/core/localization/registry/translation.registry.js +79 -0
- package/dist-cms/packages/core/menu/index.d.ts +1 -0
- package/dist-cms/packages/core/menu/index.js +1 -0
- package/dist-cms/packages/core/menu/menu.context.d.ts +9 -0
- package/dist-cms/packages/core/menu/menu.context.js +14 -0
- package/dist-cms/packages/core/menu/menu.element.d.ts +1 -0
- package/dist-cms/packages/core/menu/menu.element.js +6 -2
- package/dist-cms/packages/core/modal/common/folder/folder-modal.element.d.ts +2 -2
- package/dist-cms/packages/core/modal/common/property-settings/property-settings-modal.element.js +1 -0
- package/dist-cms/packages/core/modal/token/folder-modal.token.d.ts +2 -2
- package/dist-cms/packages/core/property-action/manifests.js +2 -2
- package/dist-cms/packages/core/property-action/shared/property-action-menu/property-action-menu.element.js +2 -1
- package/dist-cms/packages/core/property-editor/index.d.ts +1 -1
- package/dist-cms/packages/core/property-editor/index.js +1 -1
- package/dist-cms/packages/core/property-editor/manifests.d.ts +1 -1
- package/dist-cms/packages/core/property-editor/schemas/manifests.js +0 -2
- package/dist-cms/packages/core/property-editor/uis/icon-picker/manifests.js +1 -1
- package/dist-cms/packages/core/property-editor/uis/value-type/manifests.js +0 -1
- package/dist-cms/packages/core/section/index.d.ts +1 -1
- package/dist-cms/packages/core/section/index.js +1 -1
- package/dist-cms/packages/core/section/section-default.element.d.ts +1 -1
- package/dist-cms/packages/core/section/section-default.element.js +13 -21
- package/dist-cms/packages/core/section/section-main-views/index.d.ts +1 -0
- package/dist-cms/packages/core/section/section-main-views/index.js +1 -0
- package/dist-cms/packages/core/section/section-main-views/section-main-views.element.d.ts +19 -0
- package/dist-cms/packages/core/section/{section-views/section-views.element.js → section-main-views/section-main-views.element.js} +20 -48
- package/dist-cms/packages/core/section/section-sidebar-context-menu/section-sidebar-context-menu.element.js +18 -5
- package/dist-cms/packages/core/section/section-sidebar-menu/section-sidebar-menu.element.js +3 -4
- package/dist-cms/packages/core/section/section-sidebar-menu-with-entity-actions/section-sidebar-menu-with-entity-actions.element.js +2 -2
- package/dist-cms/packages/core/sorter/sorter.controller.js +6 -6
- package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.d.ts +13 -0
- package/dist-cms/packages/core/sorter/stories/test-sorter-controller.element.js +92 -0
- package/dist-cms/packages/core/tree/tree-item/tree-item.context.interface.d.ts +0 -2
- package/dist-cms/packages/core/tree/tree-item/tree-item.element.js +1 -1
- package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.d.ts +3 -4
- package/dist-cms/packages/core/tree/tree-item-base/tree-item-base.context.js +26 -30
- package/dist-cms/packages/core/workspace/index.d.ts +1 -0
- package/dist-cms/packages/core/workspace/index.js +1 -0
- package/dist-cms/packages/core/workspace/manifests.d.ts +1 -1
- package/dist-cms/packages/core/workspace/manifests.js +2 -1
- package/dist-cms/packages/core/workspace/workspace-action/workspace-action-base.js +2 -2
- package/dist-cms/packages/core/workspace/workspace-action-menu/workspace-action-menu.element.js +8 -4
- package/dist-cms/packages/core/workspace/workspace-alias.condition.d.ts +18 -0
- package/dist-cms/packages/core/workspace/workspace-alias.condition.js +21 -0
- package/dist-cms/packages/core/workspace/workspace-content/views/collection/workspace-view-collection.element.js +2 -2
- package/dist-cms/packages/core/workspace/workspace-context/index.d.ts +1 -1
- package/dist-cms/packages/core/workspace/workspace-context/index.js +1 -1
- package/dist-cms/packages/core/workspace/workspace-context/workspace-context.d.ts +2 -1
- package/dist-cms/packages/core/workspace/workspace-context/workspace-context.interface.d.ts +2 -2
- package/dist-cms/packages/core/workspace/workspace-context/workspace-context.js +4 -3
- package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.d.ts +4 -0
- package/dist-cms/packages/core/workspace/workspace-context/workspace-context.token.js +2 -0
- package/dist-cms/packages/core/workspace/workspace-context/workspace-entity-context.interface.d.ts +0 -1
- package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.d.ts +4 -8
- package/dist-cms/packages/core/workspace/workspace-editor/workspace-editor.element.js +11 -39
- package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.d.ts +0 -10
- package/dist-cms/packages/core/workspace/workspace-footer/workspace-footer.element.js +1 -23
- package/dist-cms/packages/core/workspace/workspace-property/workspace-property.context.js +2 -2
- package/dist-cms/packages/core/workspace/workspace-property/workspace-property.element.js +4 -0
- package/dist-cms/packages/core/workspace/workspace-variant/workspace-variant.context.js +2 -2
- package/dist-cms/packages/dictionary/dashboards/dictionary/dashboard-translation-dictionary.element.js +2 -2
- package/dist-cms/packages/dictionary/dictionary/entity-actions/create/create.action.js +1 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.d.ts +0 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/export/export.action.js +0 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.d.ts +0 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/import/import.action.js +0 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/manifests.d.ts +1 -1
- package/dist-cms/packages/dictionary/dictionary/entity-actions/manifests.js +0 -12
- package/dist-cms/packages/dictionary/dictionary/manifests.d.ts +1 -1
- package/dist-cms/packages/dictionary/dictionary/menu-item/manifests.js +0 -2
- package/dist-cms/packages/dictionary/dictionary/tree/manifests.js +1 -1
- package/dist-cms/packages/dictionary/dictionary/workspace/dictionary-workspace-editor.element.js +3 -3
- package/dist-cms/packages/dictionary/dictionary/workspace/dictionary-workspace.context.js +1 -1
- package/dist-cms/packages/dictionary/dictionary/workspace/manifests.js +13 -8
- package/dist-cms/packages/dictionary/dictionary/workspace/views/editor/workspace-view-dictionary-editor.element.js +2 -2
- package/dist-cms/packages/dictionary/manifests.d.ts +1 -1
- package/dist-cms/packages/dictionary/section.manifest.d.ts +1 -1
- package/dist-cms/packages/dictionary/section.manifest.js +12 -6
- package/dist-cms/packages/documents/dashboards/manifests.js +6 -3
- package/dist-cms/packages/documents/document-blueprints/menu-item/manifests.js +0 -2
- package/dist-cms/packages/documents/document-types/entity-actions/create/manifests.js +0 -2
- package/dist-cms/packages/documents/document-types/entity-actions/manifests.js +0 -8
- package/dist-cms/packages/documents/document-types/menu-item/manifests.js +0 -2
- package/dist-cms/packages/documents/document-types/tree/manifests.js +1 -1
- package/dist-cms/packages/documents/document-types/workspace/document-type-workspace-editor.element.js +7 -6
- package/dist-cms/packages/documents/document-types/workspace/document-type-workspace.context.js +1 -1
- package/dist-cms/packages/documents/document-types/workspace/manifests.js +30 -15
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-properties.element.js +9 -7
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-property.element.js +10 -5
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit-tab.element.js +12 -6
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.d.ts +3 -0
- package/dist-cms/packages/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.js +143 -45
- package/dist-cms/packages/documents/document-types/workspace/views/settings/document-type-workspace-view-settings.element.js +2 -2
- package/dist-cms/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.js +6 -6
- package/dist-cms/packages/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.js +2 -2
- package/dist-cms/packages/documents/documents/entity-actions/manifests.d.ts +1 -1
- package/dist-cms/packages/documents/documents/entity-actions/manifests.js +0 -24
- package/dist-cms/packages/documents/documents/menu-item/manifests.js +0 -2
- package/dist-cms/packages/documents/documents/tree/manifests.js +1 -1
- package/dist-cms/packages/documents/documents/tree/tree-item/document-tree-item.context.d.ts +3 -3
- package/dist-cms/packages/documents/documents/workspace/document-workspace-editor.element.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/document-workspace-split-view.element.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/document-workspace.context.js +1 -1
- package/dist-cms/packages/documents/documents/workspace/manifests.js +36 -21
- package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-properties.element.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit-tab.element.js +2 -2
- package/dist-cms/packages/documents/documents/workspace/views/edit/document-workspace-view-edit.element.js +3 -3
- package/dist-cms/packages/documents/documents/workspace/views/info/document-info-workspace-view.element.js +2 -2
- package/dist-cms/packages/documents/section.manifests.js +6 -3
- package/dist-cms/packages/media/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/entity-actions/manifests.js +0 -2
- package/dist-cms/packages/media/media/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media/menu-item/manifests.js +0 -2
- package/dist-cms/packages/media/media/tree/manifests.js +1 -1
- package/dist-cms/packages/media/media/workspace/manifests.js +24 -12
- package/dist-cms/packages/media/media/workspace/media-workspace-editor.element.js +2 -2
- package/dist-cms/packages/media/media/workspace/media-workspace.context.js +1 -1
- package/dist-cms/packages/media/media/workspace/media-workspace.element.d.ts +1 -0
- package/dist-cms/packages/media/media/workspace/media-workspace.element.js +1 -0
- package/dist-cms/packages/media/media-types/entity-actions/manifests.js +0 -10
- package/dist-cms/packages/media/media-types/manifests.d.ts +1 -1
- package/dist-cms/packages/media/media-types/menu-item/manifests.js +0 -2
- package/dist-cms/packages/media/media-types/tree/manifests.js +1 -1
- package/dist-cms/packages/media/media-types/workspace/media-type-workspace-editor.element.js +2 -2
- package/dist-cms/packages/media/media-types/workspace/media-type-workspace.context.js +1 -1
- package/dist-cms/packages/media/section.manifests.d.ts +1 -1
- package/dist-cms/packages/media/section.manifests.js +7 -3
- package/dist-cms/packages/members/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-groups/entity-actions/manifests.js +0 -2
- package/dist-cms/packages/members/member-groups/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-groups/menu-item/manifests.js +0 -2
- package/dist-cms/packages/members/member-groups/tree/manifests.js +1 -1
- package/dist-cms/packages/members/member-groups/workspace/manifests.js +12 -6
- package/dist-cms/packages/members/member-groups/workspace/member-group-workspace-editor.element.js +2 -2
- package/dist-cms/packages/members/member-groups/workspace/member-group-workspace.context.js +1 -1
- package/dist-cms/packages/members/member-groups/workspace/views/info/workspace-view-member-group-info.element.js +2 -2
- package/dist-cms/packages/members/member-types/entity-actions/manifests.js +0 -2
- package/dist-cms/packages/members/member-types/manifests.d.ts +1 -1
- package/dist-cms/packages/members/member-types/menu-item/manifests.js +0 -2
- package/dist-cms/packages/members/member-types/tree/manifests.js +1 -1
- package/dist-cms/packages/members/member-types/workspace/member-type-workspace.context.js +1 -1
- package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.d.ts +1 -0
- package/dist-cms/packages/members/member-types/workspace/member-type-workspace.element.js +1 -0
- package/dist-cms/packages/members/members/entity-actions/manifests.js +0 -2
- package/dist-cms/packages/members/members/manifests.d.ts +1 -1
- package/dist-cms/packages/members/members/menu-item/manifests.js +0 -2
- package/dist-cms/packages/members/members/tree/manifests.js +1 -1
- package/dist-cms/packages/members/members/workspace/member-workspace.context.js +1 -1
- package/dist-cms/packages/members/section.manifests.d.ts +1 -1
- package/dist-cms/packages/members/section.manifests.js +12 -6
- package/dist-cms/packages/packages/package-section/manifests.js +18 -9
- package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.d.ts +0 -1
- package/dist-cms/packages/packages/package-section/views/created/created-packages-section-view.element.js +0 -1
- package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.d.ts +1 -0
- package/dist-cms/packages/search/examine-management-dashboard/views/section-view-examine-indexers.js +3 -0
- package/dist-cms/packages/search/manifests.js +6 -3
- package/dist-cms/packages/settings/dashboards/manifests.js +37 -18
- package/dist-cms/packages/settings/data-types/entity-actions/copy/manifests.js +0 -2
- package/dist-cms/packages/settings/data-types/entity-actions/create/manifests.js +0 -2
- package/dist-cms/packages/settings/data-types/entity-actions/manifests.js +0 -6
- package/dist-cms/packages/settings/data-types/entity-actions/move/manifests.js +0 -2
- package/dist-cms/packages/settings/data-types/menu-item/manifests.js +0 -2
- package/dist-cms/packages/settings/data-types/modals/data-type-picker-flow/data-type-picker-flow-modal.element.js +2 -1
- package/dist-cms/packages/settings/data-types/modals/property-editor-ui-picker/property-editor-ui-picker-modal.element.js +3 -2
- package/dist-cms/packages/settings/data-types/repository/data-type.repository.d.ts +2 -2
- package/dist-cms/packages/settings/data-types/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/data-types/repository/sources/data-type-folder.server.data.d.ts +3 -3
- package/dist-cms/packages/settings/data-types/tree/manifests.js +1 -1
- package/dist-cms/packages/settings/data-types/workspace/data-type-workspace-editor.element.js +2 -2
- package/dist-cms/packages/settings/data-types/workspace/data-type-workspace.context.js +1 -1
- package/dist-cms/packages/settings/data-types/workspace/manifests.js +18 -9
- package/dist-cms/packages/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.js +2 -2
- package/dist-cms/packages/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.js +2 -2
- package/dist-cms/packages/settings/extensions/menu-item/manifests.js +0 -2
- package/dist-cms/packages/settings/languages/app-language-select/app-language-select.element.js +1 -5
- package/dist-cms/packages/settings/languages/app-language-select/manifests.js +6 -3
- package/dist-cms/packages/settings/languages/entity-actions/manifests.js +0 -4
- package/dist-cms/packages/settings/languages/menu-item/manifests.js +0 -2
- package/dist-cms/packages/settings/languages/workspace/language/language-workspace-editor.element.js +2 -2
- package/dist-cms/packages/settings/languages/workspace/language/language-workspace.context.js +1 -1
- package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.d.ts +0 -1
- package/dist-cms/packages/settings/languages/workspace/language/language-workspace.element.js +0 -1
- package/dist-cms/packages/settings/languages/workspace/language/manifests.js +12 -6
- package/dist-cms/packages/settings/languages/workspace/language/views/details/language-details-workspace-view.element.js +2 -2
- package/dist-cms/packages/settings/logviewer/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/logviewer/menu-item/manifests.js +0 -2
- package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root/logviewer-root-workspace.element.d.ts → logviewer/logviewer-workspace.element.d.ts} +0 -9
- package/dist-cms/packages/settings/logviewer/workspace/logviewer/logviewer-workspace.element.js +65 -0
- package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.js +16 -10
- package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.d.ts +28 -15
- package/dist-cms/packages/settings/logviewer/workspace/logviewer.context.js +33 -5
- package/dist-cms/packages/settings/logviewer/workspace/manifests.js +2 -2
- package/dist-cms/packages/settings/relation-types/manifests.d.ts +1 -1
- package/dist-cms/packages/settings/relation-types/menu-item/manifests.js +0 -2
- package/dist-cms/packages/settings/relation-types/tree/manifests.js +1 -1
- package/dist-cms/packages/settings/relation-types/workspace/manifests.js +18 -9
- package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace-editor.element.js +2 -2
- package/dist-cms/packages/settings/relation-types/workspace/relation-type-workspace.context.js +1 -1
- package/dist-cms/packages/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.js +2 -2
- package/dist-cms/packages/settings/section.manifests.d.ts +1 -1
- package/dist-cms/packages/settings/section.manifests.js +6 -3
- package/dist-cms/packages/templating/components/insert-menu/templating-insert-menu.element.js +1 -1
- package/dist-cms/packages/templating/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/menu.manifests.d.ts +1 -1
- package/dist-cms/packages/templating/menu.manifests.js +7 -3
- package/dist-cms/packages/templating/partial-views/entity-actions/manifests.js +0 -10
- package/dist-cms/packages/templating/partial-views/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/partial-views/menu-item/manifests.js +0 -2
- package/dist-cms/packages/templating/partial-views/repository/partial-views.repository.d.ts +2 -2
- package/dist-cms/packages/templating/partial-views/repository/sources/partial-views.folder.server.data.d.ts +2 -2
- package/dist-cms/packages/templating/partial-views/tree/manifests.js +1 -1
- package/dist-cms/packages/templating/partial-views/workspace/manifests.js +6 -3
- package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace-edit.element.js +2 -1
- package/dist-cms/packages/templating/partial-views/workspace/partial-views-workspace.context.js +2 -1
- package/dist-cms/packages/templating/stylesheets/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/stylesheets/menu-item/manifests.js +0 -2
- package/dist-cms/packages/templating/stylesheets/tree/manifests.js +1 -1
- package/dist-cms/packages/templating/stylesheets/workspace/stylesheet-workspace.context.js +1 -1
- package/dist-cms/packages/templating/templates/entity-actions/manifests.js +0 -4
- package/dist-cms/packages/templating/templates/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/templates/menu-item/manifests.js +0 -2
- package/dist-cms/packages/templating/templates/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/templating/templates/tree/manifests.js +1 -1
- package/dist-cms/packages/templating/templates/workspace/manifests.js +6 -3
- package/dist-cms/packages/templating/templates/workspace/template-workspace-editor.element.js +2 -1
- package/dist-cms/packages/templating/templates/workspace/template-workspace.context.js +1 -1
- package/dist-cms/packages/umbraco-news/manifests.js +6 -3
- package/dist-cms/packages/umbraco-news/umbraco-news-dashboard.element.js +1 -1
- package/dist-cms/packages/users/current-user/modals/current-user/current-user-modal.element.js +10 -6
- package/dist-cms/packages/users/current-user/user-profile-apps/user-profile-app-profile.element.js +7 -5
- package/dist-cms/packages/users/user-groups/manifests.d.ts +1 -1
- package/dist-cms/packages/users/user-groups/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/users/user-groups/section-view/manifests.js +6 -3
- package/dist-cms/packages/users/user-groups/workspace/actions/workspace-action-user-group-save.element.js +2 -2
- package/dist-cms/packages/users/user-groups/workspace/manifests.js +6 -3
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace-editor.element.js +2 -2
- package/dist-cms/packages/users/user-groups/workspace/user-group-workspace.context.js +1 -1
- package/dist-cms/packages/users/users/manifests.d.ts +1 -1
- package/dist-cms/packages/users/users/repository/manifests.d.ts +1 -1
- package/dist-cms/packages/users/users/repository/user.repository.js +5 -1
- package/dist-cms/packages/users/users/section-view/manifests.js +6 -3
- package/dist-cms/packages/users/users/workspace/actions/user-workspace-action-save.element.js +2 -2
- package/dist-cms/packages/users/users/workspace/manifests.js +6 -3
- package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.d.ts +1 -0
- package/dist-cms/packages/users/users/workspace/user-workspace-editor.element.js +53 -8
- package/dist-cms/packages/users/users/workspace/user-workspace.context.d.ts +1 -1
- package/dist-cms/packages/users/users/workspace/user-workspace.context.js +18 -1
- package/dist-cms/shared/auth/auth.context.d.ts +1 -0
- package/dist-cms/shared/auth/auth.context.js +1 -2
- package/dist-cms/shared/auth/auth.interface.d.ts +4 -0
- package/dist-cms/shared/lit-element/lit-element.element.d.ts +25 -0
- package/dist-cms/shared/lit-element/lit-element.element.js +42 -1
- package/dist-cms/shared/repository/data-source/folder-data-source.interface.d.ts +3 -3
- package/dist-cms/shared/repository/folder-repository.interface.d.ts +3 -3
- package/dist-cms/shared/resources/resource.controller.js +2 -2
- package/dist-cms/shared/utils/component-has-manifest-property.function.d.ts +4 -0
- package/dist-cms/shared/utils/component-has-manifest-property.function.js +3 -0
- package/dist-cms/shared/utils/index.d.ts +1 -0
- package/dist-cms/shared/utils/index.js +1 -0
- package/dist-cms/shared/utils/media-helper.service.js +1 -0
- package/dist-cms/tinymce/CHANGELOG.md +23 -0
- package/dist-cms/tinymce/composer.json +1 -1
- package/dist-cms/tinymce/langs/hy.js +2 -2
- package/dist-cms/tinymce/langs/id.js +19 -19
- package/dist-cms/tinymce/langs/it.js +2 -2
- package/dist-cms/tinymce/langs/ka_GE.js +132 -132
- package/dist-cms/tinymce/langs/ru.js +4 -4
- package/dist-cms/tinymce/langs/sk.js +7 -7
- package/dist-cms/tinymce/models/dom/model.js +1 -1
- package/dist-cms/tinymce/models/dom/model.min.js +1 -1
- package/dist-cms/tinymce/package.json +1 -1
- package/dist-cms/tinymce/plugins/accordion/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/accordion/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/advlist/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/advlist/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/anchor/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/anchor/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autolink/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autolink/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autoresize/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autoresize/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/autosave/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/autosave/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/charmap/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/charmap/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/code/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/code/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/codesample/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/codesample/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/directionality/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/directionality/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/emoticons/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/emoticons/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/fullscreen/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/fullscreen/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/help/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/help/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/image/plugin.js +2 -2
- package/dist-cms/tinymce/plugins/image/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/importcss/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/importcss/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/link/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/link/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/lists/plugin.js +2 -2
- package/dist-cms/tinymce/plugins/lists/plugin.min.js +2 -2
- package/dist-cms/tinymce/plugins/media/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/media/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/pagebreak/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/pagebreak/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/preview/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/preview/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/quickbars/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/quickbars/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/save/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/save/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/searchreplace/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/searchreplace/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/table/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/table/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/template/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/template/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/visualblocks/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/visualblocks/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/visualchars/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/visualchars/plugin.min.js +1 -1
- package/dist-cms/tinymce/plugins/wordcount/plugin.js +1 -1
- package/dist-cms/tinymce/plugins/wordcount/plugin.min.js +1 -1
- package/dist-cms/tinymce/skins/ui/oxide/skin.css +15 -2
- package/dist-cms/tinymce/skins/ui/oxide/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.css +15 -2
- package/dist-cms/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.css +15 -2
- package/dist-cms/tinymce/skins/ui/tinymce-5/skin.min.css +1 -1
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.css +15 -2
- package/dist-cms/tinymce/skins/ui/tinymce-5-dark/skin.min.css +1 -1
- package/dist-cms/tinymce/themes/silver/theme.js +181 -108
- package/dist-cms/tinymce/themes/silver/theme.min.js +2 -2
- package/dist-cms/tinymce/tinymce.d.ts +3 -0
- package/dist-cms/tinymce/tinymce.js +23 -15
- package/dist-cms/tinymce/tinymce.min.js +2 -2
- package/dist-cms/tsconfig.build.json +15 -0
- package/dist-cms/tsconfig.build.tsbuildinfo +1 -0
- package/dist-cms/umbraco-package-schema.json +536 -236
- package/dist-cms/vscode-html-custom-data.json +58 -58
- package/package.json +14 -12
- package/dist-cms/external/monaco-editor/twig-4859b551.js +0 -6
- package/dist-cms/packages/core/property-editor/schemas/Umbraco.JSON.d.ts +0 -2
- package/dist-cms/packages/core/property-editor/schemas/Umbraco.JSON.js +0 -8
- package/dist-cms/packages/core/section/section-views/index.d.ts +0 -1
- package/dist-cms/packages/core/section/section-views/index.js +0 -1
- package/dist-cms/packages/core/section/section-views/section-views.element.d.ts +0 -26
- package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.d.ts +0 -4
- package/dist-cms/packages/core/workspace/workspace-context/entity-workspace-context.token.js +0 -2
- package/dist-cms/packages/settings/logviewer/workspace/logviewer-root/logviewer-root-workspace.element.js +0 -166
- package/dist-cms/tsconfig.tsbuildinfo +0 -1
- /package/dist-cms/apps/backoffice/{extension.controller.d.ts → extension-initializer.controller.d.ts} +0 -0
- /package/dist-cms/packages/settings/logviewer/workspace/{logviewer-root → logviewer}/manifests.d.ts +0 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { map } from '../../../external/rxjs/index.js';
|
|
2
|
+
import { UmbBaseController } from '../../controller-api/index.js';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export class UmbBaseExtensionsController extends UmbBaseController {
|
|
6
|
+
#extensionRegistry;
|
|
7
|
+
#type;
|
|
8
|
+
#filter;
|
|
9
|
+
#onChange;
|
|
10
|
+
constructor(host, extensionRegistry, type, filter, onChange) {
|
|
11
|
+
super(host);
|
|
12
|
+
this._extensions = [];
|
|
13
|
+
this._permittedExts = [];
|
|
14
|
+
this.#gotManifests = (manifests) => {
|
|
15
|
+
if (!manifests) {
|
|
16
|
+
// Clean up:
|
|
17
|
+
this._extensions.forEach((controller) => {
|
|
18
|
+
controller.destroy();
|
|
19
|
+
});
|
|
20
|
+
this._extensions.length = 0;
|
|
21
|
+
// _permittedExts should have been cleared via the destroy callbacks.
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Clean up extensions that are no longer.
|
|
25
|
+
this._extensions = this._extensions.filter((controller) => {
|
|
26
|
+
if (!manifests.find((manifest) => manifest.alias === controller.alias)) {
|
|
27
|
+
controller.destroy();
|
|
28
|
+
// destroying the controller will, if permitted, make a last callback with isPermitted = false. This will also remove it from the _permittedExts array.
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
});
|
|
33
|
+
// ---------------------------------------------------------------
|
|
34
|
+
// May change this into a Extensions Manager Controller???
|
|
35
|
+
// ---------------------------------------------------------------
|
|
36
|
+
manifests.forEach((manifest) => {
|
|
37
|
+
const existing = this._extensions.find((x) => x.alias === manifest.alias);
|
|
38
|
+
if (!existing) {
|
|
39
|
+
// Idea: could be abstracted into a createController method, so we can override it in a subclass.
|
|
40
|
+
// (This should be enough to be able to create a element extension controller instead.)
|
|
41
|
+
this._extensions.push(this._createController(manifest));
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
this._extensionChanged = (isPermitted, controller) => {
|
|
46
|
+
let hasChanged = false;
|
|
47
|
+
const existingIndex = this._permittedExts.indexOf(controller);
|
|
48
|
+
if (isPermitted) {
|
|
49
|
+
if (existingIndex === -1) {
|
|
50
|
+
this._permittedExts.push(controller);
|
|
51
|
+
hasChanged = true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (existingIndex !== -1) {
|
|
56
|
+
this._permittedExts.splice(existingIndex, 1);
|
|
57
|
+
hasChanged = true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (hasChanged) {
|
|
61
|
+
// The final list of permitted extensions to be displayed, this will be stripped from extensions that are overwritten by another extension and sorted accordingly.
|
|
62
|
+
const exposedPermittedExts = [...this._permittedExts];
|
|
63
|
+
// Removal of overwritten extensions:
|
|
64
|
+
this._permittedExts.forEach((extCtrl) => {
|
|
65
|
+
// Check if it overwrites another extension:
|
|
66
|
+
// if so, look up the extension it overwrites, and remove it from the list. and check that for if it overwrites another extension and so on.
|
|
67
|
+
if (extCtrl.overwrites.length > 0) {
|
|
68
|
+
extCtrl.overwrites.forEach((overwrite) => {
|
|
69
|
+
this.#removeOverwrittenExtensions(exposedPermittedExts, overwrite);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
// Sorting:
|
|
74
|
+
exposedPermittedExts.sort((a, b) => b.weight - a.weight);
|
|
75
|
+
this.#onChange(exposedPermittedExts, this);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
this.#extensionRegistry = extensionRegistry;
|
|
79
|
+
this.#type = type;
|
|
80
|
+
this.#filter = filter;
|
|
81
|
+
this.#onChange = onChange;
|
|
82
|
+
}
|
|
83
|
+
_init() {
|
|
84
|
+
let source = Array.isArray(this.#type)
|
|
85
|
+
? this.#extensionRegistry.extensionsOfTypes(this.#type)
|
|
86
|
+
: this.#extensionRegistry.extensionsOfType(this.#type);
|
|
87
|
+
if (this.#filter) {
|
|
88
|
+
source = source.pipe(map((extensions) => extensions.filter(this.#filter)));
|
|
89
|
+
}
|
|
90
|
+
this.observe(source, this.#gotManifests);
|
|
91
|
+
}
|
|
92
|
+
#gotManifests;
|
|
93
|
+
#removeOverwrittenExtensions(list, alias) {
|
|
94
|
+
const index = list.findIndex((a) => a.alias === alias);
|
|
95
|
+
if (index !== -1) {
|
|
96
|
+
const entry = list[index];
|
|
97
|
+
// Remove this extension:
|
|
98
|
+
list.splice(index, 1);
|
|
99
|
+
// Then remove other extensions that this was replacing:
|
|
100
|
+
if (entry.overwrites.length > 0) {
|
|
101
|
+
entry.overwrites.forEach((overwrite) => {
|
|
102
|
+
this.#removeOverwrittenExtensions(list, overwrite);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
destroy() {
|
|
108
|
+
super.destroy();
|
|
109
|
+
this._extensions.length = 0;
|
|
110
|
+
this._permittedExts.length = 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { UmbExtensionRegistry } from '../registry/extension.registry.js';
|
|
2
|
+
import { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
|
|
3
|
+
import { UmbBaseExtensionController } from './base-extension-controller.js';
|
|
4
|
+
import { UmbControllerHost } from '../../controller-api/index.js';
|
|
5
|
+
export declare class UmbExtensionElementController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions, ControllerType extends UmbExtensionElementController<ManifestType> = any> extends UmbBaseExtensionController<ManifestType, ControllerType> {
|
|
6
|
+
#private;
|
|
7
|
+
_defaultElement?: string;
|
|
8
|
+
_component?: HTMLElement;
|
|
9
|
+
/**
|
|
10
|
+
* The component that is created for this extension.
|
|
11
|
+
* @readonly
|
|
12
|
+
* @type {(HTMLElement | undefined)}
|
|
13
|
+
*/
|
|
14
|
+
get component(): HTMLElement | undefined;
|
|
15
|
+
get properties(): Record<string, unknown> | undefined;
|
|
16
|
+
set properties(newVal: Record<string, unknown> | undefined);
|
|
17
|
+
constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: ControllerType) => void, defaultElement?: string);
|
|
18
|
+
protected _conditionsAreGood(): Promise<boolean>;
|
|
19
|
+
protected _conditionsAreBad(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createExtensionElement } from '../create-extension-element.function.js';
|
|
2
|
+
import { isManifestElementableType } from '../type-guards/is-manifest-elementable-type.function.js';
|
|
3
|
+
import { UmbBaseExtensionController } from './base-extension-controller.js';
|
|
4
|
+
export class UmbExtensionElementController extends UmbBaseExtensionController {
|
|
5
|
+
/**
|
|
6
|
+
* The component that is created for this extension.
|
|
7
|
+
* @readonly
|
|
8
|
+
* @type {(HTMLElement | undefined)}
|
|
9
|
+
*/
|
|
10
|
+
get component() {
|
|
11
|
+
return this._component;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The props that are passed to the component.
|
|
15
|
+
* @type {Record<string, any>}
|
|
16
|
+
* @memberof UmbElementExtensionController
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const controller = new UmbElementExtensionController(host, extensionRegistry, alias, onPermissionChanged);
|
|
20
|
+
* controller.props = { foo: 'bar' };
|
|
21
|
+
* ```
|
|
22
|
+
* Is equivalent to:
|
|
23
|
+
* ```ts
|
|
24
|
+
* controller.component.foo = 'bar';
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
#properties;
|
|
28
|
+
get properties() {
|
|
29
|
+
return this.#properties;
|
|
30
|
+
}
|
|
31
|
+
set properties(newVal) {
|
|
32
|
+
this.#properties = newVal;
|
|
33
|
+
// TODO: we could optimize this so we only re-set the changed props.
|
|
34
|
+
this.#assignProperties();
|
|
35
|
+
}
|
|
36
|
+
constructor(host, extensionRegistry, alias, onPermissionChanged, defaultElement) {
|
|
37
|
+
super(host, extensionRegistry, alias, onPermissionChanged);
|
|
38
|
+
this._defaultElement = defaultElement;
|
|
39
|
+
this._init();
|
|
40
|
+
}
|
|
41
|
+
#assignProperties = () => {
|
|
42
|
+
if (!this._component || !this.#properties)
|
|
43
|
+
return;
|
|
44
|
+
// TODO: we could optimize this so we only re-set the updated props.
|
|
45
|
+
Object.keys(this.#properties).forEach((key) => {
|
|
46
|
+
this._component[key] = this.#properties[key];
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
async _conditionsAreGood() {
|
|
50
|
+
const manifest = this.manifest; // In this case we are sure its not undefined.
|
|
51
|
+
if (isManifestElementableType(manifest)) {
|
|
52
|
+
const newComponent = await createExtensionElement(manifest);
|
|
53
|
+
if (!this._positive) {
|
|
54
|
+
// We are not positive anymore, so we will back out of this creation.
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
this._component = newComponent;
|
|
58
|
+
}
|
|
59
|
+
else if (this._defaultElement) {
|
|
60
|
+
this._component = document.createElement(this._defaultElement);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this._component = undefined;
|
|
64
|
+
// TODO: Lets make an console.error in this case? we could not initialize any component based on this manifest.
|
|
65
|
+
}
|
|
66
|
+
if (this._component) {
|
|
67
|
+
this.#assignProperties();
|
|
68
|
+
this._component.manifest = manifest;
|
|
69
|
+
return true; // we will confirm we have a component and are still good to go.
|
|
70
|
+
}
|
|
71
|
+
return false; // we will reject the state, we have no component, we are not good to be shown.
|
|
72
|
+
}
|
|
73
|
+
async _conditionsAreBad() {
|
|
74
|
+
// Destroy the element:
|
|
75
|
+
if (this._component) {
|
|
76
|
+
if ('destroy' in this._component) {
|
|
77
|
+
this._component.destroy();
|
|
78
|
+
}
|
|
79
|
+
this._component = undefined;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ManifestCondition, ManifestWithDynamicConditions } from '../types.js';
|
|
2
|
+
import type { UmbExtensionRegistry } from '../registry/extension.registry.js';
|
|
3
|
+
import { UmbBaseExtensionController } from './base-extension-controller.js';
|
|
4
|
+
import type { UmbControllerHost } from '../../controller-api/index.js';
|
|
5
|
+
export declare class UmbExtensionManifestController<ManifestType extends ManifestWithDynamicConditions = ManifestWithDynamicConditions> extends UmbBaseExtensionController<ManifestType> {
|
|
6
|
+
constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestCondition>, alias: string, onPermissionChanged: (isPermitted: boolean, controller: UmbBaseExtensionController<ManifestType>) => void);
|
|
7
|
+
protected _conditionsAreGood(): Promise<boolean>;
|
|
8
|
+
protected _conditionsAreBad(): Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UmbBaseExtensionController } from './base-extension-controller.js';
|
|
2
|
+
export class UmbExtensionManifestController extends UmbBaseExtensionController {
|
|
3
|
+
constructor(host, extensionRegistry, alias, onPermissionChanged) {
|
|
4
|
+
super(host, extensionRegistry, alias, onPermissionChanged);
|
|
5
|
+
this._init();
|
|
6
|
+
}
|
|
7
|
+
async _conditionsAreGood() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
async _conditionsAreBad() {
|
|
11
|
+
// Destroy the element/class.
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
|
|
2
|
+
import { type ManifestBase, type ManifestTypeMap, type SpecificManifestTypeOrManifestBase, UmbExtensionElementController, type UmbExtensionRegistry } from '../index.js';
|
|
3
|
+
import type { UmbControllerHost } from '../../controller-api/index.js';
|
|
4
|
+
/**
|
|
5
|
+
*/
|
|
6
|
+
export declare class UmbExtensionsElementController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string = string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionElementController<ManifestType> = UmbExtensionElementController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
|
|
7
|
+
#private;
|
|
8
|
+
private _defaultElement?;
|
|
9
|
+
get properties(): Record<string, unknown> | undefined;
|
|
10
|
+
set properties(props: Record<string, unknown> | undefined);
|
|
11
|
+
constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: undefined | null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void, defaultElement?: string);
|
|
12
|
+
protected _createController(manifest: ManifestType): ControllerType;
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { UmbBaseExtensionsController } from './base-extensions-controller.js';
|
|
2
|
+
import { UmbExtensionElementController, } from '../index.js';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export class UmbExtensionsElementController extends UmbBaseExtensionsController {
|
|
6
|
+
//
|
|
7
|
+
#extensionRegistry;
|
|
8
|
+
#props;
|
|
9
|
+
get properties() {
|
|
10
|
+
return this.#props;
|
|
11
|
+
}
|
|
12
|
+
set properties(props) {
|
|
13
|
+
this.#props = props;
|
|
14
|
+
this._extensions.forEach((controller) => {
|
|
15
|
+
controller.properties = props;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
constructor(host, extensionRegistry, type, filter, onChange, defaultElement) {
|
|
19
|
+
super(host, extensionRegistry, type, filter, onChange);
|
|
20
|
+
this.#extensionRegistry = extensionRegistry;
|
|
21
|
+
this._defaultElement = defaultElement;
|
|
22
|
+
this._init();
|
|
23
|
+
}
|
|
24
|
+
_createController(manifest) {
|
|
25
|
+
const extController = new UmbExtensionElementController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged, this._defaultElement);
|
|
26
|
+
extController.properties = this.#props;
|
|
27
|
+
return extController;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UmbExtensionManifestController } from './extension-manifest-controller.js';
|
|
2
|
+
import { type PermittedControllerType, UmbBaseExtensionsController } from './base-extensions-controller.js';
|
|
3
|
+
import { ManifestBase, ManifestTypeMap, SpecificManifestTypeOrManifestBase, UmbExtensionRegistry } from '../index.js';
|
|
4
|
+
import { UmbControllerHost } from '../../controller-api/index.js';
|
|
5
|
+
/**
|
|
6
|
+
*/
|
|
7
|
+
export declare class UmbExtensionsManifestController<ManifestTypes extends ManifestBase, ManifestTypeName extends keyof ManifestTypeMap<ManifestTypes> | string, ManifestType extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, ManifestTypeName>, ControllerType extends UmbExtensionManifestController<ManifestType> = UmbExtensionManifestController<ManifestType>, MyPermittedControllerType extends ControllerType = PermittedControllerType<ControllerType>> extends UmbBaseExtensionsController<ManifestTypes, ManifestTypeName, ManifestType, ControllerType, MyPermittedControllerType> {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(host: UmbControllerHost, extensionRegistry: UmbExtensionRegistry<ManifestTypes>, type: ManifestTypeName | Array<ManifestTypeName>, filter: null | ((manifest: ManifestType) => boolean), onChange: (permittedManifests: Array<MyPermittedControllerType>, controller: MyPermittedControllerType) => void);
|
|
10
|
+
protected _createController(manifest: ManifestType): ControllerType;
|
|
11
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { UmbExtensionManifestController } from './extension-manifest-controller.js';
|
|
2
|
+
import { UmbBaseExtensionsController } from './base-extensions-controller.js';
|
|
3
|
+
/**
|
|
4
|
+
*/
|
|
5
|
+
export class UmbExtensionsManifestController extends UmbBaseExtensionsController {
|
|
6
|
+
//
|
|
7
|
+
#extensionRegistry;
|
|
8
|
+
constructor(host, extensionRegistry, type, filter, onChange) {
|
|
9
|
+
super(host, extensionRegistry, type, filter, onChange);
|
|
10
|
+
this.#extensionRegistry = extensionRegistry;
|
|
11
|
+
this._init();
|
|
12
|
+
}
|
|
13
|
+
_createController(manifest) {
|
|
14
|
+
return new UmbExtensionManifestController(this, this.#extensionRegistry, manifest.alias, this._extensionChanged);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-extension-controller.js';
|
|
2
|
+
export * from './base-extensions-controller.js';
|
|
3
|
+
export * from './extension-element-controller.js';
|
|
4
|
+
export * from './extensions-element-controller.js';
|
|
5
|
+
export * from './extension-manifest-controller.js';
|
|
6
|
+
export * from './extensions-manifest-controller.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './base-extension-controller.js';
|
|
2
|
+
export * from './base-extensions-controller.js';
|
|
3
|
+
export * from './extension-element-controller.js';
|
|
4
|
+
export * from './extensions-element-controller.js';
|
|
5
|
+
export * from './extension-manifest-controller.js';
|
|
6
|
+
export * from './extensions-manifest-controller.js';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export * from './bundle-extension-initializer.js';
|
|
2
|
+
export * from './condition/index.js';
|
|
3
|
+
export * from './controller/index.js';
|
|
2
4
|
export * from './create-extension-class.function.js';
|
|
3
5
|
export * from './create-extension-element-or-fallback.function.js';
|
|
4
6
|
export * from './create-extension-element.function.js';
|
|
5
7
|
export * from './entry-point-extension-initializer.js';
|
|
8
|
+
export * from './entry-point.interface.js';
|
|
6
9
|
export * from './has-default-export.function.js';
|
|
7
10
|
export * from './has-init-export.function.js';
|
|
8
11
|
export * from './load-extension.function.js';
|
|
9
12
|
export * from './registry/extension.registry.js';
|
|
10
13
|
export * from './type-guards/index.js';
|
|
11
14
|
export * from './types.js';
|
|
12
|
-
export * from './entry-point.interface.js';
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
export * from './bundle-extension-initializer.js';
|
|
2
|
+
export * from './condition/index.js';
|
|
3
|
+
export * from './controller/index.js';
|
|
2
4
|
export * from './create-extension-class.function.js';
|
|
3
5
|
export * from './create-extension-element-or-fallback.function.js';
|
|
4
6
|
export * from './create-extension-element.function.js';
|
|
5
7
|
export * from './entry-point-extension-initializer.js';
|
|
8
|
+
export * from './entry-point.interface.js';
|
|
6
9
|
export * from './has-default-export.function.js';
|
|
7
10
|
export * from './has-init-export.function.js';
|
|
8
11
|
export * from './load-extension.function.js';
|
|
9
12
|
export * from './registry/extension.registry.js';
|
|
10
13
|
export * from './type-guards/index.js';
|
|
11
14
|
export * from './types.js';
|
|
12
|
-
export * from './entry-point.interface.js';
|
|
@@ -12,11 +12,14 @@ export declare class UmbExtensionRegistry<IncomingManifestTypes extends Manifest
|
|
|
12
12
|
unregisterMany(aliases: Array<string>): void;
|
|
13
13
|
unregister(alias: string): void;
|
|
14
14
|
isRegistered(alias: string): boolean;
|
|
15
|
+
private checkExtension;
|
|
15
16
|
private _kindsOfType;
|
|
16
17
|
private _extensionsOfType;
|
|
17
18
|
private _kindsOfTypes;
|
|
18
19
|
private _extensionsOfTypes;
|
|
20
|
+
getByAlias<T extends ManifestBase = ManifestBase>(alias: string): Observable<T | undefined>;
|
|
19
21
|
getByTypeAndAlias<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, alias: string): Observable<T | undefined>;
|
|
22
|
+
getByTypeAndAliases<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key, aliases: Array<string>): Observable<T[]>;
|
|
20
23
|
extensionsOfType<Key extends keyof ManifestTypeMap<ManifestTypes> | string, T extends ManifestBase = SpecificManifestTypeOrManifestBase<ManifestTypes, Key>>(type: Key): Observable<T[]>;
|
|
21
24
|
extensionsOfTypes<ExtensionTypes extends ManifestBase = ManifestBase>(types: string[]): Observable<Array<ExtensionTypes>>;
|
|
22
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UmbBasicState } from '../../observable-api/index.js';
|
|
2
|
-
import { map, distinctUntilChanged, combineLatest } from '../../../external/rxjs/index.js';
|
|
2
|
+
import { map, distinctUntilChanged, combineLatest, of, switchMap, } from '../../../external/rxjs/index.js';
|
|
3
3
|
function extensionArrayMemoization(previousValue, currentValue) {
|
|
4
4
|
// If length is different, data is different:
|
|
5
5
|
if (previousValue.length !== currentValue.length) {
|
|
@@ -11,7 +11,6 @@ function extensionArrayMemoization(previousValue, currentValue) {
|
|
|
11
11
|
}
|
|
12
12
|
return true;
|
|
13
13
|
}
|
|
14
|
-
// Note: Keeping the memoization in two separate function, for performance concern.
|
|
15
14
|
function extensionAndKindMatchArrayMemoization(previousValue, currentValue) {
|
|
16
15
|
// If length is different, data is different:
|
|
17
16
|
if (previousValue.length !== currentValue.length) {
|
|
@@ -39,6 +38,12 @@ function extensionSingleMemoization(previousValue, currentValue) {
|
|
|
39
38
|
}
|
|
40
39
|
return previousValue === currentValue;
|
|
41
40
|
}
|
|
41
|
+
function extensionAndKindMatchSingleMemoization(previousValue, currentValue) {
|
|
42
|
+
if (previousValue && currentValue) {
|
|
43
|
+
return (previousValue.alias === currentValue.alias && previousValue.isMatchedWithKind === currentValue.isMatchedWithKind);
|
|
44
|
+
}
|
|
45
|
+
return previousValue === currentValue;
|
|
46
|
+
}
|
|
42
47
|
const sortExtensions = (a, b) => (b.weight || 0) - (a.weight || 0);
|
|
43
48
|
export class UmbExtensionRegistry {
|
|
44
49
|
constructor() {
|
|
@@ -49,6 +54,12 @@ export class UmbExtensionRegistry {
|
|
|
49
54
|
this.kinds = this._kinds.asObservable();
|
|
50
55
|
}
|
|
51
56
|
defineKind(kind) {
|
|
57
|
+
const extensionsValues = this._extensions.getValue();
|
|
58
|
+
const extension = extensionsValues.find((extension) => extension.alias === kind.alias);
|
|
59
|
+
if (extension) {
|
|
60
|
+
console.error(`Extension Kind with alias ${kind.alias} is already registered`);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
52
63
|
const nextData = this._kinds
|
|
53
64
|
.getValue()
|
|
54
65
|
.filter((k) => !(k.matchType === kind.matchType &&
|
|
@@ -57,21 +68,15 @@ export class UmbExtensionRegistry {
|
|
|
57
68
|
this._kinds.next(nextData);
|
|
58
69
|
}
|
|
59
70
|
register(manifest) {
|
|
60
|
-
|
|
61
|
-
if (
|
|
62
|
-
this.defineKind(manifest);
|
|
71
|
+
const isValid = this.checkExtension(manifest);
|
|
72
|
+
if (!isValid) {
|
|
63
73
|
return;
|
|
64
74
|
}
|
|
65
|
-
|
|
66
|
-
const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
|
|
67
|
-
if (extension) {
|
|
68
|
-
console.error(`Extension with alias ${manifest.alias} is already registered`);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
this._extensions.next([...extensionsValues, manifest]);
|
|
75
|
+
this._extensions.next([...this._extensions.getValue(), manifest]);
|
|
72
76
|
}
|
|
73
77
|
registerMany(manifests) {
|
|
74
|
-
manifests.
|
|
78
|
+
const validManifests = manifests.filter(this.checkExtension.bind(this));
|
|
79
|
+
this._extensions.next([...this._extensions.getValue(), ...validManifests]);
|
|
75
80
|
}
|
|
76
81
|
unregisterMany(aliases) {
|
|
77
82
|
aliases.forEach((alias) => this.unregister(alias));
|
|
@@ -97,6 +102,27 @@ export class UmbExtensionRegistry {
|
|
|
97
102
|
return this.extensions.pipe(map((extensions) => extensions.find((extension) => extension.alias === alias) || null));
|
|
98
103
|
}
|
|
99
104
|
*/
|
|
105
|
+
checkExtension(manifest) {
|
|
106
|
+
if (!manifest.type) {
|
|
107
|
+
console.error(`Extension is missing type`, manifest);
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
if (!manifest.alias) {
|
|
111
|
+
console.error(`Extension is missing alias`, manifest);
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
if (manifest.type === 'kind') {
|
|
115
|
+
this.defineKind(manifest);
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
const extensionsValues = this._extensions.getValue();
|
|
119
|
+
const extension = extensionsValues.find((extension) => extension.alias === manifest.alias);
|
|
120
|
+
if (extension) {
|
|
121
|
+
console.error(`Extension with alias ${manifest.alias} is already registered`);
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
100
126
|
_kindsOfType(type) {
|
|
101
127
|
return this.kinds.pipe(map((kinds) => kinds.filter((kind) => kind.matchType === type)), distinctUntilChanged(extensionArrayMemoization));
|
|
102
128
|
}
|
|
@@ -110,6 +136,29 @@ export class UmbExtensionRegistry {
|
|
|
110
136
|
_extensionsOfTypes(types) {
|
|
111
137
|
return this.extensions.pipe(map((exts) => exts.filter((ext) => types.indexOf(ext.type) !== -1)), distinctUntilChanged(extensionArrayMemoization));
|
|
112
138
|
}
|
|
139
|
+
getByAlias(alias) {
|
|
140
|
+
return this.extensions.pipe(map((exts) => exts.find((ext) => ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization), switchMap((ext) => {
|
|
141
|
+
if (ext?.kind) {
|
|
142
|
+
return this._kindsOfType(ext.type).pipe(map((kinds) => {
|
|
143
|
+
// Specific Extension Meta merge (does not merge conditions)
|
|
144
|
+
if (ext) {
|
|
145
|
+
// Since we dont have the type up front in this request, we will just get all kinds here and find the matching one:
|
|
146
|
+
const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
|
|
147
|
+
// TODO: This check can go away when making a find kind based on type and kind.
|
|
148
|
+
if (baseManifest) {
|
|
149
|
+
const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
|
|
150
|
+
if (baseManifest.meta) {
|
|
151
|
+
merged.meta = { ...baseManifest.meta, ...ext.meta };
|
|
152
|
+
}
|
|
153
|
+
return merged;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return ext;
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
return of(ext);
|
|
160
|
+
}), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
|
|
161
|
+
}
|
|
113
162
|
getByTypeAndAlias(type, alias) {
|
|
114
163
|
return combineLatest([
|
|
115
164
|
this.extensions.pipe(map((exts) => exts.find((ext) => ext.type === type && ext.alias === alias)), distinctUntilChanged(extensionSingleMemoization)),
|
|
@@ -128,7 +177,26 @@ export class UmbExtensionRegistry {
|
|
|
128
177
|
}
|
|
129
178
|
}
|
|
130
179
|
return ext;
|
|
131
|
-
}), distinctUntilChanged(
|
|
180
|
+
}), distinctUntilChanged(extensionAndKindMatchSingleMemoization));
|
|
181
|
+
}
|
|
182
|
+
getByTypeAndAliases(type, aliases) {
|
|
183
|
+
return combineLatest([
|
|
184
|
+
this.extensions.pipe(map((exts) => exts.filter((ext) => ext.type === type && aliases.indexOf(ext.alias) !== -1)), distinctUntilChanged(extensionArrayMemoization)),
|
|
185
|
+
this._kindsOfType(type),
|
|
186
|
+
]).pipe(map(([exts, kinds]) => exts
|
|
187
|
+
.map((ext) => {
|
|
188
|
+
// Specific Extension Meta merge (does not merge conditions)
|
|
189
|
+
const baseManifest = kinds.find((kind) => kind.matchKind === ext.kind)?.manifest;
|
|
190
|
+
if (baseManifest) {
|
|
191
|
+
const merged = { isMatchedWithKind: true, ...baseManifest, ...ext };
|
|
192
|
+
if (baseManifest.meta) {
|
|
193
|
+
merged.meta = { ...baseManifest.meta, ...ext.meta };
|
|
194
|
+
}
|
|
195
|
+
return merged;
|
|
196
|
+
}
|
|
197
|
+
return ext;
|
|
198
|
+
})
|
|
199
|
+
.sort(sortExtensions)), distinctUntilChanged(extensionAndKindMatchArrayMemoization));
|
|
132
200
|
}
|
|
133
201
|
extensionsOfType(type) {
|
|
134
202
|
return combineLatest([this._extensionsOfType(type), this._kindsOfType(type)]).pipe(map(([exts, kinds]) => exts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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<
|
|
42
|
+
export interface ManifestWithConditions<ConditionType> {
|
|
43
43
|
/**
|
|
44
44
|
* Set the conditions for when the extension should be loaded
|
|
45
45
|
*/
|
|
46
|
-
conditions:
|
|
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
|
|
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<
|
|
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
|
|
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
|
}
|