import { DeesElement, property, html, customElement, type TemplateResult, cssManager, css, } from '@design.estate/dees-element'; import * as domtools from '@design.estate/dees-domtools'; import { SioCombox } from './sio-combox.js'; SioCombox; declare global { interface HTMLElementTagNameMap { 'sio-fab': SioFab; } } @customElement('sio-fab') export class SioFab extends DeesElement { @property() public showCombox = false; public static demo = () => html` `; constructor() { super(); domtools.DomTools.setupDomTools(); } public render(): TemplateResult { return html` ${domtools.elementBasic.styles}
`; } /** * toggles the combox */ public async toggleCombox() { console.log('toggle combox'); this.showCombox = !this.showCombox; } public async firstUpdated(args) { super.firstUpdated(args); const domtools = await this.domtoolsPromise; const sioCombox: SioCombox = this.shadowRoot.querySelector('sio-combox'); const mainBox: HTMLElement = this.shadowRoot.querySelector('#mainbox'); sioCombox.referenceObject = mainBox; domtools.keyboard .on([domtools.keyboard.keyEnum.Ctrl, domtools.keyboard.keyEnum.S]) .subscribe((event) => { this.showCombox = !this.showCombox; }); } }