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 42e57e47d8..795d5b2cae 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 @@ -5,8 +5,7 @@ import { css } from 'lit'; import { map } from 'rxjs'; import { repeat } from 'lit/directives/repeat.js'; import { umbExtensionsRegistry } from '@umbraco-cms/extensions-registry'; -import { createExtensionElement } from '@umbraco-cms/extensions-api'; -import { isManifestElementableType } from 'src/core/extensions-api/is-manifest-elementable-type.function'; +import { createExtensionElement, isManifestElementableType } from '@umbraco-cms/extensions-api'; import { UmbLitElement } from '@umbraco-cms/element'; export type InitializedExtension = { alias: string; weight: number; component: HTMLElement | null }; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts index b95c8e64dd..d29223e7e2 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/extension-slot/extension-slot.test.ts @@ -9,6 +9,10 @@ class MyExtensionSlotManifestElement extends HTMLElement { } +function sleep(ms: number) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + describe('UmbExtensionSlotElement', () => { @@ -74,7 +78,9 @@ describe('UmbExtensionSlotElement', () => { html` x.alias === 'unit-test-ext-slot-element-manifest'}>` ); - expect(element.firstChild).to.be.instanceOf(MyExtensionSlotManifestElement); + await sleep(0); + + expect(element.shadowRoot!.firstElementChild).to.be.instanceOf(MyExtensionSlotManifestElement); }); it('use the render method', async () => { @@ -88,8 +94,10 @@ describe('UmbExtensionSlotElement', () => { ` ); - expect(element.firstChild?.nodeName).to.be.equal('bla'); - expect(element.firstChild?.firstChild).to.be.instanceOf(MyExtensionSlotManifestElement); + await sleep(0); + + expect(element.shadowRoot!.firstElementChild?.nodeName).to.be.equal('BLA'); + expect(element.shadowRoot!.firstElementChild?.firstElementChild).to.be.instanceOf(MyExtensionSlotManifestElement); }); }); diff --git a/src/Umbraco.Web.UI.Client/src/core/extensions-api/index.ts b/src/Umbraco.Web.UI.Client/src/core/extensions-api/index.ts index 936aeb172b..56e697161e 100644 --- a/src/Umbraco.Web.UI.Client/src/core/extensions-api/index.ts +++ b/src/Umbraco.Web.UI.Client/src/core/extensions-api/index.ts @@ -2,4 +2,7 @@ export * from './registry/extension.registry'; export * from './create-extension-element.function'; export * from './has-default-export.function'; export * from './is-manifest-element-name-type.function'; +export * from './is-manifest-elementable-type.function'; +export * from './is-manifest-js-type.function'; +export * from './is-manifest-loader-type.function'; export * from './load-extension.function';