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);
|
|
} |