diff --git a/ts_web/elements/dees-form-submit.ts b/ts_web/elements/dees-form-submit.ts index 72e08c0..e53911e 100644 --- a/ts_web/elements/dees-form-submit.ts +++ b/ts_web/elements/dees-form-submit.ts @@ -8,7 +8,6 @@ import { type CSSResult, } from '@design.estate/dees-element'; import { DeesForm } from './dees-form.js'; -import './dees-button.js'; // Import to ensure dees-button is registered declare global { interface HTMLElementTagNameMap { diff --git a/ts_web/elements/dees-simple-login.ts b/ts_web/elements/dees-simple-login.ts index 23d848d..6e4d2d1 100644 --- a/ts_web/elements/dees-simple-login.ts +++ b/ts_web/elements/dees-simple-login.ts @@ -8,16 +8,8 @@ import { type TemplateResult, cssManager, css, - unsafeCSS, - type CSSResult, - state, } from '@design.estate/dees-element'; -// Import components used in template -import './dees-form.js'; -import './dees-input-text.js'; -import './dees-form-submit.js'; - declare global { interface HTMLElementTagNameMap { 'dees-simple-login': DeesSimpleLogin; @@ -126,46 +118,19 @@ export class DeesSimpleLogin extends DeesElement { public async firstUpdated(_changedProperties: Map): Promise { super.firstUpdated(_changedProperties); - const domtools = await this.domtoolsPromise; - - // Wait a tick to ensure child elements are rendered - await this.updateComplete; const form = this.shadowRoot.querySelector('dees-form') as any; - - if (!form) { - console.error('dees-form element not found in dees-simple-login'); - return; + if (form) { + form.addEventListener('formData', (event: CustomEvent) => { + this.dispatchEvent(new CustomEvent('login', { + detail: event.detail, + bubbles: true, + composed: true + })); + }); } - - // Check if the form has the readyDeferred property and wait for it - if (form.readyDeferred?.promise) { - try { - await form.readyDeferred.promise; - } catch (error) { - console.error('Error waiting for form ready:', error); - } - } - - const username = this.shadowRoot.querySelector('dees-input-text[key="username"]'); - const password = this.shadowRoot.querySelector('dees-input-text[key="password"]'); - const submit = this.shadowRoot.querySelector('dees-form-submit'); - - // Add form data listener - form.addEventListener('formData', (event: CustomEvent) => { - this.dispatchEvent(new CustomEvent('login', { - detail: event.detail, - bubbles: true, - composed: true - })); - }); } - /** - * Dispatches a 'login' event when the form is submitted. - * Event detail structure: { data: { username: string, password: string } } - */ - /** * allows switching to slotted content */