@nex-ui/system
Version:
A lightweight and performant styling library based on Emotion, focusing on component architecture and developer experience.
42 lines (38 loc) • 1.41 kB
JavaScript
var scales = require('./scales.cjs');
var aliases = require('./aliases.cjs');
var breakpoints = require('./breakpoints.cjs');
var css = require('./css.cjs');
var normalize = require('./normalize.cjs');
var selectors = require('./selectors.cjs');
var createTokens = require('./tokens/createTokens.cjs');
const createSystem = (config)=>{
const { cssVarsPrefix = 'system', scales: scales$1 = {}, aliases: aliases$1 = {}, breakpoints: breakpoints$1 = {}, tokens = {}, semanticTokens = {}, selectors: selectors$1 = {} } = config;
const { getToken, getGlobalCssVars } = createTokens.createTokens({
tokens,
semanticTokens,
prefix: cssVarsPrefix
});
const { getPropertiesByAlias } = aliases.createAliases(aliases$1);
const { getCategoryByProperty } = scales.createScales(scales$1);
const { getMediaSelectors } = breakpoints.createBreakpoints(breakpoints$1);
const { getCustomizedSelector } = selectors.createSelectors({
selectors: selectors$1,
getMediaSelectors
});
const normalize$1 = normalize.createNormalize({
getCategoryByProperty,
getPropertiesByAlias,
getToken
});
const css$1 = css.createCssFn({
normalize: normalize$1,
getCustomizedSelector
});
return {
css: css$1,
getToken,
getGlobalCssVars
};
};
exports.createSystem = createSystem;
;