html2canvas-pro 1.5.13 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/.eslintrc.old +27 -0
  2. package/README.md +20 -0
  3. package/dist/html2canvas-pro.esm.js +2616 -3010
  4. package/dist/html2canvas-pro.esm.js.map +1 -1
  5. package/dist/html2canvas-pro.js +2616 -3010
  6. package/dist/html2canvas-pro.js.map +1 -1
  7. package/dist/html2canvas-pro.min.js +6 -2
  8. package/dist/lib/__tests__/index.js +57 -122
  9. package/dist/lib/__tests__/index.js.map +1 -1
  10. package/dist/lib/core/__mocks__/cache-storage.js +2 -5
  11. package/dist/lib/core/__mocks__/cache-storage.js.map +1 -1
  12. package/dist/lib/core/__mocks__/context.js +7 -10
  13. package/dist/lib/core/__mocks__/context.js.map +1 -1
  14. package/dist/lib/core/__mocks__/logger.js +9 -17
  15. package/dist/lib/core/__mocks__/logger.js.map +1 -1
  16. package/dist/lib/core/__tests__/cache-storage.js +153 -351
  17. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  18. package/dist/lib/core/__tests__/logger.js +12 -13
  19. package/dist/lib/core/__tests__/logger.js.map +1 -1
  20. package/dist/lib/core/bitwise.js +1 -1
  21. package/dist/lib/core/bitwise.js.map +1 -1
  22. package/dist/lib/core/cache-storage.js +92 -155
  23. package/dist/lib/core/cache-storage.js.map +1 -1
  24. package/dist/lib/core/context.js +8 -10
  25. package/dist/lib/core/context.js.map +1 -1
  26. package/dist/lib/core/debugger.js +5 -5
  27. package/dist/lib/core/debugger.js.map +1 -1
  28. package/dist/lib/core/features.js +65 -68
  29. package/dist/lib/core/features.js.map +1 -1
  30. package/dist/lib/core/logger.js +21 -56
  31. package/dist/lib/core/logger.js.map +1 -1
  32. package/dist/lib/css/index.js +98 -103
  33. package/dist/lib/css/index.js.map +1 -1
  34. package/dist/lib/css/layout/__mocks__/bounds.js +1 -1
  35. package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -1
  36. package/dist/lib/css/layout/bounds.js +30 -19
  37. package/dist/lib/css/layout/bounds.js.map +1 -1
  38. package/dist/lib/css/layout/text.js +50 -58
  39. package/dist/lib/css/layout/text.js.map +1 -1
  40. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +24 -29
  41. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/__tests__/font-family.js +14 -20
  43. package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/__tests__/paint-order.js +61 -83
  45. package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +75 -87
  47. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +9 -13
  49. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/background-clip.js +3 -3
  51. package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
  52. package/dist/lib/css/property-descriptors/background-color.js +1 -1
  53. package/dist/lib/css/property-descriptors/background-image.js +6 -6
  54. package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/background-origin.js +3 -3
  56. package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
  57. package/dist/lib/css/property-descriptors/background-position.js +17 -4
  58. package/dist/lib/css/property-descriptors/background-position.js.map +1 -1
  59. package/dist/lib/css/property-descriptors/background-repeat.js +7 -9
  60. package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
  61. package/dist/lib/css/property-descriptors/background-size.js +5 -7
  62. package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
  63. package/dist/lib/css/property-descriptors/border-color.js +3 -3
  64. package/dist/lib/css/property-descriptors/border-color.js.map +1 -1
  65. package/dist/lib/css/property-descriptors/border-radius.js +5 -7
  66. package/dist/lib/css/property-descriptors/border-radius.js.map +1 -1
  67. package/dist/lib/css/property-descriptors/border-style.js +4 -4
  68. package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
  69. package/dist/lib/css/property-descriptors/border-width.js +5 -5
  70. package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
  71. package/dist/lib/css/property-descriptors/box-shadow.js +10 -10
  72. package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
  73. package/dist/lib/css/property-descriptors/color.js +1 -1
  74. package/dist/lib/css/property-descriptors/content.js +2 -2
  75. package/dist/lib/css/property-descriptors/content.js.map +1 -1
  76. package/dist/lib/css/property-descriptors/counter-increment.js +10 -10
  77. package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
  78. package/dist/lib/css/property-descriptors/counter-reset.js +9 -9
  79. package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
  80. package/dist/lib/css/property-descriptors/direction.js +1 -1
  81. package/dist/lib/css/property-descriptors/direction.js.map +1 -1
  82. package/dist/lib/css/property-descriptors/display.js +4 -4
  83. package/dist/lib/css/property-descriptors/display.js.map +1 -1
  84. package/dist/lib/css/property-descriptors/duration.js +4 -4
  85. package/dist/lib/css/property-descriptors/duration.js.map +1 -1
  86. package/dist/lib/css/property-descriptors/float.js +1 -1
  87. package/dist/lib/css/property-descriptors/float.js.map +1 -1
  88. package/dist/lib/css/property-descriptors/font-family.js +6 -6
  89. package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
  90. package/dist/lib/css/property-descriptors/font-size.js +1 -1
  91. package/dist/lib/css/property-descriptors/font-style.js +1 -1
  92. package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
  93. package/dist/lib/css/property-descriptors/font-variant.js +3 -3
  94. package/dist/lib/css/property-descriptors/font-variant.js.map +1 -1
  95. package/dist/lib/css/property-descriptors/font-weight.js +2 -2
  96. package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
  97. package/dist/lib/css/property-descriptors/letter-spacing.js +1 -1
  98. package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
  99. package/dist/lib/css/property-descriptors/line-break.js +1 -1
  100. package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
  101. package/dist/lib/css/property-descriptors/line-height.js +3 -3
  102. package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
  103. package/dist/lib/css/property-descriptors/list-style-image.js +2 -2
  104. package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
  105. package/dist/lib/css/property-descriptors/list-style-position.js +1 -1
  106. package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
  107. package/dist/lib/css/property-descriptors/list-style-type.js +1 -1
  108. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  109. package/dist/lib/css/property-descriptors/margin.js +3 -3
  110. package/dist/lib/css/property-descriptors/margin.js.map +1 -1
  111. package/dist/lib/css/property-descriptors/object-fit.js +4 -4
  112. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  113. package/dist/lib/css/property-descriptors/opacity.js +2 -2
  114. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  115. package/dist/lib/css/property-descriptors/overflow-wrap.js +1 -1
  116. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  117. package/dist/lib/css/property-descriptors/overflow.js +3 -3
  118. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  119. package/dist/lib/css/property-descriptors/padding.js +3 -3
  120. package/dist/lib/css/property-descriptors/padding.js.map +1 -1
  121. package/dist/lib/css/property-descriptors/paint-order.js +6 -6
  122. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  123. package/dist/lib/css/property-descriptors/position.js +1 -1
  124. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  125. package/dist/lib/css/property-descriptors/quotes.js +11 -11
  126. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  127. package/dist/lib/css/property-descriptors/rotate.js +3 -3
  128. package/dist/lib/css/property-descriptors/rotate.js.map +1 -1
  129. package/dist/lib/css/property-descriptors/text-align.js +1 -1
  130. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  131. package/dist/lib/css/property-descriptors/text-decoration-color.js +1 -1
  132. package/dist/lib/css/property-descriptors/text-decoration-line.js +4 -4
  133. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  134. package/dist/lib/css/property-descriptors/text-shadow.js +10 -10
  135. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  136. package/dist/lib/css/property-descriptors/text-transform.js +1 -1
  137. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  138. package/dist/lib/css/property-descriptors/transform-origin.js +6 -6
  139. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  140. package/dist/lib/css/property-descriptors/transform.js +15 -15
  141. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  142. package/dist/lib/css/property-descriptors/visibility.js +1 -1
  143. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  144. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +1 -1
  145. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +3 -3
  146. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  147. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  148. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  149. package/dist/lib/css/property-descriptors/z-index.js +3 -3
  150. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  151. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +17 -25
  152. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -1
  153. package/dist/lib/css/syntax/parser.js +50 -55
  154. package/dist/lib/css/syntax/parser.js.map +1 -1
  155. package/dist/lib/css/syntax/tokenizer.js +205 -214
  156. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  157. package/dist/lib/css/types/__tests__/color-tests.js +103 -167
  158. package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
  159. package/dist/lib/css/types/__tests__/image-tests.js +192 -217
  160. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  161. package/dist/lib/css/types/angle.js +13 -13
  162. package/dist/lib/css/types/angle.js.map +1 -1
  163. package/dist/lib/css/types/color-spaces/a98.js +18 -22
  164. package/dist/lib/css/types/color-spaces/a98.js.map +1 -1
  165. package/dist/lib/css/types/color-spaces/p3.js +17 -22
  166. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  167. package/dist/lib/css/types/color-spaces/pro-photo.js +17 -21
  168. package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -1
  169. package/dist/lib/css/types/color-spaces/rec2020.js +15 -19
  170. package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -1
  171. package/dist/lib/css/types/color-spaces/srgb.js +17 -23
  172. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  173. package/dist/lib/css/types/color-utilities.js +80 -103
  174. package/dist/lib/css/types/color-utilities.js.map +1 -1
  175. package/dist/lib/css/types/color.js +72 -66
  176. package/dist/lib/css/types/color.js.map +1 -1
  177. package/dist/lib/css/types/functions/-prefix-linear-gradient.js +11 -11
  178. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  179. package/dist/lib/css/types/functions/-prefix-radial-gradient.js +16 -16
  180. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  181. package/dist/lib/css/types/functions/-webkit-gradient.js +26 -26
  182. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  183. package/dist/lib/css/types/functions/__tests__/radial-gradient.js +57 -65
  184. package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -1
  185. package/dist/lib/css/types/functions/counter.js +59 -65
  186. package/dist/lib/css/types/functions/counter.js.map +1 -1
  187. package/dist/lib/css/types/functions/gradient.js +51 -52
  188. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  189. package/dist/lib/css/types/functions/linear-gradient.js +10 -10
  190. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  191. package/dist/lib/css/types/functions/radial-gradient.js +17 -17
  192. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  193. package/dist/lib/css/types/image.js +14 -14
  194. package/dist/lib/css/types/image.js.map +1 -1
  195. package/dist/lib/css/types/length-percentage.js +94 -12
  196. package/dist/lib/css/types/length-percentage.js.map +1 -1
  197. package/dist/lib/css/types/length.js +1 -3
  198. package/dist/lib/css/types/length.js.map +1 -1
  199. package/dist/lib/css/types/time.js +2 -2
  200. package/dist/lib/css/types/time.js.map +1 -1
  201. package/dist/lib/dom/__mocks__/document-cloner.js +7 -8
  202. package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -1
  203. package/dist/lib/dom/document-cloner.js +195 -219
  204. package/dist/lib/dom/document-cloner.js.map +1 -1
  205. package/dist/lib/dom/element-container.js +8 -9
  206. package/dist/lib/dom/element-container.js.map +1 -1
  207. package/dist/lib/dom/elements/li-element-container.js +6 -24
  208. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  209. package/dist/lib/dom/elements/ol-element-container.js +7 -25
  210. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  211. package/dist/lib/dom/elements/select-element-container.js +7 -25
  212. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  213. package/dist/lib/dom/elements/textarea-element-container.js +6 -24
  214. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  215. package/dist/lib/dom/node-parser.js +54 -45
  216. package/dist/lib/dom/node-parser.js.map +1 -1
  217. package/dist/lib/dom/replaced-elements/canvas-element-container.js +8 -26
  218. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  219. package/dist/lib/dom/replaced-elements/iframe-element-container.js +17 -35
  220. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  221. package/dist/lib/dom/replaced-elements/image-element-container.js +9 -27
  222. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  223. package/dist/lib/dom/replaced-elements/input-element-container.js +47 -59
  224. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  225. package/dist/lib/dom/replaced-elements/svg-element-container.js +14 -32
  226. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  227. package/dist/lib/dom/text-container.js +7 -8
  228. package/dist/lib/dom/text-container.js.map +1 -1
  229. package/dist/lib/index.js +99 -156
  230. package/dist/lib/index.js.map +1 -1
  231. package/dist/lib/invariant.js +1 -1
  232. package/dist/lib/invariant.js.map +1 -1
  233. package/dist/lib/render/background.js +44 -47
  234. package/dist/lib/render/background.js.map +1 -1
  235. package/dist/lib/render/bezier-curve.js +18 -19
  236. package/dist/lib/render/bezier-curve.js.map +1 -1
  237. package/dist/lib/render/border.js +9 -9
  238. package/dist/lib/render/border.js.map +1 -1
  239. package/dist/lib/render/bound-curves.js +35 -36
  240. package/dist/lib/render/bound-curves.js.map +1 -1
  241. package/dist/lib/render/box-sizing.js +11 -11
  242. package/dist/lib/render/box-sizing.js.map +1 -1
  243. package/dist/lib/render/canvas/canvas-renderer.js +642 -915
  244. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  245. package/dist/lib/render/canvas/foreignobject-renderer.js +35 -101
  246. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  247. package/dist/lib/render/effects.js +12 -17
  248. package/dist/lib/render/effects.js.map +1 -1
  249. package/dist/lib/render/font-metrics.js +17 -18
  250. package/dist/lib/render/font-metrics.js.map +1 -1
  251. package/dist/lib/render/path.js +4 -4
  252. package/dist/lib/render/path.js.map +1 -1
  253. package/dist/lib/render/renderer.js +3 -4
  254. package/dist/lib/render/renderer.js.map +1 -1
  255. package/dist/lib/render/stacking-context.js +71 -70
  256. package/dist/lib/render/stacking-context.js.map +1 -1
  257. package/dist/lib/render/vector.js +6 -7
  258. package/dist/lib/render/vector.js.map +1 -1
  259. package/dist/types/css/types/length-percentage.d.ts +11 -1
  260. package/dist/types/dom/replaced-elements/input-element-container.d.ts +2 -0
  261. package/eslint.config.js +35 -0
  262. package/jest.config.cjs +5 -0
  263. package/karma.conf.cjs +295 -0
  264. package/package.json +19 -15
  265. package/test-punctuation.html +0 -77
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseStackingContexts = exports.ElementPaint = exports.StackingContext = void 0;
4
- var bitwise_1 = require("../core/bitwise");
5
- var bound_curves_1 = require("./bound-curves");
6
- var effects_1 = require("./effects");
7
- var path_1 = require("./path");
8
- var ol_element_container_1 = require("../dom/elements/ol-element-container");
9
- var li_element_container_1 = require("../dom/elements/li-element-container");
10
- var counter_1 = require("../css/types/functions/counter");
11
- var StackingContext = /** @class */ (function () {
12
- function StackingContext(container) {
4
+ const bitwise_1 = require("../core/bitwise");
5
+ const bound_curves_1 = require("./bound-curves");
6
+ const effects_1 = require("./effects");
7
+ const path_1 = require("./path");
8
+ const ol_element_container_1 = require("../dom/elements/ol-element-container");
9
+ const li_element_container_1 = require("../dom/elements/li-element-container");
10
+ const counter_1 = require("../css/types/functions/counter");
11
+ const length_percentage_1 = require("../css/types/length-percentage");
12
+ class StackingContext {
13
+ constructor(container) {
13
14
  this.element = container;
14
15
  this.inlineLevel = [];
15
16
  this.nonInlineLevel = [];
@@ -19,11 +20,10 @@ var StackingContext = /** @class */ (function () {
19
20
  this.nonPositionedFloats = [];
20
21
  this.nonPositionedInlineLevel = [];
21
22
  }
22
- return StackingContext;
23
- }());
23
+ }
24
24
  exports.StackingContext = StackingContext;
25
- var ElementPaint = /** @class */ (function () {
26
- function ElementPaint(container, parent) {
25
+ class ElementPaint {
26
+ constructor(container, parent) {
27
27
  this.container = container;
28
28
  this.parent = parent;
29
29
  this.effects = [];
@@ -32,25 +32,27 @@ var ElementPaint = /** @class */ (function () {
32
32
  this.effects.push(new effects_1.OpacityEffect(this.container.styles.opacity));
33
33
  }
34
34
  if (this.container.styles.rotate !== null) {
35
- var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;
36
- var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;
35
+ const origin = this.container.styles.transformOrigin;
36
+ const offsetX = this.container.bounds.left + (0, length_percentage_1.getAbsoluteValue)(origin[0], this.container.bounds.width);
37
+ const offsetY = this.container.bounds.top + (0, length_percentage_1.getAbsoluteValue)(origin[1], this.container.bounds.height);
37
38
  // Apply rotate property if present
38
- var angle = this.container.styles.rotate;
39
- var rad = (angle * Math.PI) / 180;
40
- var cos = Math.cos(rad);
41
- var sin = Math.sin(rad);
42
- var rotateMatrix = [cos, sin, -sin, cos, 0, 0];
39
+ const angle = this.container.styles.rotate;
40
+ const rad = (angle * Math.PI) / 180;
41
+ const cos = Math.cos(rad);
42
+ const sin = Math.sin(rad);
43
+ const rotateMatrix = [cos, sin, -sin, cos, 0, 0];
43
44
  this.effects.push(new effects_1.TransformEffect(offsetX, offsetY, rotateMatrix));
44
45
  }
45
46
  if (this.container.styles.transform !== null) {
46
- var offsetX = this.container.bounds.left + this.container.styles.transformOrigin[0].number;
47
- var offsetY = this.container.bounds.top + this.container.styles.transformOrigin[1].number;
48
- var matrix = this.container.styles.transform;
47
+ const origin = this.container.styles.transformOrigin;
48
+ const offsetX = this.container.bounds.left + (0, length_percentage_1.getAbsoluteValue)(origin[0], this.container.bounds.width);
49
+ const offsetY = this.container.bounds.top + (0, length_percentage_1.getAbsoluteValue)(origin[1], this.container.bounds.height);
50
+ const matrix = this.container.styles.transform;
49
51
  this.effects.push(new effects_1.TransformEffect(offsetX, offsetY, matrix));
50
52
  }
51
53
  if (this.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
52
- var borderBox = (0, bound_curves_1.calculateBorderBoxPath)(this.curves);
53
- var paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(this.curves);
54
+ const borderBox = (0, bound_curves_1.calculateBorderBoxPath)(this.curves);
55
+ const paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(this.curves);
54
56
  if ((0, path_1.equalPath)(borderBox, paddingBox)) {
55
57
  this.effects.push(new effects_1.ClipEffect(borderBox, 2 /* EffectTarget.BACKGROUND_BORDERS */ | 4 /* EffectTarget.CONTENT */));
56
58
  }
@@ -60,74 +62,73 @@ var ElementPaint = /** @class */ (function () {
60
62
  }
61
63
  }
62
64
  }
63
- ElementPaint.prototype.getEffects = function (target) {
64
- var inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(this.container.styles.position) === -1;
65
- var parent = this.parent;
66
- var effects = this.effects.slice(0);
65
+ getEffects(target) {
66
+ let inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(this.container.styles.position) === -1;
67
+ let parent = this.parent;
68
+ const effects = this.effects.slice(0);
67
69
  while (parent) {
68
- var croplessEffects = parent.effects.filter(function (effect) { return !(0, effects_1.isClipEffect)(effect); });
70
+ const croplessEffects = parent.effects.filter((effect) => !(0, effects_1.isClipEffect)(effect));
69
71
  if (inFlow || parent.container.styles.position !== 0 /* POSITION.STATIC */ || !parent.parent) {
70
72
  inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(parent.container.styles.position) === -1;
71
73
  if (parent.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
72
- var borderBox = (0, bound_curves_1.calculateBorderBoxPath)(parent.curves);
73
- var paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(parent.curves);
74
+ const borderBox = (0, bound_curves_1.calculateBorderBoxPath)(parent.curves);
75
+ const paddingBox = (0, bound_curves_1.calculatePaddingBoxPath)(parent.curves);
74
76
  if (!(0, path_1.equalPath)(borderBox, paddingBox)) {
75
77
  effects.unshift(new effects_1.ClipEffect(paddingBox, 2 /* EffectTarget.BACKGROUND_BORDERS */ | 4 /* EffectTarget.CONTENT */));
76
78
  }
77
79
  }
78
- effects.unshift.apply(effects, croplessEffects);
80
+ effects.unshift(...croplessEffects);
79
81
  }
80
82
  else {
81
- effects.unshift.apply(effects, croplessEffects);
83
+ effects.unshift(...croplessEffects);
82
84
  }
83
85
  parent = parent.parent;
84
86
  }
85
- return effects.filter(function (effect) { return (0, bitwise_1.contains)(effect.target, target); });
86
- };
87
- return ElementPaint;
88
- }());
87
+ return effects.filter((effect) => (0, bitwise_1.contains)(effect.target, target));
88
+ }
89
+ }
89
90
  exports.ElementPaint = ElementPaint;
90
- var parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {
91
- parent.container.elements.forEach(function (child) {
92
- var treatAsRealStackingContext = (0, bitwise_1.contains)(child.flags, 4 /* FLAGS.CREATES_REAL_STACKING_CONTEXT */);
93
- var createsStackingContext = (0, bitwise_1.contains)(child.flags, 2 /* FLAGS.CREATES_STACKING_CONTEXT */);
94
- var paintContainer = new ElementPaint(child, parent);
91
+ const parseStackTree = (parent, stackingContext, realStackingContext, listItems) => {
92
+ parent.container.elements.forEach((child) => {
93
+ const treatAsRealStackingContext = (0, bitwise_1.contains)(child.flags, 4 /* FLAGS.CREATES_REAL_STACKING_CONTEXT */);
94
+ const createsStackingContext = (0, bitwise_1.contains)(child.flags, 2 /* FLAGS.CREATES_STACKING_CONTEXT */);
95
+ const paintContainer = new ElementPaint(child, parent);
95
96
  if ((0, bitwise_1.contains)(child.styles.display, 2048 /* DISPLAY.LIST_ITEM */)) {
96
97
  listItems.push(paintContainer);
97
98
  }
98
- var listOwnerItems = (0, bitwise_1.contains)(child.flags, 8 /* FLAGS.IS_LIST_OWNER */) ? [] : listItems;
99
+ const listOwnerItems = (0, bitwise_1.contains)(child.flags, 8 /* FLAGS.IS_LIST_OWNER */) ? [] : listItems;
99
100
  if (treatAsRealStackingContext || createsStackingContext) {
100
- var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
101
- var stack = new StackingContext(paintContainer);
101
+ const parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
102
+ const stack = new StackingContext(paintContainer);
102
103
  if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {
103
- var order_1 = child.styles.zIndex.order;
104
- if (order_1 < 0) {
105
- var index_1 = 0;
106
- parentStack.negativeZIndex.some(function (current, i) {
107
- if (order_1 > current.element.container.styles.zIndex.order) {
108
- index_1 = i;
104
+ const order = child.styles.zIndex.order;
105
+ if (order < 0) {
106
+ let index = 0;
107
+ parentStack.negativeZIndex.some((current, i) => {
108
+ if (order > current.element.container.styles.zIndex.order) {
109
+ index = i;
109
110
  return false;
110
111
  }
111
- else if (index_1 > 0) {
112
+ else if (index > 0) {
112
113
  return true;
113
114
  }
114
115
  return false;
115
116
  });
116
- parentStack.negativeZIndex.splice(index_1, 0, stack);
117
+ parentStack.negativeZIndex.splice(index, 0, stack);
117
118
  }
118
- else if (order_1 > 0) {
119
- var index_2 = 0;
120
- parentStack.positiveZIndex.some(function (current, i) {
121
- if (order_1 >= current.element.container.styles.zIndex.order) {
122
- index_2 = i + 1;
119
+ else if (order > 0) {
120
+ let index = 0;
121
+ parentStack.positiveZIndex.some((current, i) => {
122
+ if (order >= current.element.container.styles.zIndex.order) {
123
+ index = i + 1;
123
124
  return false;
124
125
  }
125
- else if (index_2 > 0) {
126
+ else if (index > 0) {
126
127
  return true;
127
128
  }
128
129
  return false;
129
130
  });
130
- parentStack.positiveZIndex.splice(index_2, 0, stack);
131
+ parentStack.positiveZIndex.splice(index, 0, stack);
131
132
  }
132
133
  else {
133
134
  parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);
@@ -157,11 +158,11 @@ var parseStackTree = function (parent, stackingContext, realStackingContext, lis
157
158
  }
158
159
  });
159
160
  };
160
- var processListItems = function (owner, elements) {
161
- var numbering = owner instanceof ol_element_container_1.OLElementContainer ? owner.start : 1;
162
- var reversed = owner instanceof ol_element_container_1.OLElementContainer ? owner.reversed : false;
163
- for (var i = 0; i < elements.length; i++) {
164
- var item = elements[i];
161
+ const processListItems = (owner, elements) => {
162
+ let numbering = owner instanceof ol_element_container_1.OLElementContainer ? owner.start : 1;
163
+ const reversed = owner instanceof ol_element_container_1.OLElementContainer ? owner.reversed : false;
164
+ for (let i = 0; i < elements.length; i++) {
165
+ const item = elements[i];
165
166
  if (item.container instanceof li_element_container_1.LIElementContainer &&
166
167
  typeof item.container.value === 'number' &&
167
168
  item.container.value !== 0) {
@@ -171,10 +172,10 @@ var processListItems = function (owner, elements) {
171
172
  numbering += reversed ? -1 : 1;
172
173
  }
173
174
  };
174
- var parseStackingContexts = function (container) {
175
- var paintContainer = new ElementPaint(container, null);
176
- var root = new StackingContext(paintContainer);
177
- var listItems = [];
175
+ const parseStackingContexts = (container) => {
176
+ const paintContainer = new ElementPaint(container, null);
177
+ const root = new StackingContext(paintContainer);
178
+ const listItems = [];
178
179
  parseStackTree(paintContainer, root, root, listItems);
179
180
  processListItems(paintContainer.container, listItems);
180
181
  return root;
@@ -1 +1 @@
1
- {"version":3,"file":"stacking-context.js","sourceRoot":"","sources":["../../../src/render/stacking-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stacking-context.js","sourceRoot":"","sources":["../../../src/render/stacking-context.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isVector = exports.Vector = void 0;
4
- var Vector = /** @class */ (function () {
5
- function Vector(x, y) {
4
+ class Vector {
5
+ constructor(x, y) {
6
6
  this.type = 0 /* PathType.VECTOR */;
7
7
  this.x = x;
8
8
  this.y = y;
9
9
  }
10
- Vector.prototype.add = function (deltaX, deltaY) {
10
+ add(deltaX, deltaY) {
11
11
  return new Vector(this.x + deltaX, this.y + deltaY);
12
- };
13
- return Vector;
14
- }());
12
+ }
13
+ }
15
14
  exports.Vector = Vector;
16
- var isVector = function (path) { return path.type === 0 /* PathType.VECTOR */; };
15
+ const isVector = (path) => path.type === 0 /* PathType.VECTOR */;
17
16
  exports.isVector = isVector;
18
17
  //# sourceMappingURL=vector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/render/vector.ts"],"names":[],"mappings":";;;AAEA;IAKI,gBAAY,CAAS,EAAE,CAAS;QAC5B,IAAI,CAAC,IAAI,0BAAkB,CAAC;QAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,oBAAG,GAAH,UAAI,MAAc,EAAE,MAAc;QAC9B,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACxD,CAAC;IACL,aAAC;AAAD,CAAC,AAdD,IAcC;AAdY,wBAAM;AAgBZ,IAAM,QAAQ,GAAG,UAAC,IAAU,IAAqB,OAAA,IAAI,CAAC,IAAI,4BAAoB,EAA7B,CAA6B,CAAC;AAAzE,QAAA,QAAQ,YAAiE"}
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../../src/render/vector.ts"],"names":[],"mappings":";;;AAEA,MAAa,MAAM;IAKf,YAAY,CAAS,EAAE,CAAS;QAC5B,IAAI,CAAC,IAAI,0BAAkB,CAAC;QAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,GAAG,CAAC,MAAc,EAAE,MAAc;QAC9B,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACxD,CAAC;CACJ;AAdD,wBAcC;AAEM,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,4BAAoB,CAAC;AAAzE,QAAA,QAAQ,YAAiE"}
@@ -1,8 +1,18 @@
1
1
  import { DimensionToken, NumberValueToken } from '../syntax/tokenizer';
2
- import { CSSValue } from '../syntax/parser';
2
+ import { CSSValue, CSSFunction } from '../syntax/parser';
3
3
  export type LengthPercentage = DimensionToken | NumberValueToken;
4
4
  export type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];
5
5
  export declare const isLengthPercentage: (token: CSSValue) => token is LengthPercentage;
6
+ /**
7
+ * Check if a token is a calc() function
8
+ */
9
+ export declare const isCalcFunction: (token: CSSValue) => token is CSSFunction;
10
+ /**
11
+ * Evaluate a calc() expression and convert to LengthPercentage token
12
+ * Supports basic arithmetic: +, -, *, /
13
+ * Note: Percentages in calc() are converted based on a context value
14
+ */
15
+ export declare const evaluateCalcToLengthPercentage: (calcToken: CSSFunction, contextValue?: number) => LengthPercentage | null;
6
16
  export declare const parseLengthPercentageTuple: (tokens: LengthPercentage[]) => LengthPercentageTuple;
7
17
  export declare const ZERO_LENGTH: NumberValueToken;
8
18
  export declare const FIFTY_PERCENT: NumberValueToken;
@@ -4,9 +4,11 @@ export declare const CHECKBOX = "checkbox";
4
4
  export declare const RADIO = "radio";
5
5
  export declare const PASSWORD = "password";
6
6
  export declare const INPUT_COLOR = 707406591;
7
+ export declare const PLACEHOLDER_COLOR = 1970632191;
7
8
  export declare class InputElementContainer extends ElementContainer {
8
9
  readonly type: string;
9
10
  readonly checked: boolean;
10
11
  readonly value: string;
12
+ readonly isPlaceholder: boolean;
11
13
  constructor(context: Context, input: HTMLInputElement);
12
14
  }
@@ -0,0 +1,35 @@
1
+ import tseslint from '@typescript-eslint/eslint-plugin';
2
+ import tsparser from '@typescript-eslint/parser';
3
+ import prettier from 'eslint-plugin-prettier';
4
+ import prettierConfig from 'eslint-config-prettier';
5
+
6
+ export default [
7
+ {
8
+ files: ['**/*.ts'],
9
+ languageOptions: {
10
+ parser: tsparser,
11
+ parserOptions: {
12
+ project: ['./tsconfig.json', './tests/tsconfig.json'],
13
+ ecmaVersion: 2018,
14
+ sourceType: 'module',
15
+ },
16
+ },
17
+ plugins: {
18
+ '@typescript-eslint': tseslint,
19
+ prettier: prettier,
20
+ },
21
+ rules: {
22
+ ...prettierConfig.rules,
23
+ 'no-console': ['error', { allow: ['warn', 'error'] }],
24
+ '@typescript-eslint/explicit-member-accessibility': ['error', { accessibility: 'no-public' }],
25
+ '@typescript-eslint/interface-name-prefix': 'off',
26
+ '@typescript-eslint/explicit-function-return-type': 'off',
27
+ '@typescript-eslint/no-use-before-define': 'off',
28
+ '@typescript-eslint/no-unused-vars': 'off',
29
+ '@typescript-eslint/class-name-casing': 'off',
30
+ '@typescript-eslint/ban-ts-comment': 'off',
31
+ 'prettier/prettier': 'error',
32
+ },
33
+ },
34
+ ];
35
+
@@ -0,0 +1,5 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'jsdom',
4
+ roots: ['src']
5
+ };