happy-dom 6.0.4 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/lib/css/CSSParser.js +12 -6
- package/lib/css/CSSParser.js.map +1 -1
- package/lib/css/CSSRule.d.ts +15 -13
- package/lib/css/CSSRule.js +18 -13
- package/lib/css/CSSRule.js.map +1 -1
- package/lib/css/CSSRuleTypeEnum.d.ts +17 -0
- package/lib/css/CSSRuleTypeEnum.js +21 -0
- package/lib/css/CSSRuleTypeEnum.js.map +1 -0
- package/lib/css/CSSStyleSheet.d.ts +6 -16
- package/lib/css/CSSStyleSheet.js +11 -19
- package/lib/css/CSSStyleSheet.js.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +76 -0
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js +182 -0
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -0
- package/lib/css/declaration/CSSStyleDeclaration.d.ts +1194 -0
- package/lib/css/declaration/CSSStyleDeclaration.js +3566 -0
- package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.d.ts +12 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js +34 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.d.ts +131 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js +133 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.d.ts +40 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js +42 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts +49 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +244 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.d.ts +167 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js +537 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.d.ts +65 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js +565 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.d.ts +809 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js +2303 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js.map +1 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.d.ts +127 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js +411 -0
- package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js.map +1 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts +4 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js +3 -0
- package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js.map +1 -0
- package/lib/css/rules/CSSContainerRule.d.ts +15 -0
- package/lib/css/rules/CSSContainerRule.js +31 -0
- package/lib/css/rules/CSSContainerRule.js.map +1 -0
- package/lib/css/rules/CSSFontFaceRule.d.ts +10 -3
- package/lib/css/rules/CSSFontFaceRule.js +16 -0
- package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframeRule.d.ts +10 -3
- package/lib/css/rules/CSSKeyframeRule.js +16 -0
- package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
- package/lib/css/rules/CSSKeyframesRule.d.ts +1 -1
- package/lib/css/rules/CSSKeyframesRule.js +1 -1
- package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
- package/lib/css/rules/CSSMediaRule.d.ts +1 -1
- package/lib/css/rules/CSSStyleRule.d.ts +10 -3
- package/lib/css/rules/CSSStyleRule.js +16 -0
- package/lib/css/rules/CSSStyleRule.js.map +1 -1
- package/lib/event/Event.d.ts +2 -3
- package/lib/event/Event.js.map +1 -1
- package/lib/event/events/IMediaQueryListInit.d.ts +5 -0
- package/lib/event/events/IMediaQueryListInit.js +3 -0
- package/lib/event/events/IMediaQueryListInit.js.map +1 -0
- package/lib/event/events/MediaQueryListEvent.d.ts +16 -0
- package/lib/event/events/MediaQueryListEvent.js +28 -0
- package/lib/event/events/MediaQueryListEvent.js.map +1 -0
- package/lib/exception/DOMException.js +5 -3
- package/lib/exception/DOMException.js.map +1 -1
- package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
- package/lib/exception/DOMExceptionNameEnum.js +1 -0
- package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
- package/lib/file/Blob.d.ts +9 -0
- package/lib/file/Blob.js +14 -0
- package/lib/file/Blob.js.map +1 -1
- package/lib/index.d.ts +9 -2
- package/lib/index.js +16 -2
- package/lib/index.js.map +1 -1
- package/lib/match-media/MediaQueryList.d.ts +19 -8
- package/lib/match-media/MediaQueryList.js +56 -13
- package/lib/match-media/MediaQueryList.js.map +1 -1
- package/lib/{attribute → nodes/attr}/Attr.d.ts +8 -7
- package/lib/{attribute → nodes/attr}/Attr.js +12 -5
- package/lib/nodes/attr/Attr.js.map +1 -0
- package/lib/nodes/attr/IAttr.d.ts +14 -0
- package/lib/nodes/attr/IAttr.js +3 -0
- package/lib/nodes/attr/IAttr.js.map +1 -0
- package/lib/nodes/child-node/ChildNodeUtility.js +2 -1
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +4 -4
- package/lib/nodes/document/Document.js +5 -8
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +3 -3
- package/lib/nodes/element/Element.d.ts +11 -9
- package/lib/nodes/element/Element.js +2 -1
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +10 -8
- package/lib/nodes/html-element/HTMLElement.d.ts +21 -5
- package/lib/nodes/html-element/HTMLElement.js +74 -11
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-element/IHTMLElement.d.ts +5 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +2 -2
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -2
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +2 -0
- package/lib/nodes/node/Node.d.ts +5 -1
- package/lib/nodes/node/Node.js +7 -1
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeTypeEnum.d.ts +2 -0
- package/lib/nodes/node/NodeTypeEnum.js +2 -0
- package/lib/nodes/node/NodeTypeEnum.js.map +1 -1
- package/lib/nodes/svg-element/ISVGElement.d.ts +1 -1
- package/lib/nodes/svg-element/SVGElement.d.ts +4 -4
- package/lib/nodes/svg-element/SVGElement.js +2 -2
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/window/IWindow.d.ts +23 -3
- package/lib/window/Window.d.ts +35 -6
- package/lib/window/Window.js +58 -23
- package/lib/window/Window.js.map +1 -1
- package/package.json +2 -2
- package/src/css/CSSParser.ts +14 -6
- package/src/css/CSSRule.ts +15 -13
- package/src/css/CSSRuleTypeEnum.ts +18 -0
- package/src/css/CSSStyleSheet.ts +12 -22
- package/src/css/declaration/AbstractCSSStyleDeclaration.ts +202 -0
- package/src/css/declaration/CSSStyleDeclaration.ts +4743 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts +35 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts +130 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts +39 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +282 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts +743 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts +592 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts +3026 -0
- package/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts +437 -0
- package/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts +4 -0
- package/src/css/rules/CSSContainerRule.ts +23 -0
- package/src/css/rules/CSSFontFaceRule.ts +17 -2
- package/src/css/rules/CSSKeyframeRule.ts +17 -2
- package/src/css/rules/CSSKeyframesRule.ts +1 -1
- package/src/css/rules/CSSStyleRule.ts +17 -2
- package/src/event/Event.ts +2 -3
- package/src/event/events/IMediaQueryListInit.ts +6 -0
- package/src/event/events/MediaQueryListEvent.ts +25 -0
- package/src/exception/DOMException.ts +3 -3
- package/src/exception/DOMExceptionNameEnum.ts +2 -1
- package/src/file/Blob.ts +16 -0
- package/src/index.ts +15 -1
- package/src/match-media/MediaQueryList.ts +63 -10
- package/src/{attribute → nodes/attr}/Attr.ts +11 -8
- package/src/nodes/attr/IAttr.ts +15 -0
- package/src/nodes/child-node/ChildNodeUtility.ts +2 -1
- package/src/nodes/document/Document.ts +8 -10
- package/src/nodes/document/IDocument.ts +3 -3
- package/src/nodes/element/Element.ts +13 -10
- package/src/nodes/element/IElement.ts +8 -8
- package/src/nodes/html-element/HTMLElement.ts +94 -16
- package/src/nodes/html-element/IHTMLElement.ts +3 -1
- package/src/nodes/html-link-element/HTMLLinkElement.ts +2 -2
- package/src/nodes/html-script-element/HTMLScriptElement.ts +2 -2
- package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -1
- package/src/nodes/html-style-element/HTMLStyleElement.ts +1 -1
- package/src/nodes/node/INode.ts +2 -0
- package/src/nodes/node/Node.ts +7 -1
- package/src/nodes/node/NodeTypeEnum.ts +2 -0
- package/src/nodes/svg-element/ISVGElement.ts +1 -1
- package/src/nodes/svg-element/SVGElement.ts +5 -5
- package/src/window/IWindow.ts +23 -3
- package/src/window/Window.ts +51 -11
- package/lib/attribute/Attr.js.map +0 -1
- package/lib/css/CSSStyleDeclaration.d.ts +0 -3017
- package/lib/css/CSSStyleDeclaration.js +0 -4643
- package/lib/css/CSSStyleDeclaration.js.map +0 -1
- package/src/css/CSSStyleDeclaration.ts +0 -5026
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CSSStyleDeclarationPropertySetParser.js","sourceRoot":"","sources":["../../../../src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,127 @@
|
|
1
|
+
/**
|
2
|
+
* Style declaration value parser.
|
3
|
+
*/
|
4
|
+
export default class CSSStyleDeclarationValueParser {
|
5
|
+
/**
|
6
|
+
* Returns length.
|
7
|
+
*
|
8
|
+
* @param value Value.
|
9
|
+
* @returns Parsed value.
|
10
|
+
*/
|
11
|
+
static getLength(value: string): string;
|
12
|
+
/**
|
13
|
+
* Returns percentance.
|
14
|
+
*
|
15
|
+
* @param value Value.
|
16
|
+
* @returns Parsed value.
|
17
|
+
*/
|
18
|
+
static getPercentage(value: string): string;
|
19
|
+
/**
|
20
|
+
* Returns degree.
|
21
|
+
*
|
22
|
+
* @param value Value.
|
23
|
+
* @returns Parsed value.
|
24
|
+
*/
|
25
|
+
static getDegree(value: string): string;
|
26
|
+
/**
|
27
|
+
* Returns calc.
|
28
|
+
*
|
29
|
+
* @param value Value.
|
30
|
+
* @returns Parsed value.
|
31
|
+
*/
|
32
|
+
static getCalc(value: string): string;
|
33
|
+
/**
|
34
|
+
* Returns fit content.
|
35
|
+
*
|
36
|
+
* @param value Value.
|
37
|
+
* @returns Parsed value.
|
38
|
+
*/
|
39
|
+
static getFitContent(value: string): string;
|
40
|
+
/**
|
41
|
+
* Returns measurement.
|
42
|
+
*
|
43
|
+
* @param value Value.
|
44
|
+
* @returns Parsed value.
|
45
|
+
*/
|
46
|
+
static getMeasurement(value: string): string;
|
47
|
+
/**
|
48
|
+
* Returns measurement or auto, min-content, max-content or fit-content.
|
49
|
+
*
|
50
|
+
* @param value Value.
|
51
|
+
* @returns Parsed value.
|
52
|
+
*/
|
53
|
+
static getContentMeasurement(value: string): string;
|
54
|
+
/**
|
55
|
+
* Returns measurement or auto, min-content, max-content or fit-content.
|
56
|
+
*
|
57
|
+
* @param value Value.
|
58
|
+
* @returns Parsed value.
|
59
|
+
*/
|
60
|
+
static getAutoMeasurement(value: string): string;
|
61
|
+
/**
|
62
|
+
* Returns integer.
|
63
|
+
*
|
64
|
+
* @param value Value.
|
65
|
+
* @returns Parsed value.
|
66
|
+
*/
|
67
|
+
static getInteger(value: string): string;
|
68
|
+
/**
|
69
|
+
* Returns float.
|
70
|
+
*
|
71
|
+
* @param value Value.
|
72
|
+
* @returns Parsed value.
|
73
|
+
*/
|
74
|
+
static getFloat(value: string): string;
|
75
|
+
/**
|
76
|
+
* Returns gradient.
|
77
|
+
*
|
78
|
+
* @param value Value.
|
79
|
+
* @returns Parsed value.
|
80
|
+
*/
|
81
|
+
static getGradient(value: string): string;
|
82
|
+
/**
|
83
|
+
* Returns color.
|
84
|
+
*
|
85
|
+
* @param value Value.
|
86
|
+
* @returns Parsed value.
|
87
|
+
*/
|
88
|
+
static getColor(value: string): string;
|
89
|
+
/**
|
90
|
+
* Returns URL.
|
91
|
+
*
|
92
|
+
* Based on:
|
93
|
+
* https://github.com/jsdom/cssstyle/blob/master/lib/parsers.js#L222
|
94
|
+
*
|
95
|
+
* @param value Value.
|
96
|
+
* @returns Parsed value.
|
97
|
+
*/
|
98
|
+
static getURL(value: string): string;
|
99
|
+
/**
|
100
|
+
* Returns global initial value.
|
101
|
+
*
|
102
|
+
* @param value Value.
|
103
|
+
* @returns Parsed value.
|
104
|
+
*/
|
105
|
+
static getInitial(value: string): string;
|
106
|
+
/**
|
107
|
+
* Returns CSS variable.
|
108
|
+
*
|
109
|
+
* @param value Value.
|
110
|
+
* @returns Parsed value.
|
111
|
+
*/
|
112
|
+
static getVariable(value: string): string;
|
113
|
+
/**
|
114
|
+
* Returns global.
|
115
|
+
*
|
116
|
+
* @param value Value.
|
117
|
+
* @returns Parsed value.
|
118
|
+
*/
|
119
|
+
static getGlobal(value: string): string;
|
120
|
+
/**
|
121
|
+
* Returns global, unless it is not set to 'initial' as it is sometimes treated different.
|
122
|
+
*
|
123
|
+
* @param value Value.
|
124
|
+
* @returns Parsed value.
|
125
|
+
*/
|
126
|
+
static getGlobalExceptInitial(value: string): string;
|
127
|
+
}
|
@@ -0,0 +1,411 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const COLOR_REGEXP = /^#([0-9a-fA-F]{3,4}){1,2}$|^rgb\(([^)]*)\)$|^rgba\(([^)]*)\)$|^hsla?\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*(,\s*(-?\d+|-?\d*.\d+)\s*)?\)/;
|
4
|
+
const LENGTH_REGEXP = /^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/;
|
5
|
+
const PERCENTAGE_REGEXP = /^[-+]?[0-9]*\.?[0-9]+%$/;
|
6
|
+
const DEGREE_REGEXP = /^[0-9]+deg$/;
|
7
|
+
const URL_REGEXP = /^url\(\s*([^)]*)\s*\)$/;
|
8
|
+
const INTEGER_REGEXP = /^[0-9]+$/;
|
9
|
+
const FLOAT_REGEXP = /^[0-9.]+$/;
|
10
|
+
const CALC_REGEXP = /^calc\([^^)]+\)$/;
|
11
|
+
const CSS_VARIABLE_REGEXP = /^var\( *(--[^) ]+)\)$/;
|
12
|
+
const FIT_CONTENT_REGEXP = /^fit-content\([^^)]+\)$/;
|
13
|
+
const GRADIENT_REGEXP = /^(repeating-linear|linear|radial|repeating-radial|conic|repeating-conic)-gradient\([^)]+\)$/;
|
14
|
+
const GLOBALS = ['inherit', 'initial', 'unset', 'revert'];
|
15
|
+
const COLORS = [
|
16
|
+
'currentcolor',
|
17
|
+
'transparent',
|
18
|
+
'silver',
|
19
|
+
'gray',
|
20
|
+
'white',
|
21
|
+
'maroon',
|
22
|
+
'red',
|
23
|
+
'purple',
|
24
|
+
'fuchsia',
|
25
|
+
'green',
|
26
|
+
'lime',
|
27
|
+
'olive',
|
28
|
+
'yellow',
|
29
|
+
'navy',
|
30
|
+
'blue',
|
31
|
+
'teal',
|
32
|
+
'aqua',
|
33
|
+
'antiquewhite',
|
34
|
+
'aquamarine',
|
35
|
+
'azure',
|
36
|
+
'beige',
|
37
|
+
'bisque',
|
38
|
+
'blanchedalmond',
|
39
|
+
'blueviolet',
|
40
|
+
'brown',
|
41
|
+
'burlywood',
|
42
|
+
'cadetblue',
|
43
|
+
'chartreuse',
|
44
|
+
'chocolate',
|
45
|
+
'coral',
|
46
|
+
'cornflowerblue',
|
47
|
+
'cornsilk',
|
48
|
+
'crimson',
|
49
|
+
'darkblue',
|
50
|
+
'darkcyan',
|
51
|
+
'darkgoldenrod',
|
52
|
+
'darkgray',
|
53
|
+
'darkgreen',
|
54
|
+
'darkgrey',
|
55
|
+
'darkkhaki',
|
56
|
+
'darkmagenta',
|
57
|
+
'darkolivegreen',
|
58
|
+
'darkorange',
|
59
|
+
'darkorchid',
|
60
|
+
'darkred',
|
61
|
+
'darksalmon',
|
62
|
+
'darkseagreen',
|
63
|
+
'darkslateblue',
|
64
|
+
'darkslategray',
|
65
|
+
'darkslategrey',
|
66
|
+
'darkturquoise',
|
67
|
+
'darkviolet',
|
68
|
+
'deeppink',
|
69
|
+
'deepskyblue',
|
70
|
+
'dimgray',
|
71
|
+
'dimgrey',
|
72
|
+
'dodgerblue',
|
73
|
+
'firebrick',
|
74
|
+
'floralwhite',
|
75
|
+
'forestgreen',
|
76
|
+
'gainsboro',
|
77
|
+
'ghostwhite',
|
78
|
+
'gold',
|
79
|
+
'goldenrod',
|
80
|
+
'greenyellow',
|
81
|
+
'grey',
|
82
|
+
'honeydew',
|
83
|
+
'hotpink',
|
84
|
+
'indianred',
|
85
|
+
'indigo',
|
86
|
+
'ivory',
|
87
|
+
'khaki',
|
88
|
+
'lavender',
|
89
|
+
'lavenderblush',
|
90
|
+
'lawngreen',
|
91
|
+
'lemonchiffon',
|
92
|
+
'lightblue',
|
93
|
+
'lightcoral',
|
94
|
+
'lightcyan',
|
95
|
+
'lightgoldenrodyellow',
|
96
|
+
'lightgray',
|
97
|
+
'lightgreen',
|
98
|
+
'lightgrey',
|
99
|
+
'lightpink',
|
100
|
+
'lightsalmon',
|
101
|
+
'lightseagreen',
|
102
|
+
'lightskyblue',
|
103
|
+
'lightslategray',
|
104
|
+
'lightslategrey',
|
105
|
+
'lightsteelblue',
|
106
|
+
'lightyellow',
|
107
|
+
'limegreen',
|
108
|
+
'linen',
|
109
|
+
'mediumaquamarine',
|
110
|
+
'mediumblue',
|
111
|
+
'mediumorchid',
|
112
|
+
'mediumpurple',
|
113
|
+
'mediumseagreen',
|
114
|
+
'mediumslateblue',
|
115
|
+
'mediumspringgreen',
|
116
|
+
'mediumturquoise',
|
117
|
+
'mediumvioletred',
|
118
|
+
'midnightblue',
|
119
|
+
'mintcream',
|
120
|
+
'mistyrose',
|
121
|
+
'moccasin',
|
122
|
+
'navajowhite',
|
123
|
+
'oldlace',
|
124
|
+
'olivedrab',
|
125
|
+
'orangered',
|
126
|
+
'orchid',
|
127
|
+
'palegoldenrod',
|
128
|
+
'palegreen',
|
129
|
+
'paleturquoise',
|
130
|
+
'palevioletred',
|
131
|
+
'papayawhip',
|
132
|
+
'peachpuff',
|
133
|
+
'peru',
|
134
|
+
'pink',
|
135
|
+
'plum',
|
136
|
+
'powderblue',
|
137
|
+
'rosybrown',
|
138
|
+
'royalblue',
|
139
|
+
'saddlebrown',
|
140
|
+
'salmon',
|
141
|
+
'sandybrown',
|
142
|
+
'seagreen',
|
143
|
+
'seashell',
|
144
|
+
'sienna',
|
145
|
+
'skyblue',
|
146
|
+
'slateblue',
|
147
|
+
'slategray',
|
148
|
+
'slategrey',
|
149
|
+
'snow',
|
150
|
+
'springgreen',
|
151
|
+
'steelblue',
|
152
|
+
'tan',
|
153
|
+
'thistle',
|
154
|
+
'tomato',
|
155
|
+
'turquoise',
|
156
|
+
'violet',
|
157
|
+
'wheat',
|
158
|
+
'whitesmoke',
|
159
|
+
'yellowgreen'
|
160
|
+
];
|
161
|
+
/**
|
162
|
+
* Style declaration value parser.
|
163
|
+
*/
|
164
|
+
class CSSStyleDeclarationValueParser {
|
165
|
+
/**
|
166
|
+
* Returns length.
|
167
|
+
*
|
168
|
+
* @param value Value.
|
169
|
+
* @returns Parsed value.
|
170
|
+
*/
|
171
|
+
static getLength(value) {
|
172
|
+
if (value === '0') {
|
173
|
+
return '0px';
|
174
|
+
}
|
175
|
+
if (LENGTH_REGEXP.test(value)) {
|
176
|
+
return value;
|
177
|
+
}
|
178
|
+
return null;
|
179
|
+
}
|
180
|
+
/**
|
181
|
+
* Returns percentance.
|
182
|
+
*
|
183
|
+
* @param value Value.
|
184
|
+
* @returns Parsed value.
|
185
|
+
*/
|
186
|
+
static getPercentage(value) {
|
187
|
+
if (value === '0') {
|
188
|
+
return '0%';
|
189
|
+
}
|
190
|
+
if (PERCENTAGE_REGEXP.test(value)) {
|
191
|
+
return value;
|
192
|
+
}
|
193
|
+
return null;
|
194
|
+
}
|
195
|
+
/**
|
196
|
+
* Returns degree.
|
197
|
+
*
|
198
|
+
* @param value Value.
|
199
|
+
* @returns Parsed value.
|
200
|
+
*/
|
201
|
+
static getDegree(value) {
|
202
|
+
if (value === '0') {
|
203
|
+
return '0deg';
|
204
|
+
}
|
205
|
+
if (DEGREE_REGEXP.test(value)) {
|
206
|
+
return value;
|
207
|
+
}
|
208
|
+
return null;
|
209
|
+
}
|
210
|
+
/**
|
211
|
+
* Returns calc.
|
212
|
+
*
|
213
|
+
* @param value Value.
|
214
|
+
* @returns Parsed value.
|
215
|
+
*/
|
216
|
+
static getCalc(value) {
|
217
|
+
if (CALC_REGEXP.test(value)) {
|
218
|
+
return value;
|
219
|
+
}
|
220
|
+
return null;
|
221
|
+
}
|
222
|
+
/**
|
223
|
+
* Returns fit content.
|
224
|
+
*
|
225
|
+
* @param value Value.
|
226
|
+
* @returns Parsed value.
|
227
|
+
*/
|
228
|
+
static getFitContent(value) {
|
229
|
+
const lowerValue = value.toLowerCase();
|
230
|
+
if (lowerValue === 'auto' ||
|
231
|
+
lowerValue === 'max-content' ||
|
232
|
+
lowerValue === 'min-content' ||
|
233
|
+
lowerValue === 'fit-content') {
|
234
|
+
return lowerValue;
|
235
|
+
}
|
236
|
+
if (FIT_CONTENT_REGEXP.test(lowerValue)) {
|
237
|
+
return lowerValue;
|
238
|
+
}
|
239
|
+
return null;
|
240
|
+
}
|
241
|
+
/**
|
242
|
+
* Returns measurement.
|
243
|
+
*
|
244
|
+
* @param value Value.
|
245
|
+
* @returns Parsed value.
|
246
|
+
*/
|
247
|
+
static getMeasurement(value) {
|
248
|
+
return this.getLength(value) || this.getPercentage(value);
|
249
|
+
}
|
250
|
+
/**
|
251
|
+
* Returns measurement or auto, min-content, max-content or fit-content.
|
252
|
+
*
|
253
|
+
* @param value Value.
|
254
|
+
* @returns Parsed value.
|
255
|
+
*/
|
256
|
+
static getContentMeasurement(value) {
|
257
|
+
return this.getFitContent(value) || this.getMeasurement(value);
|
258
|
+
}
|
259
|
+
/**
|
260
|
+
* Returns measurement or auto, min-content, max-content or fit-content.
|
261
|
+
*
|
262
|
+
* @param value Value.
|
263
|
+
* @returns Parsed value.
|
264
|
+
*/
|
265
|
+
static getAutoMeasurement(value) {
|
266
|
+
if (value.toLocaleLowerCase() === 'auto') {
|
267
|
+
return 'auto';
|
268
|
+
}
|
269
|
+
return this.getMeasurement(value);
|
270
|
+
}
|
271
|
+
/**
|
272
|
+
* Returns integer.
|
273
|
+
*
|
274
|
+
* @param value Value.
|
275
|
+
* @returns Parsed value.
|
276
|
+
*/
|
277
|
+
static getInteger(value) {
|
278
|
+
if (INTEGER_REGEXP.test(value)) {
|
279
|
+
return value;
|
280
|
+
}
|
281
|
+
return null;
|
282
|
+
}
|
283
|
+
/**
|
284
|
+
* Returns float.
|
285
|
+
*
|
286
|
+
* @param value Value.
|
287
|
+
* @returns Parsed value.
|
288
|
+
*/
|
289
|
+
static getFloat(value) {
|
290
|
+
if (FLOAT_REGEXP.test(value)) {
|
291
|
+
return value;
|
292
|
+
}
|
293
|
+
return null;
|
294
|
+
}
|
295
|
+
/**
|
296
|
+
* Returns gradient.
|
297
|
+
*
|
298
|
+
* @param value Value.
|
299
|
+
* @returns Parsed value.
|
300
|
+
*/
|
301
|
+
static getGradient(value) {
|
302
|
+
if (GRADIENT_REGEXP.test(value)) {
|
303
|
+
return value;
|
304
|
+
}
|
305
|
+
return null;
|
306
|
+
}
|
307
|
+
/**
|
308
|
+
* Returns color.
|
309
|
+
*
|
310
|
+
* @param value Value.
|
311
|
+
* @returns Parsed value.
|
312
|
+
*/
|
313
|
+
static getColor(value) {
|
314
|
+
const lowerValue = value.toLowerCase();
|
315
|
+
if (COLORS.includes(lowerValue)) {
|
316
|
+
return lowerValue;
|
317
|
+
}
|
318
|
+
if (COLOR_REGEXP.test(value)) {
|
319
|
+
return value.replace(/,([^ ])/g, ', $1');
|
320
|
+
}
|
321
|
+
return null;
|
322
|
+
}
|
323
|
+
/**
|
324
|
+
* Returns URL.
|
325
|
+
*
|
326
|
+
* Based on:
|
327
|
+
* https://github.com/jsdom/cssstyle/blob/master/lib/parsers.js#L222
|
328
|
+
*
|
329
|
+
* @param value Value.
|
330
|
+
* @returns Parsed value.
|
331
|
+
*/
|
332
|
+
static getURL(value) {
|
333
|
+
if (!value) {
|
334
|
+
return null;
|
335
|
+
}
|
336
|
+
if (value.toLowerCase() === 'none') {
|
337
|
+
return 'none';
|
338
|
+
}
|
339
|
+
const result = URL_REGEXP.exec(value);
|
340
|
+
if (!result) {
|
341
|
+
return null;
|
342
|
+
}
|
343
|
+
let url = result[1];
|
344
|
+
if ((url[0] === '"' || url[0] === "'") && url[0] !== url[url.length - 1]) {
|
345
|
+
return null;
|
346
|
+
}
|
347
|
+
if (url[0] === '"' || url[0] === "'") {
|
348
|
+
url = url.substring(1, url.length - 1);
|
349
|
+
}
|
350
|
+
for (let i = 0; i < url.length; i++) {
|
351
|
+
switch (url[i]) {
|
352
|
+
case '(':
|
353
|
+
case ')':
|
354
|
+
case ' ':
|
355
|
+
case '\t':
|
356
|
+
case '\n':
|
357
|
+
case "'":
|
358
|
+
case '"':
|
359
|
+
return null;
|
360
|
+
case '\\':
|
361
|
+
i++;
|
362
|
+
break;
|
363
|
+
}
|
364
|
+
}
|
365
|
+
return `url("${url}")`;
|
366
|
+
}
|
367
|
+
/**
|
368
|
+
* Returns global initial value.
|
369
|
+
*
|
370
|
+
* @param value Value.
|
371
|
+
* @returns Parsed value.
|
372
|
+
*/
|
373
|
+
static getInitial(value) {
|
374
|
+
return value.toLowerCase() === 'initial' ? 'initial' : null;
|
375
|
+
}
|
376
|
+
/**
|
377
|
+
* Returns CSS variable.
|
378
|
+
*
|
379
|
+
* @param value Value.
|
380
|
+
* @returns Parsed value.
|
381
|
+
*/
|
382
|
+
static getVariable(value) {
|
383
|
+
const cssVariableMatch = value.match(CSS_VARIABLE_REGEXP);
|
384
|
+
if (cssVariableMatch) {
|
385
|
+
return `var(${cssVariableMatch[1]})`;
|
386
|
+
}
|
387
|
+
return null;
|
388
|
+
}
|
389
|
+
/**
|
390
|
+
* Returns global.
|
391
|
+
*
|
392
|
+
* @param value Value.
|
393
|
+
* @returns Parsed value.
|
394
|
+
*/
|
395
|
+
static getGlobal(value) {
|
396
|
+
const lowerValue = value.toLowerCase();
|
397
|
+
return GLOBALS.includes(lowerValue) ? lowerValue : null;
|
398
|
+
}
|
399
|
+
/**
|
400
|
+
* Returns global, unless it is not set to 'initial' as it is sometimes treated different.
|
401
|
+
*
|
402
|
+
* @param value Value.
|
403
|
+
* @returns Parsed value.
|
404
|
+
*/
|
405
|
+
static getGlobalExceptInitial(value) {
|
406
|
+
const lowerValue = value.toLowerCase();
|
407
|
+
return lowerValue !== 'initial' && GLOBALS.includes(lowerValue) ? lowerValue : null;
|
408
|
+
}
|
409
|
+
}
|
410
|
+
exports.default = CSSStyleDeclarationValueParser;
|
411
|
+
//# sourceMappingURL=CSSStyleDeclarationValueParser.js.map
|