26 lines
671 B
TypeScript
26 lines
671 B
TypeScript
// components/Widget.ts
|
|
import { createElement } from '../utils/utils';
|
|
|
|
export abstract class Widget {
|
|
protected container: HTMLElement;
|
|
protected sizeType: 'default' | 'icon';
|
|
|
|
constructor(sizeType: 'default' | 'icon' = 'default') {
|
|
this.container = createElement('div');
|
|
this.container.classList.add('widget');
|
|
this.sizeType = sizeType;
|
|
if (sizeType === 'icon') {
|
|
this.container.classList.add('icon-widget');
|
|
}
|
|
}
|
|
|
|
abstract render(): HTMLElement;
|
|
|
|
getSizeType(): 'default' | 'icon' {
|
|
return this.sizeType;
|
|
}
|
|
|
|
getContainer(): HTMLElement {
|
|
return this.container;
|
|
}
|
|
} |