diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts index c00af0da64..04084f2a21 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.element.ts @@ -1,4 +1,4 @@ -import { nothing } from 'lit'; +import { nothing, TemplateResult } from 'lit'; import { customElement, property, state } from 'lit/decorators.js'; import { map } from 'rxjs'; import { repeat } from 'lit/directives/repeat.js'; @@ -31,6 +31,9 @@ export class UmbExtensionSlotElement extends UmbLitElement { @property({ type: String, attribute: 'default-element' }) public defaultElement = ''; + @property() + public renderMethod: (manifest: InitializedExtensionItem) => TemplateResult<1> | HTMLElement | null = (manifest) => manifest.component; + connectedCallback(): void { super.connectedCallback(); this._observeExtensions(); @@ -87,7 +90,7 @@ export class UmbExtensionSlotElement extends UmbLitElement { return repeat( this._extensions, (ext) => ext.alias, - (ext) => ext.component || nothing + (ext) => this.renderMethod(ext) || nothing ); } }