UNPKG

@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
'use strict'; 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;