@nex-ui/system
Version:
A lightweight and performant styling library based on Emotion, focusing on component architecture and developer experience.
49 lines (45 loc) • 1.63 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');
var createLayers = require('./layers/createLayers.cjs');
const createSystem = (config)=>{
const { cssCascadeLayersDisabled = false, prefix = 'system', scales: scales$1 = {}, aliases: aliases$1 = {}, breakpoints: breakpoints$1 = {}, tokens = {}, semanticTokens = {}, selectors: selectors$1 = {} } = config;
const layers = createLayers.createLayers({
cssCascadeLayersDisabled,
prefix
});
const { getToken, getGlobalCssVars } = createTokens.createTokens({
tokens,
semanticTokens,
prefix
});
const { getPropertiesByAlias, isAlias } = 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,
isAlias,
getCustomizedSelector
});
return {
css: css$1,
layers,
getToken,
getGlobalCssVars
};
};
exports.createSystem = createSystem;