import { demoFunc } from './dees-simple-login.demo.js'; import { customElement, html, DeesElement, property, type TemplateResult, cssManager, css, } from '@design.estate/dees-element'; import { themeDefaultStyles } from '../../00theme.js'; declare global { interface HTMLElementTagNameMap { 'dees-simple-login': DeesSimpleLogin; } } @customElement('dees-simple-login') export class DeesSimpleLogin extends DeesElement { // STATIC public static demo = demoFunc; public static demoGroups = ['Simple']; // INSTANCE @property() accessor name: string = 'Application'; public static styles = [ themeDefaultStyles, cssManager.defaultStyles, css` :host { color: var(--dees-color-text-primary); user-select: none; display: block; width: 100%; height: 100%; font-family: 'Geist Sans', sans-serif; } .loginContainer { position: absolute; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; top: 0; left: 0; background: var(--dees-color-bg-primary); } .slotContainer { position: absolute; width: 100%; height: 100%; top: 0; left: 0; opacity: 0; transition: opacity 0.2s ease, transform 0.2s ease; pointer-events: none; } .login { width: 100%; max-width: 360px; display: flex; flex-direction: column; gap: 24px; } .login-header { display: flex; flex-direction: column; gap: 8px; text-align: center; } .header { font-size: 24px; font-weight: 600; letter-spacing: -0.025em; color: var(--dees-color-text-primary); } .subheader { font-size: 14px; color: var(--dees-color-text-muted); } .login-card { background: var(--dees-color-bg-primary); border: 1px solid var(--dees-color-border-default); border-radius: 8px; padding: 24px; } .login-card dees-form { display: flex; flex-direction: column; gap: 16px; } .login-card dees-input-text { width: 100%; } .login-card dees-form-submit { margin-top: 8px; width: 100%; } `, ]; public render(): TemplateResult { return html`