@re-flex/styles
Version:
Core Style Util Package
46 lines (45 loc) • 1.16 kB
JavaScript
import { isObject } from "@re-flex/utils";
import RXUtils from "./Utils";
class Gooberize extends RXUtils {
LINK_ID = "__reflex";
DOM_TARGET = document.head;
SSR = {
data: "",
};
constructor(linkID = "__reflex", target = document.head) {
super(linkID, target);
this.LINK_ID = linkID;
this.DOM_TARGET = target;
}
cssBase(cssRules, config) {
let compiled;
if (Array.isArray(cssRules)) {
compiled = this.compile(cssRules, [].slice.call(arguments, 1));
}
else if (isObject(cssRules) || typeof cssRules === "string") {
compiled = cssRules;
}
else {
return "";
}
return this.hash(compiled, config);
}
}
const JSS = new Gooberize();
export const css = (cssRules) => {
return JSS.cssBase(cssRules, {
global: false,
append: false,
keyframes: false,
});
};
export const glob = (cssRules) => {
return JSS.cssBase(cssRules, {
global: true,
});
};
export const keyframes = (cssRules) => {
return JSS.cssBase(cssRules, {
keyframes: true,
});
};