UNPKG

@design.estate/dees-domtools

Version:

A package providing tools to simplify complex CSS structures and web development tasks, featuring TypeScript support and integration with various web technologies.

67 lines 4.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.elementBasicSetup = void 0; const smartpromise_1 = require("@pushrocks/smartpromise"); const createStyleElement = (headElement, styleText) => { const styleElement = document.createElement('style'); styleElement.type = 'text/css'; styleElement.appendChild(document.createTextNode(styleText)); headElement.appendChild(styleElement); }; /** * a basic setup for elements * makes sure everything is in check */ exports.elementBasicSetup = async () => { if (globalThis.deesCssToolsReady) { await globalThis.deesCssToolsReady.promise; } else { // lets prevent double execution globalThis.deesCssToolsReady = smartpromise_1.defer(); // lets make sure the dom is ready const documentReady = smartpromise_1.defer(); const readyStateChangedFunc = () => { if (document.readyState === 'interactive' || document.readyState === 'complete') { console.log('elementBasicSetup: element basic setup complete'); documentReady.resolve(); } else { console.log('elementBasicSetup: document not yet ready'); } }; document.addEventListener('readystatechange', readyStateChangedFunc); console.log('elementBasicSetup: waiting for document to be ready'); await documentReady.promise; console.log('elementBasicSetup: document ready!'); // lets get started const head = document.querySelector('head'); const body = document.querySelector('body'); // bodyStyles const bodyStyles = ` body { margin: 0px; font-family: 'Roboto', sans-serif; box-sizing: border-box; } `; createStyleElement(head, bodyStyles); // material font const materialFontStyles = ` @font-face { font-family: 'Material Icons'; font-style: normal; font-weight: 400; src: url(https://fonts.gstatic.com/s/materialicons/v42/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2'); } `; createStyleElement(head, materialFontStyles); // Roboto Font const robotoFontCss = ` @import url('https://fonts.googleapis.com/css?family=Roboto'); `; createStyleElement(head, robotoFontCss); globalThis.deesCssToolsReady.resolve(); } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tdG9vbHMuZWxlbWVudGJhc2ljc2V0dXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9kb210b29scy5lbGVtZW50YmFzaWNzZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBZ0Q7QUFFaEQsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFdBQXdCLEVBQUUsU0FBaUIsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7SUFDL0IsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLGlCQUFpQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzFDLElBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFO1FBQ2hDLE1BQU0sVUFBVSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQztLQUM1QztTQUFNO1FBQ0wsZ0NBQWdDO1FBQ2hDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxvQkFBSyxFQUFFLENBQUM7UUFFdkMsa0NBQWtDO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLG9CQUFLLEVBQUUsQ0FBQztRQUM5QixNQUFNLHFCQUFxQixHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssYUFBYSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO2dCQUMvRSxPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUE7Z0JBQzlELGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUN6QjtpQkFBTTtnQkFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7YUFDMUQ7UUFDSCxDQUFDLENBQUM7UUFDRixRQUFRLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDbkUsTUFBTSxhQUFhLENBQUMsT0FBTyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUVsRCxtQkFBbUI7UUFDbkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLGFBQWE7UUFDYixNQUFNLFVBQVUsR0FBRzs7Ozs7O0tBTWxCLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFckMsZ0JBQWdCO1FBQ2hCLE1BQU0sa0JBQWtCLEdBQUc7Ozs7Ozs7S0FPMUIsQ0FBQztRQUNGLGtCQUFrQixDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdDLGNBQWM7UUFDZCxNQUFNLGFBQWEsR0FBRzs7S0FFckIsQ0FBQztRQUNGLGtCQUFrQixDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV4QyxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDeEM7QUFDSCxDQUFDLENBQUMifQ==