import { customElement, html, DeesElement, css, cssManager, property, } from '@designestate/dees-element'; import { DeesForm } from './dees-form.js'; declare global { interface HTMLElementTagNameMap { 'dees-form-submit': DeesFormSubmit; } } @customElement('dees-form-submit') export class DeesFormSubmit extends DeesElement { public static demo = () => html`This is a sloted text`; @property({ type: Boolean, }) public disabled = false; @property({ type: String, }) public text: string; @property({ type: String }) public status: 'normal' | 'pending' | 'success' | 'error' = 'normal'; constructor() { super(); } public static styles = [cssManager.defaultStyles, css``]; public render() { return html` `; } public async submit() { if (this.disabled) { return; } const parentElement: DeesForm = this.parentElement as DeesForm; parentElement.gatherAndDispatch(); } }