happy-dom 6.0.4 → 7.0.0

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.

Files changed (179) hide show
  1. package/lib/css/CSSParser.js +12 -6
  2. package/lib/css/CSSParser.js.map +1 -1
  3. package/lib/css/CSSRule.d.ts +15 -13
  4. package/lib/css/CSSRule.js +18 -13
  5. package/lib/css/CSSRule.js.map +1 -1
  6. package/lib/css/CSSRuleTypeEnum.d.ts +17 -0
  7. package/lib/css/CSSRuleTypeEnum.js +21 -0
  8. package/lib/css/CSSRuleTypeEnum.js.map +1 -0
  9. package/lib/css/CSSStyleSheet.d.ts +6 -16
  10. package/lib/css/CSSStyleSheet.js +11 -19
  11. package/lib/css/CSSStyleSheet.js.map +1 -1
  12. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +76 -0
  13. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +182 -0
  14. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -0
  15. package/lib/css/declaration/CSSStyleDeclaration.d.ts +1194 -0
  16. package/lib/css/declaration/CSSStyleDeclaration.js +3566 -0
  17. package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -0
  18. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.d.ts +12 -0
  19. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js +34 -0
  20. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js.map +1 -0
  21. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.d.ts +131 -0
  22. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js +133 -0
  23. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
  24. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.d.ts +40 -0
  25. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js +42 -0
  26. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
  27. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts +49 -0
  28. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js +244 -0
  29. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +1 -0
  30. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.d.ts +167 -0
  31. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js +537 -0
  32. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js.map +1 -0
  33. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.d.ts +65 -0
  34. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js +565 -0
  35. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js.map +1 -0
  36. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.d.ts +809 -0
  37. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js +2303 -0
  38. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js.map +1 -0
  39. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.d.ts +127 -0
  40. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js +411 -0
  41. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js.map +1 -0
  42. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts +4 -0
  43. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js +3 -0
  44. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js.map +1 -0
  45. package/lib/css/rules/CSSContainerRule.d.ts +15 -0
  46. package/lib/css/rules/CSSContainerRule.js +31 -0
  47. package/lib/css/rules/CSSContainerRule.js.map +1 -0
  48. package/lib/css/rules/CSSFontFaceRule.d.ts +10 -3
  49. package/lib/css/rules/CSSFontFaceRule.js +16 -0
  50. package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
  51. package/lib/css/rules/CSSKeyframeRule.d.ts +10 -3
  52. package/lib/css/rules/CSSKeyframeRule.js +16 -0
  53. package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
  54. package/lib/css/rules/CSSKeyframesRule.d.ts +1 -1
  55. package/lib/css/rules/CSSKeyframesRule.js +1 -1
  56. package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
  57. package/lib/css/rules/CSSMediaRule.d.ts +1 -1
  58. package/lib/css/rules/CSSStyleRule.d.ts +10 -3
  59. package/lib/css/rules/CSSStyleRule.js +16 -0
  60. package/lib/css/rules/CSSStyleRule.js.map +1 -1
  61. package/lib/event/Event.d.ts +2 -3
  62. package/lib/event/Event.js.map +1 -1
  63. package/lib/event/events/IMediaQueryListInit.d.ts +5 -0
  64. package/lib/event/events/IMediaQueryListInit.js +3 -0
  65. package/lib/event/events/IMediaQueryListInit.js.map +1 -0
  66. package/lib/event/events/MediaQueryListEvent.d.ts +16 -0
  67. package/lib/event/events/MediaQueryListEvent.js +28 -0
  68. package/lib/event/events/MediaQueryListEvent.js.map +1 -0
  69. package/lib/exception/DOMException.js +5 -3
  70. package/lib/exception/DOMException.js.map +1 -1
  71. package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
  72. package/lib/exception/DOMExceptionNameEnum.js +1 -0
  73. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  74. package/lib/file/Blob.d.ts +9 -0
  75. package/lib/file/Blob.js +14 -0
  76. package/lib/file/Blob.js.map +1 -1
  77. package/lib/index.d.ts +9 -2
  78. package/lib/index.js +16 -2
  79. package/lib/index.js.map +1 -1
  80. package/lib/match-media/MediaQueryList.d.ts +19 -8
  81. package/lib/match-media/MediaQueryList.js +56 -13
  82. package/lib/match-media/MediaQueryList.js.map +1 -1
  83. package/lib/{attribute → nodes/attr}/Attr.d.ts +8 -7
  84. package/lib/{attribute → nodes/attr}/Attr.js +12 -5
  85. package/lib/nodes/attr/Attr.js.map +1 -0
  86. package/lib/nodes/attr/IAttr.d.ts +14 -0
  87. package/lib/nodes/attr/IAttr.js +3 -0
  88. package/lib/nodes/attr/IAttr.js.map +1 -0
  89. package/lib/nodes/child-node/ChildNodeUtility.js +2 -1
  90. package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
  91. package/lib/nodes/document/Document.d.ts +4 -4
  92. package/lib/nodes/document/Document.js +5 -8
  93. package/lib/nodes/document/Document.js.map +1 -1
  94. package/lib/nodes/document/IDocument.d.ts +3 -3
  95. package/lib/nodes/element/Element.d.ts +11 -9
  96. package/lib/nodes/element/Element.js +2 -1
  97. package/lib/nodes/element/Element.js.map +1 -1
  98. package/lib/nodes/element/IElement.d.ts +10 -8
  99. package/lib/nodes/html-element/HTMLElement.d.ts +21 -5
  100. package/lib/nodes/html-element/HTMLElement.js +74 -11
  101. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  102. package/lib/nodes/html-element/IHTMLElement.d.ts +5 -1
  103. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +2 -2
  104. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  105. package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +2 -2
  106. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  107. package/lib/nodes/html-select-element/HTMLSelectElement.js +1 -1
  108. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  109. package/lib/nodes/html-style-element/HTMLStyleElement.js +1 -1
  110. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  111. package/lib/nodes/node/INode.d.ts +2 -0
  112. package/lib/nodes/node/Node.d.ts +5 -1
  113. package/lib/nodes/node/Node.js +7 -1
  114. package/lib/nodes/node/Node.js.map +1 -1
  115. package/lib/nodes/node/NodeTypeEnum.d.ts +2 -0
  116. package/lib/nodes/node/NodeTypeEnum.js +2 -0
  117. package/lib/nodes/node/NodeTypeEnum.js.map +1 -1
  118. package/lib/nodes/svg-element/ISVGElement.d.ts +1 -1
  119. package/lib/nodes/svg-element/SVGElement.d.ts +4 -4
  120. package/lib/nodes/svg-element/SVGElement.js +2 -2
  121. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  122. package/lib/window/IWindow.d.ts +23 -3
  123. package/lib/window/Window.d.ts +35 -6
  124. package/lib/window/Window.js +58 -23
  125. package/lib/window/Window.js.map +1 -1
  126. package/package.json +2 -2
  127. package/src/css/CSSParser.ts +14 -6
  128. package/src/css/CSSRule.ts +15 -13
  129. package/src/css/CSSRuleTypeEnum.ts +18 -0
  130. package/src/css/CSSStyleSheet.ts +12 -22
  131. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +202 -0
  132. package/src/css/declaration/CSSStyleDeclaration.ts +4743 -0
  133. package/src/css/declaration/utilities/CSSStyleDeclarationCSSParser.ts +35 -0
  134. package/src/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.ts +130 -0
  135. package/src/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.ts +39 -0
  136. package/src/css/declaration/utilities/CSSStyleDeclarationElementStyle.ts +282 -0
  137. package/src/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.ts +743 -0
  138. package/src/css/declaration/utilities/CSSStyleDeclarationPropertyManager.ts +592 -0
  139. package/src/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.ts +3026 -0
  140. package/src/css/declaration/utilities/CSSStyleDeclarationValueParser.ts +437 -0
  141. package/src/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.ts +4 -0
  142. package/src/css/rules/CSSContainerRule.ts +23 -0
  143. package/src/css/rules/CSSFontFaceRule.ts +17 -2
  144. package/src/css/rules/CSSKeyframeRule.ts +17 -2
  145. package/src/css/rules/CSSKeyframesRule.ts +1 -1
  146. package/src/css/rules/CSSStyleRule.ts +17 -2
  147. package/src/event/Event.ts +2 -3
  148. package/src/event/events/IMediaQueryListInit.ts +6 -0
  149. package/src/event/events/MediaQueryListEvent.ts +25 -0
  150. package/src/exception/DOMException.ts +3 -3
  151. package/src/exception/DOMExceptionNameEnum.ts +2 -1
  152. package/src/file/Blob.ts +16 -0
  153. package/src/index.ts +15 -1
  154. package/src/match-media/MediaQueryList.ts +63 -10
  155. package/src/{attribute → nodes/attr}/Attr.ts +11 -8
  156. package/src/nodes/attr/IAttr.ts +15 -0
  157. package/src/nodes/child-node/ChildNodeUtility.ts +2 -1
  158. package/src/nodes/document/Document.ts +8 -10
  159. package/src/nodes/document/IDocument.ts +3 -3
  160. package/src/nodes/element/Element.ts +13 -10
  161. package/src/nodes/element/IElement.ts +8 -8
  162. package/src/nodes/html-element/HTMLElement.ts +94 -16
  163. package/src/nodes/html-element/IHTMLElement.ts +3 -1
  164. package/src/nodes/html-link-element/HTMLLinkElement.ts +2 -2
  165. package/src/nodes/html-script-element/HTMLScriptElement.ts +2 -2
  166. package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -1
  167. package/src/nodes/html-style-element/HTMLStyleElement.ts +1 -1
  168. package/src/nodes/node/INode.ts +2 -0
  169. package/src/nodes/node/Node.ts +7 -1
  170. package/src/nodes/node/NodeTypeEnum.ts +2 -0
  171. package/src/nodes/svg-element/ISVGElement.ts +1 -1
  172. package/src/nodes/svg-element/SVGElement.ts +5 -5
  173. package/src/window/IWindow.ts +23 -3
  174. package/src/window/Window.ts +51 -11
  175. package/lib/attribute/Attr.js.map +0 -1
  176. package/lib/css/CSSStyleDeclaration.d.ts +0 -3017
  177. package/lib/css/CSSStyleDeclaration.js +0 -4643
  178. package/lib/css/CSSStyleDeclaration.js.map +0 -1
  179. 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