source: frontend/node_modules/cssstyle/lib/properties/fontSize.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.1 KB
Line 
1'use strict';
2
3var TYPES = require('../parsers').TYPES;
4var valueType = require('../parsers').valueType;
5var parseMeasurement = require('../parsers').parseMeasurement;
6
7var absoluteSizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'];
8var relativeSizes = ['larger', 'smaller'];
9
10module.exports.isValid = function(v) {
11 var type = valueType(v.toLowerCase());
12 return (
13 type === TYPES.LENGTH ||
14 type === TYPES.PERCENT ||
15 (type === TYPES.KEYWORD && absoluteSizes.indexOf(v.toLowerCase()) !== -1) ||
16 (type === TYPES.KEYWORD && relativeSizes.indexOf(v.toLowerCase()) !== -1)
17 );
18};
19
20function parse(v) {
21 const valueAsString = String(v).toLowerCase();
22 const optionalArguments = absoluteSizes.concat(relativeSizes);
23 const isOptionalArgument = optionalArguments.some(
24 stringValue => stringValue.toLowerCase() === valueAsString
25 );
26 return isOptionalArgument ? valueAsString : parseMeasurement(v);
27}
28
29module.exports.definition = {
30 set: function(v) {
31 this._setProperty('font-size', parse(v));
32 },
33 get: function() {
34 return this.getPropertyValue('font-size');
35 },
36 enumerable: true,
37 configurable: true,
38};
Note: See TracBrowser for help on using the repository browser.