@capsizecss/vanilla-extract
Version:
Vanilla-extract integration for capsize
34 lines (32 loc) • 1.14 kB
JavaScript
import { capsizeStyle, capsizeVars } from "./capsize.css.mjs";
import { assignVars, style } from "@vanilla-extract/css";
import { precomputeValues } from "@capsizecss/core";
//#region src/index.ts
const createVanillaStyle = ({ values, mediaQueries, debugId }) => {
const vars = { vars: assignVars(capsizeVars, values) };
if (typeof mediaQueries !== "undefined") {
const mqs = {};
Object.entries(mediaQueries["@media"]).forEach(([mq, val]) => {
mqs[mq] = { vars: assignVars(capsizeVars, "capHeightTrim" in val ? val : precomputeValues(val)) };
});
vars["@media"] = mqs;
}
return style([capsizeStyle, vars], debugId);
};
function createTextStyle(...args) {
const hasMediaQueries = typeof args[1] !== "undefined" && typeof args[1] !== "string";
const debugId = hasMediaQueries ? args[2] : args[1];
const mediaQueries = hasMediaQueries ? args[1] : void 0;
if ("capHeightTrim" in args[0]) return createVanillaStyle({
values: args[0],
mediaQueries,
debugId
});
return createVanillaStyle({
values: precomputeValues(args[0]),
mediaQueries,
debugId
});
}
//#endregion
export { createTextStyle, precomputeValues };