export abstract class DivComponentsManager extends HTMLElement {
protected themeWatcher = themeWatcher
protected disposeFuncs: (() => void)[] = []
constructor() {
super()
}
abstract renderView(): Promise
connectedCallback() {
this.renderView()
}
disconnectedCallback() {
this.disposeFuncs.forEach(func => func())
}
}
export abstract class ButtonComponentsManager extends HTMLButtonElement {
protected themeWatcher = themeWatcher
protected disposeFuncs: (() => void)[] = []
constructor() {
super()
}
abstract renderView(): Promise
connectedCallback() {
this.renderView()
}
disconnectedCallback() {
this.disposeFuncs.forEach(func => func())
}
}