@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
38 lines (36 loc) • 1.19 kB
JavaScript
const require_utils = require('./utils.cjs');
const require_calc = require('./calc.cjs');
//#region src/core/css/grid.ts
const repeats = {
fill: "auto-fill",
fit: "auto-fit"
};
function grid(value, { system,...rest }) {
if (value == null || require_utils.globalValues.has(value)) return value;
const values = require_utils.splitValues(value, (current) => current === " ");
if (!values.length) return value;
return values.map((value$1) => {
if (!require_utils.isCSSFunction(value$1)) {
const token = `sizes.${value$1}`;
if (require_utils.isCSSToken(system)(token)) return system.cssMap[token].ref;
else return value$1;
}
const { type, values: values$1 } = require_utils.getCSSFunction(value$1);
if (!type || !values$1) return value$1;
if (type === "repeat") {
let [repeat, tracks] = require_utils.splitValues(values$1);
repeat = repeat && repeat in repeats ? repeats[repeat] : repeat;
tracks = grid(tracks, {
system,
...rest
});
return `repeat(${repeat}, ${tracks})`;
} else return require_calc.generateCalc("sizes")(value$1, {
system,
...rest
});
}).join(" ");
}
//#endregion
exports.grid = grid;
//# sourceMappingURL=grid.cjs.map