UNPKG

@design.estate/dees-element

Version:

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

76 lines 7.05 kB
import { CSSResult, unsafeCSS } from 'lit'; import * as plugins from './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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5jc3NtYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5jc3NtYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFRekQsTUFBTSxPQUFPLFVBQVU7SUFLckI7UUFKTyxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEQsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixzQkFBaUIsR0FBb0IsRUFBRSxDQUFDO1FBNkV4QyxtQkFBYyxHQUFHLENBQUMsa0JBQTBCLEVBQUUsVUFBa0IsRUFBYSxFQUFFO1lBQ3BGLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDNUMsWUFBWSxJQUFJLGVBQWUsa0JBQWtCLFFBQy9DLFVBQVUsR0FBRyxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FDdEMsTUFBTSxrQkFBa0IsSUFBSSxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQztRQWxGQSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDOUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUM7Z0JBQzVCLE1BQU0s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