24 lines
622 B
JavaScript
24 lines
622 B
JavaScript
|
//@ts-check
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Returns a stylesheet
|
||
|
* @param {string} css_string
|
||
|
* @returns
|
||
|
*/
|
||
|
export const makeStyleSheet = (css_string) => {
|
||
|
const stylesheet = new CSSStyleSheet();
|
||
|
stylesheet.replaceSync(css_string);
|
||
|
return stylesheet
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Convenience literal to create DOM CSSStyleSheet instances
|
||
|
* @param {TemplateStringsArray} strings
|
||
|
* @param {...any} substitutions
|
||
|
*/
|
||
|
export const css = (strings, ...substitutions) => {
|
||
|
const formattedString = strings.reduce((acc, curr, index) => acc + curr + (substitutions[index]||''), '');
|
||
|
console.log(formattedString)
|
||
|
return makeStyleSheet(formattedString);
|
||
|
}
|