UNPKG

@vanilla-extract/sprinkles

Version:
157 lines (146 loc) 5.25 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var css = require('@vanilla-extract/css'); var recipe = require('@vanilla-extract/css/recipe'); var fileScope = require('@vanilla-extract/css/fileScope'); var createSprinkles$1 = require('./createSprinkles-08ce1fcf.cjs.dev.js'); var createUtils_dist_vanillaExtractSprinklesCreateUtils = require('../createUtils/dist/vanilla-extract-sprinkles-createUtils.cjs.dev.js'); // Conditional + Shorthands + ResponsiveArray // Conditional + Shorthands // Conditional + ResponsiveArray // Conditional // Unconditional + Shorthands // Unconditional function defineProperties(options) { var styles = 'shorthands' in options ? Object.fromEntries(Object.entries(options.shorthands).map(_ref => { var [prop, mappings] = _ref; return [prop, { mappings }]; })) : {}; var _loop = function _loop(key) { var property = options.properties[key]; styles[key] = { values: {} }; if ('responsiveArray' in options) { styles[key].responsiveArray = options.responsiveArray; } var processValue = (valueName, value) => { if ('conditions' in options) { styles[key].values[valueName] = { conditions: {} }; var defaultConditions = options.defaultCondition ? Array.isArray(options.defaultCondition) ? options.defaultCondition : [options.defaultCondition] : []; var defaultClasses = []; for (var _conditionName in options.conditions) { var styleValue = typeof value === 'object' ? value : { [key]: value }; var condition = options.conditions[_conditionName]; if (condition['@supports']) { styleValue = { '@supports': { [condition['@supports']]: styleValue } }; } if (condition['@container']) { styleValue = { '@container': { [condition['@container']]: styleValue } }; } if (condition['@media']) { styleValue = { '@media': { [condition['@media']]: styleValue } }; } if (condition.selector) { styleValue = { selectors: { [condition.selector]: styleValue } }; } if (options['@layer']) { styleValue = { '@layer': { [options['@layer']]: styleValue } }; } var className = css.style(styleValue, "".concat(key, "_").concat(String(valueName), "_").concat(_conditionName)); styles[key].values[valueName].conditions[_conditionName] = className; if (defaultConditions.indexOf(_conditionName) > -1) { defaultClasses.push(className); } } if (defaultClasses.length > 0) { styles[key].values[valueName].defaultClass = defaultClasses.join(' '); } } else { var _styleValue = typeof value === 'object' ? value : { [key]: value }; if (options['@layer']) { _styleValue = { '@layer': { [options['@layer']]: _styleValue } }; } styles[key].values[valueName] = { defaultClass: css.style(_styleValue, "".concat(key, "_").concat(String(valueName))) }; } }; if (Array.isArray(property)) { for (var value of property) { processValue(value, value); } } else { for (var valueName in property) { var _value = property[valueName]; processValue(valueName, _value); } } }; for (var key in options.properties) { _loop(key); } var conditions = 'conditions' in options ? { defaultCondition: options.defaultCondition, conditionNames: Object.keys(options.conditions), responsiveArray: options.responsiveArray } : undefined; return { conditions, styles }; } var mockComposeStyles = classList => classList; function createSprinkles() { for (var _len = arguments.length, config = new Array(_len), _key = 0; _key < _len; _key++) { config[_key] = arguments[_key]; } // When using Sprinkles with the runtime (e.g. within a jest test) // `style` can be called (only for composition) outside of a fileScope. // Checking we're within a fileScope ensures this doesn't blow up and is // safe as compositions don't make sense at runtime var sprinkles = createSprinkles$1.createSprinkles(fileScope.hasFileScope() ? css.composeStyles : mockComposeStyles)(...config); return recipe.addRecipe(sprinkles, { importPath: '@vanilla-extract/sprinkles/createRuntimeSprinkles', importName: 'createSprinkles', args: config }); } exports.createMapValueFn = createUtils_dist_vanillaExtractSprinklesCreateUtils.createMapValueFn; exports.createNormalizeValueFn = createUtils_dist_vanillaExtractSprinklesCreateUtils.createNormalizeValueFn; exports.createAtomicStyles = defineProperties; exports.createAtomsFn = createSprinkles; exports.createSprinkles = createSprinkles; exports.defineProperties = defineProperties;