scancss
Version:
A robust CSS stylesheet statistics collector and analyzer
33 lines (25 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cssUnitsThatAllowZeroWithoutUnit = undefined;
var _cssUnits = require('../cssUnits');
var _cssDurationUnits = require('../cssDurationUnits');
var _cssFrequencyUnits = require('../cssFrequencyUnits');
var _cssFlexibleLengthUnits = require('../cssFlexibleLengthUnits');
var _cssResolutionUnits = require('../cssResolutionUnits');
/**
* https://www.w3.org/TR/css-values/#lengths
* https://stylelint.io/user-guide/rules/length-zero-no-unit/
* https://www.dunkman.me/blog/2017/css-zero-length-units.html
*
* CSS spec requires units to be specified for duration, grid fraction, frequency,
* and resolution values — even for zero
*
* https://drafts.csswg.org/css-values-3/#angle-value
*
* NOTE: For legacy reasons, some uses of <angle> allow a bare `0` to mean `0deg`.
* This is not true in general, however, and will not occur in future uses of
* the <angle> type.
*/
const cssUnitsThatAllowZeroWithoutUnit = exports.cssUnitsThatAllowZeroWithoutUnit = _cssUnits.cssUnits.filter(unit => [..._cssDurationUnits.cssDurationUnits, ..._cssFlexibleLengthUnits.cssFlexibleLengthUnits, ..._cssFrequencyUnits.cssFrequencyUnits, ..._cssResolutionUnits.cssResolutionUnits].includes(unit) === false);