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;
});
}
}