happy-dom 9.18.2 → 9.19.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 (134) hide show
  1. package/README.md +15 -1
  2. package/lib/css/CSSParser.d.ts.map +1 -1
  3. package/lib/css/CSSParser.js +16 -6
  4. package/lib/css/CSSParser.js.map +1 -1
  5. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +2 -2
  6. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
  7. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +2 -2
  8. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
  9. package/lib/css/declaration/css-parser/CSSStyleDeclarationCSSParser.d.ts.map +1 -0
  10. package/lib/css/declaration/css-parser/CSSStyleDeclarationCSSParser.js.map +1 -0
  11. package/lib/css/declaration/{utilities → element-style}/CSSStyleDeclarationElementStyle.d.ts +14 -3
  12. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -0
  13. package/lib/css/declaration/{utilities → element-style}/CSSStyleDeclarationElementStyle.js +102 -84
  14. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -0
  15. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.d.ts.map +1 -0
  16. package/lib/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementDefaultCSS.js +1 -1
  17. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
  18. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.d.ts.map +1 -0
  19. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
  20. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts +3 -0
  21. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts.map +1 -0
  22. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.js +44 -0
  23. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.js.map +1 -0
  24. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts +32 -0
  25. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.d.ts.map +1 -0
  26. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js +70 -0
  27. package/lib/css/declaration/measurement-converter/CSSMeasurementConverter.js.map +1 -0
  28. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyGetParser.d.ts +9 -0
  29. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.d.ts.map +1 -0
  30. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyGetParser.js +38 -0
  31. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyGetParser.js.map +1 -0
  32. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyManager.d.ts +1 -1
  33. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyManager.d.ts.map +1 -0
  34. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyManager.js +32 -1
  35. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertyManager.js.map +1 -0
  36. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertySetParser.d.ts +90 -0
  37. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertySetParser.d.ts.map +1 -0
  38. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertySetParser.js +171 -25
  39. package/lib/css/declaration/property-manager/CSSStyleDeclarationPropertySetParser.js.map +1 -0
  40. package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.d.ts.map +1 -0
  41. package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationValueParser.js +1 -1
  42. package/lib/css/declaration/property-manager/CSSStyleDeclarationValueParser.js.map +1 -0
  43. package/lib/css/declaration/property-manager/ICSSStyleDeclarationPropertyValue.d.ts +5 -0
  44. package/lib/css/declaration/property-manager/ICSSStyleDeclarationPropertyValue.d.ts.map +1 -0
  45. package/lib/css/declaration/property-manager/ICSSStyleDeclarationPropertyValue.js.map +1 -0
  46. package/lib/match-media/IMediaQueryRange.d.ts +12 -0
  47. package/lib/match-media/IMediaQueryRange.d.ts.map +1 -0
  48. package/lib/match-media/IMediaQueryRange.js +3 -0
  49. package/lib/match-media/IMediaQueryRange.js.map +1 -0
  50. package/lib/match-media/IMediaQueryRule.d.ts +5 -0
  51. package/lib/match-media/IMediaQueryRule.d.ts.map +1 -0
  52. package/lib/match-media/IMediaQueryRule.js +3 -0
  53. package/lib/match-media/IMediaQueryRule.js.map +1 -0
  54. package/lib/match-media/MediaQueryItem.d.ts +77 -0
  55. package/lib/match-media/MediaQueryItem.d.ts.map +1 -0
  56. package/lib/match-media/MediaQueryItem.js +283 -0
  57. package/lib/match-media/MediaQueryItem.js.map +1 -0
  58. package/lib/match-media/MediaQueryList.d.ts +18 -4
  59. package/lib/match-media/MediaQueryList.d.ts.map +1 -1
  60. package/lib/match-media/MediaQueryList.js +37 -21
  61. package/lib/match-media/MediaQueryList.js.map +1 -1
  62. package/lib/match-media/MediaQueryParser.d.ts +22 -0
  63. package/lib/match-media/MediaQueryParser.d.ts.map +1 -0
  64. package/lib/match-media/MediaQueryParser.js +112 -0
  65. package/lib/match-media/MediaQueryParser.js.map +1 -0
  66. package/lib/match-media/MediaQueryTypeEnum.d.ts +7 -0
  67. package/lib/match-media/MediaQueryTypeEnum.d.ts.map +1 -0
  68. package/lib/match-media/MediaQueryTypeEnum.js +10 -0
  69. package/lib/match-media/MediaQueryTypeEnum.js.map +1 -0
  70. package/lib/nodes/character-data/CharacterData.js +1 -1
  71. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  72. package/lib/nodes/element/Element.d.ts +2 -0
  73. package/lib/nodes/element/Element.d.ts.map +1 -1
  74. package/lib/nodes/element/Element.js +1 -0
  75. package/lib/nodes/element/Element.js.map +1 -1
  76. package/lib/window/IHappyDOMOptions.d.ts +4 -0
  77. package/lib/window/IHappyDOMOptions.d.ts.map +1 -1
  78. package/lib/window/IHappyDOMSettings.d.ts +4 -0
  79. package/lib/window/IHappyDOMSettings.d.ts.map +1 -1
  80. package/lib/window/Window.d.ts +4 -0
  81. package/lib/window/Window.d.ts.map +1 -1
  82. package/lib/window/Window.js +16 -4
  83. package/lib/window/Window.js.map +1 -1
  84. package/package.json +1 -1
  85. package/src/css/CSSParser.ts +21 -6
  86. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +2 -2
  87. package/src/css/declaration/{utilities → element-style}/CSSStyleDeclarationElementStyle.ts +117 -94
  88. package/src/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementDefaultCSS.ts +1 -1
  89. package/src/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.ts +41 -0
  90. package/src/css/declaration/measurement-converter/CSSMeasurementConverter.ts +81 -0
  91. package/src/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyGetParser.ts +51 -0
  92. package/src/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertyManager.ts +34 -2
  93. package/src/css/declaration/{utilities → property-manager}/CSSStyleDeclarationPropertySetParser.ts +235 -20
  94. package/src/css/declaration/{utilities → property-manager}/CSSStyleDeclarationValueParser.ts +2 -1
  95. package/src/css/declaration/{utilities → property-manager}/ICSSStyleDeclarationPropertyValue.ts +2 -2
  96. package/src/match-media/IMediaQueryRange.ts +5 -0
  97. package/src/match-media/IMediaQueryRule.ts +4 -0
  98. package/src/match-media/MediaQueryItem.ts +336 -0
  99. package/src/match-media/MediaQueryList.ts +43 -20
  100. package/src/match-media/MediaQueryParser.ts +113 -0
  101. package/src/match-media/MediaQueryTypeEnum.ts +7 -0
  102. package/src/nodes/character-data/CharacterData.ts +1 -1
  103. package/src/nodes/element/Element.ts +2 -0
  104. package/src/window/IHappyDOMOptions.ts +4 -0
  105. package/src/window/IHappyDOMSettings.ts +4 -0
  106. package/src/window/Window.ts +16 -4
  107. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.d.ts.map +0 -1
  108. package/lib/css/declaration/utilities/CSSStyleDeclarationCSSParser.js.map +0 -1
  109. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.d.ts.map +0 -1
  110. package/lib/css/declaration/utilities/CSSStyleDeclarationElementDefaultCSS.js.map +0 -1
  111. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.d.ts.map +0 -1
  112. package/lib/css/declaration/utilities/CSSStyleDeclarationElementInheritedProperties.js.map +0 -1
  113. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.d.ts.map +0 -1
  114. package/lib/css/declaration/utilities/CSSStyleDeclarationElementStyle.js.map +0 -1
  115. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.d.ts.map +0 -1
  116. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyGetParser.js.map +0 -1
  117. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.d.ts.map +0 -1
  118. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertyManager.js.map +0 -1
  119. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.d.ts.map +0 -1
  120. package/lib/css/declaration/utilities/CSSStyleDeclarationPropertySetParser.js.map +0 -1
  121. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.d.ts.map +0 -1
  122. package/lib/css/declaration/utilities/CSSStyleDeclarationValueParser.js.map +0 -1
  123. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts +0 -5
  124. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.d.ts.map +0 -1
  125. package/lib/css/declaration/utilities/ICSSStyleDeclarationPropertyValue.js.map +0 -1
  126. /package/lib/css/declaration/{utilities → css-parser}/CSSStyleDeclarationCSSParser.d.ts +0 -0
  127. /package/lib/css/declaration/{utilities → css-parser}/CSSStyleDeclarationCSSParser.js +0 -0
  128. /package/lib/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementDefaultCSS.d.ts +0 -0
  129. /package/lib/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementInheritedProperties.d.ts +0 -0
  130. /package/lib/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementInheritedProperties.js +0 -0
  131. /package/lib/css/declaration/{utilities → property-manager}/CSSStyleDeclarationValueParser.d.ts +0 -0
  132. /package/lib/css/declaration/{utilities → property-manager}/ICSSStyleDeclarationPropertyValue.js +0 -0
  133. /package/src/css/declaration/{utilities → css-parser}/CSSStyleDeclarationCSSParser.ts +0 -0
  134. /package/src/css/declaration/{utilities → element-style/config}/CSSStyleDeclarationElementInheritedProperties.ts +0 -0
@@ -150,6 +150,45 @@ class CSSStyleDeclarationPropertySetParser {
150
150
  }
151
151
  return null;
152
152
  }
153
+ /**
154
+ * Returns letter spacing.
155
+ *
156
+ * @param value Value.
157
+ * @param important Important.
158
+ * @returns Property values
159
+ */
160
+ static getLetterSpacing(value, important) {
161
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
162
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
163
+ CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
164
+ return parsedValue ? { 'letter-spacing': { value: parsedValue, important } } : null;
165
+ }
166
+ /**
167
+ * Returns word spacing.
168
+ *
169
+ * @param value Value.
170
+ * @param important Important.
171
+ * @returns Property values
172
+ */
173
+ static getWordSpacing(value, important) {
174
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
175
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
176
+ CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
177
+ return parsedValue ? { 'word-spacing': { value: parsedValue, important } } : null;
178
+ }
179
+ /**
180
+ * Returns text indent.
181
+ *
182
+ * @param value Value.
183
+ * @param important Important.
184
+ * @returns Property values
185
+ */
186
+ static getTextIndent(value, important) {
187
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
188
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
189
+ CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
190
+ return parsedValue ? { 'text-indent': { value: parsedValue, important } } : null;
191
+ }
153
192
  /**
154
193
  * Returns width.
155
194
  *
@@ -158,14 +197,24 @@ class CSSStyleDeclarationPropertySetParser {
158
197
  * @returns Property values
159
198
  */
160
199
  static getWidth(value, important) {
161
- const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
162
- if (variable) {
163
- return { width: { value: variable, important } };
164
- }
165
- const parsedValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
200
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
201
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
166
202
  CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
167
203
  return parsedValue ? { width: { value: parsedValue, important } } : null;
168
204
  }
205
+ /**
206
+ * Returns height.
207
+ *
208
+ * @param value Value.
209
+ * @param important Important.
210
+ * @returns Property values
211
+ */
212
+ static getHeight(value, important) {
213
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
214
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
215
+ CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
216
+ return parsedValue ? { height: { value: parsedValue, important } } : null;
217
+ }
169
218
  /**
170
219
  * Returns top.
171
220
  *
@@ -174,11 +223,8 @@ class CSSStyleDeclarationPropertySetParser {
174
223
  * @returns Property values
175
224
  */
176
225
  static getTop(value, important) {
177
- const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
178
- if (variable) {
179
- return { top: { value: variable, important } };
180
- }
181
- const parsedValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
226
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
227
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
182
228
  CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
183
229
  return parsedValue ? { top: { value: parsedValue, important } } : null;
184
230
  }
@@ -190,11 +236,8 @@ class CSSStyleDeclarationPropertySetParser {
190
236
  * @returns Property values
191
237
  */
192
238
  static getRight(value, important) {
193
- const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
194
- if (variable) {
195
- return { right: { value: variable, important } };
196
- }
197
- const parsedValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
239
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
240
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
198
241
  CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
199
242
  return parsedValue ? { right: { value: parsedValue, important } } : null;
200
243
  }
@@ -206,11 +249,8 @@ class CSSStyleDeclarationPropertySetParser {
206
249
  * @returns Property values
207
250
  */
208
251
  static getBottom(value, important) {
209
- const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
210
- if (variable) {
211
- return { bottom: { value: variable, important } };
212
- }
213
- const parsedValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
252
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
253
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
214
254
  CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
215
255
  return parsedValue ? { bottom: { value: parsedValue, important } } : null;
216
256
  }
@@ -222,11 +262,8 @@ class CSSStyleDeclarationPropertySetParser {
222
262
  * @returns Property values
223
263
  */
224
264
  static getLeft(value, important) {
225
- const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
226
- if (variable) {
227
- return { left: { value: variable, important } };
228
- }
229
- const parsedValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
265
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
266
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
230
267
  CSSStyleDeclarationValueParser_1.default.getContentMeasurement(value);
231
268
  return parsedValue ? { left: { value: parsedValue, important } } : null;
232
269
  }
@@ -315,6 +352,115 @@ class CSSStyleDeclarationPropertySetParser {
315
352
  const float = this.getFloat(value, important);
316
353
  return float ? { 'css-float': float['float'] } : null;
317
354
  }
355
+ /**
356
+ * Returns outline.
357
+ *
358
+ * @param value Value.
359
+ * @param important Important.
360
+ * @returns Property values.
361
+ */
362
+ static getOutline(value, important) {
363
+ const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
364
+ if (variable) {
365
+ return { outline: { value: variable, important } };
366
+ }
367
+ const globalValue = CSSStyleDeclarationValueParser_1.default.getGlobal(value);
368
+ if (globalValue) {
369
+ return {
370
+ ...this.getOutlineColor(globalValue, important),
371
+ ...this.getOutlineStyle(globalValue, important),
372
+ ...this.getOutlineWidth(globalValue, important)
373
+ };
374
+ }
375
+ const properties = {
376
+ ...this.getOutlineColor('initial', important),
377
+ ...this.getOutlineStyle('initial', important),
378
+ ...this.getOutlineWidth('initial', important)
379
+ };
380
+ const parts = value.split(/ +/);
381
+ for (const part of parts) {
382
+ const width = this.getOutlineWidth(part, important);
383
+ const style = this.getOutlineStyle(part, important);
384
+ const color = this.getOutlineColor(part, important);
385
+ if (width === null && style === null && color === null) {
386
+ return null;
387
+ }
388
+ Object.assign(properties, width, style, color);
389
+ }
390
+ return properties;
391
+ }
392
+ /**
393
+ * Returns outline color.
394
+ *
395
+ * @param value Value.
396
+ * @param important Important.
397
+ * @returns Property values
398
+ */
399
+ static getOutlineColor(value, important) {
400
+ const color = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
401
+ CSSStyleDeclarationValueParser_1.default.getGlobal(value) ||
402
+ CSSStyleDeclarationValueParser_1.default.getColor(value);
403
+ return color
404
+ ? {
405
+ 'outline-color': { value: color, important }
406
+ }
407
+ : null;
408
+ }
409
+ /**
410
+ * Returns outline offset.
411
+ *
412
+ * @param value Value.
413
+ * @param important Important.
414
+ * @returns Property values
415
+ */
416
+ static getOutlineOffset(value, important) {
417
+ const parsedValue = CSSStyleDeclarationValueParser_1.default.getVariable(value) ||
418
+ CSSStyleDeclarationValueParser_1.default.getLength(value);
419
+ return parsedValue ? { 'outline-offset': { value: parsedValue, important } } : null;
420
+ }
421
+ /**
422
+ * Returns outline style.
423
+ *
424
+ * @param value Value.
425
+ * @param important Important.
426
+ * @returns Property values
427
+ */
428
+ static getOutlineStyle(value, important) {
429
+ const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
430
+ if (variable) {
431
+ return { 'outline-style': { value: variable, important } };
432
+ }
433
+ const lowerValue = value.toLowerCase();
434
+ if (CSSStyleDeclarationValueParser_1.default.getGlobal(lowerValue) || BORDER_STYLE.includes(lowerValue)) {
435
+ return {
436
+ 'outline-style': { value: lowerValue, important }
437
+ };
438
+ }
439
+ return null;
440
+ }
441
+ /**
442
+ * Returns outline width.
443
+ *
444
+ * @param value Value.
445
+ * @param important Important.
446
+ * @returns Property values
447
+ */
448
+ static getOutlineWidth(value, important) {
449
+ const variable = CSSStyleDeclarationValueParser_1.default.getVariable(value);
450
+ if (variable) {
451
+ return { 'outline-width': { value: variable, important } };
452
+ }
453
+ const lowerValue = value.toLowerCase();
454
+ const parsedValue = BORDER_WIDTH.includes(lowerValue) || CSSStyleDeclarationValueParser_1.default.getGlobal(lowerValue)
455
+ ? lowerValue
456
+ : CSSStyleDeclarationValueParser_1.default.getLength(value);
457
+ if (parsedValue) {
458
+ return {
459
+ 'outline-width': { value: parsedValue, important }
460
+ };
461
+ }
462
+ return null;
463
+ }
318
464
  /**
319
465
  * Returns border.
320
466
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationPropertySetParser.js","sourceRoot":"","sources":["../../../../src/css/declaration/property-manager/CSSStyleDeclarationPropertySetParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationValueParser.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/property-manager/CSSStyleDeclarationValueParser.ts"],"names":[],"mappings":"AAmKA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,8BAA8B;IAClD;;;;;OAKG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C;;;;;OAKG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAUlD;;;;;OAKG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAU9C;;;;;OAKG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO5C;;;;;OAKG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAgBlD;;;;;OAKG;WACW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInD;;;;;OAKG;WACW,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI1D;;;;;OAKG;WACW,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOvD;;;;;OAKG;WACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO/C;;;;;OAKG;WACW,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO7C;;;;;OAKG;WACW,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhD;;;;;OAKG;WACW,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAW7C;;;;;;;;OAQG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA4C3C;;;;;OAKG;WACW,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;WACW,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQhD;;;;;OAKG;WACW,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK9C;;;;;OAKG;WACW,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAI3D"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
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))$/;
4
+ const LENGTH_REGEXP = /^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch|vw|vh|vmin|vmax|Q))$/;
5
5
  const PERCENTAGE_REGEXP = /^[-+]?[0-9]*\.?[0-9]+%$/;
6
6
  const DEGREE_REGEXP = /^[0-9]+deg$/;
7
7
  const URL_REGEXP = /^url\(\s*([^)]*)\s*\)$/;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationValueParser.js","sourceRoot":"","sources":["../../../../src/css/declaration/property-manager/CSSStyleDeclarationValueParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default interface ICSSStyleDeclarationPropertyValue {
2
+ value: string;
3
+ important: boolean;
4
+ }
5
+ //# sourceMappingURL=ICSSStyleDeclarationPropertyValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICSSStyleDeclarationPropertyValue.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/property-manager/ICSSStyleDeclarationPropertyValue.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,iCAAiC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICSSStyleDeclarationPropertyValue.js","sourceRoot":"","sources":["../../../../src/css/declaration/property-manager/ICSSStyleDeclarationPropertyValue.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export default interface IMediaQueryRange {
2
+ before: {
3
+ value: string;
4
+ operator: string;
5
+ };
6
+ type: string;
7
+ after: {
8
+ value: string;
9
+ operator: string;
10
+ };
11
+ }
12
+ //# sourceMappingURL=IMediaQueryRange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaQueryRange.d.ts","sourceRoot":"","sources":["../../src/match-media/IMediaQueryRange.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACxC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMediaQueryRange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaQueryRange.js","sourceRoot":"","sources":["../../src/match-media/IMediaQueryRange.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export default interface IMediaQueryRule {
2
+ name: string;
3
+ value: string | null;
4
+ }
5
+ //# sourceMappingURL=IMediaQueryRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaQueryRule.d.ts","sourceRoot":"","sources":["../../src/match-media/IMediaQueryRule.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,eAAe;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMediaQueryRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMediaQueryRule.js","sourceRoot":"","sources":["../../src/match-media/IMediaQueryRule.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import IWindow from '../window/IWindow';
2
+ import IMediaQueryRange from './IMediaQueryRange';
3
+ import IMediaQueryRule from './IMediaQueryRule';
4
+ import MediaQueryTypeEnum from './MediaQueryTypeEnum';
5
+ /**
6
+ * Media query this.
7
+ */
8
+ export default class MediaQueryItem {
9
+ mediaTypes: MediaQueryTypeEnum[];
10
+ not: boolean;
11
+ rules: IMediaQueryRule[];
12
+ ranges: IMediaQueryRange[];
13
+ private rootFontSize;
14
+ private ownerWindow;
15
+ /**
16
+ * Constructor.
17
+ *
18
+ * @param options Options.
19
+ * @param options.ownerWindow Owner window.
20
+ * @param [options.rootFontSize] Root font size.
21
+ * @param [options.mediaTypes] Media types.
22
+ * @param [options.not] Not.
23
+ * @param [options.rules] Rules.
24
+ * @param [options.ranges] Ranges.
25
+ */
26
+ constructor(options: {
27
+ ownerWindow: IWindow;
28
+ rootFontSize?: string | number | null;
29
+ mediaTypes?: MediaQueryTypeEnum[];
30
+ not?: boolean;
31
+ rules?: IMediaQueryRule[];
32
+ ranges?: IMediaQueryRange[];
33
+ });
34
+ /**
35
+ * Returns media string.
36
+ */
37
+ toString(): string;
38
+ /**
39
+ * Returns "true" if the item matches.
40
+ */
41
+ matches(): boolean;
42
+ /**
43
+ * Returns "true" if all matches.
44
+ *
45
+ * @returns "true" if all matches.
46
+ */
47
+ private matchesAll;
48
+ /**
49
+ * Returns "true" if the mediaType matches.
50
+ *
51
+ * @param mediaType Media type.
52
+ * @returns "true" if the mediaType matches.
53
+ */
54
+ private matchesMediaType;
55
+ /**
56
+ * Returns "true" if the range matches.
57
+ *
58
+ * @param range Range.
59
+ * @returns "true" if the range matches.
60
+ */
61
+ private matchesRange;
62
+ /**
63
+ * Returns "true" if the rule matches.
64
+ *
65
+ * @param rule Rule.
66
+ * @returns "true" if the rule matches.
67
+ */
68
+ private matchesRule;
69
+ /**
70
+ * Convert to pixels.
71
+ *
72
+ * @param value Value.
73
+ * @returns Value in pixels.
74
+ */
75
+ private toPixels;
76
+ }
77
+ //# sourceMappingURL=MediaQueryItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaQueryItem.d.ts","sourceRoot":"","sources":["../../src/match-media/MediaQueryItem.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAC3B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAClC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,WAAW,CAAU;IAE7B;;;;;;;;;;OAUG;gBACS,OAAO,EAAE;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACtC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;QAC1B,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC5B;IASD;;OAEG;IACI,QAAQ,IAAI,MAAM;IAiBzB;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA8BlB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAqEpB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA4GnB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAqBhB"}