From 1c2814764c4fddbb9aff91f4c1562bf1557a40b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Thu, 27 Apr 2023 15:57:33 +0200 Subject: [PATCH] use UmbWorkspaceEditorViewExtensionElement --- .../libs/extensions-registry/interfaces/index.ts | 12 ++++++++---- .../modal-extension-element.interface.ts | 8 ++++++++ .../document-type-workspace-view-edit.element.ts | 6 +++++- ...ocument-type-workspace-view-details.element.ts | 6 +++++- ...ument-type-workspace-view-structure.element.ts | 6 +++++- ...ument-type-workspace-view-templates.element.ts | 6 +++++- .../edit/document-workspace-view-edit.element.ts | 6 +++++- .../edit/media-edit-workspace-view.element.ts | 7 +++---- .../info/media-info-workspace-view.element.ts | 7 +++---- .../created-packages-section-view.element.ts | 8 ++++++-- .../installed-packages-section-view.element.ts | 3 ++- .../data-type-details-workspace-view.element.ts | 10 ++++++---- .../info/workspace-view-data-type-info.element.ts | 10 ++++++---- .../language-details-workspace-view.element.ts | 10 ++++++---- ...n-type-workspace-view-relation-type.element.ts | 6 +++++- ...rkspace-view-relation-type-relation.element.ts | 10 ++++++---- .../src/core/modal/modal-element.element.ts | 15 ++++++--------- 17 files changed, 90 insertions(+), 46 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/modal-extension-element.interface.ts diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/index.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/index.ts index 1d3dee8b57..0454c17339 100644 --- a/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/index.ts +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/index.ts @@ -1,5 +1,9 @@ -export * from './property-editor-ui-extension-element.interface'; -export * from './tree-item-extension-element.interface'; -export * from './section-extension-element.interface'; -export * from './section-view-extension-element.interface'; export * from './dashboard-extension-element.interface'; +export * from './external-login-provider-extension-element.interface'; +export * from './modal-extension-element.interface'; +export * from './property-editor-ui-extension-element.interface'; +export * from './section-extension-element.interface'; +export * from './section-sidebar-app-extension-element.interface'; +export * from './section-view-extension-element.interface'; +export * from './tree-item-extension-element.interface'; +export * from './workspace-editor-view-extension-element.interface'; diff --git a/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/modal-extension-element.interface.ts b/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/modal-extension-element.interface.ts new file mode 100644 index 0000000000..8c7b0c398a --- /dev/null +++ b/src/Umbraco.Web.UI.Client/libs/extensions-registry/interfaces/modal-extension-element.interface.ts @@ -0,0 +1,8 @@ +import type { UmbModalHandler } from '@umbraco-cms/backoffice/modal'; + +export interface UmbModalExtensionElement + extends HTMLElement { + modalHandler?: UmbModalHandler; + + data?: UmbModalData; +} diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts index 1f6302f967..ecf5e2d97c 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/design/document-type-workspace-view-edit.element.ts @@ -10,9 +10,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; import type { UmbRoute } from '@umbraco-cms/backoffice/router'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-document-type-workspace-view-edit') -export class UmbDocumentTypeWorkspaceViewEditElement extends UmbLitElement { +export class UmbDocumentTypeWorkspaceViewEditElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ //private _hasRootProperties = false; private _hasRootGroups = false; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/details/document-type-workspace-view-details.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/details/document-type-workspace-view-details.element.ts index b81255e9c4..49befb5e2e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/details/document-type-workspace-view-details.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/details/document-type-workspace-view-details.element.ts @@ -5,9 +5,13 @@ import type { UUIToggleElement } from '@umbraco-ui/uui'; import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.context'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-document-type-workspace-view-details') -export class UmbDocumentTypeWorkspaceViewDetailsElement extends UmbLitElement { +export class UmbDocumentTypeWorkspaceViewDetailsElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ #workspaceContext?: UmbDocumentTypeWorkspaceContext; @state() diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts index a5a0e97b64..ae722f1530 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts @@ -6,9 +6,13 @@ import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.c import type { UmbInputDocumentTypePickerElement } from '../../../../../../backoffice/shared/components/input-document-type-picker/input-document-type-picker.element'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-document-type-workspace-view-structure') -export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement { +export class UmbDocumentTypeWorkspaceViewStructureElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ #workspaceContext?: UmbDocumentTypeWorkspaceContext; @state() diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts index 6c549d0db5..ffc8c93c8f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/document-types/workspace/views/templates/document-type-workspace-view-templates.element.ts @@ -5,9 +5,13 @@ import { UmbDocumentTypeWorkspaceContext } from '../../document-type-workspace.c import type { UmbInputTemplateElement } from '../../../../../../backoffice/shared/components/input-template/input-template.element'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-document-type-workspace-view-templates') -export class UmbDocumentTypeWorkspaceViewTemplatesElement extends UmbLitElement { +export class UmbDocumentTypeWorkspaceViewTemplatesElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ #workspaceContext?: UmbDocumentTypeWorkspaceContext; @state() diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts index ecf9b39e51..7e8658535e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/views/edit/document-workspace-view-edit.element.ts @@ -9,9 +9,13 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { PropertyTypeContainerResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; import { UmbRoute } from '@umbraco-cms/backoffice/router'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-document-workspace-view-edit') -export class UmbDocumentWorkspaceViewEditElement extends UmbLitElement { +export class UmbDocumentWorkspaceViewEditElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ //private _hasRootProperties = false; private _hasRootGroups = false; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts index 3820549b09..fd4aefb04a 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/edit/media-edit-workspace-view.element.ts @@ -2,15 +2,14 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement } from 'lit/decorators.js'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-media-edit-workspace-view') -export class UmbMediaEditWorkspaceViewElement extends UmbLitElement { - - +export class UmbMediaEditWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceEditorViewExtensionElement { render() { return html`
Render Media Props
`; } - + static styles = [UUITextStyles, css``]; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts index 274418a635..1f803bdc26 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/media/media/workspace/views/info/media-info-workspace-view.element.ts @@ -2,15 +2,14 @@ import { css, html } from 'lit'; import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { customElement } from 'lit/decorators.js'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-media-info-workspace-view') -export class UmbMediaInfoWorkspaceViewElement extends UmbLitElement { - - +export class UmbMediaInfoWorkspaceViewElement extends UmbLitElement implements UmbWorkspaceEditorViewExtensionElement { render() { return html`
Media info
`; } - + static styles = [UUITextStyles, css``]; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts index 02edd8b7f5..75bf2b9b81 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/created/created-packages-section-view.element.ts @@ -1,12 +1,16 @@ import { html } from 'lit'; import { customElement, state } from 'lit/decorators.js'; import type { UmbRoute } from '@umbraco-cms/backoffice/router'; -import type { ManifestTree, ManifestWorkspace } from '@umbraco-cms/backoffice/extensions-registry'; +import type { + ManifestTree, + ManifestWorkspace, + UmbSectionViewExtensionElement, +} from '@umbraco-cms/backoffice/extensions-registry'; import { createExtensionElement, umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @customElement('umb-created-packages-section-view') -export class UmbCreatedPackagesSectionViewElement extends UmbLitElement { +export class UmbCreatedPackagesSectionViewElement extends UmbLitElement implements UmbSectionViewExtensionElement { @state() private _routes: UmbRoute[] = []; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts index 65f730220a..87b152a156 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/packages/package-section/views/installed/installed-packages-section-view.element.ts @@ -8,9 +8,10 @@ import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import type { UmbPackageWithMigrationStatus } from '@umbraco-cms/backoffice/models'; import './installed-packages-section-view-item.element'; +import { UmbSectionViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-installed-packages-section-view') -export class UmbInstalledPackagesSectionViewElement extends UmbLitElement { +export class UmbInstalledPackagesSectionViewElement extends UmbLitElement implements UmbSectionViewExtensionElement { @state() private _installedPackages: UmbPackageWithMigrationStatus[] = []; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts index 63784eada4..76a331a977 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/details/data-type-details-workspace-view.element.ts @@ -14,11 +14,13 @@ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extensions-api'; import '../../../../../shared/property-editors/shared/property-editor-config/property-editor-config.element'; import '../../../../../shared/components/ref-property-editor-ui/ref-property-editor-ui.element'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-data-type-details-workspace-view') -export class UmbDataTypeDetailsWorkspaceViewEditElement extends UmbLitElement { - - +export class UmbDataTypeDetailsWorkspaceViewEditElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ @state() _dataType?: DataTypeResponseModel; @@ -162,7 +164,7 @@ export class UmbDataTypeDetailsWorkspaceViewEditElement extends UmbLitElement { : nothing} `; } - + static styles = [ UUITextStyles, css` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts index fff37abf7e..607e566ab4 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/workspace/views/info/workspace-view-data-type-info.element.ts @@ -6,11 +6,13 @@ import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-ap import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { DataTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-workspace-view-data-type-info') -export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement { - - +export class UmbWorkspaceViewDataTypeInfoElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ @state() _dataType?: DataTypeResponseModel; @@ -59,7 +61,7 @@ export class UmbWorkspaceViewDataTypeInfoElement extends UmbLitElement { private _renderReferences() { return html` `; } - + static styles = [ UUITextStyles, css` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts index f60d8ae9c0..00705baa9e 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/languages/workspace/language/views/details/language-details-workspace-view.element.ts @@ -10,11 +10,13 @@ import { UmbChangeEvent } from '@umbraco-cms/backoffice/events'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-language-details-workspace-view') -export class UmbLanguageDetailsWorkspaceViewElement extends UmbLitElement { - - +export class UmbLanguageDetailsWorkspaceViewElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ @state() _language?: LanguageResponseModel; @@ -185,7 +187,7 @@ export class UmbLanguageDetailsWorkspaceViewElement extends UmbLitElement { `; } - + static styles = [ UUITextStyles, css` diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts index 934f15d8f2..46fa3eaf09 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation-type/relation-type-workspace-view-relation-type.element.ts @@ -7,9 +7,13 @@ import { UmbRelationTypeWorkspaceContext } from '../../relation-type-workspace.c import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import type { RelationTypeResponseModel } from '@umbraco-cms/backoffice/backend-api'; import { UMB_ENTITY_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/context-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-relation-type-workspace-view-relation-type') -export class UmbRelationTypeWorkspaceViewRelationTypeElement extends UmbLitElement { +export class UmbRelationTypeWorkspaceViewRelationTypeElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ @state() private _relationType?: RelationTypeResponseModel; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts index 69688fdd19..49308207c1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts @@ -4,11 +4,13 @@ import { customElement, state } from 'lit/decorators.js'; import { UmbTableColumn, UmbTableConfig } from '../../../../../shared/components/table'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { RelationResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbWorkspaceEditorViewExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; @customElement('umb-workspace-view-relation-type-relation') -export class UmbWorkspaceViewRelationTypeRelationElement extends UmbLitElement { - - +export class UmbWorkspaceViewRelationTypeRelationElement + extends UmbLitElement + implements UmbWorkspaceEditorViewExtensionElement +{ //TODO Use real data @state() _relations: Array = MockData; @@ -68,7 +70,7 @@ export class UmbWorkspaceViewRelationTypeRelationElement extends UmbLitElement { `; } - + static styles = [ UUITextStyles, css` diff --git a/src/Umbraco.Web.UI.Client/src/core/modal/modal-element.element.ts b/src/Umbraco.Web.UI.Client/src/core/modal/modal-element.element.ts index 005bf6baac..b9052d6d56 100644 --- a/src/Umbraco.Web.UI.Client/src/core/modal/modal-element.element.ts +++ b/src/Umbraco.Web.UI.Client/src/core/modal/modal-element.element.ts @@ -1,18 +1,15 @@ -import { customElement, property } from 'lit/decorators.js'; +import { property } from 'lit/decorators.js'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; import { UmbModalHandler } from '@umbraco-cms/backoffice/modal'; +import type { UmbModalExtensionElement } from '@umbraco-cms/backoffice/extensions-registry'; -@customElement('umb-modal-element') -export class UmbModalBaseElement extends UmbLitElement { +export abstract class UmbModalBaseElement + extends UmbLitElement + implements UmbModalExtensionElement +{ @property({ attribute: false }) modalHandler?: UmbModalHandler; @property({ type: Object, attribute: false }) data?: UmbModalData; } - -declare global { - interface HTMLElementTagNameMap { - 'umb-modal-element': UmbModalBaseElement; - } -}