first
This commit is contained in:
39
node_modules/postcss-ordered-values/src/rules/columns.js
generated
vendored
Normal file
39
node_modules/postcss-ordered-values/src/rules/columns.js
generated
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
'use strict';
|
||||
const { unit } = require('postcss-value-parser');
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @return {boolean}
|
||||
*/
|
||||
function hasUnit(value) {
|
||||
const parsedVal = unit(value);
|
||||
return parsedVal && parsedVal.unit !== '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {import('postcss-value-parser').ParsedValue} columns
|
||||
* @return {import('postcss-value-parser').ParsedValue | string}
|
||||
*/
|
||||
module.exports = (columns) => {
|
||||
/** @type {string[]} */
|
||||
const widths = [];
|
||||
/** @type {string[]} */
|
||||
const other = [];
|
||||
columns.walk((node) => {
|
||||
const { type, value } = node;
|
||||
if (type === 'word') {
|
||||
if (hasUnit(value)) {
|
||||
widths.push(value);
|
||||
} else {
|
||||
other.push(value);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// only transform if declaration is not invalid or a single value
|
||||
if (other.length === 1 && widths.length === 1) {
|
||||
return `${widths[0].trimStart()} ${other[0].trimStart()}`;
|
||||
}
|
||||
|
||||
return columns;
|
||||
};
|
Reference in New Issue
Block a user