UNPKG

@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
'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'); 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;