nsole
Version:
A drop-in isomorphic console.* replacement that's pretty, small, fast, and flexible
15 lines (14 loc) • 863 B
JavaScript
// src/browser/_utils_.ts
var cssCompose = (...css) => css.reduce((acc, val) => val.reduce((ccc, cal, idx) => {
ccc[idx] = (ccc[idx] ?? "") + (cal?.trim() ?? "");
return ccc;
}, acc), Array(5).fill("")).map((v) => (v && v?.length > 1 ? v.trim() : v) ?? "");
var cssColorOkLch = (color = "^", lch = { l: "- .08" }) => lch === null ? color : typeof lch === "string" ? lch : `oklch(from ${color} ` + ["l", "c", "h"].map((k) => lch[k]?.length ? "calc(" + k + " " + lch[k] + ")" : k).join(" ") + ")";
var cssPropLgtDrk = (prop, color = "^", lgt = { l: "- .08" }, drk = color) => `${prop}:light-dark(${cssColorOkLch(color, lgt)}, ${cssColorOkLch(color, drk)});`;
var cssPropAnsi = (prop, val = "^", lgt = { l: "- .08" }, drk = val) => `${prop}:${val};` + cssPropLgtDrk(prop, val, lgt, drk);
export {
cssPropLgtDrk,
cssPropAnsi,
cssCompose,
cssColorOkLch
};