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
package/README.md CHANGED
@@ -258,7 +258,11 @@ const window = new Window({
258
258
  disableJavaScriptEvaluation: true,
259
259
  disableCSSFileLoading: true,
260
260
  disableIframePageLoading: true,
261
- enableFileSystemHttpRequests: true
261
+ enableFileSystemHttpRequests: true,
262
+ device: {
263
+ mediaType: 'print',
264
+ prefersColorScheme = 'dark
265
+ }
262
266
  }
263
267
  });
264
268
  ```
@@ -273,6 +277,8 @@ window.happyDOM.settings.disableJavaScriptEvaluation = true;
273
277
  window.happyDOM.settings.disableCSSFileLoading = true;
274
278
  window.happyDOM.settings.disableIframePageLoading = true;
275
279
  window.happyDOM.settings.enableFileSystemHttpRequests = true;
280
+ window.happyDOM.settings.device.mediaType = 'print';
281
+ window.happyDOM.settings.device.prefersColorScheme = 'dark';
276
282
  ```
277
283
 
278
284
  **disableJavaScriptFileLoading**
@@ -295,6 +301,14 @@ Set it to "true" to disable page loading in HTMLIFrameElement. Defaults to "fals
295
301
 
296
302
  Set it to "true" to enable file system HTTP requests using XMLHttpRequest. Defaults to "false".
297
303
 
304
+ **device.mediaType**
305
+
306
+ Used by media queries. Acceptable values are "screen" or "print". Defaults to "screen".
307
+
308
+ **device.prefersColorScheme**
309
+
310
+ Used by media queries. Acceptable values are "light" or "dark". Defaults to "dark".
311
+
298
312
  # Performance
299
313
 
300
314
  | Operation | JSDOM | Happy DOM |
@@ -1 +1 @@
1
- {"version":3,"file":"CSSParser.d.ts","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAU5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;OAMG;WACW,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;CAsG1F"}
1
+ {"version":3,"file":"CSSParser.d.ts","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAU5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B;;;;;;OAMG;WACW,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,EAAE;CAqH1F"}
@@ -33,9 +33,10 @@ class CSSParser {
33
33
  while ((match = regExp.exec(css))) {
34
34
  if (match[0] === '{') {
35
35
  const selectorText = css.substring(lastIndex, match.index).trim();
36
- if (selectorText.startsWith('@keyframes')) {
36
+ if (selectorText.startsWith('@keyframes') ||
37
+ selectorText.startsWith('@-webkit-keyframes')) {
37
38
  const newRule = new CSSKeyframesRule_1.default();
38
- newRule.name = selectorText.replace('@keyframes ', '');
39
+ newRule.name = selectorText.replace(/@(-webkit-){0,1}keyframes +/, '');
39
40
  newRule.parentStyleSheet = parentStyleSheet;
40
41
  cssRules.push(newRule);
41
42
  parentRule = newRule;
@@ -50,22 +51,31 @@ class CSSParser {
50
51
  cssRules.push(newRule);
51
52
  parentRule = newRule;
52
53
  }
53
- else if (selectorText.startsWith('@container')) {
54
- const conditionText = selectorText.replace(/@container */, '');
54
+ else if (selectorText.startsWith('@container') ||
55
+ selectorText.startsWith('@-webkit-container')) {
56
+ const conditionText = selectorText.replace(/@(-webkit-){0,1}container +/, '');
55
57
  const newRule = new CSSContainerRule_1.default();
56
58
  newRule.conditionText = conditionText;
57
59
  newRule.parentStyleSheet = parentStyleSheet;
58
60
  cssRules.push(newRule);
59
61
  parentRule = newRule;
60
62
  }
61
- else if (selectorText.startsWith('@supports')) {
62
- const conditionText = selectorText.replace(/@supports */, '');
63
+ else if (selectorText.startsWith('@supports') ||
64
+ selectorText.startsWith('@-webkit-supports')) {
65
+ const conditionText = selectorText.replace(/@(-webkit-){0,1}supports +/, '');
63
66
  const newRule = new CSSSupportsRule_1.default();
64
67
  newRule.conditionText = conditionText;
65
68
  newRule.parentStyleSheet = parentStyleSheet;
66
69
  cssRules.push(newRule);
67
70
  parentRule = newRule;
68
71
  }
72
+ else if (selectorText.startsWith('@')) {
73
+ // Unknown rule.
74
+ // We will create a new rule to let it grab its content, but we will not add it to the cssRules array.
75
+ const newRule = new CSSRule_1.default();
76
+ newRule.parentStyleSheet = parentStyleSheet;
77
+ parentRule = newRule;
78
+ }
69
79
  else if (parentRule && parentRule.type === CSSRule_1.default.KEYFRAMES_RULE) {
70
80
  const newRule = new CSSKeyframeRule_1.default();
71
81
  newRule.keyText = selectorText.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"CSSParser.js","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CSSParser.js","sourceRoot":"","sources":["../../src/css/CSSParser.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import IElement from '../../nodes/element/IElement';
2
2
  import CSSRule from '../CSSRule';
3
- import CSSStyleDeclarationElementStyle from './utilities/CSSStyleDeclarationElementStyle';
4
- import CSSStyleDeclarationPropertyManager from './utilities/CSSStyleDeclarationPropertyManager';
3
+ import CSSStyleDeclarationElementStyle from './element-style/CSSStyleDeclarationElementStyle';
4
+ import CSSStyleDeclarationPropertyManager from './property-manager/CSSStyleDeclarationPropertyManager';
5
5
  /**
6
6
  * CSS Style Declaration.
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCSSStyleDeclaration.d.ts","sourceRoot":"","sources":["../../../src/css/declaration/AbstractCSSStyleDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,OAAO,+BAA+B,MAAM,6CAA6C,CAAC;AAC1F,OAAO,kCAAkC,MAAM,gDAAgD,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,2BAA2B;IACxD,SAAgB,UAAU,EAAE,OAAO,CAAQ;IAC3C,SAAS,CAAC,MAAM,EAAE,kCAAkC,CAAQ;IAC5D,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,aAAa,EAAE,+BAA+B,CAAQ;IAEhE;;;;;OAKG;gBACS,YAAY,GAAE,QAAe,EAAE,QAAQ,UAAQ;IAS3D;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAO1B;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAU3B;IAED;;;;OAIG;IACH,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAwBjC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC;;;;;;OAMG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI;IAoC9F;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0BzC;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ7C;;;;;OAKG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAOhD"}
1
+ {"version":3,"file":"AbstractCSSStyleDeclaration.d.ts","sourceRoot":"","sources":["../../../src/css/declaration/AbstractCSSStyleDeclaration.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,OAAO,OAAO,MAAM,YAAY,CAAC;AAGjC,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAC9F,OAAO,kCAAkC,MAAM,uDAAuD,CAAC;AAEvG;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,2BAA2B;IACxD,SAAgB,UAAU,EAAE,OAAO,CAAQ;IAC3C,SAAS,CAAC,MAAM,EAAE,kCAAkC,CAAQ;IAC5D,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAClC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,aAAa,EAAE,+BAA+B,CAAQ;IAEhE;;;;;OAKG;gBACS,YAAY,GAAE,QAAe,EAAE,QAAQ,UAAQ;IAS3D;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAO1B;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI,MAAM,CAU3B;IAED;;;;OAIG;IACH,IAAW,OAAO,CAAC,OAAO,EAAE,MAAM,EAwBjC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOlC;;;;;;OAMG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI;IAoC9F;;;;;;OAMG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0BzC;;;;;OAKG;IACI,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ7C;;;;;OAKG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAOhD"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Attr_1 = __importDefault(require("../../nodes/attr/Attr"));
7
7
  const DOMExceptionNameEnum_1 = __importDefault(require("../../exception/DOMExceptionNameEnum"));
8
8
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
9
- const CSSStyleDeclarationElementStyle_1 = __importDefault(require("./utilities/CSSStyleDeclarationElementStyle"));
10
- const CSSStyleDeclarationPropertyManager_1 = __importDefault(require("./utilities/CSSStyleDeclarationPropertyManager"));
9
+ const CSSStyleDeclarationElementStyle_1 = __importDefault(require("./element-style/CSSStyleDeclarationElementStyle"));
10
+ const CSSStyleDeclarationPropertyManager_1 = __importDefault(require("./property-manager/CSSStyleDeclarationPropertyManager"));
11
11
  /**
12
12
  * CSS Style Declaration.
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractCSSStyleDeclaration.js","sourceRoot":"","sources":["../../../src/css/declaration/AbstractCSSStyleDeclaration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractCSSStyleDeclaration.js","sourceRoot":"","sources":["../../../src/css/declaration/AbstractCSSStyleDeclaration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationCSSParser.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/css-parser/CSSStyleDeclarationCSSParser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,4BAA4B;IAChD;;;;;OAKG;WACW,KAAK,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,GACjE,IAAI;CAqBP"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationCSSParser.js","sourceRoot":"","sources":["../../../../src/css/declaration/css-parser/CSSStyleDeclarationCSSParser.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,4BAA4B;IAChD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAClB,OAAe,EACf,QAAmE;QAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACzB,IAAI,IAAI,EAAE;gBACT,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAa,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE;oBACV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,WAAW,IAAI,YAAY,EAAE;wBAChC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;wBACvD,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;wBAEtE,IAAI,qBAAqB,EAAE;4BAC1B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;yBACxD;qBACD;iBACD;aACD;SACD;IACF,CAAC;CACD;AA/BD,+CA+BC"}
@@ -1,5 +1,5 @@
1
1
  import IElement from '../../../nodes/element/IElement';
2
- import CSSStyleDeclarationPropertyManager from './CSSStyleDeclarationPropertyManager';
2
+ import CSSStyleDeclarationPropertyManager from '../property-manager/CSSStyleDeclarationPropertyManager';
3
3
  /**
4
4
  * CSS Style Declaration utility
5
5
  */
@@ -37,12 +37,23 @@ export default class CSSStyleDeclarationElementStyle {
37
37
  */
38
38
  private parseCSSRules;
39
39
  /**
40
- * Returns CSS value.
40
+ * Parses CSS variables in a value.
41
41
  *
42
42
  * @param value Value.
43
43
  * @param cssVariables CSS variables.
44
44
  * @returns CSS value.
45
45
  */
46
- private getCSSValue;
46
+ private parseCSSVariablesInValue;
47
+ /**
48
+ * Parses measurements in a value.
49
+ *
50
+ * @param options Options.
51
+ * @param options.value Value.
52
+ * @param options.rootFontSize Root font size.
53
+ * @param options.parentFontSize Parent font size.
54
+ * @param [options.parentSize] Parent width.
55
+ * @returns CSS value.
56
+ */
57
+ private parseMeasurementsInValue;
47
58
  }
48
59
  //# sourceMappingURL=CSSStyleDeclarationElementStyle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementStyle.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,iCAAiC,CAAC;AAIvD,OAAO,kCAAkC,MAAM,wDAAwD,CAAC;AAsBxG;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,+BAA+B;IACnD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAU;IAE1B;;;;;OAKG;gBACS,OAAO,EAAE,QAAQ,EAAE,QAAQ,UAAQ;IAK/C;;;;OAIG;IACI,eAAe,IAAI,kCAAkC;IAmB5D;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA+J/B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAoDrB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;CA4BhC"}
@@ -3,14 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const CSSStyleDeclarationPropertyManager_1 = __importDefault(require("./CSSStyleDeclarationPropertyManager"));
6
+ const CSSStyleDeclarationPropertyManager_1 = __importDefault(require("../property-manager/CSSStyleDeclarationPropertyManager"));
7
7
  const NodeTypeEnum_1 = __importDefault(require("../../../nodes/node/NodeTypeEnum"));
8
8
  const CSSRuleTypeEnum_1 = __importDefault(require("../../CSSRuleTypeEnum"));
9
- const CSSStyleDeclarationElementDefaultCSS_1 = __importDefault(require("./CSSStyleDeclarationElementDefaultCSS"));
10
- const CSSStyleDeclarationElementInheritedProperties_1 = __importDefault(require("./CSSStyleDeclarationElementInheritedProperties"));
11
- const CSSStyleDeclarationCSSParser_1 = __importDefault(require("./CSSStyleDeclarationCSSParser"));
9
+ const CSSStyleDeclarationElementDefaultCSS_1 = __importDefault(require("./config/CSSStyleDeclarationElementDefaultCSS"));
10
+ const CSSStyleDeclarationElementInheritedProperties_1 = __importDefault(require("./config/CSSStyleDeclarationElementInheritedProperties"));
11
+ const CSSStyleDeclarationElementMeasurementProperties_1 = __importDefault(require("./config/CSSStyleDeclarationElementMeasurementProperties"));
12
+ const CSSStyleDeclarationCSSParser_1 = __importDefault(require("../css-parser/CSSStyleDeclarationCSSParser"));
12
13
  const QuerySelector_1 = __importDefault(require("../../../query-selector/QuerySelector"));
14
+ const CSSMeasurementConverter_1 = __importDefault(require("../measurement-converter/CSSMeasurementConverter"));
15
+ const MediaQueryList_1 = __importDefault(require("../../../match-media/MediaQueryList"));
13
16
  const CSS_VARIABLE_REGEXP = /var\( *(--[^) ]+)\)/g;
17
+ const CSS_MEASUREMENT_REGEXP = /[0-9.]+(px|rem|em|vw|vh|%|vmin|vmax|cm|mm|in|pt|pc|Q)/g;
14
18
  /**
15
19
  * CSS Style Declaration utility
16
20
  */
@@ -122,82 +126,69 @@ class CSSStyleDeclarationElementStyle {
122
126
  }
123
127
  // Concatenates all parent element CSS to one string.
124
128
  const targetElement = parentElements[parentElements.length - 1];
125
- let inheritedCSSText = '';
129
+ const propertyManager = new CSSStyleDeclarationPropertyManager_1.default();
130
+ const cssVariables = {};
131
+ let rootFontSize = 16;
132
+ let parentFontSize = 16;
126
133
  for (const parentElement of parentElements) {
127
- if (parentElement !== targetElement) {
128
- parentElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
129
- if (CSSStyleDeclarationElementDefaultCSS_1.default[parentElement.element.tagName]) {
130
- inheritedCSSText +=
131
- CSSStyleDeclarationElementDefaultCSS_1.default[parentElement.element.tagName];
132
- }
133
- for (const cssText of parentElement.cssTexts) {
134
- inheritedCSSText += cssText.cssText;
135
- }
136
- if (parentElement.element['_attributes']['style']?.value) {
137
- inheritedCSSText += parentElement.element['_attributes']['style'].value;
138
- }
134
+ parentElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
135
+ let elementCSSText = '';
136
+ if (CSSStyleDeclarationElementDefaultCSS_1.default[parentElement.element.tagName]) {
137
+ elementCSSText +=
138
+ CSSStyleDeclarationElementDefaultCSS_1.default[parentElement.element.tagName];
139
139
  }
140
- }
141
- const cssVariables = {};
142
- const properties = {};
143
- let targetCSSText = CSSStyleDeclarationElementDefaultCSS_1.default[targetElement.element.tagName] || '';
144
- targetElement.cssTexts.sort((a, b) => a.priorityWeight - b.priorityWeight);
145
- for (const cssText of targetElement.cssTexts) {
146
- targetCSSText += cssText.cssText;
147
- }
148
- if (targetElement.element['_attributes']['style']?.value) {
149
- targetCSSText += targetElement.element['_attributes']['style'].value;
150
- }
151
- const combinedCSSText = inheritedCSSText + targetCSSText;
152
- if (this.cache.propertyManager && this.cache.cssText === combinedCSSText) {
153
- return this.cache.propertyManager;
154
- }
155
- // Parses the parent element CSS and stores CSS variables and inherited properties.
156
- CSSStyleDeclarationCSSParser_1.default.parse(inheritedCSSText, (name, value, important) => {
157
- if (name.startsWith('--')) {
158
- const cssValue = this.getCSSValue(value, cssVariables);
159
- if (cssValue) {
160
- cssVariables[name] = cssValue;
161
- }
162
- return;
140
+ for (const cssText of parentElement.cssTexts) {
141
+ elementCSSText += cssText.cssText;
163
142
  }
164
- if (CSSStyleDeclarationElementInheritedProperties_1.default[name]) {
165
- const cssValue = this.getCSSValue(value, cssVariables);
166
- if (cssValue && (!properties[name]?.important || important)) {
167
- properties[name] = {
168
- value: cssValue,
169
- important
170
- };
171
- }
143
+ if (parentElement.element['_attributes']['style']?.value) {
144
+ elementCSSText += parentElement.element['_attributes']['style'].value;
172
145
  }
173
- });
174
- // Parses the target element CSS.
175
- CSSStyleDeclarationCSSParser_1.default.parse(targetCSSText, (name, value, important) => {
176
- if (name.startsWith('--')) {
177
- const cssValue = this.getCSSValue(value, cssVariables);
178
- if (cssValue && (!properties[name]?.important || important)) {
179
- cssVariables[name] = cssValue;
180
- properties[name] = {
181
- value,
182
- important
183
- };
146
+ CSSStyleDeclarationCSSParser_1.default.parse(elementCSSText, (name, value, important) => {
147
+ if (name.startsWith('--')) {
148
+ const cssValue = this.parseCSSVariablesInValue(value, cssVariables);
149
+ if (cssValue) {
150
+ cssVariables[name] = cssValue;
151
+ }
152
+ return;
184
153
  }
185
- }
186
- else {
187
- const cssValue = this.getCSSValue(value, cssVariables);
188
- if (cssValue && (!properties[name]?.important || important)) {
189
- properties[name] = {
190
- value: cssValue,
191
- important
192
- };
154
+ if (CSSStyleDeclarationElementInheritedProperties_1.default[name] ||
155
+ parentElement === targetElement) {
156
+ const cssValue = this.parseCSSVariablesInValue(value, cssVariables);
157
+ if (cssValue && (!propertyManager.get(name)?.important || important)) {
158
+ propertyManager.set(name, cssValue, important);
159
+ if (name === 'font' || name === 'font-size') {
160
+ const fontSize = propertyManager.properties['font-size'];
161
+ if (fontSize !== null) {
162
+ const parsedValue = this.parseMeasurementsInValue({
163
+ value: fontSize.value,
164
+ rootFontSize,
165
+ parentFontSize,
166
+ parentSize: parentFontSize
167
+ });
168
+ if (parentElement.element.tagName === 'HTML') {
169
+ rootFontSize = parsedValue;
170
+ }
171
+ else if (parentElement !== targetElement) {
172
+ parentFontSize = parsedValue;
173
+ }
174
+ }
175
+ }
176
+ }
193
177
  }
178
+ });
179
+ }
180
+ for (const name of CSSStyleDeclarationElementMeasurementProperties_1.default) {
181
+ const property = propertyManager.properties[name];
182
+ if (property) {
183
+ property.value = this.parseMeasurementsInValue({
184
+ value: property.value,
185
+ rootFontSize,
186
+ parentFontSize,
187
+ // TODO: Only "font-size" is supported when using percentage values. Add support for other properties.
188
+ parentSize: name === 'font-size' ? parentFontSize : 0
189
+ });
194
190
  }
195
- });
196
- const propertyManager = new CSSStyleDeclarationPropertyManager_1.default();
197
- for (const name of Object.keys(properties)) {
198
- propertyManager.set(name, properties[name].value, properties[name].important);
199
191
  }
200
- this.cache.cssText = combinedCSSText;
201
192
  this.cache.propertyManager = propertyManager;
202
193
  return propertyManager;
203
194
  }
@@ -213,7 +204,7 @@ class CSSStyleDeclarationElementStyle {
213
204
  if (!options.elements.length) {
214
205
  return;
215
206
  }
216
- const defaultView = options.elements[0].element.ownerDocument.defaultView;
207
+ const ownerWindow = this.element.ownerDocument.defaultView;
217
208
  for (const rule of options.cssRules) {
218
209
  if (rule.type === CSSRuleTypeEnum_1.default.styleRule) {
219
210
  const selectorText = rule.selectorText;
@@ -228,10 +219,6 @@ class CSSStyleDeclarationElementStyle {
228
219
  }
229
220
  else {
230
221
  for (const element of options.elements) {
231
- // Skip @-rules.
232
- if (selectorText.startsWith('@')) {
233
- continue;
234
- }
235
222
  const matchResult = QuerySelector_1.default.match(element.element, selectorText);
236
223
  if (matchResult) {
237
224
  element.cssTexts.push({
@@ -244,7 +231,12 @@ class CSSStyleDeclarationElementStyle {
244
231
  }
245
232
  }
246
233
  else if (rule.type === CSSRuleTypeEnum_1.default.mediaRule &&
247
- defaultView.matchMedia(rule.conditionText).matches) {
234
+ // TODO: We need to send in a predfined root font size as it will otherwise be calculated using Window.getComputedStyle(), which will cause a never ending loop. Is there another solution?
235
+ new MediaQueryList_1.default({
236
+ ownerWindow,
237
+ media: rule.conditionText,
238
+ rootFontSize: this.element.tagName === 'HTML' ? 16 : null
239
+ }).matches) {
248
240
  this.parseCSSRules({
249
241
  elements: options.elements,
250
242
  cssRules: rule.cssRules,
@@ -254,22 +246,48 @@ class CSSStyleDeclarationElementStyle {
254
246
  }
255
247
  }
256
248
  /**
257
- * Returns CSS value.
249
+ * Parses CSS variables in a value.
258
250
  *
259
251
  * @param value Value.
260
252
  * @param cssVariables CSS variables.
261
253
  * @returns CSS value.
262
254
  */
263
- getCSSValue(value, cssVariables) {
255
+ parseCSSVariablesInValue(value, cssVariables) {
264
256
  const regexp = new RegExp(CSS_VARIABLE_REGEXP);
265
257
  let newValue = value;
266
258
  let match;
267
259
  while ((match = regexp.exec(value)) !== null) {
268
- const cssVariableValue = cssVariables[match[1]];
269
- if (!cssVariableValue) {
270
- return null;
260
+ newValue = newValue.replace(match[0], cssVariables[match[1]] || '');
261
+ }
262
+ return newValue;
263
+ }
264
+ /**
265
+ * Parses measurements in a value.
266
+ *
267
+ * @param options Options.
268
+ * @param options.value Value.
269
+ * @param options.rootFontSize Root font size.
270
+ * @param options.parentFontSize Parent font size.
271
+ * @param [options.parentSize] Parent width.
272
+ * @returns CSS value.
273
+ */
274
+ parseMeasurementsInValue(options) {
275
+ const regexp = new RegExp(CSS_MEASUREMENT_REGEXP);
276
+ let newValue = options.value;
277
+ let match;
278
+ while ((match = regexp.exec(options.value)) !== null) {
279
+ if (match[1] !== 'px') {
280
+ const valueInPixels = CSSMeasurementConverter_1.default.toPixels({
281
+ ownerWindow: this.element.ownerDocument.defaultView,
282
+ value: match[0],
283
+ rootFontSize: options.rootFontSize,
284
+ parentFontSize: options.parentFontSize,
285
+ parentSize: options.parentSize
286
+ });
287
+ if (valueInPixels !== null) {
288
+ newValue = newValue.replace(match[0], valueInPixels + 'px');
289
+ }
271
290
  }
272
- newValue = newValue.replace(match[0], cssVariableValue);
273
291
  }
274
292
  return newValue;
275
293
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementStyle.js","sourceRoot":"","sources":["../../../../src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementDefaultCSS.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAiIE"}
@@ -71,7 +71,7 @@ exports.default = {
71
71
  HEADER: 'display: block;',
72
72
  HGROUP: 'display: block;',
73
73
  HR: 'display: block;',
74
- HTML: 'display: block;direction: ltr;',
74
+ HTML: 'display: block;direction: ltr;font: 16px "Times New Roman";',
75
75
  I: '',
76
76
  IFRAME: '',
77
77
  INS: '',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementDefaultCSS.js","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementInheritedProperties.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsCE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementInheritedProperties.js","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,iBAAiB,EAAE,IAAI;IACvB,gBAAgB,EAAE,IAAI;IACtB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,IAAI;IACxB,qBAAqB,EAAE,IAAI;IAC3B,iBAAiB,EAAE,IAAI;IACvB,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,uBAAuB,EAAE,IAAI;IAC7B,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,IAAI;IACZ,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: string[];
2
+ export default _default;
3
+ //# sourceMappingURL=CSSStyleDeclarationElementMeasurementProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementMeasurementProperties.d.ts","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.ts"],"names":[],"mappings":";AAAA,wBAwCE"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = [
4
+ 'background-position-x',
5
+ 'background-position-y',
6
+ 'background-size',
7
+ 'border-image-outset',
8
+ 'border-top-width',
9
+ 'border-right-width',
10
+ 'border-bottom-width',
11
+ 'border-left-width',
12
+ 'border-top-left-radius',
13
+ 'border-top-right-radius',
14
+ 'border-bottom-right-radius',
15
+ 'border-bottom-left-radius',
16
+ 'border-image-width',
17
+ 'clip',
18
+ 'font-size',
19
+ 'padding-top',
20
+ 'padding-right',
21
+ 'padding-bottom',
22
+ 'padding-left',
23
+ 'margin-top',
24
+ 'margin-right',
25
+ 'margin-bottom',
26
+ 'margin-left',
27
+ 'width',
28
+ 'height',
29
+ 'min-width',
30
+ 'min-height',
31
+ 'max-width',
32
+ 'max-height',
33
+ 'top',
34
+ 'right',
35
+ 'bottom',
36
+ 'left',
37
+ 'outline-width',
38
+ 'outline-offset',
39
+ 'letter-spacing',
40
+ 'word-spacing',
41
+ 'text-indent',
42
+ 'line-height'
43
+ ];
44
+ //# sourceMappingURL=CSSStyleDeclarationElementMeasurementProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSStyleDeclarationElementMeasurementProperties.js","sourceRoot":"","sources":["../../../../../src/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,uBAAuB;IACvB,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,wBAAwB;IACxB,yBAAyB;IACzB,4BAA4B;IAC5B,2BAA2B;IAC3B,oBAAoB;IACpB,MAAM;IACN,WAAW;IACX,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,cAAc;IACd,YAAY;IACZ,cAAc;IACd,eAAe;IACf,aAAa;IACb,OAAO;IACP,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,MAAM;IACN,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,aAAa;CACb,CAAC"}
@@ -0,0 +1,32 @@
1
+ import IWindow from '../../../window/IWindow';
2
+ /**
3
+ * CSS Measurement Converter.
4
+ */
5
+ export default class CSSMeasurementConverter {
6
+ /**
7
+ * Returns measurement in pixels.
8
+ *
9
+ * @param options Options.
10
+ * @param options.ownerWindow Owner window.
11
+ * @param options.value Measurement (e.g. "10px", "10rem" or "10em").
12
+ * @param options.rootFontSize Root font size in pixels.
13
+ * @param options.parentFontSize Parent font size in pixels.
14
+ * @param [options.parentSize] Parent size in pixels.
15
+ * @returns Measurement in pixels.
16
+ */
17
+ static toPixels(options: {
18
+ ownerWindow: IWindow;
19
+ value: string;
20
+ rootFontSize: string | number;
21
+ parentFontSize: string | number;
22
+ parentSize?: string | number | null;
23
+ }): number | null;
24
+ /**
25
+ * Rounds the number with 4 decimals.
26
+ *
27
+ * @param value Value.
28
+ * @returns Rounded value.
29
+ */
30
+ static round(value: number): number;
31
+ }
32
+ //# sourceMappingURL=CSSMeasurementConverter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CSSMeasurementConverter.d.ts","sourceRoot":"","sources":["../../../../src/css/declaration/measurement-converter/CSSMeasurementConverter.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,uBAAuB;IAC3C;;;;;;;;;;OAUG;WACW,QAAQ,CAAC,OAAO,EAAE;QAC/B,WAAW,EAAE,OAAO,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;QAC9B,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;QAChC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;KACpC,GAAG,MAAM,GAAG,IAAI;IAgDjB;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAG1C"}