diff --git a/src/dom_components/model/Component.ts b/src/dom_components/model/Component.ts index ca9861334..3f54433ba 100644 --- a/src/dom_components/model/Component.ts +++ b/src/dom_components/model/Component.ts @@ -164,6 +164,10 @@ export default class Component extends StyleableModel { }; } + get tagName() { + return this.get('tagName')!; + } + get classes() { return this.get('classes')!; } diff --git a/src/dom_components/model/ComponentHead.ts b/src/dom_components/model/ComponentHead.ts index 83d066e30..29e96c833 100644 --- a/src/dom_components/model/ComponentHead.ts +++ b/src/dom_components/model/ComponentHead.ts @@ -1,7 +1,9 @@ import Component from './Component'; import { toLowerCase } from '../../utils/mixins'; +import { DraggableDroppableFn } from './types'; export const type = 'head'; +const droppable = ['title', 'style', 'base', 'link', 'meta', 'script', 'noscript']; export default class ComponentHead extends Component { get defaults() { @@ -11,7 +13,7 @@ export default class ComponentHead extends Component { type, tagName: type, draggable: false, - droppable: ['title', 'style', 'base', 'link', 'meta', 'script', 'noscript'], + droppable: (({ tagName }) => !tagName || droppable.includes(toLowerCase(tagName))) as DraggableDroppableFn, }; }