@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.26 kB
JavaScript
const require_utils_index = require('../../utils/index.cjs');
const require_utils = require('./utils.cjs');
//#region src/core/css/at-rule.ts
const generateAtRule = (identifier) => (values, { system }) => {
if (!(0, require_utils_index.utils_exports.isArray)(values)) return values;
return values.reduce((prev, { type, name, css, h, height, maxH, maxHeight, maxW, maxWidth, minH, minHeight, minW, minWidth, prefersColorMode, query, w, width,...rest }) => {
width ??= w;
minWidth ??= minW;
maxWidth ??= maxW;
height ??= h;
minHeight ??= minH;
maxHeight ??= maxH;
if (!query) {
const resolvedRest = (0, require_utils_index.utils_exports.filterUndefined)({
height,
maxHeight,
maxWidth,
minHeight,
minWidth,
prefersColorScheme: prefersColorMode,
width,
...rest
});
query = Object.entries(resolvedRest).map(([key, value]) => {
value = require_utils.tokenToVar(system)("sizes", value);
return `(${(0, require_utils_index.utils_exports.toKebabCase)(key)}: ${value})`;
}).join(" and ");
}
const condition = `@${identifier} ${type ?? name ?? ""} ${query}`;
prev[condition] = css;
return prev;
}, {});
};
//#endregion
exports.generateAtRule = generateAtRule;
//# sourceMappingURL=at-rule.cjs.map