You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict';
var TYPES = require('../parsers').TYPES; var valueType = require('../parsers').valueType; var parseMeasurement = require('../parsers').parseMeasurement;
var absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large']; var relativeSizes = ['larger', 'smaller'];
module.exports.isValid = function(v) { var type = valueType(v.toLowerCase()); return ( type === TYPES.LENGTH || type === TYPES.PERCENT || (type === TYPES.KEYWORD && absoluteSizes.indexOf(v.toLowerCase()) !== -1) || (type === TYPES.KEYWORD && relativeSizes.indexOf(v.toLowerCase()) !== -1) ); };
function parse(v) { const valueAsString = String(v).toLowerCase(); const optionalArguments = absoluteSizes.concat(relativeSizes); const isOptionalArgument = optionalArguments.some( stringValue => stringValue.toLowerCase() === valueAsString ); return isOptionalArgument ? valueAsString : parseMeasurement(v); }
module.exports.definition = { set: function(v) { this._setProperty('font-size', parse(v)); }, get: function() { return this.getPropertyValue('font-size'); }, enumerable: true, configurable: true, };
|