diff --git a/packages/core/src/dom_components/model/ComponentWrapper.ts b/packages/core/src/dom_components/model/ComponentWrapper.ts index c5960e648..615276556 100644 --- a/packages/core/src/dom_components/model/ComponentWrapper.ts +++ b/packages/core/src/dom_components/model/ComponentWrapper.ts @@ -32,15 +32,17 @@ export default class ComponentWrapper extends Component { constructor(...args: ConstructorParameters) { super(...args); + const props = args[0] || {}; const opts = args[1]; + const cmp = opts?.em?.Components; const CmpHead = cmp?.getType(typeHead)?.model; const CmpDef = cmp?.getType('default').model; if (CmpHead) { this.set( { - head: new CmpHead({}, opts), - docEl: new CmpDef({ tagName: 'html' }, opts), + head: new CmpHead({ ...props.head }, opts), + docEl: new CmpDef({ tagName: 'html', ...props.docEl }, opts), }, { silent: true }, ); diff --git a/packages/core/test/specs/dom_components/index.ts b/packages/core/test/specs/dom_components/index.ts index fe069382d..fd2733788 100644 --- a/packages/core/test/specs/dom_components/index.ts +++ b/packages/core/test/specs/dom_components/index.ts @@ -390,8 +390,8 @@ describe('DOM Components', () => { let projectData: ProjectData; const docHtml = ` - - + + ABC @@ -412,8 +412,8 @@ describe('DOM Components', () => { const newRoot = editor.getWrapper()!; const { head, doctype } = newRoot; - // expect(head.components().length).toBe(1); - // expect(doctype).toBe(''); + expect(head.components().length).toBe(1); + expect(doctype).toBe(''); expect(newRoot.toHTML()).toBe(flattenHTML(docHtml)); });