UNPKG

@design.estate/dees-element

Version:

A library for creating custom elements extending the lit element class with additional functionalities.

76 lines 7.11 kB
import { CSSResult, unsafeCSS } from 'lit'; import * as plugins from './dees-element.plugins.js'; import * as domtools from '@design.estate/dees-domtools'; export class CssManager { constructor() { this.domtoolsPromise = domtools.DomTools.setupDomTools(); this.goBright = false; this.bdVarTripletStore = []; this.cssGridColumns = (amountOfColumnsArg, gapSizeArg) => { let returnString = ``; for (let i = 0; i < amountOfColumnsArg; i++) { returnString += ` calc((100%/${amountOfColumnsArg}) - (${gapSizeArg * (amountOfColumnsArg - 1)}px/${amountOfColumnsArg}))`; } return plugins.lit.unsafeCSS(returnString); }; this.domtoolsPromise.then(async (domtoolsArg) => { domtoolsArg.themeManager.themeObservable.subscribe(async (goBrightArg) => { this.goBright = goBrightArg; await domtoolsArg.domReady.promise; for (const bdTripletArg of this.bdVarTripletStore) { document.body.style.setProperty(bdTripletArg.cssVarName, this.goBright ? bdTripletArg.brightValue : bdTripletArg.darkValue); } }); }); } get defaultStyles() { return domtools.elementBasic.staticStyles; } cssForDesktop(contentArg) { return unsafeCSS(domtools.breakpoints.cssForDesktop(contentArg)); } cssForNotebook(contentArg) { return unsafeCSS(domtools.breakpoints.cssForNotebook(contentArg)); } cssForTablet(contentArg) { return unsafeCSS(domtools.breakpoints.cssForTablet(contentArg)); } cssForPhablet(contentArg) { return unsafeCSS(domtools.breakpoints.cssForPhablet(contentArg)); } cssForPhone(contentArg) { return unsafeCSS(domtools.breakpoints.cssForPhone(contentArg)); } bdTheme(brightValueArg, darkValueArg) { let returnCssVar; // lets determine the default value for quick page rendering. let defaultValue; if (domtools.DomTools.getGlobalDomToolsSync()) { defaultValue = domtools.DomTools.getGlobalDomToolsSync().themeManager.goBrightBoolean ? brightValueArg : darkValueArg; } else { defaultValue = darkValueArg; } const existingTriplet = this.bdVarTripletStore.find((tripletArg) => tripletArg.darkValue === darkValueArg && tripletArg.brightValue === brightValueArg); if (existingTriplet) { returnCssVar = existingTriplet.cssVarName; } else { const newTriplet = { cssVarName: `--${plugins.isounique.uni()}`, brightValue: brightValueArg, darkValue: darkValueArg, }; this.bdVarTripletStore.push(newTriplet); this.domtoolsPromise.then(async (domtoolsArg) => { await domtoolsArg.domReady.promise; document.body.style.setProperty(newTriplet.cssVarName, defaultValue); }); returnCssVar = newTriplet.cssVarName; } return plugins.lit.unsafeCSS(`var(${returnCssVar}, ${defaultValue})`); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1lbGVtZW50LmNsYXNzZXMuY3NzbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2RlZXMtZWxlbWVudC5jbGFzc2VzLmNzc21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDM0MsT0FBTyxLQUFLLE9BQU8sTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBUXpELE1BQU0sT0FBTyxVQUFVO0lBS3JCO1FBSk8sb0JBQWUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3BELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsc0JBQWlCLEdBQW9CLEVBQUUsQ0FBQztRQTZFeEMsbUJBQWMsR0FBRyxDQUFDLGtCQUEwQixFQUFFLFVBQWtCLEVBQWEsRUFBRTtZQUNwRixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzVDLFlBQVksSUFBSSxlQUFlLGtCQUFrQixRQUMvQyxVQUFVLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQ3RDLE1BQU0sa0JBQWtCLElBQUksQ0FBQztZQUMvQixDQUFDO1lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUM7UUFsRkEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO1lBQzlDLFdBQVcsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQ3ZFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO2dCQUM1QixNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2dCQUNuQyxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO29CQUNsRCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQzdCLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQ2xFLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7SUFDNUMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFxQjtRQUN4QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxjQUFjLENBQUMsVUFBcUI7UUFDekMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sWUFBWSxDQUFDLFVBQXFCO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFxQjtRQUN4QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXLENBQUMsVUFBcUI7UUFDdEMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sT0FBTyxDQUFDLGNBQXNCLEVBQUUsWUFBb0I7UUFDekQsSUFBSSxZQUFvQixDQUFDO1FBRXpCLDZEQUE2RDtRQUM3RCxJQUFJLFlBQW9CLENBQUM7UUFDekIsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztZQUM5QyxZQUFZLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlO2dCQUNuRixDQUFDLENBQUMsY0FBYztnQkFDaEIsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDOUIsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQ2pELENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDYixVQUFVLENBQUMsU0FBUyxLQUFLLFlBQVksSUFBSSxVQUFVLENBQUMsV0FBVyxLQUFLLGNBQWMsQ0FDckYsQ0FBQztRQUNGLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsWUFBWSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDNUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFVBQVUsR0FBa0I7Z0JBQ2hDLFVBQVUsRUFBRSxLQUFLLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzFDLFdBQVcsRUFBRSxjQUFjO2dCQUMzQixTQUFTLEVBQUUsWUFBWTthQUN4QixDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQzlDLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ25DLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsWUFBWSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxZQUFZLEtBQUssWUFBWSxHQUFHLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBV0YifQ==