diff options
Diffstat (limited to 'node_modules/postcss-ordered-values/src/rules/transition.js')
| -rw-r--r-- | node_modules/postcss-ordered-values/src/rules/transition.js | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/node_modules/postcss-ordered-values/src/rules/transition.js b/node_modules/postcss-ordered-values/src/rules/transition.js deleted file mode 100644 index 657da74d..00000000 --- a/node_modules/postcss-ordered-values/src/rules/transition.js +++ /dev/null @@ -1,76 +0,0 @@ -'use strict'; -const { unit } = require('postcss-value-parser'); -const { getArguments } = require('cssnano-utils'); -const addSpace = require('../lib/addSpace'); -const getValue = require('../lib/getValue'); - -// transition: [ none | <single-transition-property> ] || <time> || <single-transition-timing-function> || <time> - -const timingFunctions = new Set([ - 'ease', - 'linear', - 'ease-in', - 'ease-out', - 'ease-in-out', - 'step-start', - 'step-end', -]); - -/** - * @param {import('postcss-value-parser').Node[][]} args - * @return {import('postcss-value-parser').Node[][]} - */ -function normalize(args) { - const list = []; - for (const arg of args) { - /** @type {Record<string, import('postcss-value-parser').Node[]>} */ - let state = { - timingFunction: [], - property: [], - time1: [], - time2: [], - }; - - arg.forEach((node) => { - const { type, value } = node; - - if (type === 'space') { - return; - } - - if ( - type === 'function' && - new Set(['steps', 'cubic-bezier']).has(value.toLowerCase()) - ) { - state.timingFunction = [...state.timingFunction, node, addSpace()]; - } else if (unit(value)) { - if (!state.time1.length) { - state.time1 = [...state.time1, node, addSpace()]; - } else { - state.time2 = [...state.time2, node, addSpace()]; - } - } else if (timingFunctions.has(value.toLowerCase())) { - state.timingFunction = [...state.timingFunction, node, addSpace()]; - } else { - state.property = [...state.property, node, addSpace()]; - } - }); - - list.push([ - ...state.property, - ...state.time1, - ...state.timingFunction, - ...state.time2, - ]); - } - return list; -} -/** - * @param {import('postcss-value-parser').ParsedValue} parsed - * @return {string} - */ -module.exports = function normalizeTransition(parsed) { - const values = normalize(getArguments(parsed)); - - return getValue(values); -}; |
