import {customElement, DeesElement, TemplateResult, property, html} from '@designestate/dees-element'; import * as domtools from '@designestate/dees-domtools'; declare global { interface HTMLElementTagNameMap { 'dees-input-text': DeesInputText; } } @customElement('dees-input-text') export class DeesInputText extends DeesElement { public static demo = () => html``; // INSTANCE public changeSubject = new domtools.rxjs.Subject(); @property() public label: string = 'Label'; @property() public key: string; @property() public value: string; @property({ type: Boolean }) public required: boolean = false; public render(): TemplateResult { return html `
${this.label}
`; } public async updateValue(eventArg: Event) { const target: any = eventArg.target; this.value = target.value; this.changeSubject.next(this); } }