1
0
mirror of https://github.com/S2-/minifyfromhtml.git synced 2025-08-03 04:10:04 +02:00

update node modules

This commit is contained in:
s2
2019-03-29 15:56:41 +01:00
parent f114871153
commit 89c32fb4e6
8347 changed files with 390123 additions and 159877 deletions

View File

@@ -2,232 +2,254 @@
* This is a fork from the CSS Style Declaration part of
* https://github.com/NV/CSSOM
********************************************************************/
"use strict";
'use strict';
var CSSOM = require('cssom');
var fs = require('fs');
var path = require('path');
var camelToDashed = require('./parsers').camelToDashed;
var dashedToCamelCase = require('./parsers').dashedToCamelCase;
var allProperties = require('./allProperties');
var allExtraProperties = require('./allExtraProperties');
var implementedProperties = require('./implementedProperties');
var { dashedToCamelCase } = require('./parsers');
var getBasicPropertyDescriptor = require('./utils/getBasicPropertyDescriptor');
/**
* @constructor
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration
*/
var CSSStyleDeclaration = function CSSStyleDeclaration(onChangeCallback) {
this._values = {};
this._importants = {};
this._length = 0;
this._onChange = onChangeCallback || function () { return; };
this._values = {};
this._importants = {};
this._length = 0;
this._onChange =
onChangeCallback ||
function() {
return;
};
};
CSSStyleDeclaration.prototype = {
constructor: CSSStyleDeclaration,
constructor: CSSStyleDeclaration,
/**
*
* @param {string} name
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue
* @return {string} the value of the property if it has been explicitly set for this declaration block.
* Returns the empty string if the property has not been set.
*/
getPropertyValue: function (name) {
if (!this._values.hasOwnProperty(name)) {
return "";
}
return this._values[name].toString();
},
/**
*
* @param {string} name
* @param {string} value
* @param {string} [priority=null] "important" or null
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty
*/
setProperty: function (name, value, priority) {
if (value === undefined) {
return;
}
if (value === null || value === '') {
this.removeProperty(name);
return;
}
var camel_case = dashedToCamelCase(name);
this[camel_case] = value;
this._importants[name] = priority;
},
_setProperty: function (name, value, priority) {
if (value === undefined) {
return;
}
if (value === null || value === '') {
this.removeProperty(name);
return;
}
if (this._values[name]) {
// Property already exist. Overwrite it.
var index = Array.prototype.indexOf.call(this, name);
if (index < 0) {
this[this._length] = name;
this._length++;
}
} else {
// New property.
this[this._length] = name;
this._length++;
}
this._values[name] = value;
this._importants[name] = priority;
this._onChange(this.cssText);
},
/**
*
* @param {string} name
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty
* @return {string} the value of the property if it has been explicitly set for this declaration block.
* Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.
*/
removeProperty: function (name) {
if (!this._values.hasOwnProperty(name)) {
return "";
}
var prevValue = this._values[name];
delete this._values[name];
delete this._importants[name];
var index = Array.prototype.indexOf.call(this, name);
if (index < 0) {
return prevValue;
}
// That's what WebKit and Opera do
Array.prototype.splice.call(this, index, 1);
// That's what Firefox does
//this[index] = ""
this._onChange(this.cssText);
return prevValue;
},
/**
*
* @param {String} name
*/
getPropertyPriority: function (name) {
return this._importants[name] || "";
},
getPropertyCSSValue: function () {
//FIXME
return;
},
/**
* element.style.overflow = "auto"
* element.style.getPropertyShorthand("overflow-x")
* -> "overflow"
*/
getPropertyShorthand: function () {
//FIXME
return;
},
isPropertyImplicit: function () {
//FIXME
return;
},
/**
* http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item
*/
item: function (index) {
index = parseInt(index, 10);
if (index < 0 || index >= this._length) {
return '';
}
return this[index];
/**
*
* @param {string} name
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue
* @return {string} the value of the property if it has been explicitly set for this declaration block.
* Returns the empty string if the property has not been set.
*/
getPropertyValue: function(name) {
if (!this._values.hasOwnProperty(name)) {
return '';
}
return this._values[name].toString();
},
/**
*
* @param {string} name
* @param {string} value
* @param {string} [priority=null] "important" or null
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty
*/
setProperty: function(name, value, priority) {
if (value === undefined) {
return;
}
if (value === null || value === '') {
this.removeProperty(name);
return;
}
var lowercaseName = name.toLowerCase();
if (!allProperties.has(lowercaseName) && !allExtraProperties.has(lowercaseName)) {
return;
}
this[lowercaseName] = value;
this._importants[lowercaseName] = priority;
},
_setProperty: function(name, value, priority) {
if (value === undefined) {
return;
}
if (value === null || value === '') {
this.removeProperty(name);
return;
}
if (this._values[name]) {
// Property already exist. Overwrite it.
var index = Array.prototype.indexOf.call(this, name);
if (index < 0) {
this[this._length] = name;
this._length++;
}
} else {
// New property.
this[this._length] = name;
this._length++;
}
this._values[name] = value;
this._importants[name] = priority;
this._onChange(this.cssText);
},
/**
*
* @param {string} name
* @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty
* @return {string} the value of the property if it has been explicitly set for this declaration block.
* Returns the empty string if the property has not been set or the property name does not correspond to a known CSS property.
*/
removeProperty: function(name) {
if (!this._values.hasOwnProperty(name)) {
return '';
}
var prevValue = this._values[name];
delete this._values[name];
delete this._importants[name];
var index = Array.prototype.indexOf.call(this, name);
if (index < 0) {
return prevValue;
}
// That's what WebKit and Opera do
Array.prototype.splice.call(this, index, 1);
// That's what Firefox does
//this[index] = ""
this._onChange(this.cssText);
return prevValue;
},
/**
*
* @param {String} name
*/
getPropertyPriority: function(name) {
return this._importants[name] || '';
},
getPropertyCSSValue: function() {
//FIXME
return;
},
/**
* element.style.overflow = "auto"
* element.style.getPropertyShorthand("overflow-x")
* -> "overflow"
*/
getPropertyShorthand: function() {
//FIXME
return;
},
isPropertyImplicit: function() {
//FIXME
return;
},
/**
* http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item
*/
item: function(index) {
index = parseInt(index, 10);
if (index < 0 || index >= this._length) {
return '';
}
return this[index];
},
};
Object.defineProperties(CSSStyleDeclaration.prototype, {
cssText: {
get: function () {
var properties = [];
var i;
var name;
var value;
var priority;
for (i = 0; i < this._length; i++) {
name = this[i];
value = this.getPropertyValue(name);
priority = this.getPropertyPriority(name);
if (priority !== '') {
priority = " !" + priority;
}
properties.push([name, ': ', value, priority, ';'].join(''));
}
return properties.join(' ');
},
set: function (value) {
var i;
this._values = {};
Array.prototype.splice.call(this, 0, this._length);
this._importants = {};
var dummyRule;
try {
dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style;
} catch (err) {
// malformed css, just return
return;
}
var rule_length = dummyRule.length;
var name;
for (i = 0; i < rule_length; ++i) {
name = dummyRule[i];
this.setProperty(dummyRule[i], dummyRule.getPropertyValue(name), dummyRule.getPropertyPriority(name));
}
this._onChange(this.cssText);
},
enumerable: true,
configurable: true
cssText: {
get: function() {
var properties = [];
var i;
var name;
var value;
var priority;
for (i = 0; i < this._length; i++) {
name = this[i];
value = this.getPropertyValue(name);
priority = this.getPropertyPriority(name);
if (priority !== '') {
priority = ' !' + priority;
}
properties.push([name, ': ', value, priority, ';'].join(''));
}
return properties.join(' ');
},
parentRule: {
get: function () { return null; },
enumerable: true,
configurable: true
set: function(value) {
var i;
this._values = {};
Array.prototype.splice.call(this, 0, this._length);
this._importants = {};
var dummyRule;
try {
dummyRule = CSSOM.parse('#bogus{' + value + '}').cssRules[0].style;
} catch (err) {
// malformed css, just return
return;
}
var rule_length = dummyRule.length;
var name;
for (i = 0; i < rule_length; ++i) {
name = dummyRule[i];
this.setProperty(
dummyRule[i],
dummyRule.getPropertyValue(name),
dummyRule.getPropertyPriority(name)
);
}
this._onChange(this.cssText);
},
length: {
get: function () { return this._length; },
/**
* This deletes indices if the new length is less then the current
* length. If the new length is more, it does nothing, the new indices
* will be undefined until set.
**/
set: function (value) {
var i;
for (i = value; i < this._length; i++) {
delete this[i];
}
this._length = value;
},
enumerable: true,
configurable: true
enumerable: true,
configurable: true,
},
parentRule: {
get: function() {
return null;
},
'float': {
get: function () { return this.cssFloat; },
set: function (value) {
this.cssFloat = value;
},
enumerable: true,
configurable: true
}
enumerable: true,
configurable: true,
},
length: {
get: function() {
return this._length;
},
/**
* This deletes indices if the new length is less then the current
* length. If the new length is more, it does nothing, the new indices
* will be undefined until set.
**/
set: function(value) {
var i;
for (i = value; i < this._length; i++) {
delete this[i];
}
this._length = value;
},
enumerable: true,
configurable: true,
},
});
require('./properties')(CSSStyleDeclaration.prototype);
allProperties.forEach(function(property) {
if (!implementedProperties.has(property)) {
var declaration = getBasicPropertyDescriptor(property);
Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);
Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);
}
});
allExtraProperties.forEach(function(property) {
if (!implementedProperties.has(property)) {
var declaration = getBasicPropertyDescriptor(property);
Object.defineProperty(CSSStyleDeclaration.prototype, property, declaration);
Object.defineProperty(CSSStyleDeclaration.prototype, dashedToCamelCase(property), declaration);
}
});
exports.CSSStyleDeclaration = CSSStyleDeclaration;

248
node_modules/cssstyle/lib/allExtraProperties.js generated vendored Normal file
View File

@@ -0,0 +1,248 @@
'use strict';
/**
* This file contains all implemented properties that are not a part of any
* current specifications or drafts, but are handled by browsers nevertheless.
*/
var allExtraProperties = new Set();
module.exports = allExtraProperties;
allExtraProperties.add('background-position-x');
allExtraProperties.add('background-position-y');
allExtraProperties.add('background-repeat-x');
allExtraProperties.add('background-repeat-y');
allExtraProperties.add('color-interpolation');
allExtraProperties.add('color-profile');
allExtraProperties.add('color-rendering');
allExtraProperties.add('css-float');
allExtraProperties.add('enable-background');
allExtraProperties.add('fill');
allExtraProperties.add('fill-opacity');
allExtraProperties.add('fill-rule');
allExtraProperties.add('glyph-orientation-horizontal');
allExtraProperties.add('image-rendering');
allExtraProperties.add('kerning');
allExtraProperties.add('marker');
allExtraProperties.add('marker-end');
allExtraProperties.add('marker-mid');
allExtraProperties.add('marker-offset');
allExtraProperties.add('marker-start');
allExtraProperties.add('marks');
allExtraProperties.add('pointer-events');
allExtraProperties.add('shape-rendering');
allExtraProperties.add('size');
allExtraProperties.add('src');
allExtraProperties.add('stop-color');
allExtraProperties.add('stop-opacity');
allExtraProperties.add('stroke');
allExtraProperties.add('stroke-dasharray');
allExtraProperties.add('stroke-dashoffset');
allExtraProperties.add('stroke-linecap');
allExtraProperties.add('stroke-linejoin');
allExtraProperties.add('stroke-miterlimit');
allExtraProperties.add('stroke-opacity');
allExtraProperties.add('stroke-width');
allExtraProperties.add('text-anchor');
allExtraProperties.add('text-line-through');
allExtraProperties.add('text-line-through-color');
allExtraProperties.add('text-line-through-mode');
allExtraProperties.add('text-line-through-style');
allExtraProperties.add('text-line-through-width');
allExtraProperties.add('text-overline');
allExtraProperties.add('text-overline-color');
allExtraProperties.add('text-overline-mode');
allExtraProperties.add('text-overline-style');
allExtraProperties.add('text-overline-width');
allExtraProperties.add('text-rendering');
allExtraProperties.add('text-underline');
allExtraProperties.add('text-underline-color');
allExtraProperties.add('text-underline-mode');
allExtraProperties.add('text-underline-style');
allExtraProperties.add('text-underline-width');
allExtraProperties.add('unicode-range');
allExtraProperties.add('vector-effect');
allExtraProperties.add('webkit-animation');
allExtraProperties.add('webkit-animation-delay');
allExtraProperties.add('webkit-animation-direction');
allExtraProperties.add('webkit-animation-duration');
allExtraProperties.add('webkit-animation-fill-mode');
allExtraProperties.add('webkit-animation-iteration-count');
allExtraProperties.add('webkit-animation-name');
allExtraProperties.add('webkit-animation-play-state');
allExtraProperties.add('webkit-animation-timing-function');
allExtraProperties.add('webkit-appearance');
allExtraProperties.add('webkit-aspect-ratio');
allExtraProperties.add('webkit-backface-visibility');
allExtraProperties.add('webkit-background-clip');
allExtraProperties.add('webkit-background-composite');
allExtraProperties.add('webkit-background-origin');
allExtraProperties.add('webkit-background-size');
allExtraProperties.add('webkit-border-after');
allExtraProperties.add('webkit-border-after-color');
allExtraProperties.add('webkit-border-after-style');
allExtraProperties.add('webkit-border-after-width');
allExtraProperties.add('webkit-border-before');
allExtraProperties.add('webkit-border-before-color');
allExtraProperties.add('webkit-border-before-style');
allExtraProperties.add('webkit-border-before-width');
allExtraProperties.add('webkit-border-end');
allExtraProperties.add('webkit-border-end-color');
allExtraProperties.add('webkit-border-end-style');
allExtraProperties.add('webkit-border-end-width');
allExtraProperties.add('webkit-border-fit');
allExtraProperties.add('webkit-border-horizontal-spacing');
allExtraProperties.add('webkit-border-image');
allExtraProperties.add('webkit-border-radius');
allExtraProperties.add('webkit-border-start');
allExtraProperties.add('webkit-border-start-color');
allExtraProperties.add('webkit-border-start-style');
allExtraProperties.add('webkit-border-start-width');
allExtraProperties.add('webkit-border-vertical-spacing');
allExtraProperties.add('webkit-box-align');
allExtraProperties.add('webkit-box-direction');
allExtraProperties.add('webkit-box-flex');
allExtraProperties.add('webkit-box-flex-group');
allExtraProperties.add('webkit-box-lines');
allExtraProperties.add('webkit-box-ordinal-group');
allExtraProperties.add('webkit-box-orient');
allExtraProperties.add('webkit-box-pack');
allExtraProperties.add('webkit-box-reflect');
allExtraProperties.add('webkit-box-shadow');
allExtraProperties.add('webkit-color-correction');
allExtraProperties.add('webkit-column-axis');
allExtraProperties.add('webkit-column-break-after');
allExtraProperties.add('webkit-column-break-before');
allExtraProperties.add('webkit-column-break-inside');
allExtraProperties.add('webkit-column-count');
allExtraProperties.add('webkit-column-gap');
allExtraProperties.add('webkit-column-rule');
allExtraProperties.add('webkit-column-rule-color');
allExtraProperties.add('webkit-column-rule-style');
allExtraProperties.add('webkit-column-rule-width');
allExtraProperties.add('webkit-columns');
allExtraProperties.add('webkit-column-span');
allExtraProperties.add('webkit-column-width');
allExtraProperties.add('webkit-filter');
allExtraProperties.add('webkit-flex-align');
allExtraProperties.add('webkit-flex-direction');
allExtraProperties.add('webkit-flex-flow');
allExtraProperties.add('webkit-flex-item-align');
allExtraProperties.add('webkit-flex-line-pack');
allExtraProperties.add('webkit-flex-order');
allExtraProperties.add('webkit-flex-pack');
allExtraProperties.add('webkit-flex-wrap');
allExtraProperties.add('webkit-flow-from');
allExtraProperties.add('webkit-flow-into');
allExtraProperties.add('webkit-font-feature-settings');
allExtraProperties.add('webkit-font-kerning');
allExtraProperties.add('webkit-font-size-delta');
allExtraProperties.add('webkit-font-smoothing');
allExtraProperties.add('webkit-font-variant-ligatures');
allExtraProperties.add('webkit-highlight');
allExtraProperties.add('webkit-hyphenate-character');
allExtraProperties.add('webkit-hyphenate-limit-after');
allExtraProperties.add('webkit-hyphenate-limit-before');
allExtraProperties.add('webkit-hyphenate-limit-lines');
allExtraProperties.add('webkit-hyphens');
allExtraProperties.add('webkit-line-align');
allExtraProperties.add('webkit-line-box-contain');
allExtraProperties.add('webkit-line-break');
allExtraProperties.add('webkit-line-clamp');
allExtraProperties.add('webkit-line-grid');
allExtraProperties.add('webkit-line-snap');
allExtraProperties.add('webkit-locale');
allExtraProperties.add('webkit-logical-height');
allExtraProperties.add('webkit-logical-width');
allExtraProperties.add('webkit-margin-after');
allExtraProperties.add('webkit-margin-after-collapse');
allExtraProperties.add('webkit-margin-before');
allExtraProperties.add('webkit-margin-before-collapse');
allExtraProperties.add('webkit-margin-bottom-collapse');
allExtraProperties.add('webkit-margin-collapse');
allExtraProperties.add('webkit-margin-end');
allExtraProperties.add('webkit-margin-start');
allExtraProperties.add('webkit-margin-top-collapse');
allExtraProperties.add('webkit-marquee');
allExtraProperties.add('webkit-marquee-direction');
allExtraProperties.add('webkit-marquee-increment');
allExtraProperties.add('webkit-marquee-repetition');
allExtraProperties.add('webkit-marquee-speed');
allExtraProperties.add('webkit-marquee-style');
allExtraProperties.add('webkit-mask');
allExtraProperties.add('webkit-mask-attachment');
allExtraProperties.add('webkit-mask-box-image');
allExtraProperties.add('webkit-mask-box-image-outset');
allExtraProperties.add('webkit-mask-box-image-repeat');
allExtraProperties.add('webkit-mask-box-image-slice');
allExtraProperties.add('webkit-mask-box-image-source');
allExtraProperties.add('webkit-mask-box-image-width');
allExtraProperties.add('webkit-mask-clip');
allExtraProperties.add('webkit-mask-composite');
allExtraProperties.add('webkit-mask-image');
allExtraProperties.add('webkit-mask-origin');
allExtraProperties.add('webkit-mask-position');
allExtraProperties.add('webkit-mask-position-x');
allExtraProperties.add('webkit-mask-position-y');
allExtraProperties.add('webkit-mask-repeat');
allExtraProperties.add('webkit-mask-repeat-x');
allExtraProperties.add('webkit-mask-repeat-y');
allExtraProperties.add('webkit-mask-size');
allExtraProperties.add('webkit-match-nearest-mail-blockquote-color');
allExtraProperties.add('webkit-max-logical-height');
allExtraProperties.add('webkit-max-logical-width');
allExtraProperties.add('webkit-min-logical-height');
allExtraProperties.add('webkit-min-logical-width');
allExtraProperties.add('webkit-nbsp-mode');
allExtraProperties.add('webkit-overflow-scrolling');
allExtraProperties.add('webkit-padding-after');
allExtraProperties.add('webkit-padding-before');
allExtraProperties.add('webkit-padding-end');
allExtraProperties.add('webkit-padding-start');
allExtraProperties.add('webkit-perspective');
allExtraProperties.add('webkit-perspective-origin');
allExtraProperties.add('webkit-perspective-origin-x');
allExtraProperties.add('webkit-perspective-origin-y');
allExtraProperties.add('webkit-print-color-adjust');
allExtraProperties.add('webkit-region-break-after');
allExtraProperties.add('webkit-region-break-before');
allExtraProperties.add('webkit-region-break-inside');
allExtraProperties.add('webkit-region-overflow');
allExtraProperties.add('webkit-rtl-ordering');
allExtraProperties.add('webkit-svg-shadow');
allExtraProperties.add('webkit-tap-highlight-color');
allExtraProperties.add('webkit-text-combine');
allExtraProperties.add('webkit-text-decorations-in-effect');
allExtraProperties.add('webkit-text-emphasis');
allExtraProperties.add('webkit-text-emphasis-color');
allExtraProperties.add('webkit-text-emphasis-position');
allExtraProperties.add('webkit-text-emphasis-style');
allExtraProperties.add('webkit-text-fill-color');
allExtraProperties.add('webkit-text-orientation');
allExtraProperties.add('webkit-text-security');
allExtraProperties.add('webkit-text-size-adjust');
allExtraProperties.add('webkit-text-stroke');
allExtraProperties.add('webkit-text-stroke-color');
allExtraProperties.add('webkit-text-stroke-width');
allExtraProperties.add('webkit-transform');
allExtraProperties.add('webkit-transform-origin');
allExtraProperties.add('webkit-transform-origin-x');
allExtraProperties.add('webkit-transform-origin-y');
allExtraProperties.add('webkit-transform-origin-z');
allExtraProperties.add('webkit-transform-style');
allExtraProperties.add('webkit-transition');
allExtraProperties.add('webkit-transition-delay');
allExtraProperties.add('webkit-transition-duration');
allExtraProperties.add('webkit-transition-property');
allExtraProperties.add('webkit-transition-timing-function');
allExtraProperties.add('webkit-user-drag');
allExtraProperties.add('webkit-user-modify');
allExtraProperties.add('webkit-user-select');
allExtraProperties.add('webkit-wrap');
allExtraProperties.add('webkit-wrap-flow');
allExtraProperties.add('webkit-wrap-margin');
allExtraProperties.add('webkit-wrap-padding');
allExtraProperties.add('webkit-wrap-shape-inside');
allExtraProperties.add('webkit-wrap-shape-outside');
allExtraProperties.add('webkit-wrap-through');
allExtraProperties.add('webkit-writing-mode');
allExtraProperties.add('zoom');

457
node_modules/cssstyle/lib/allProperties.js generated vendored Normal file
View File

@@ -0,0 +1,457 @@
'use strict';
// autogenerated - 2/3/2019
/*
*
* https://www.w3.org/Style/CSS/all-properties.en.html
*/
var allProperties = new Set();
module.exports = allProperties;
allProperties.add('align-content');
allProperties.add('align-items');
allProperties.add('align-self');
allProperties.add('alignment-baseline');
allProperties.add('all');
allProperties.add('animation');
allProperties.add('animation-delay');
allProperties.add('animation-direction');
allProperties.add('animation-duration');
allProperties.add('animation-fill-mode');
allProperties.add('animation-iteration-count');
allProperties.add('animation-name');
allProperties.add('animation-play-state');
allProperties.add('animation-timing-function');
allProperties.add('appearance');
allProperties.add('azimuth');
allProperties.add('background');
allProperties.add('background-attachment');
allProperties.add('background-blend-mode');
allProperties.add('background-clip');
allProperties.add('background-color');
allProperties.add('background-image');
allProperties.add('background-origin');
allProperties.add('background-position');
allProperties.add('background-repeat');
allProperties.add('background-size');
allProperties.add('baseline-shift');
allProperties.add('block-overflow');
allProperties.add('block-size');
allProperties.add('bookmark-label');
allProperties.add('bookmark-level');
allProperties.add('bookmark-state');
allProperties.add('border');
allProperties.add('border-block');
allProperties.add('border-block-color');
allProperties.add('border-block-end');
allProperties.add('border-block-end-color');
allProperties.add('border-block-end-style');
allProperties.add('border-block-end-width');
allProperties.add('border-block-start');
allProperties.add('border-block-start-color');
allProperties.add('border-block-start-style');
allProperties.add('border-block-start-width');
allProperties.add('border-block-style');
allProperties.add('border-block-width');
allProperties.add('border-bottom');
allProperties.add('border-bottom-color');
allProperties.add('border-bottom-left-radius');
allProperties.add('border-bottom-right-radius');
allProperties.add('border-bottom-style');
allProperties.add('border-bottom-width');
allProperties.add('border-boundary');
allProperties.add('border-collapse');
allProperties.add('border-color');
allProperties.add('border-end-end-radius');
allProperties.add('border-end-start-radius');
allProperties.add('border-image');
allProperties.add('border-image-outset');
allProperties.add('border-image-repeat');
allProperties.add('border-image-slice');
allProperties.add('border-image-source');
allProperties.add('border-image-width');
allProperties.add('border-inline');
allProperties.add('border-inline-color');
allProperties.add('border-inline-end');
allProperties.add('border-inline-end-color');
allProperties.add('border-inline-end-style');
allProperties.add('border-inline-end-width');
allProperties.add('border-inline-start');
allProperties.add('border-inline-start-color');
allProperties.add('border-inline-start-style');
allProperties.add('border-inline-start-width');
allProperties.add('border-inline-style');
allProperties.add('border-inline-width');
allProperties.add('border-left');
allProperties.add('border-left-color');
allProperties.add('border-left-style');
allProperties.add('border-left-width');
allProperties.add('border-radius');
allProperties.add('border-right');
allProperties.add('border-right-color');
allProperties.add('border-right-style');
allProperties.add('border-right-width');
allProperties.add('border-spacing');
allProperties.add('border-start-end-radius');
allProperties.add('border-start-start-radius');
allProperties.add('border-style');
allProperties.add('border-top');
allProperties.add('border-top-color');
allProperties.add('border-top-left-radius');
allProperties.add('border-top-right-radius');
allProperties.add('border-top-style');
allProperties.add('border-top-width');
allProperties.add('border-width');
allProperties.add('bottom');
allProperties.add('box-decoration-break');
allProperties.add('box-shadow');
allProperties.add('box-sizing');
allProperties.add('box-snap');
allProperties.add('break-after');
allProperties.add('break-before');
allProperties.add('break-inside');
allProperties.add('caption-side');
allProperties.add('caret');
allProperties.add('caret-color');
allProperties.add('caret-shape');
allProperties.add('chains');
allProperties.add('clear');
allProperties.add('clip');
allProperties.add('clip-path');
allProperties.add('clip-rule');
allProperties.add('color');
allProperties.add('color-interpolation-filters');
allProperties.add('column-count');
allProperties.add('column-fill');
allProperties.add('column-gap');
allProperties.add('column-rule');
allProperties.add('column-rule-color');
allProperties.add('column-rule-style');
allProperties.add('column-rule-width');
allProperties.add('column-span');
allProperties.add('column-width');
allProperties.add('columns');
allProperties.add('contain');
allProperties.add('content');
allProperties.add('continue');
allProperties.add('counter-increment');
allProperties.add('counter-reset');
allProperties.add('counter-set');
allProperties.add('cue');
allProperties.add('cue-after');
allProperties.add('cue-before');
allProperties.add('cursor');
allProperties.add('direction');
allProperties.add('display');
allProperties.add('dominant-baseline');
allProperties.add('elevation');
allProperties.add('empty-cells');
allProperties.add('filter');
allProperties.add('flex');
allProperties.add('flex-basis');
allProperties.add('flex-direction');
allProperties.add('flex-flow');
allProperties.add('flex-grow');
allProperties.add('flex-shrink');
allProperties.add('flex-wrap');
allProperties.add('float');
allProperties.add('flood-color');
allProperties.add('flood-opacity');
allProperties.add('flow');
allProperties.add('flow-from');
allProperties.add('flow-into');
allProperties.add('font');
allProperties.add('font-family');
allProperties.add('font-feature-settings');
allProperties.add('font-kerning');
allProperties.add('font-language-override');
allProperties.add('font-max-size');
allProperties.add('font-min-size');
allProperties.add('font-optical-sizing');
allProperties.add('font-palette');
allProperties.add('font-size');
allProperties.add('font-size-adjust');
allProperties.add('font-stretch');
allProperties.add('font-style');
allProperties.add('font-synthesis');
allProperties.add('font-synthesis-small-caps');
allProperties.add('font-synthesis-style');
allProperties.add('font-synthesis-weight');
allProperties.add('font-variant');
allProperties.add('font-variant-alternates');
allProperties.add('font-variant-caps');
allProperties.add('font-variant-east-asian');
allProperties.add('font-variant-emoji');
allProperties.add('font-variant-ligatures');
allProperties.add('font-variant-numeric');
allProperties.add('font-variant-position');
allProperties.add('font-variation-settings');
allProperties.add('font-weight');
allProperties.add('footnote-display');
allProperties.add('footnote-policy');
allProperties.add('gap');
allProperties.add('glyph-orientation-vertical');
allProperties.add('grid');
allProperties.add('grid-area');
allProperties.add('grid-auto-columns');
allProperties.add('grid-auto-flow');
allProperties.add('grid-auto-rows');
allProperties.add('grid-column');
allProperties.add('grid-column-end');
allProperties.add('grid-column-start');
allProperties.add('grid-row');
allProperties.add('grid-row-end');
allProperties.add('grid-row-start');
allProperties.add('grid-template');
allProperties.add('grid-template-areas');
allProperties.add('grid-template-columns');
allProperties.add('grid-template-rows');
allProperties.add('hanging-punctuation');
allProperties.add('height');
allProperties.add('hyphenate-character');
allProperties.add('hyphenate-limit-chars');
allProperties.add('hyphenate-limit-last');
allProperties.add('hyphenate-limit-lines');
allProperties.add('hyphenate-limit-zone');
allProperties.add('hyphens');
allProperties.add('image-orientation');
allProperties.add('image-resolution');
allProperties.add('initial-letters');
allProperties.add('initial-letters-align');
allProperties.add('initial-letters-wrap');
allProperties.add('inline-size');
allProperties.add('inline-sizing');
allProperties.add('inset');
allProperties.add('inset-block');
allProperties.add('inset-block-end');
allProperties.add('inset-block-start');
allProperties.add('inset-inline');
allProperties.add('inset-inline-end');
allProperties.add('inset-inline-start');
allProperties.add('isolation');
allProperties.add('justify-content');
allProperties.add('justify-items');
allProperties.add('justify-self');
allProperties.add('left');
allProperties.add('letter-spacing');
allProperties.add('lighting-color');
allProperties.add('line-break');
allProperties.add('line-clamp');
allProperties.add('line-grid');
allProperties.add('line-height');
allProperties.add('line-padding');
allProperties.add('line-snap');
allProperties.add('list-style');
allProperties.add('list-style-image');
allProperties.add('list-style-position');
allProperties.add('list-style-type');
allProperties.add('margin');
allProperties.add('margin-block');
allProperties.add('margin-block-end');
allProperties.add('margin-block-start');
allProperties.add('margin-bottom');
allProperties.add('margin-inline');
allProperties.add('margin-inline-end');
allProperties.add('margin-inline-start');
allProperties.add('margin-left');
allProperties.add('margin-right');
allProperties.add('margin-top');
allProperties.add('margin-trim');
allProperties.add('marker-side');
allProperties.add('mask');
allProperties.add('mask-border');
allProperties.add('mask-border-mode');
allProperties.add('mask-border-outset');
allProperties.add('mask-border-repeat');
allProperties.add('mask-border-slice');
allProperties.add('mask-border-source');
allProperties.add('mask-border-width');
allProperties.add('mask-clip');
allProperties.add('mask-composite');
allProperties.add('mask-image');
allProperties.add('mask-mode');
allProperties.add('mask-origin');
allProperties.add('mask-position');
allProperties.add('mask-repeat');
allProperties.add('mask-size');
allProperties.add('mask-type');
allProperties.add('max-block-size');
allProperties.add('max-height');
allProperties.add('max-inline-size');
allProperties.add('max-lines');
allProperties.add('max-width');
allProperties.add('min-block-size');
allProperties.add('min-height');
allProperties.add('min-inline-size');
allProperties.add('min-width');
allProperties.add('mix-blend-mode');
allProperties.add('nav-down');
allProperties.add('nav-left');
allProperties.add('nav-right');
allProperties.add('nav-up');
allProperties.add('object-fit');
allProperties.add('object-position');
allProperties.add('offset');
allProperties.add('offset-after');
allProperties.add('offset-anchor');
allProperties.add('offset-before');
allProperties.add('offset-distance');
allProperties.add('offset-end');
allProperties.add('offset-path');
allProperties.add('offset-position');
allProperties.add('offset-rotate');
allProperties.add('offset-start');
allProperties.add('opacity');
allProperties.add('order');
allProperties.add('orphans');
allProperties.add('outline');
allProperties.add('outline-color');
allProperties.add('outline-offset');
allProperties.add('outline-style');
allProperties.add('outline-width');
allProperties.add('overflow');
allProperties.add('overflow-block');
allProperties.add('overflow-inline');
allProperties.add('overflow-wrap');
allProperties.add('overflow-x');
allProperties.add('overflow-y');
allProperties.add('padding');
allProperties.add('padding-block');
allProperties.add('padding-block-end');
allProperties.add('padding-block-start');
allProperties.add('padding-bottom');
allProperties.add('padding-inline');
allProperties.add('padding-inline-end');
allProperties.add('padding-inline-start');
allProperties.add('padding-left');
allProperties.add('padding-right');
allProperties.add('padding-top');
allProperties.add('page');
allProperties.add('page-break-after');
allProperties.add('page-break-before');
allProperties.add('page-break-inside');
allProperties.add('pause');
allProperties.add('pause-after');
allProperties.add('pause-before');
allProperties.add('pitch');
allProperties.add('pitch-range');
allProperties.add('place-content');
allProperties.add('place-items');
allProperties.add('place-self');
allProperties.add('play-during');
allProperties.add('position');
allProperties.add('presentation-level');
allProperties.add('quotes');
allProperties.add('region-fragment');
allProperties.add('resize');
allProperties.add('rest');
allProperties.add('rest-after');
allProperties.add('rest-before');
allProperties.add('richness');
allProperties.add('right');
allProperties.add('row-gap');
allProperties.add('ruby-align');
allProperties.add('ruby-merge');
allProperties.add('ruby-position');
allProperties.add('running');
allProperties.add('scroll-behavior');
allProperties.add('scroll-margin');
allProperties.add('scroll-margin-block');
allProperties.add('scroll-margin-block-end');
allProperties.add('scroll-margin-block-start');
allProperties.add('scroll-margin-bottom');
allProperties.add('scroll-margin-inline');
allProperties.add('scroll-margin-inline-end');
allProperties.add('scroll-margin-inline-start');
allProperties.add('scroll-margin-left');
allProperties.add('scroll-margin-right');
allProperties.add('scroll-margin-top');
allProperties.add('scroll-padding');
allProperties.add('scroll-padding-block');
allProperties.add('scroll-padding-block-end');
allProperties.add('scroll-padding-block-start');
allProperties.add('scroll-padding-bottom');
allProperties.add('scroll-padding-inline');
allProperties.add('scroll-padding-inline-end');
allProperties.add('scroll-padding-inline-start');
allProperties.add('scroll-padding-left');
allProperties.add('scroll-padding-right');
allProperties.add('scroll-padding-top');
allProperties.add('scroll-snap-align');
allProperties.add('scroll-snap-stop');
allProperties.add('scroll-snap-type');
allProperties.add('shape-image-threshold');
allProperties.add('shape-inside');
allProperties.add('shape-margin');
allProperties.add('shape-outside');
allProperties.add('speak');
allProperties.add('speak-as');
allProperties.add('speak-header');
allProperties.add('speak-numeral');
allProperties.add('speak-punctuation');
allProperties.add('speech-rate');
allProperties.add('stress');
allProperties.add('string-set');
allProperties.add('tab-size');
allProperties.add('table-layout');
allProperties.add('text-align');
allProperties.add('text-align-all');
allProperties.add('text-align-last');
allProperties.add('text-combine-upright');
allProperties.add('text-decoration');
allProperties.add('text-decoration-color');
allProperties.add('text-decoration-line');
allProperties.add('text-decoration-style');
allProperties.add('text-emphasis');
allProperties.add('text-emphasis-color');
allProperties.add('text-emphasis-position');
allProperties.add('text-emphasis-style');
allProperties.add('text-group-align');
allProperties.add('text-indent');
allProperties.add('text-justify');
allProperties.add('text-orientation');
allProperties.add('text-overflow');
allProperties.add('text-shadow');
allProperties.add('text-space-collapse');
allProperties.add('text-space-trim');
allProperties.add('text-spacing');
allProperties.add('text-transform');
allProperties.add('text-underline-position');
allProperties.add('text-wrap');
allProperties.add('top');
allProperties.add('transform');
allProperties.add('transform-box');
allProperties.add('transform-origin');
allProperties.add('transition');
allProperties.add('transition-delay');
allProperties.add('transition-duration');
allProperties.add('transition-property');
allProperties.add('transition-timing-function');
allProperties.add('unicode-bidi');
allProperties.add('user-select');
allProperties.add('vertical-align');
allProperties.add('visibility');
allProperties.add('voice-balance');
allProperties.add('voice-duration');
allProperties.add('voice-family');
allProperties.add('voice-pitch');
allProperties.add('voice-range');
allProperties.add('voice-rate');
allProperties.add('voice-stress');
allProperties.add('voice-volume');
allProperties.add('volume');
allProperties.add('white-space');
allProperties.add('widows');
allProperties.add('width');
allProperties.add('will-change');
allProperties.add('word-break');
allProperties.add('word-spacing');
allProperties.add('word-wrap');
allProperties.add('wrap-after');
allProperties.add('wrap-before');
allProperties.add('wrap-flow');
allProperties.add('wrap-inside');
allProperties.add('wrap-through');
allProperties.add('writing-mode');
allProperties.add('z-index');

6
node_modules/cssstyle/lib/constants.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
'use strict';
module.exports.POSITION_AT_SHORTHAND = {
first: 0,
second: 1,
};

90
node_modules/cssstyle/lib/implementedProperties.js generated vendored Normal file
View File

@@ -0,0 +1,90 @@
'use strict';
// autogenerated - 3/27/2019
/*
*
* https://www.w3.org/Style/CSS/all-properties.en.html
*/
var implementedProperties = new Set();
implementedProperties.add("azimuth");
implementedProperties.add("background");
implementedProperties.add("background-attachment");
implementedProperties.add("background-color");
implementedProperties.add("background-image");
implementedProperties.add("background-position");
implementedProperties.add("background-repeat");
implementedProperties.add("border");
implementedProperties.add("border-bottom");
implementedProperties.add("border-bottom-color");
implementedProperties.add("border-bottom-style");
implementedProperties.add("border-bottom-width");
implementedProperties.add("border-collapse");
implementedProperties.add("border-color");
implementedProperties.add("border-left");
implementedProperties.add("border-left-color");
implementedProperties.add("border-left-style");
implementedProperties.add("border-left-width");
implementedProperties.add("border-right");
implementedProperties.add("border-right-color");
implementedProperties.add("border-right-style");
implementedProperties.add("border-right-width");
implementedProperties.add("border-spacing");
implementedProperties.add("border-style");
implementedProperties.add("border-top");
implementedProperties.add("border-top-color");
implementedProperties.add("border-top-style");
implementedProperties.add("border-top-width");
implementedProperties.add("border-width");
implementedProperties.add("bottom");
implementedProperties.add("clear");
implementedProperties.add("clip");
implementedProperties.add("color");
implementedProperties.add("css-float");
implementedProperties.add("flex");
implementedProperties.add("flex-basis");
implementedProperties.add("flex-grow");
implementedProperties.add("flex-shrink");
implementedProperties.add("float");
implementedProperties.add("flood-color");
implementedProperties.add("font");
implementedProperties.add("font-family");
implementedProperties.add("font-size");
implementedProperties.add("font-style");
implementedProperties.add("font-variant");
implementedProperties.add("font-weight");
implementedProperties.add("height");
implementedProperties.add("left");
implementedProperties.add("lighting-color");
implementedProperties.add("line-height");
implementedProperties.add("margin");
implementedProperties.add("margin-bottom");
implementedProperties.add("margin-left");
implementedProperties.add("margin-right");
implementedProperties.add("margin-top");
implementedProperties.add("opacity");
implementedProperties.add("outline-color");
implementedProperties.add("padding");
implementedProperties.add("padding-bottom");
implementedProperties.add("padding-left");
implementedProperties.add("padding-right");
implementedProperties.add("padding-top");
implementedProperties.add("right");
implementedProperties.add("stop-color");
implementedProperties.add("text-line-through-color");
implementedProperties.add("text-overline-color");
implementedProperties.add("text-underline-color");
implementedProperties.add("top");
implementedProperties.add("webkit-border-after-color");
implementedProperties.add("webkit-border-before-color");
implementedProperties.add("webkit-border-end-color");
implementedProperties.add("webkit-border-start-color");
implementedProperties.add("webkit-column-rule-color");
implementedProperties.add("webkit-match-nearest-mail-blockquote-color");
implementedProperties.add("webkit-tap-highlight-color");
implementedProperties.add("webkit-text-emphasis-color");
implementedProperties.add("webkit-text-fill-color");
implementedProperties.add("webkit-text-stroke-color");
implementedProperties.add("width");
module.exports = implementedProperties;

152
node_modules/cssstyle/lib/named_colors.json generated vendored Normal file
View File

@@ -0,0 +1,152 @@
[
"aliceblue",
"antiquewhite",
"aqua",
"aquamarine",
"azure",
"beige",
"bisque",
"black",
"blanchedalmond",
"blue",
"blueviolet",
"brown",
"burlywood",
"cadetblue",
"chartreuse",
"chocolate",
"coral",
"cornflowerblue",
"cornsilk",
"crimson",
"cyan",
"darkblue",
"darkcyan",
"darkgoldenrod",
"darkgray",
"darkgreen",
"darkgrey",
"darkkhaki",
"darkmagenta",
"darkolivegreen",
"darkorange",
"darkorchid",
"darkred",
"darksalmon",
"darkseagreen",
"darkslateblue",
"darkslategray",
"darkslategrey",
"darkturquoise",
"darkviolet",
"deeppink",
"deepskyblue",
"dimgray",
"dimgrey",
"dodgerblue",
"firebrick",
"floralwhite",
"forestgreen",
"fuchsia",
"gainsboro",
"ghostwhite",
"gold",
"goldenrod",
"gray",
"green",
"greenyellow",
"grey",
"honeydew",
"hotpink",
"indianred",
"indigo",
"ivory",
"khaki",
"lavender",
"lavenderblush",
"lawngreen",
"lemonchiffon",
"lightblue",
"lightcoral",
"lightcyan",
"lightgoldenrodyellow",
"lightgray",
"lightgreen",
"lightgrey",
"lightpink",
"lightsalmon",
"lightseagreen",
"lightskyblue",
"lightslategray",
"lightslategrey",
"lightsteelblue",
"lightyellow",
"lime",
"limegreen",
"linen",
"magenta",
"maroon",
"mediumaquamarine",
"mediumblue",
"mediumorchid",
"mediumpurple",
"mediumseagreen",
"mediumslateblue",
"mediumspringgreen",
"mediumturquoise",
"mediumvioletred",
"midnightblue",
"mintcream",
"mistyrose",
"moccasin",
"navajowhite",
"navy",
"oldlace",
"olive",
"olivedrab",
"orange",
"orangered",
"orchid",
"palegoldenrod",
"palegreen",
"paleturquoise",
"palevioletred",
"papayawhip",
"peachpuff",
"peru",
"pink",
"plum",
"powderblue",
"purple",
"rebeccapurple",
"red",
"rosybrown",
"royalblue",
"saddlebrown",
"salmon",
"sandybrown",
"seagreen",
"seashell",
"sienna",
"silver",
"skyblue",
"slateblue",
"slategray",
"slategrey",
"snow",
"springgreen",
"steelblue",
"tan",
"teal",
"thistle",
"tomato",
"turquoise",
"violet",
"wheat",
"white",
"whitesmoke",
"yellow",
"yellowgreen",
"transparent",
"currentcolor"
]

1071
node_modules/cssstyle/lib/parsers.js generated vendored

File diff suppressed because it is too large Load Diff

4278
node_modules/cssstyle/lib/properties.js generated vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('alignment-baseline', v);
},
get: function () {
return this.getPropertyValue('alignment-baseline');
},
enumerable: true,
configurable: true
};

View File

@@ -3,63 +3,65 @@
var parsers = require('../parsers');
module.exports.definition = {
set: function (v) {
var valueType = parsers.valueType(v);
if (valueType === parsers.TYPES.ANGLE) {
return this._setProperty('azimuth', parsers.parseAngle(v));
}
if (valueType === parsers.TYPES.KEYWORD) {
var keywords = v.toLowerCase().trim().split(/\s+/);
var hasBehind = false;
if (keywords.length > 2) {
return;
}
var behindIndex = keywords.indexOf('behind');
hasBehind = (behindIndex !== -1);
set: function(v) {
var valueType = parsers.valueType(v);
if (valueType === parsers.TYPES.ANGLE) {
return this._setProperty('azimuth', parsers.parseAngle(v));
}
if (valueType === parsers.TYPES.KEYWORD) {
var keywords = v
.toLowerCase()
.trim()
.split(/\s+/);
var hasBehind = false;
if (keywords.length > 2) {
return;
}
var behindIndex = keywords.indexOf('behind');
hasBehind = behindIndex !== -1;
if (keywords.length === 2) {
if (!hasBehind) {
return;
}
keywords.splice(behindIndex, 1);
}
if (keywords[0] === 'leftwards' || keywords[0] === 'rightwards') {
if (hasBehind) {
return;
}
return this._setProperty('azimuth', keywords[0]);
}
if (keywords[0] === 'behind') {
return this._setProperty('azimuth', '180deg');
}
var deg;
switch (keywords[0]) {
case 'left-side':
return this._setProperty('azimuth', '270deg');
case 'far-left':
return this._setProperty('azimuth', (hasBehind ? 240 : 300) + 'deg');
case 'left':
return this._setProperty('azimuth', (hasBehind ? 220 : 320) + 'deg');
case 'center-left':
return this._setProperty('azimuth', (hasBehind ? 200 : 340) + 'deg');
case 'center':
return this._setProperty('azimuth', (hasBehind ? 180 : 0) + 'deg');
case 'center-right':
return this._setProperty('azimuth', (hasBehind ? 160 : 20) + 'deg');
case 'right':
return this._setProperty('azimuth', (hasBehind ? 140 : 40) + 'deg');
case 'far-right':
return this._setProperty('azimuth', (hasBehind ? 120 : 60) + 'deg');
case 'right-side':
return this._setProperty('azimuth', '90deg');
default:
return;
}
if (keywords.length === 2) {
if (!hasBehind) {
return;
}
},
get: function () {
return this.getPropertyValue('azimuth');
},
enumerable: true,
configurable: true
keywords.splice(behindIndex, 1);
}
if (keywords[0] === 'leftwards' || keywords[0] === 'rightwards') {
if (hasBehind) {
return;
}
return this._setProperty('azimuth', keywords[0]);
}
if (keywords[0] === 'behind') {
return this._setProperty('azimuth', '180deg');
}
switch (keywords[0]) {
case 'left-side':
return this._setProperty('azimuth', '270deg');
case 'far-left':
return this._setProperty('azimuth', (hasBehind ? 240 : 300) + 'deg');
case 'left':
return this._setProperty('azimuth', (hasBehind ? 220 : 320) + 'deg');
case 'center-left':
return this._setProperty('azimuth', (hasBehind ? 200 : 340) + 'deg');
case 'center':
return this._setProperty('azimuth', (hasBehind ? 180 : 0) + 'deg');
case 'center-right':
return this._setProperty('azimuth', (hasBehind ? 160 : 20) + 'deg');
case 'right':
return this._setProperty('azimuth', (hasBehind ? 140 : 40) + 'deg');
case 'far-right':
return this._setProperty('azimuth', (hasBehind ? 120 : 60) + 'deg');
case 'right-side':
return this._setProperty('azimuth', '90deg');
default:
return;
}
}
},
get: function() {
return this.getPropertyValue('azimuth');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,24 +1,19 @@
'use strict';
var shorthandParser = require('../parsers').shorthandParser;
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthand_for = {
'background-color': require('./backgroundColor'),
'background-image': require('./backgroundImage'),
'background-repeat': require('./backgroundRepeat'),
'background-attachment': require('./backgroundAttachment'),
'background-position': require('./backgroundPosition')
};
module.exports.isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
'background-color': require('./backgroundColor'),
'background-image': require('./backgroundImage'),
'background-repeat': require('./backgroundRepeat'),
'background-attachment': require('./backgroundAttachment'),
'background-position': require('./backgroundPosition'),
};
module.exports.definition = {
set: shorthandSetter('background', shorthand_for),
get: shorthandGetter('background', shorthand_for),
enumerable: true,
configurable: true
set: shorthandSetter('background', shorthand_for),
get: shorthandGetter('background', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -2,21 +2,23 @@
var parsers = require('../parsers');
var isValid = module.exports.isValid = function isValid(v) {
return parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'scroll' || v.toLowerCase() === 'fixed' || v.toLowerCase() === 'inherit');
};
var isValid = (module.exports.isValid = function isValid(v) {
return (
parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'scroll' || v.toLowerCase() === 'fixed' || v.toLowerCase() === 'inherit')
);
});
module.exports.definition = {
set: function (v) {
if (!isValid(v)) {
return;
}
this._setProperty('background-attachment', v);
},
get: function () {
return this.getPropertyValue('background-attachment');
},
enumerable: true,
configurable: true
set: function(v) {
if (!isValid(v)) {
return;
}
this._setProperty('background-attachment', v);
},
get: function() {
return this.getPropertyValue('background-attachment');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-clip', v);
},
get: function () {
return this.getPropertyValue('background-clip');
},
enumerable: true,
configurable: true
};

View File

@@ -3,31 +3,34 @@
var parsers = require('../parsers');
var parse = function parse(v) {
var parsed = parsers.parseColor(v);
if (parsed !== undefined) {
return parsed;
}
if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'transparent' || v.toLowerCase() === 'inherit')) {
return v;
}
return undefined;
var parsed = parsers.parseColor(v);
if (parsed !== undefined) {
return parsed;
}
if (
parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'transparent' || v.toLowerCase() === 'inherit')
) {
return v;
}
return undefined;
};
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
return parse(v) !== undefined;
};
module.exports.definition = {
set: function (v) {
var parsed = parse(v);
if (parsed === undefined) {
return;
}
this._setProperty('background-color', parsed);
},
get: function () {
return this.getPropertyValue('background-color');
},
enumerable: true,
configurable: true
set: function(v) {
var parsed = parse(v);
if (parsed === undefined) {
return;
}
this._setProperty('background-color', parsed);
},
get: function() {
return this.getPropertyValue('background-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,27 +3,30 @@
var parsers = require('../parsers');
var parse = function parse(v) {
var parsed = parsers.parseUrl(v);
if (parsed !== undefined) {
return parsed;
}
if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'none' || v.toLowerCase() === 'inherit')) {
return v;
}
return undefined;
var parsed = parsers.parseUrl(v);
if (parsed !== undefined) {
return parsed;
}
if (
parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'none' || v.toLowerCase() === 'inherit')
) {
return v;
}
return undefined;
};
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
return parse(v) !== undefined;
};
module.exports.definition = {
set: function (v) {
this._setProperty('background-image', parse(v));
},
get: function () {
return this.getPropertyValue('background-image');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('background-image', parse(v));
},
get: function() {
return this.getPropertyValue('background-image');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-origin', v);
},
get: function () {
return this.getPropertyValue('background-origin');
},
enumerable: true,
configurable: true
};

View File

@@ -5,52 +5,54 @@ var parsers = require('../parsers');
var valid_keywords = ['top', 'center', 'bottom', 'left', 'right'];
var parse = function parse(v) {
if (v === '' || v === null) {
return undefined;
if (v === '' || v === null) {
return undefined;
}
var parts = v.split(/\s+/);
if (parts.length > 2 || parts.length < 1) {
return undefined;
}
var types = [];
parts.forEach(function(part, index) {
types[index] = parsers.valueType(part);
});
if (parts.length === 1) {
if (types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) {
return v;
}
var parts = v.split(/\s+/);
if (parts.length > 2 || parts.length < 1) {
return undefined;
}
var types = [];
parts.forEach(function (part, index) {
types[index] = parsers.valueType(part);
});
if (parts.length === 1) {
if (types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) {
return v;
}
if (types[0] === parsers.TYPES.KEYWORD) {
if (valid_keywords.indexOf(v.toLowerCase()) !== -1 || v.toLowerCase() === 'inherit') {
return v;
}
}
return undefined;
}
if ((types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) &&
(types[1] === parsers.TYPES.LENGTH || types[1] === parsers.TYPES.PERCENT)) {
return v;
}
if (types[0] !== parsers.TYPES.KEYWORD || types[1] !== parsers.TYPES.KEYWORD) {
return undefined;
}
if (valid_keywords.indexOf(parts[0]) !== -1 && valid_keywords.indexOf(parts[1]) !== -1) {
if (types[0] === parsers.TYPES.KEYWORD) {
if (valid_keywords.indexOf(v.toLowerCase()) !== -1 || v.toLowerCase() === 'inherit') {
return v;
}
}
return undefined;
}
if (
(types[0] === parsers.TYPES.LENGTH || types[0] === parsers.TYPES.PERCENT) &&
(types[1] === parsers.TYPES.LENGTH || types[1] === parsers.TYPES.PERCENT)
) {
return v;
}
if (types[0] !== parsers.TYPES.KEYWORD || types[1] !== parsers.TYPES.KEYWORD) {
return undefined;
}
if (valid_keywords.indexOf(parts[0]) !== -1 && valid_keywords.indexOf(parts[1]) !== -1) {
return v;
}
return undefined;
};
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
return parse(v) !== undefined;
};
module.exports.definition = {
set: function (v) {
this._setProperty('background-position', parse(v));
},
get: function () {
return this.getPropertyValue('background-position');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('background-position', parse(v));
},
get: function() {
return this.getPropertyValue('background-position');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-position-x', v);
},
get: function () {
return this.getPropertyValue('background-position-x');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-position-y', v);
},
get: function () {
return this.getPropertyValue('background-position-y');
},
enumerable: true,
configurable: true
};

View File

@@ -3,23 +3,30 @@
var parsers = require('../parsers');
var parse = function parse(v) {
if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'repeat' || v.toLowerCase() === 'repeat-x' || v.toLowerCase() === 'repeat-y' || v.toLowerCase() === 'no-repeat' || v.toLowerCase() === 'inherit')) {
return v;
}
return undefined;
if (
parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'repeat' ||
v.toLowerCase() === 'repeat-x' ||
v.toLowerCase() === 'repeat-y' ||
v.toLowerCase() === 'no-repeat' ||
v.toLowerCase() === 'inherit')
) {
return v;
}
return undefined;
};
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
return parse(v) !== undefined;
};
module.exports.definition = {
set: function (v) {
this._setProperty('background-repeat', parse(v));
},
get: function () {
return this.getPropertyValue('background-repeat');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('background-repeat', parse(v));
},
get: function() {
return this.getPropertyValue('background-repeat');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-repeat-x', v);
},
get: function () {
return this.getPropertyValue('background-repeat-x');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-repeat-y', v);
},
get: function () {
return this.getPropertyValue('background-repeat-y');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('background-size', v);
},
get: function () {
return this.getPropertyValue('background-size');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('baseline-shift', v);
},
get: function () {
return this.getPropertyValue('baseline-shift');
},
enumerable: true,
configurable: true
};

View File

@@ -1,49 +1,33 @@
'use strict';
var shorthandParser = require('../parsers').shorthandParser;
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthand_for = {
'border-width': require('./borderWidth'),
'border-style': require('./borderStyle'),
'border-color': require('./borderColor')
};
var isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
};
module.exports.isValid = isValid;
var parser = function (v) {
if (v.toString().toLowerCase() === 'none') {
v = '';
}
if (isValid(v)) {
return v;
}
return undefined;
'border-width': require('./borderWidth'),
'border-style': require('./borderStyle'),
'border-color': require('./borderColor'),
};
var myShorthandSetter = shorthandSetter('border', shorthand_for);
var myShorthandGetter = shorthandGetter('border', shorthand_for);
module.exports.definition = {
set: function (v) {
if (v.toString().toLowerCase() === 'none') {
v = '';
}
myShorthandSetter.call(this, v);
this.removeProperty('border-top');
this.removeProperty('border-left');
this.removeProperty('border-right');
this.removeProperty('border-bottom');
this._values['border-top'] = this._values.border;
this._values['border-left'] = this._values.border;
this._values['border-right'] = this._values.border;
this._values['border-bottom'] = this._values.border;
},
get: myShorthandGetter,
enumerable: true,
configurable: true
set: function(v) {
if (v.toString().toLowerCase() === 'none') {
v = '';
}
myShorthandSetter.call(this, v);
this.removeProperty('border-top');
this.removeProperty('border-left');
this.removeProperty('border-right');
this.removeProperty('border-bottom');
this._values['border-top'] = this._values.border;
this._values['border-left'] = this._values.border;
this._values['border-right'] = this._values.border;
this._values['border-bottom'] = this._values.border;
},
get: myShorthandGetter,
enumerable: true,
configurable: true,
};

View File

@@ -2,22 +2,16 @@
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthandParser = require('../parsers').shorthandParser;
var shorthand_for = {
'border-bottom-width': require('./borderBottomWidth'),
'border-bottom-style': require('./borderBottomStyle'),
'border-bottom-color': require('./borderBottomColor')
'border-bottom-width': require('./borderBottomWidth'),
'border-bottom-style': require('./borderBottomStyle'),
'border-bottom-color': require('./borderBottomColor'),
};
var isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
};
module.exports.isValid = isValid;
module.exports.definition = {
set: shorthandSetter('border-bottom', shorthand_for),
get: shorthandGetter('border-bottom', shorthand_for),
enumerable: true,
configurable: true
set: shorthandSetter('border-bottom', shorthand_for),
get: shorthandGetter('border-bottom', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderColor').isValid;
var isValid = (module.exports.isValid = require('./borderColor').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-bottom-color', v);
}
},
get: function () {
return this.getPropertyValue('border-bottom-color');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-bottom-color', v);
}
},
get: function() {
return this.getPropertyValue('border-bottom-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-bottom-left-radius', v);
},
get: function () {
return this.getPropertyValue('border-bottom-left-radius');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-bottom-right-radius', v);
},
get: function () {
return this.getPropertyValue('border-bottom-right-radius');
},
enumerable: true,
configurable: true
};

View File

@@ -4,18 +4,18 @@ var isValid = require('./borderStyle').isValid;
module.exports.isValid = isValid;
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-bottom-width');
}
this._setProperty('border-bottom-style', v);
}
},
get: function () {
return this.getPropertyValue('border-bottom-style');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-bottom-width');
}
this._setProperty('border-bottom-style', v);
}
},
get: function() {
return this.getPropertyValue('border-bottom-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderWidth').isValid;
var isValid = (module.exports.isValid = require('./borderWidth').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-bottom-width', v);
}
},
get: function () {
return this.getPropertyValue('border-bottom-width');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-bottom-width', v);
}
},
get: function() {
return this.getPropertyValue('border-bottom-width');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,23 +3,24 @@
var parsers = require('../parsers');
var parse = function parse(v) {
if (parsers.valueType(v) === parsers.TYPES.KEYWORD && (v.toLowerCase() === 'collapse' || v.toLowerCase() === 'separate' || v.toLowerCase() === 'inherit')) {
return v;
}
return undefined;
};
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
if (
parsers.valueType(v) === parsers.TYPES.KEYWORD &&
(v.toLowerCase() === 'collapse' ||
v.toLowerCase() === 'separate' ||
v.toLowerCase() === 'inherit')
) {
return v;
}
return undefined;
};
module.exports.definition = {
set: function (v) {
this._setProperty('border-collapse', parse(v));
},
get: function () {
return this.getPropertyValue('border-collapse');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('border-collapse', parse(v));
},
get: function() {
return this.getPropertyValue('border-collapse');
},
enumerable: true,
configurable: true,
};

View File

@@ -4,25 +4,27 @@ var parsers = require('../parsers');
var implicitSetter = require('../parsers').implicitSetter;
module.exports.isValid = function parse(v) {
if (typeof v !== 'string') {
return false;
}
return (v === '' || v.toLowerCase() === 'transparent' || parsers.valueType(v) === parsers.TYPES.COLOR);
if (typeof v !== 'string') {
return false;
}
return (
v === '' || v.toLowerCase() === 'transparent' || parsers.valueType(v) === parsers.TYPES.COLOR
);
};
var isValid = module.exports.isValid;
var parser = function (v) {
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
var parser = function(v) {
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
};
module.exports.definition = {
set: implicitSetter('border', 'color', isValid, parser),
get: function () {
return this.getPropertyValue('border-color');
},
enumerable: true,
configurable: true
set: implicitSetter('border', 'color', isValid, parser),
get: function() {
return this.getPropertyValue('border-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image', v);
},
get: function () {
return this.getPropertyValue('border-image');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image-outset', v);
},
get: function () {
return this.getPropertyValue('border-image-outset');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image-repeat', v);
},
get: function () {
return this.getPropertyValue('border-image-repeat');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image-slice', v);
},
get: function () {
return this.getPropertyValue('border-image-slice');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image-source', v);
},
get: function () {
return this.getPropertyValue('border-image-source');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-image-width', v);
},
get: function () {
return this.getPropertyValue('border-image-width');
},
enumerable: true,
configurable: true
};

View File

@@ -2,22 +2,16 @@
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthandParser = require('../parsers').shorthandParser;
var shorthand_for = {
'border-left-width': require('./borderLeftWidth'),
'border-left-style': require('./borderLeftStyle'),
'border-left-color': require('./borderLeftColor')
'border-left-width': require('./borderLeftWidth'),
'border-left-style': require('./borderLeftStyle'),
'border-left-color': require('./borderLeftColor'),
};
var isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
};
module.exports.isValid = isValid;
module.exports.definition = {
set: shorthandSetter('border-left', shorthand_for),
get: shorthandGetter('border-left', shorthand_for),
enumerable: true,
configurable: true
set: shorthandSetter('border-left', shorthand_for),
get: shorthandGetter('border-left', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderColor').isValid;
var isValid = (module.exports.isValid = require('./borderColor').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-left-color', v);
}
},
get: function () {
return this.getPropertyValue('border-left-color');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-left-color', v);
}
},
get: function() {
return this.getPropertyValue('border-left-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -4,18 +4,18 @@ var isValid = require('./borderStyle').isValid;
module.exports.isValid = isValid;
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-left-width');
}
this._setProperty('border-left-style', v);
}
},
get: function () {
return this.getPropertyValue('border-left-style');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-left-width');
}
this._setProperty('border-left-style', v);
}
},
get: function() {
return this.getPropertyValue('border-left-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderWidth').isValid;
var isValid = (module.exports.isValid = require('./borderWidth').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-left-width', v);
}
},
get: function () {
return this.getPropertyValue('border-left-width');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-left-width', v);
}
},
get: function() {
return this.getPropertyValue('border-left-width');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-radius', v);
},
get: function () {
return this.getPropertyValue('border-radius');
},
enumerable: true,
configurable: true
};

View File

@@ -2,22 +2,16 @@
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthandParser = require('../parsers').shorthandParser;
var shorthand_for = {
'border-right-width': require('./borderRightWidth'),
'border-right-style': require('./borderRightStyle'),
'border-right-color': require('./borderRightColor')
'border-right-width': require('./borderRightWidth'),
'border-right-style': require('./borderRightStyle'),
'border-right-color': require('./borderRightColor'),
};
var isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
};
module.exports.isValid = isValid;
module.exports.definition = {
set: shorthandSetter('border-right', shorthand_for),
get: shorthandGetter('border-right', shorthand_for),
enumerable: true,
configurable: true
set: shorthandSetter('border-right', shorthand_for),
get: shorthandGetter('border-right', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderColor').isValid;
var isValid = (module.exports.isValid = require('./borderColor').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-right-color', v);
}
},
get: function () {
return this.getPropertyValue('border-right-color');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-right-color', v);
}
},
get: function() {
return this.getPropertyValue('border-right-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -4,18 +4,18 @@ var isValid = require('./borderStyle').isValid;
module.exports.isValid = isValid;
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-right-width');
}
this._setProperty('border-right-style', v);
}
},
get: function () {
return this.getPropertyValue('border-right-style');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-right-width');
}
this._setProperty('border-right-style', v);
}
},
get: function() {
return this.getPropertyValue('border-right-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderWidth').isValid;
var isValid = (module.exports.isValid = require('./borderWidth').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-right-width', v);
}
},
get: function () {
return this.getPropertyValue('border-right-width');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-right-width', v);
}
},
get: function() {
return this.getPropertyValue('border-right-width');
},
enumerable: true,
configurable: true,
};

View File

@@ -7,36 +7,35 @@ var parsers = require('../parsers');
// if two, the first applies to the horizontal and the second applies to vertical spacing
var parse = function parse(v) {
if (v === '' || v === null) {
return undefined;
}
if (v.toLowerCase() === 'inherit') {
return v;
}
var parts = v.split(/\s+/);
if (parts.length !== 1 && parts.length !== 2) {
return undefined;
}
parts.forEach(function (part) {
if (parsers.valueType(part) !== parsers.TYPES.LENGTH) {
return undefined;
}
});
if (v === '' || v === null) {
return undefined;
}
if (v === 0) {
return '0px';
}
if (v.toLowerCase() === 'inherit') {
return v;
};
}
var parts = v.split(/\s+/);
if (parts.length !== 1 && parts.length !== 2) {
return undefined;
}
parts.forEach(function(part) {
if (parsers.valueType(part) !== parsers.TYPES.LENGTH) {
return undefined;
}
});
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
return v;
};
module.exports.definition = {
set: function (v) {
this._setProperty('border-spacing', parse(v));
},
get: function () {
return this.getPropertyValue('border-spacing');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('border-spacing', parse(v));
},
get: function() {
return this.getPropertyValue('border-spacing');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,25 +3,36 @@
var implicitSetter = require('../parsers').implicitSetter;
// the valid border-styles:
var styles = ['none', 'hidden', 'dotted', 'dashed', 'solid', 'double', 'groove', 'ridge', 'inset', 'outset'];
var styles = [
'none',
'hidden',
'dotted',
'dashed',
'solid',
'double',
'groove',
'ridge',
'inset',
'outset',
];
module.exports.isValid = function parse(v) {
return typeof v === 'string' && (v === '' || styles.indexOf(v) !== -1);
return typeof v === 'string' && (v === '' || styles.indexOf(v) !== -1);
};
var isValid = module.exports.isValid;
var parser = function (v) {
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
var parser = function(v) {
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
};
module.exports.definition = {
set: implicitSetter('border', 'style', isValid, parser),
get: function () {
return this.getPropertyValue('border-style');
},
enumerable: true,
configurable: true
set: implicitSetter('border', 'style', isValid, parser),
get: function() {
return this.getPropertyValue('border-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -2,21 +2,16 @@
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthandParser = require('../parsers').shorthandParser;
var shorthand_for = {
'border-top-width': require('./borderTopWidth'),
'border-top-style': require('./borderTopStyle'),
'border-top-color': require('./borderTopColor')
};
module.exports.isValid = function (v) {
return shorthandParser(v, shorthand_for) !== undefined;
'border-top-width': require('./borderTopWidth'),
'border-top-style': require('./borderTopStyle'),
'border-top-color': require('./borderTopColor'),
};
module.exports.definition = {
set: shorthandSetter('border-top', shorthand_for),
get: shorthandGetter('border-top', shorthand_for),
enumerable: true,
configurable: true
set: shorthandSetter('border-top', shorthand_for),
get: shorthandGetter('border-top', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -1,16 +1,16 @@
'use strict';
var isValid = module.exports.isValid = require('./borderColor').isValid;
var isValid = (module.exports.isValid = require('./borderColor').isValid);
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-top-color', v);
}
},
get: function () {
return this.getPropertyValue('border-top-color');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-top-color', v);
}
},
get: function() {
return this.getPropertyValue('border-top-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-top-left-radius', v);
},
get: function () {
return this.getPropertyValue('border-top-left-radius');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('border-top-right-radius', v);
},
get: function () {
return this.getPropertyValue('border-top-right-radius');
},
enumerable: true,
configurable: true
};

View File

@@ -4,18 +4,18 @@ var isValid = require('./borderStyle').isValid;
module.exports.isValid = isValid;
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-top-width');
}
this._setProperty('border-top-style', v);
}
},
get: function () {
return this.getPropertyValue('border-top-style');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
if (v.toLowerCase() === 'none') {
v = '';
this.removeProperty('border-top-width');
}
this._setProperty('border-top-style', v);
}
},
get: function() {
return this.getPropertyValue('border-top-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -4,14 +4,14 @@ var isValid = require('./borderWidth').isValid;
module.exports.isValid = isValid;
module.exports.definition = {
set: function (v) {
if (isValid(v)) {
this._setProperty('border-top-width', v);
}
},
get: function () {
return this.getPropertyValue('border-top-width');
},
enumerable: true,
configurable: true
set: function(v) {
if (isValid(v)) {
this._setProperty('border-top-width', v);
}
},
get: function() {
return this.getPropertyValue('border-top-width');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,6 +1,5 @@
'use strict';
var parsers = require('../parsers');
var parsers = require('../parsers');
var implicitSetter = require('../parsers').implicitSetter;
@@ -8,40 +7,40 @@ var implicitSetter = require('../parsers').implicitSetter;
var widths = ['thin', 'medium', 'thick'];
module.exports.isValid = function parse(v) {
var length = parsers.parseLength(v);
if (length !== undefined) {
return true;
}
if (typeof v !== 'string') {
return false;
}
if (v === '') {
return true;
}
v = v.toLowerCase();
if (widths.indexOf(v) === -1) {
return false;
}
var length = parsers.parseLength(v);
if (length !== undefined) {
return true;
}
if (typeof v !== 'string') {
return false;
}
if (v === '') {
return true;
}
v = v.toLowerCase();
if (widths.indexOf(v) === -1) {
return false;
}
return true;
};
var isValid = module.exports.isValid;
var parser = function (v) {
var length = parsers.parseLength(v);
if (length !== undefined) {
return length;
}
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
var parser = function(v) {
var length = parsers.parseLength(v);
if (length !== undefined) {
return length;
}
if (isValid(v)) {
return v.toLowerCase();
}
return undefined;
};
module.exports.definition = {
set: implicitSetter('border', 'width', isValid, parser),
get: function () {
return this.getPropertyValue('border-width');
},
enumerable: true,
configurable: true
set: implicitSetter('border', 'width', isValid, parser),
get: function() {
return this.getPropertyValue('border-width');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,12 +3,12 @@
var parseMeasurement = require('../parsers').parseMeasurement;
module.exports.definition = {
set: function (v) {
this._setProperty('bottom', parseMeasurement(v));
},
get: function () {
return this.getPropertyValue('bottom');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('bottom', parseMeasurement(v));
},
get: function() {
return this.getPropertyValue('bottom');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('box-shadow', v);
},
get: function () {
return this.getPropertyValue('box-shadow');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('box-sizing', v);
},
get: function () {
return this.getPropertyValue('box-sizing');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('caption-side', v);
},
get: function () {
return this.getPropertyValue('caption-side');
},
enumerable: true,
configurable: true
};

View File

@@ -2,15 +2,15 @@
var parseKeyword = require('../parsers').parseKeyword;
var clear_keywords = [ 'none', 'left', 'right', 'both', 'inherit' ];
var clear_keywords = ['none', 'left', 'right', 'both', 'inherit'];
module.exports.definition = {
set: function (v) {
this._setProperty('clear', parseKeyword(v, clear_keywords));
},
get: function () {
return this.getPropertyValue('clear');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('clear', parseKeyword(v, clear_keywords));
},
get: function() {
return this.getPropertyValue('clear');
},
enumerable: true,
configurable: true,
};

View File

@@ -2,48 +2,46 @@
var parseMeasurement = require('../parsers').parseMeasurement;
/*jslint regexp: true*/
var shape_regex = /^rect\((.*)\)$/i;
/*jslint regexp: false*/
var parse = function (val) {
if (val === '' || val === null) {
return val;
}
if (typeof val !== 'string') {
return undefined;
}
val = val.toLowerCase();
if (val === 'auto' || val === 'inherit') {
return val;
}
var matches = val.match(shape_regex);
if (!matches) {
return undefined;
}
var parts = matches[1].split(/\s*,\s*/);
if (parts.length !== 4) {
return undefined;
}
var valid = parts.every(function (part, index) {
var measurement = parseMeasurement(part);
parts[index] = measurement;
return measurement !== undefined;
});
if (!valid) {
return undefined;
}
parts = parts.join(', ');
return val.replace(matches[1], parts);
var parse = function(val) {
if (val === '' || val === null) {
return val;
}
if (typeof val !== 'string') {
return undefined;
}
val = val.toLowerCase();
if (val === 'auto' || val === 'inherit') {
return val;
}
var matches = val.match(shape_regex);
if (!matches) {
return undefined;
}
var parts = matches[1].split(/\s*,\s*/);
if (parts.length !== 4) {
return undefined;
}
var valid = parts.every(function(part, index) {
var measurement = parseMeasurement(part);
parts[index] = measurement;
return measurement !== undefined;
});
if (!valid) {
return undefined;
}
parts = parts.join(', ');
return val.replace(matches[1], parts);
};
module.exports.definition = {
set: function (v) {
this._setProperty('clip', parse(v));
},
get: function () {
return this.getPropertyValue('clip');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('clip', parse(v));
},
get: function() {
return this.getPropertyValue('clip');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,12 +3,12 @@
var parseColor = require('../parsers').parseColor;
module.exports.definition = {
set: function (v) {
this._setProperty('color', parseColor(v));
},
get: function () {
return this.getPropertyValue('color');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('color', parseColor(v));
},
get: function() {
return this.getPropertyValue('color');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('color-interpolation', v);
},
get: function () {
return this.getPropertyValue('color-interpolation');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('color-interpolation-filters', v);
},
get: function () {
return this.getPropertyValue('color-interpolation-filters');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('color-profile', v);
},
get: function () {
return this.getPropertyValue('color-profile');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('color-rendering', v);
},
get: function () {
return this.getPropertyValue('color-rendering');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('content', v);
},
get: function () {
return this.getPropertyValue('content');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('counter-increment', v);
},
get: function () {
return this.getPropertyValue('counter-increment');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('counter-reset', v);
},
get: function () {
return this.getPropertyValue('counter-reset');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +1,12 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('float', v);
},
get: function () {
return this.getPropertyValue('float');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('float', v);
},
get: function() {
return this.getPropertyValue('float');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('cue', v);
},
get: function () {
return this.getPropertyValue('cue');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('cue-after', v);
},
get: function () {
return this.getPropertyValue('cue-after');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('cue-before', v);
},
get: function () {
return this.getPropertyValue('cue-before');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('cursor', v);
},
get: function () {
return this.getPropertyValue('cursor');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('direction', v);
},
get: function () {
return this.getPropertyValue('direction');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('display', v);
},
get: function () {
return this.getPropertyValue('display');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('dominant-baseline', v);
},
get: function () {
return this.getPropertyValue('dominant-baseline');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('elevation', v);
},
get: function () {
return this.getPropertyValue('elevation');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('empty-cells', v);
},
get: function () {
return this.getPropertyValue('empty-cells');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('enable-background', v);
},
get: function () {
return this.getPropertyValue('enable-background');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('fill', v);
},
get: function () {
return this.getPropertyValue('fill');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('fill-opacity', v);
},
get: function () {
return this.getPropertyValue('fill-opacity');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('fill-rule', v);
},
get: function () {
return this.getPropertyValue('fill-rule');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('filter', v);
},
get: function () {
return this.getPropertyValue('filter');
},
enumerable: true,
configurable: true
};

45
node_modules/cssstyle/lib/properties/flex.js generated vendored Normal file
View File

@@ -0,0 +1,45 @@
'use strict';
var shorthandParser = require('../parsers').shorthandParser;
var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthand_for = {
'flex-grow': require('./flexGrow'),
'flex-shrink': require('./flexShrink'),
'flex-basis': require('./flexBasis'),
};
var myShorthandSetter = shorthandSetter('flex', shorthand_for);
module.exports.isValid = function isValid(v) {
return shorthandParser(v, shorthand_for) !== undefined;
};
module.exports.definition = {
set: function(v) {
var normalizedValue = String(v)
.trim()
.toLowerCase();
if (normalizedValue === 'none') {
myShorthandSetter.call(this, '0 0 auto');
return;
}
if (normalizedValue === 'initial') {
myShorthandSetter.call(this, '0 1 auto');
return;
}
if (normalizedValue === 'auto') {
this.removeProperty('flex-grow');
this.removeProperty('flex-shrink');
this.setProperty('flex-basis', normalizedValue);
return;
}
myShorthandSetter.call(this, v);
},
get: shorthandGetter('flex', shorthand_for),
enumerable: true,
configurable: true,
};

28
node_modules/cssstyle/lib/properties/flexBasis.js generated vendored Normal file
View File

@@ -0,0 +1,28 @@
'use strict';
var parseMeasurement = require('../parsers').parseMeasurement;
function parse(v) {
if (String(v).toLowerCase() === 'auto') {
return 'auto';
}
if (String(v).toLowerCase() === 'inherit') {
return 'inherit';
}
return parseMeasurement(v);
}
module.exports.isValid = function isValid(v) {
return parse(v) !== undefined;
};
module.exports.definition = {
set: function(v) {
this._setProperty('flex-basis', parse(v));
},
get: function() {
return this.getPropertyValue('flex-basis');
},
enumerable: true,
configurable: true,
};

19
node_modules/cssstyle/lib/properties/flexGrow.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
var parseNumber = require('../parsers').parseNumber;
var POSITION_AT_SHORTHAND = require('../constants').POSITION_AT_SHORTHAND;
module.exports.isValid = function isValid(v, positionAtFlexShorthand) {
return parseNumber(v) !== undefined && positionAtFlexShorthand === POSITION_AT_SHORTHAND.first;
};
module.exports.definition = {
set: function(v) {
this._setProperty('flex-grow', parseNumber(v));
},
get: function() {
return this.getPropertyValue('flex-grow');
},
enumerable: true,
configurable: true,
};

19
node_modules/cssstyle/lib/properties/flexShrink.js generated vendored Normal file
View File

@@ -0,0 +1,19 @@
'use strict';
var parseNumber = require('../parsers').parseNumber;
var POSITION_AT_SHORTHAND = require('../constants').POSITION_AT_SHORTHAND;
module.exports.isValid = function isValid(v, positionAtFlexShorthand) {
return parseNumber(v) !== undefined && positionAtFlexShorthand === POSITION_AT_SHORTHAND.second;
};
module.exports.definition = {
set: function(v) {
this._setProperty('flex-shrink', parseNumber(v));
},
get: function() {
return this.getPropertyValue('flex-shrink');
},
enumerable: true,
configurable: true,
};

12
node_modules/cssstyle/lib/properties/float.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
'use strict';
module.exports.definition = {
set: function(v) {
this._setProperty('float', v);
},
get: function() {
return this.getPropertyValue('float');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,12 +3,12 @@
var parseColor = require('../parsers').parseColor;
module.exports.definition = {
set: function (v) {
this._setProperty('flood-color', parseColor(v));
},
get: function () {
return this.getPropertyValue('flood-color');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('flood-color', parseColor(v));
},
get: function() {
return this.getPropertyValue('flood-color');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('flood-opacity', v);
},
get: function () {
return this.getPropertyValue('flood-opacity');
},
enumerable: true,
configurable: true
};

View File

@@ -7,34 +7,37 @@ var shorthandSetter = require('../parsers').shorthandSetter;
var shorthandGetter = require('../parsers').shorthandGetter;
var shorthand_for = {
'font-family': require('./fontFamily'),
'font-size': require('./fontSize'),
'font-style': require('./fontStyle'),
'font-variant': require('./fontVariant'),
'font-weight': require('./fontWeight'),
'line-height': require('./lineHeight')
'font-family': require('./fontFamily'),
'font-size': require('./fontSize'),
'font-style': require('./fontStyle'),
'font-variant': require('./fontVariant'),
'font-weight': require('./fontWeight'),
'line-height': require('./lineHeight'),
};
var static_fonts = ['caption', 'icon', 'menu', 'message-box', 'small-caption', 'status-bar', 'inherit'];
module.exports.isValid = function isValid(v) {
return (shorthandParser(v, shorthand_for) !== undefined) ||
(valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1);
};
var static_fonts = [
'caption',
'icon',
'menu',
'message-box',
'small-caption',
'status-bar',
'inherit',
];
var setter = shorthandSetter('font', shorthand_for);
module.exports.definition = {
set: function (v) {
var short = shorthandParser(v, shorthand_for);
if (short !== undefined) {
return setter.call(this, v);
}
if (valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1) {
this._setProperty('font', v);
}
},
get: shorthandGetter('font', shorthand_for),
enumerable: true,
configurable: true
set: function(v) {
var short = shorthandParser(v, shorthand_for);
if (short !== undefined) {
return setter.call(this, v);
}
if (valueType(v) === TYPES.KEYWORD && static_fonts.indexOf(v.toLowerCase()) !== -1) {
this._setProperty('font', v);
}
},
get: shorthandGetter('font', shorthand_for),
enumerable: true,
configurable: true,
};

View File

@@ -5,29 +5,29 @@ var valueType = require('../parsers').valueType;
var partsRegEx = /\s*,\s*/;
module.exports.isValid = function isValid(v) {
if (v === '' || v === null) {
return true;
if (v === '' || v === null) {
return true;
}
var parts = v.split(partsRegEx);
var len = parts.length;
var i;
var type;
for (i = 0; i < len; i++) {
type = valueType(parts[i]);
if (type === TYPES.STRING || type === TYPES.KEYWORD) {
return true;
}
var parts = v.split(partsRegEx);
var len = parts.length;
var i;
var type;
for (i = 0; i < len; i++) {
type = valueType(parts[i]);
if (type === TYPES.STRING || type === TYPES.KEYWORD) {
return true;
}
}
return false;
}
return false;
};
module.exports.definition = {
set: function (v) {
this._setProperty('font-family', v);
},
get: function () {
return this.getPropertyValue('font-family');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('font-family', v);
},
get: function() {
return this.getPropertyValue('font-family');
},
enumerable: true,
configurable: true,
};

View File

@@ -6,20 +6,23 @@ var valueType = require('../parsers').valueType;
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);
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)
);
};
module.exports.definition = {
set: function (v) {
this._setProperty('font-size', v);
},
get: function () {
return this.getPropertyValue('font-size');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('font-size', v);
},
get: function() {
return this.getPropertyValue('font-size');
},
enumerable: true,
configurable: true,
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('font-size-adjust', v);
},
get: function () {
return this.getPropertyValue('font-size-adjust');
},
enumerable: true,
configurable: true
};

View File

@@ -1,12 +0,0 @@
'use strict';
module.exports.definition = {
set: function (v) {
this._setProperty('font-stretch', v);
},
get: function () {
return this.getPropertyValue('font-stretch');
},
enumerable: true,
configurable: true
};

View File

@@ -2,17 +2,17 @@
var valid_styles = ['normal', 'italic', 'oblique', 'inherit'];
module.exports.isValid = function (v) {
return valid_styles.indexOf(v.toLowerCase()) !== -1;
module.exports.isValid = function(v) {
return valid_styles.indexOf(v.toLowerCase()) !== -1;
};
module.exports.definition = {
set: function (v) {
this._setProperty('font-style', v);
},
get: function () {
return this.getPropertyValue('font-style');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('font-style', v);
},
get: function() {
return this.getPropertyValue('font-style');
},
enumerable: true,
configurable: true,
};

View File

@@ -3,16 +3,16 @@
var valid_variants = ['normal', 'small-caps', 'inherit'];
module.exports.isValid = function isValid(v) {
return valid_variants.indexOf(v.toLowerCase()) !== -1;
return valid_variants.indexOf(v.toLowerCase()) !== -1;
};
module.exports.definition = {
set: function (v) {
this._setProperty('font-variant', v);
},
get: function () {
return this.getPropertyValue('font-variant');
},
enumerable: true,
configurable: true
set: function(v) {
this._setProperty('font-variant', v);
},
get: function() {
return this.getPropertyValue('font-variant');
},
enumerable: true,
configurable: true,
};

Some files were not shown because too many files have changed in this diff Show More