UNPKG

scancss

Version:

A robust CSS stylesheet statistics collector and analyzer

33 lines (25 loc) 1.3 kB
'use strict'; 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);