@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
JavaScript
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==
;