import { DomTools, type IDomToolsContructorOptions } from './domtools.classes.domtools.js'; import { scrollBarStyles, globalBaseStyles } from './domtools.css.basestyles.js'; import { html, LitElement, css, unsafeCSS } from 'lit'; export const staticStyles = css` * { transition: background 0.1s, color 0.1s; box-sizing: border-box; } :host { box-sizing: border-box; font-family: 'Geist Sans', 'Inter', sans-serif; } ${unsafeCSS(scrollBarStyles)} `; /** * styles to be included in every webcomponent */ export const styles = html` `; /** * a basic setup for elements * makes sure everything is in check */ export const setup = async ( elementArg?: LitElement, optionsArg: IDomToolsContructorOptions = {} ): Promise => { const domTools = await DomTools.setupDomTools(optionsArg); if (elementArg) { // lets do something with the element // not used right now } await domTools.runOnce('elementBasicSetup', async () => { // bodyStyles await domTools.setGlobalStyles(globalBaseStyles); }); if (domTools.globalStylesReady.status === 'pending') { domTools.globalStylesReady.resolve(); } await domTools.globalStylesReady.promise; return domTools; };