diff --git a/src/dom_components/model/Component.ts b/src/dom_components/model/Component.ts index 3302415f5..dc1c826da 100644 --- a/src/dom_components/model/Component.ts +++ b/src/dom_components/model/Component.ts @@ -112,7 +112,7 @@ export const keyUpdateInside = `${keyUpdate}-inside`; */ export default class Component extends StyleableModel { // @ts-ignore - get defaults() { + get defaults(): ComponentDefinitionDefined { return { tagName: 'div', type: '', diff --git a/src/dom_components/model/ComponentSvg.js b/src/dom_components/model/ComponentSvg.ts similarity index 50% rename from src/dom_components/model/ComponentSvg.js rename to src/dom_components/model/ComponentSvg.ts index eadf9e719..1c10f35ae 100644 --- a/src/dom_components/model/ComponentSvg.js +++ b/src/dom_components/model/ComponentSvg.ts @@ -1,25 +1,28 @@ import Component from './Component'; -import { toLowerCase } from 'utils/mixins'; +import { toLowerCase } from '../../utils/mixins'; const type = 'svg'; export default class ComponentSvg extends Component { get defaults() { return { + // @ts-ignore ...super.defaults, type, tagName: type, - highlightable: 0, - resizable: { ratioDefault: 1 }, + highlightable: false, + resizable: { ratioDefault: true }, }; } getName() { - let name = this.get('tagName'); - let customName = this.get('custom-name'); + let name = this.get('tagName')!; + const customName = this.get('custom-name'); name = name.charAt(0).toUpperCase() + name.slice(1); return customName || name; } -} -ComponentSvg.isComponent = el => toLowerCase(el.tagName) === type; + static isComponent(el: HTMLElement) { + return toLowerCase(el.tagName) === type; + } +} diff --git a/src/dom_components/model/types.ts b/src/dom_components/model/types.ts index 6f75e0e6d..ff9e7f012 100644 --- a/src/dom_components/model/types.ts +++ b/src/dom_components/model/types.ts @@ -190,7 +190,7 @@ export interface ComponentDefinitionDefined extends Omit[]; + traits?: (Partial | string)[]; [key: string]: any; }