Compare commits

...

15 Commits

Author SHA1 Message Date
e3939865aa 1.0.13 2020-05-24 19:56:46 +00:00
ba20508642 fix(core): update 2020-05-24 19:56:45 +00:00
bef4ea7bed 1.0.12 2020-05-24 18:54:10 +00:00
17a8151b2f fix(core): update 2020-05-24 18:54:10 +00:00
5aee15a23b 1.0.11 2020-05-23 17:18:15 +00:00
38d78b4e12 1.0.10 2020-05-23 17:13:10 +00:00
ec36a516c0 fix(core): update 2020-05-23 17:13:09 +00:00
1c844d35ca 1.0.9 2020-05-23 16:55:37 +00:00
ecb387f59e fix(core): update 2020-05-23 16:55:36 +00:00
9b3c92fef5 1.0.8 2020-05-23 16:43:37 +00:00
74cf94a69e fix(core): update 2020-05-23 16:43:36 +00:00
9f76d4e920 1.0.7 2020-05-23 16:36:30 +00:00
082ef21078 fix(core): update 2020-05-23 16:36:29 +00:00
4db0e6f5fc 1.0.6 2020-05-23 15:44:58 +00:00
40b8c5010d fix(core): update 2020-05-23 15:44:58 +00:00
10 changed files with 102 additions and 31 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@designestate/dees-domtools",
"version": "1.0.5",
"version": "1.0.13",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@designestate/dees-domtools",
"version": "1.0.5",
"version": "1.0.13",
"private": false,
"description": "tools to simplify complex css structures",
"main": "dist_ts/index.js",

View File

@ -1,25 +0,0 @@
import { defer } from '@pushrocks/smartpromise';
/**
* a basic setup for elements
* makes sure everything is in check
*/
export const elementBasicSetup = async () => {
if (globalThis.deesCssToolsReady) {
await globalThis.deesCssToolsReady.promise;
} else {
globalThis.deesCssToolsReady = defer();
const documentReady = defer();
document.onreadystatechange = () => {
if (document.readyState === 'interactive') {
documentReady.resolve();
}
};
await documentReady.promise;
const head = document.querySelector('head');
const styleElement = document.createElement('style');
styleElement.type = 'text/css';
styleElement.appendChild(document.createTextNode(materialFontCss));
globalThis.deesCssToolsReady.resolve();
}
};

View File

@ -0,0 +1,5 @@
export class DeesDomTools {
public static createDomTools = () => {
globalThis.deesDomTools = new DeesDomTools();
}
}

6
ts/domtools.colors.ts Normal file
View File

@ -0,0 +1,6 @@
export interface IDeesColorSet {
primaryAccent: string;
secondaryAccent: string;
primaryBackground: string;
secondaryBackground: string;
}

7
ts/domtools.css.ts Normal file
View File

@ -0,0 +1,7 @@
export const cssGridColumns = (amountOfColumnsArg: number, gapSizeArg: number) => {
let returnString = ``;
for (let i = 0; i < amountOfColumnsArg; i++) {
returnString += ` calc((100%/${amountOfColumnsArg}) - (${gapSizeArg * (amountOfColumnsArg - 1)}px/${amountOfColumnsArg}))`;
}
return returnString;
};

View File

@ -0,0 +1,69 @@
import { defer } from '@pushrocks/smartpromise';
const createStyleElement = (headElement: HTMLElement, styleText: string) => {
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
*/
export const elementBasicSetup = async () => {
if (globalThis.deesCssToolsReady) {
await globalThis.deesCssToolsReady.promise;
} else {
// lets prevent double execution
globalThis.deesCssToolsReady = defer();
// lets make sure the dom is ready
const documentReady = 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();
}
};

View File

@ -1,8 +1,17 @@
export * from './csstools.elementbasicsetup';
export * from './csstools.elementbasicstyles';
export * from './domtools.colors';
import * as breakpoints from './csstools.breakpoints';
import * as elementBasicSetup from './domtools.elementbasicsetup';
import * as elementBasicStyles from './domtools.elementbasicstyles';
import * as breakpoints from './domtools.breakpoints';
import * as css from './domtools.css';
const elementBasic = {
setup: elementBasicSetup.elementBasicSetup,
styles: elementBasicStyles.elementBasicStyles
};
export {
breakpoints
css,
breakpoints,
elementBasic
};