html2canvas-pro 1.6.0 → 1.6.2

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 (262) hide show
  1. package/dist/html2canvas-pro.esm.js +2509 -3036
  2. package/dist/html2canvas-pro.esm.js.map +1 -1
  3. package/dist/html2canvas-pro.js +2517 -3040
  4. package/dist/html2canvas-pro.js.map +1 -1
  5. package/dist/html2canvas-pro.min.js +6 -2
  6. package/dist/lib/__tests__/index.js +57 -122
  7. package/dist/lib/__tests__/index.js.map +1 -1
  8. package/dist/lib/core/__mocks__/cache-storage.js +2 -5
  9. package/dist/lib/core/__mocks__/cache-storage.js.map +1 -1
  10. package/dist/lib/core/__mocks__/context.js +7 -10
  11. package/dist/lib/core/__mocks__/context.js.map +1 -1
  12. package/dist/lib/core/__mocks__/logger.js +9 -17
  13. package/dist/lib/core/__mocks__/logger.js.map +1 -1
  14. package/dist/lib/core/__tests__/cache-storage.js +153 -351
  15. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  16. package/dist/lib/core/__tests__/logger.js +12 -13
  17. package/dist/lib/core/__tests__/logger.js.map +1 -1
  18. package/dist/lib/core/bitwise.js +1 -1
  19. package/dist/lib/core/bitwise.js.map +1 -1
  20. package/dist/lib/core/cache-storage.js +92 -155
  21. package/dist/lib/core/cache-storage.js.map +1 -1
  22. package/dist/lib/core/context.js +8 -10
  23. package/dist/lib/core/context.js.map +1 -1
  24. package/dist/lib/core/debugger.js +5 -5
  25. package/dist/lib/core/debugger.js.map +1 -1
  26. package/dist/lib/core/features.js +65 -68
  27. package/dist/lib/core/features.js.map +1 -1
  28. package/dist/lib/core/logger.js +21 -56
  29. package/dist/lib/core/logger.js.map +1 -1
  30. package/dist/lib/css/index.js +98 -103
  31. package/dist/lib/css/index.js.map +1 -1
  32. package/dist/lib/css/layout/__mocks__/bounds.js +1 -1
  33. package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -1
  34. package/dist/lib/css/layout/bounds.js +20 -21
  35. package/dist/lib/css/layout/bounds.js.map +1 -1
  36. package/dist/lib/css/layout/text.js +50 -58
  37. package/dist/lib/css/layout/text.js.map +1 -1
  38. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +24 -29
  39. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  40. package/dist/lib/css/property-descriptors/__tests__/font-family.js +14 -20
  41. package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/__tests__/paint-order.js +61 -83
  43. package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +75 -87
  45. package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +9 -13
  47. package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/background-clip.js +3 -3
  49. package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/background-color.js +1 -1
  51. package/dist/lib/css/property-descriptors/background-image.js +6 -6
  52. package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
  53. package/dist/lib/css/property-descriptors/background-origin.js +3 -3
  54. package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/background-position.js +6 -6
  56. package/dist/lib/css/property-descriptors/background-position.js.map +1 -1
  57. package/dist/lib/css/property-descriptors/background-repeat.js +7 -9
  58. package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
  59. package/dist/lib/css/property-descriptors/background-size.js +5 -7
  60. package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
  61. package/dist/lib/css/property-descriptors/border-color.js +3 -3
  62. package/dist/lib/css/property-descriptors/border-color.js.map +1 -1
  63. package/dist/lib/css/property-descriptors/border-radius.js +5 -7
  64. package/dist/lib/css/property-descriptors/border-radius.js.map +1 -1
  65. package/dist/lib/css/property-descriptors/border-style.js +4 -4
  66. package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
  67. package/dist/lib/css/property-descriptors/border-width.js +5 -5
  68. package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
  69. package/dist/lib/css/property-descriptors/box-shadow.js +10 -10
  70. package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
  71. package/dist/lib/css/property-descriptors/color.js +1 -1
  72. package/dist/lib/css/property-descriptors/content.js +2 -2
  73. package/dist/lib/css/property-descriptors/content.js.map +1 -1
  74. package/dist/lib/css/property-descriptors/counter-increment.js +10 -10
  75. package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
  76. package/dist/lib/css/property-descriptors/counter-reset.js +9 -9
  77. package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
  78. package/dist/lib/css/property-descriptors/direction.js +1 -1
  79. package/dist/lib/css/property-descriptors/direction.js.map +1 -1
  80. package/dist/lib/css/property-descriptors/display.js +4 -4
  81. package/dist/lib/css/property-descriptors/display.js.map +1 -1
  82. package/dist/lib/css/property-descriptors/duration.js +4 -4
  83. package/dist/lib/css/property-descriptors/duration.js.map +1 -1
  84. package/dist/lib/css/property-descriptors/float.js +1 -1
  85. package/dist/lib/css/property-descriptors/float.js.map +1 -1
  86. package/dist/lib/css/property-descriptors/font-family.js +6 -6
  87. package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
  88. package/dist/lib/css/property-descriptors/font-size.js +1 -1
  89. package/dist/lib/css/property-descriptors/font-style.js +1 -1
  90. package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
  91. package/dist/lib/css/property-descriptors/font-variant.js +3 -3
  92. package/dist/lib/css/property-descriptors/font-variant.js.map +1 -1
  93. package/dist/lib/css/property-descriptors/font-weight.js +2 -2
  94. package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
  95. package/dist/lib/css/property-descriptors/letter-spacing.js +1 -1
  96. package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
  97. package/dist/lib/css/property-descriptors/line-break.js +1 -1
  98. package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
  99. package/dist/lib/css/property-descriptors/line-height.js +3 -3
  100. package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
  101. package/dist/lib/css/property-descriptors/list-style-image.js +2 -2
  102. package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
  103. package/dist/lib/css/property-descriptors/list-style-position.js +1 -1
  104. package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
  105. package/dist/lib/css/property-descriptors/list-style-type.js +1 -1
  106. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  107. package/dist/lib/css/property-descriptors/margin.js +3 -3
  108. package/dist/lib/css/property-descriptors/margin.js.map +1 -1
  109. package/dist/lib/css/property-descriptors/object-fit.js +4 -4
  110. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  111. package/dist/lib/css/property-descriptors/opacity.js +2 -2
  112. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  113. package/dist/lib/css/property-descriptors/overflow-wrap.js +1 -1
  114. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  115. package/dist/lib/css/property-descriptors/overflow.js +3 -3
  116. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  117. package/dist/lib/css/property-descriptors/padding.js +3 -3
  118. package/dist/lib/css/property-descriptors/padding.js.map +1 -1
  119. package/dist/lib/css/property-descriptors/paint-order.js +6 -6
  120. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  121. package/dist/lib/css/property-descriptors/position.js +1 -1
  122. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  123. package/dist/lib/css/property-descriptors/quotes.js +11 -11
  124. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  125. package/dist/lib/css/property-descriptors/rotate.js +3 -3
  126. package/dist/lib/css/property-descriptors/rotate.js.map +1 -1
  127. package/dist/lib/css/property-descriptors/text-align.js +1 -1
  128. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  129. package/dist/lib/css/property-descriptors/text-decoration-color.js +1 -1
  130. package/dist/lib/css/property-descriptors/text-decoration-line.js +4 -4
  131. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  132. package/dist/lib/css/property-descriptors/text-shadow.js +10 -10
  133. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  134. package/dist/lib/css/property-descriptors/text-transform.js +1 -1
  135. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  136. package/dist/lib/css/property-descriptors/transform-origin.js +6 -6
  137. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  138. package/dist/lib/css/property-descriptors/transform.js +15 -15
  139. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  140. package/dist/lib/css/property-descriptors/visibility.js +1 -1
  141. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  142. package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +1 -1
  143. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +3 -3
  144. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  145. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  146. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  147. package/dist/lib/css/property-descriptors/z-index.js +3 -3
  148. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  149. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +17 -25
  150. package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -1
  151. package/dist/lib/css/syntax/parser.js +50 -55
  152. package/dist/lib/css/syntax/parser.js.map +1 -1
  153. package/dist/lib/css/syntax/tokenizer.js +205 -214
  154. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  155. package/dist/lib/css/types/__tests__/color-tests.js +103 -167
  156. package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
  157. package/dist/lib/css/types/__tests__/image-tests.js +192 -217
  158. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  159. package/dist/lib/css/types/angle.js +13 -13
  160. package/dist/lib/css/types/angle.js.map +1 -1
  161. package/dist/lib/css/types/color-spaces/a98.js +18 -22
  162. package/dist/lib/css/types/color-spaces/a98.js.map +1 -1
  163. package/dist/lib/css/types/color-spaces/p3.js +17 -22
  164. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  165. package/dist/lib/css/types/color-spaces/pro-photo.js +17 -21
  166. package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -1
  167. package/dist/lib/css/types/color-spaces/rec2020.js +15 -19
  168. package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -1
  169. package/dist/lib/css/types/color-spaces/srgb.js +17 -23
  170. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  171. package/dist/lib/css/types/color-utilities.js +80 -103
  172. package/dist/lib/css/types/color-utilities.js.map +1 -1
  173. package/dist/lib/css/types/color.js +72 -66
  174. package/dist/lib/css/types/color.js.map +1 -1
  175. package/dist/lib/css/types/functions/-prefix-linear-gradient.js +11 -11
  176. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  177. package/dist/lib/css/types/functions/-prefix-radial-gradient.js +16 -16
  178. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  179. package/dist/lib/css/types/functions/-webkit-gradient.js +26 -26
  180. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  181. package/dist/lib/css/types/functions/__tests__/radial-gradient.js +57 -65
  182. package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -1
  183. package/dist/lib/css/types/functions/counter.js +59 -65
  184. package/dist/lib/css/types/functions/counter.js.map +1 -1
  185. package/dist/lib/css/types/functions/gradient.js +51 -52
  186. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  187. package/dist/lib/css/types/functions/linear-gradient.js +10 -10
  188. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  189. package/dist/lib/css/types/functions/radial-gradient.js +17 -17
  190. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  191. package/dist/lib/css/types/image.js +14 -14
  192. package/dist/lib/css/types/image.js.map +1 -1
  193. package/dist/lib/css/types/length-percentage.js +19 -27
  194. package/dist/lib/css/types/length-percentage.js.map +1 -1
  195. package/dist/lib/css/types/length.js +1 -3
  196. package/dist/lib/css/types/length.js.map +1 -1
  197. package/dist/lib/css/types/time.js +2 -2
  198. package/dist/lib/css/types/time.js.map +1 -1
  199. package/dist/lib/dom/__mocks__/document-cloner.js +7 -8
  200. package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -1
  201. package/dist/lib/dom/document-cloner.js +195 -219
  202. package/dist/lib/dom/document-cloner.js.map +1 -1
  203. package/dist/lib/dom/element-container.js +8 -9
  204. package/dist/lib/dom/element-container.js.map +1 -1
  205. package/dist/lib/dom/elements/li-element-container.js +6 -24
  206. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  207. package/dist/lib/dom/elements/ol-element-container.js +7 -25
  208. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  209. package/dist/lib/dom/elements/select-element-container.js +7 -25
  210. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  211. package/dist/lib/dom/elements/textarea-element-container.js +6 -24
  212. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  213. package/dist/lib/dom/node-parser.js +42 -46
  214. package/dist/lib/dom/node-parser.js.map +1 -1
  215. package/dist/lib/dom/replaced-elements/canvas-element-container.js +8 -26
  216. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  217. package/dist/lib/dom/replaced-elements/iframe-element-container.js +17 -35
  218. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  219. package/dist/lib/dom/replaced-elements/image-element-container.js +9 -27
  220. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  221. package/dist/lib/dom/replaced-elements/input-element-container.js +47 -59
  222. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  223. package/dist/lib/dom/replaced-elements/svg-element-container.js +14 -32
  224. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  225. package/dist/lib/dom/text-container.js +7 -8
  226. package/dist/lib/dom/text-container.js.map +1 -1
  227. package/dist/lib/index.js +101 -156
  228. package/dist/lib/index.js.map +1 -1
  229. package/dist/lib/invariant.js +1 -1
  230. package/dist/lib/invariant.js.map +1 -1
  231. package/dist/lib/render/background.js +44 -47
  232. package/dist/lib/render/background.js.map +1 -1
  233. package/dist/lib/render/bezier-curve.js +18 -19
  234. package/dist/lib/render/bezier-curve.js.map +1 -1
  235. package/dist/lib/render/border.js +9 -9
  236. package/dist/lib/render/border.js.map +1 -1
  237. package/dist/lib/render/bound-curves.js +35 -36
  238. package/dist/lib/render/bound-curves.js.map +1 -1
  239. package/dist/lib/render/box-sizing.js +11 -11
  240. package/dist/lib/render/box-sizing.js.map +1 -1
  241. package/dist/lib/render/canvas/canvas-renderer.js +639 -918
  242. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  243. package/dist/lib/render/canvas/foreignobject-renderer.js +35 -101
  244. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  245. package/dist/lib/render/effects.js +12 -17
  246. package/dist/lib/render/effects.js.map +1 -1
  247. package/dist/lib/render/font-metrics.js +17 -18
  248. package/dist/lib/render/font-metrics.js.map +1 -1
  249. package/dist/lib/render/path.js +4 -4
  250. package/dist/lib/render/path.js.map +1 -1
  251. package/dist/lib/render/renderer.js +3 -4
  252. package/dist/lib/render/renderer.js.map +1 -1
  253. package/dist/lib/render/stacking-context.js +71 -73
  254. package/dist/lib/render/stacking-context.js.map +1 -1
  255. package/dist/lib/render/vector.js +6 -7
  256. package/dist/lib/render/vector.js.map +1 -1
  257. package/dist/types/dom/replaced-elements/input-element-container.d.ts +2 -0
  258. package/dist/types/index.d.ts +1 -0
  259. package/eslint.config.js +35 -0
  260. package/jest.config.cjs +5 -0
  261. package/karma.conf.cjs +295 -0
  262. package/package.json +32 -20
@@ -1,16 +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 length_percentage_1 = require("../css/types/length-percentage");
12
- var StackingContext = /** @class */ (function () {
13
- 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) {
14
14
  this.element = container;
15
15
  this.inlineLevel = [];
16
16
  this.nonInlineLevel = [];
@@ -20,11 +20,10 @@ var StackingContext = /** @class */ (function () {
20
20
  this.nonPositionedFloats = [];
21
21
  this.nonPositionedInlineLevel = [];
22
22
  }
23
- return StackingContext;
24
- }());
23
+ }
25
24
  exports.StackingContext = StackingContext;
26
- var ElementPaint = /** @class */ (function () {
27
- function ElementPaint(container, parent) {
25
+ class ElementPaint {
26
+ constructor(container, parent) {
28
27
  this.container = container;
29
28
  this.parent = parent;
30
29
  this.effects = [];
@@ -33,27 +32,27 @@ var ElementPaint = /** @class */ (function () {
33
32
  this.effects.push(new effects_1.OpacityEffect(this.container.styles.opacity));
34
33
  }
35
34
  if (this.container.styles.rotate !== null) {
36
- var origin_1 = this.container.styles.transformOrigin;
37
- var offsetX = this.container.bounds.left + (0, length_percentage_1.getAbsoluteValue)(origin_1[0], this.container.bounds.width);
38
- var offsetY = this.container.bounds.top + (0, length_percentage_1.getAbsoluteValue)(origin_1[1], this.container.bounds.height);
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);
39
38
  // Apply rotate property if present
40
- var angle = this.container.styles.rotate;
41
- var rad = (angle * Math.PI) / 180;
42
- var cos = Math.cos(rad);
43
- var sin = Math.sin(rad);
44
- 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];
45
44
  this.effects.push(new effects_1.TransformEffect(offsetX, offsetY, rotateMatrix));
46
45
  }
47
46
  if (this.container.styles.transform !== null) {
48
- var origin_2 = this.container.styles.transformOrigin;
49
- var offsetX = this.container.bounds.left + (0, length_percentage_1.getAbsoluteValue)(origin_2[0], this.container.bounds.width);
50
- var offsetY = this.container.bounds.top + (0, length_percentage_1.getAbsoluteValue)(origin_2[1], this.container.bounds.height);
51
- 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;
52
51
  this.effects.push(new effects_1.TransformEffect(offsetX, offsetY, matrix));
53
52
  }
54
53
  if (this.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
55
- var borderBox = (0, bound_curves_1.calculateBorderBoxPath)(this.curves);
56
- 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);
57
56
  if ((0, path_1.equalPath)(borderBox, paddingBox)) {
58
57
  this.effects.push(new effects_1.ClipEffect(borderBox, 2 /* EffectTarget.BACKGROUND_BORDERS */ | 4 /* EffectTarget.CONTENT */));
59
58
  }
@@ -63,74 +62,73 @@ var ElementPaint = /** @class */ (function () {
63
62
  }
64
63
  }
65
64
  }
66
- ElementPaint.prototype.getEffects = function (target) {
67
- var inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(this.container.styles.position) === -1;
68
- var parent = this.parent;
69
- 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);
70
69
  while (parent) {
71
- 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));
72
71
  if (inFlow || parent.container.styles.position !== 0 /* POSITION.STATIC */ || !parent.parent) {
73
72
  inFlow = [2 /* POSITION.ABSOLUTE */, 3 /* POSITION.FIXED */].indexOf(parent.container.styles.position) === -1;
74
73
  if (parent.container.styles.overflowX !== 0 /* OVERFLOW.VISIBLE */) {
75
- var borderBox = (0, bound_curves_1.calculateBorderBoxPath)(parent.curves);
76
- 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);
77
76
  if (!(0, path_1.equalPath)(borderBox, paddingBox)) {
78
77
  effects.unshift(new effects_1.ClipEffect(paddingBox, 2 /* EffectTarget.BACKGROUND_BORDERS */ | 4 /* EffectTarget.CONTENT */));
79
78
  }
80
79
  }
81
- effects.unshift.apply(effects, croplessEffects);
80
+ effects.unshift(...croplessEffects);
82
81
  }
83
82
  else {
84
- effects.unshift.apply(effects, croplessEffects);
83
+ effects.unshift(...croplessEffects);
85
84
  }
86
85
  parent = parent.parent;
87
86
  }
88
- return effects.filter(function (effect) { return (0, bitwise_1.contains)(effect.target, target); });
89
- };
90
- return ElementPaint;
91
- }());
87
+ return effects.filter((effect) => (0, bitwise_1.contains)(effect.target, target));
88
+ }
89
+ }
92
90
  exports.ElementPaint = ElementPaint;
93
- var parseStackTree = function (parent, stackingContext, realStackingContext, listItems) {
94
- parent.container.elements.forEach(function (child) {
95
- var treatAsRealStackingContext = (0, bitwise_1.contains)(child.flags, 4 /* FLAGS.CREATES_REAL_STACKING_CONTEXT */);
96
- var createsStackingContext = (0, bitwise_1.contains)(child.flags, 2 /* FLAGS.CREATES_STACKING_CONTEXT */);
97
- 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);
98
96
  if ((0, bitwise_1.contains)(child.styles.display, 2048 /* DISPLAY.LIST_ITEM */)) {
99
97
  listItems.push(paintContainer);
100
98
  }
101
- 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;
102
100
  if (treatAsRealStackingContext || createsStackingContext) {
103
- var parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
104
- var stack = new StackingContext(paintContainer);
101
+ const parentStack = treatAsRealStackingContext || child.styles.isPositioned() ? realStackingContext : stackingContext;
102
+ const stack = new StackingContext(paintContainer);
105
103
  if (child.styles.isPositioned() || child.styles.opacity < 1 || child.styles.isTransformed()) {
106
- var order_1 = child.styles.zIndex.order;
107
- if (order_1 < 0) {
108
- var index_1 = 0;
109
- parentStack.negativeZIndex.some(function (current, i) {
110
- if (order_1 > current.element.container.styles.zIndex.order) {
111
- 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;
112
110
  return false;
113
111
  }
114
- else if (index_1 > 0) {
112
+ else if (index > 0) {
115
113
  return true;
116
114
  }
117
115
  return false;
118
116
  });
119
- parentStack.negativeZIndex.splice(index_1, 0, stack);
117
+ parentStack.negativeZIndex.splice(index, 0, stack);
120
118
  }
121
- else if (order_1 > 0) {
122
- var index_2 = 0;
123
- parentStack.positiveZIndex.some(function (current, i) {
124
- if (order_1 >= current.element.container.styles.zIndex.order) {
125
- 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;
126
124
  return false;
127
125
  }
128
- else if (index_2 > 0) {
126
+ else if (index > 0) {
129
127
  return true;
130
128
  }
131
129
  return false;
132
130
  });
133
- parentStack.positiveZIndex.splice(index_2, 0, stack);
131
+ parentStack.positiveZIndex.splice(index, 0, stack);
134
132
  }
135
133
  else {
136
134
  parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack);
@@ -160,11 +158,11 @@ var parseStackTree = function (parent, stackingContext, realStackingContext, lis
160
158
  }
161
159
  });
162
160
  };
163
- var processListItems = function (owner, elements) {
164
- var numbering = owner instanceof ol_element_container_1.OLElementContainer ? owner.start : 1;
165
- var reversed = owner instanceof ol_element_container_1.OLElementContainer ? owner.reversed : false;
166
- for (var i = 0; i < elements.length; i++) {
167
- 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];
168
166
  if (item.container instanceof li_element_container_1.LIElementContainer &&
169
167
  typeof item.container.value === 'number' &&
170
168
  item.container.value !== 0) {
@@ -174,10 +172,10 @@ var processListItems = function (owner, elements) {
174
172
  numbering += reversed ? -1 : 1;
175
173
  }
176
174
  };
177
- var parseStackingContexts = function (container) {
178
- var paintContainer = new ElementPaint(container, null);
179
- var root = new StackingContext(paintContainer);
180
- var listItems = [];
175
+ const parseStackingContexts = (container) => {
176
+ const paintContainer = new ElementPaint(container, null);
177
+ const root = new StackingContext(paintContainer);
178
+ const listItems = [];
181
179
  parseStackTree(paintContainer, root, root, listItems);
182
180
  processListItems(paintContainer.container, listItems);
183
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":";;;AACA,6CAA2C;AAC3C,iDAA8F;AAC9F,uCAAmH;AAGnH,iCAAmC;AAEnC,+EAA0E;AAC1E,+EAA0E;AAC1E,4DAAmE;AAEnE,sEAAkE;AAElE,MAAa,eAAe;IAUxB,YAAY,SAAuB;QAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;IACvC,CAAC;CACJ;AApBD,0CAoBC;AAED,MAAa,YAAY;IAKrB,YACa,SAA2B,EAC3B,MAA2B;QAD3B,cAAS,GAAT,SAAS,CAAkB;QAC3B,WAAM,GAAN,MAAM,CAAqB;QAN/B,YAAO,GAAqB,EAAE,CAAC;QAQpC,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,uBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtG,mCAAmC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,YAAY,GAAW,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,IAAA,oCAAgB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,yBAAe,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,6BAAqB,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,IAAA,qCAAsB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,IAAA,sCAAuB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAExD,IAAI,IAAA,gBAAS,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,SAAS,EAAE,sEAAsD,CAAC,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,SAAS,0CAAkC,CAAC,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,oBAAU,CAAC,UAAU,+BAAuB,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC;IAED,UAAU,CAAC,MAAoB;QAC3B,IAAI,MAAM,GAAG,mDAAmC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,MAAM,EAAE,CAAC;YACZ,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAY,EAAC,MAAM,CAAC,CAAC,CAAC;YACjF,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,4BAAoB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnF,MAAM,GAAG,mDAAmC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9F,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,6BAAqB,EAAE,CAAC;oBACzD,MAAM,SAAS,GAAG,IAAA,qCAAsB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACxD,MAAM,UAAU,GAAG,IAAA,sCAAuB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC1D,IAAI,CAAC,IAAA,gBAAS,EAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;wBACpC,OAAO,CAAC,OAAO,CACX,IAAI,oBAAU,CAAC,UAAU,EAAE,sEAAsD,CAAC,CACrF,CAAC;oBACN,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,kBAAQ,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;CACJ;AA3ED,oCA2EC;AAED,MAAM,cAAc,GAAG,CACnB,MAAoB,EACpB,eAAgC,EAChC,mBAAoC,EACpC,SAAyB,EAC3B,EAAE;IACA,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxC,MAAM,0BAA0B,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8CAAsC,CAAC;QAC9F,MAAM,sBAAsB,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,yCAAiC,CAAC;QACrF,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,IAAA,kBAAQ,EAAC,KAAK,CAAC,MAAM,CAAC,OAAO,+BAAoB,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8BAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,IAAI,0BAA0B,IAAI,sBAAsB,EAAE,CAAC;YACvD,MAAM,WAAW,GACb,0BAA0B,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;YAEtG,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;YAElD,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBACxC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,IAAI,KAAK,GAAG,CAAC,CAAC;oBAEd,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACxD,KAAK,GAAG,CAAC,CAAC;4BACV,OAAO,KAAK,CAAC;wBACjB,CAAC;6BAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;4BACnB,OAAO,IAAI,CAAC;wBAChB,CAAC;wBAED,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACzD,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;4BACd,OAAO,KAAK,CAAC;wBACjB,CAAC;6BAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;4BACnB,OAAO,IAAI,CAAC;wBAChB,CAAC;wBAED,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnE,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC5B,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACJ,WAAW,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;YAED,cAAc,CACV,cAAc,EACd,KAAK,EACL,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,EACxD,cAAc,CACjB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC/B,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACxD,CAAC;YAED,cAAc,CAAC,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,IAAA,kBAAQ,EAAC,KAAK,CAAC,KAAK,8BAAsB,EAAE,CAAC;YAC7C,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAuB,EAAE,QAAwB,EAAE,EAAE;IAC3E,IAAI,SAAS,GAAG,KAAK,YAAY,yCAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,YAAY,yCAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IACI,IAAI,CAAC,SAAS,YAAY,yCAAkB;YAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ;YACxC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,EAC5B,CAAC;YACC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAA,2BAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEzF,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAA2B,EAAmB,EAAE;IAClF,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,cAAc,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,gBAAgB,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
@@ -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"}
@@ -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
  }
@@ -8,3 +8,4 @@ export type Options = CloneOptions & WindowOptions & RenderOptions & ContextOpti
8
8
  };
9
9
  declare const html2canvas: (element: HTMLElement, options?: Partial<Options>) => Promise<HTMLCanvasElement>;
10
10
  export default html2canvas;
11
+ export { html2canvas };
@@ -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
+ };
package/karma.conf.cjs ADDED
@@ -0,0 +1,295 @@
1
+ // Karma configuration
2
+ // Generated on Sat Aug 05 2017 23:42:26 GMT+0800 (Malay Peninsula Standard Time)
3
+
4
+ const path = require('path');
5
+ const simctl = require('node-simctl');
6
+ const iosSimulator = require('appium-ios-simulator');
7
+ const listenAddress = 'localhost';
8
+ const port = 9876;
9
+
10
+ const log = require('karma/lib/logger').create('launcher:MobileSafari');
11
+
12
+ module.exports = function(config) {
13
+ // https://github.com/actions/virtual-environments/blob/master/images/macos/macos-10.15-Readme.md
14
+ const launchers = {
15
+ Safari_IOS_9: {
16
+ base: 'MobileSafari',
17
+ name: 'iPhone 5s',
18
+ platform: 'iOS',
19
+ sdk: '9.0'
20
+ },
21
+ Safari_IOS_10: {
22
+ base: 'MobileSafari',
23
+ name: 'iPhone 5s',
24
+ platform: 'iOS',
25
+ sdk: '10.0'
26
+ },
27
+ Safari_IOS_12: {
28
+ base: 'MobileSafari',
29
+ name: 'iPhone 5s',
30
+ platform: 'iOS',
31
+ sdk: '12.4'
32
+ },
33
+ Safari_IOS_13: {
34
+ base: 'MobileSafari',
35
+ name: 'iPhone 8',
36
+ platform: 'iOS',
37
+ sdk: '13.7'
38
+ },
39
+ Safari_IOS_14: {
40
+ base: 'MobileSafari',
41
+ name: 'iPhone 8',
42
+ platform: 'iOS',
43
+ sdk: '14.4'
44
+ },
45
+ Safari_IOS_15_0: {
46
+ base: 'MobileSafari',
47
+ name: 'iPhone 13',
48
+ platform: 'iOS',
49
+ sdk: '15.0'
50
+ },
51
+ Safari_IOS_15: {
52
+ base: 'MobileSafari',
53
+ name: 'iPhone 13',
54
+ platform: 'iOS',
55
+ sdk: '15.2'
56
+ },
57
+ SauceLabs_IE9: {
58
+ base: 'SauceLabs',
59
+ browserName: 'internet explorer',
60
+ version: '9.0',
61
+ platform: 'Windows 7'
62
+ },
63
+ SauceLabs_IE10: {
64
+ base: 'SauceLabs',
65
+ browserName: 'internet explorer',
66
+ version: '10.0',
67
+ platform: 'Windows 7'
68
+ },
69
+ SauceLabs_IE11: {
70
+ base: 'SauceLabs',
71
+ browserName: 'internet explorer',
72
+ version: '11.0',
73
+ platform: 'Windows 7'
74
+ },
75
+ SauceLabs_Edge18: {
76
+ base: 'SauceLabs',
77
+ browserName: 'MicrosoftEdge',
78
+ version: '18.17763',
79
+ platform: 'Windows 10'
80
+ },
81
+ SauceLabs_Android4: {
82
+ base: 'SauceLabs',
83
+ browserName: 'Browser',
84
+ platform: 'Android',
85
+ version: '4.4',
86
+ device: 'Android Emulator',
87
+ },
88
+ SauceLabs_iOS10_3: {
89
+ base: 'SauceLabs',
90
+ browserName: 'Safari',
91
+ platform: 'iOS',
92
+ version: '10.3',
93
+ device: 'iPhone 7 Plus Simulator'
94
+ },
95
+ SauceLabs_iOS9_3: {
96
+ base: 'SauceLabs',
97
+ browserName: 'Safari',
98
+ platform: 'iOS',
99
+ version: '9.3',
100
+ device: 'iPhone 6 Plus Simulator'
101
+ },
102
+ IE_9: {
103
+ base: 'IE',
104
+ 'x-ua-compatible': 'IE=EmulateIE9',
105
+ flags: ['-extoff']
106
+ },
107
+ IE_10: {
108
+ base: 'IE',
109
+ 'x-ua-compatible': 'IE=EmulateIE10',
110
+ flags: ['-extoff']
111
+ },
112
+ IE_11: {
113
+ base: 'IE',
114
+ flags: ['-extoff']
115
+ },
116
+ Safari_Stable: {
117
+ base: 'SafariNative'
118
+ },
119
+ Chrome_Stable: {
120
+ base: 'ChromeHeadless'
121
+ },
122
+ Firefox_Stable: {
123
+ base: 'Firefox'
124
+ }
125
+ };
126
+
127
+ const ciLauncher = launchers[process.env.TARGET_BROWSER];
128
+
129
+ const customLaunchers = ciLauncher ? {target_browser: ciLauncher} : {
130
+ stable_chrome: {
131
+ base: 'ChromeHeadless'
132
+ },
133
+ stable_firefox: {
134
+ base: 'Firefox'
135
+ }
136
+ };
137
+
138
+ const injectTypedArrayPolyfills = function(files) {
139
+ files.unshift({
140
+ pattern: path.resolve(__dirname, './node_modules/js-polyfills/typedarray.js'),
141
+ included: true,
142
+ served: true,
143
+ watched: false
144
+ });
145
+ };
146
+
147
+ injectTypedArrayPolyfills.$inject = ['config.files'];
148
+
149
+ const MobileSafari = function(baseBrowserDecorator, args) {
150
+ if(process.platform !== "darwin"){
151
+ log.error("This launcher only works in MacOS.");
152
+ this._process.kill();
153
+ return;
154
+ }
155
+ baseBrowserDecorator(this);
156
+ this.on('start', url => {
157
+ simctl.getDevices(args.sdk, args.platform).then(devices => {
158
+ const d = devices.find(d => {
159
+ return d.name === args.name;
160
+ });
161
+
162
+ if (!d) {
163
+ log.error(`No device found for sdk ${args.sdk} with name ${args.name}`);
164
+ log.info(`Available devices:`, devices);
165
+ this._process.kill();
166
+ return;
167
+ }
168
+
169
+ return iosSimulator.getSimulator(d.udid).then(device => {
170
+ return simctl.bootDevice(d.udid).then(() => device);
171
+ }).then(device => {
172
+ return device.waitForBoot(60 * 5 * 1000).then(() => {
173
+ return device.openUrl(url);
174
+ });
175
+ });
176
+ }).catch(e => {
177
+ console.log('err,', e);
178
+ });
179
+ });
180
+ };
181
+
182
+ MobileSafari.prototype = {
183
+ name: 'MobileSafari',
184
+ DEFAULT_CMD: {
185
+ darwin: '/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator',
186
+ },
187
+ ENV_CMD: null,
188
+ };
189
+
190
+ MobileSafari.$inject = ['baseBrowserDecorator', 'args'];
191
+
192
+ config.set({
193
+
194
+ // base path that will be used to resolve all patterns (eg. files, exclude)
195
+ basePath: '',
196
+
197
+
198
+ // frameworks to use
199
+ // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
200
+ frameworks: ['mocha', 'inline-mocha-fix'],
201
+
202
+ // list of files / patterns to load in the browser
203
+ files: [
204
+ 'build/testrunner.js',
205
+ { pattern: './tests/**/*', 'watched': true, 'included': false, 'served': true},
206
+ { pattern: './dist/**/*', 'watched': true, 'included': false, 'served': true},
207
+ { pattern: './node_modules/**/*', 'watched': true, 'included': false, 'served': true},
208
+ ],
209
+
210
+ plugins: [
211
+ 'karma-*',
212
+ {
213
+ 'framework:inline-mocha-fix': ['factory', injectTypedArrayPolyfills]
214
+ },
215
+ {
216
+ 'launcher:MobileSafari': ['type', MobileSafari]
217
+ }
218
+ ],
219
+
220
+ // list of files to exclude
221
+ exclude: [
222
+ ],
223
+
224
+
225
+ // preprocess matching files before serving them to the browser
226
+ // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
227
+ preprocessors: {
228
+ },
229
+
230
+
231
+ // test results reporter to use
232
+ // possible values: 'dots', 'progress'
233
+ // available reporters: https://npmjs.org/browse/keyword/karma-reporter
234
+ reporters: ['dots', 'junit'],
235
+
236
+ junitReporter: {
237
+ outputDir: 'tmp/junit/'
238
+ },
239
+
240
+ // web server listen address,
241
+ listenAddress,
242
+
243
+ // web server port
244
+ port,
245
+
246
+
247
+ // enable / disable colors in the output (reporters and logs)
248
+ colors: true,
249
+
250
+
251
+ // level of logging
252
+ // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
253
+ logLevel: config.LOG_INFO,
254
+
255
+
256
+ // enable / disable watching file and executing tests whenever any file changes
257
+ autoWatch: true,
258
+
259
+
260
+ // start these browsers
261
+ // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
262
+ browsers: Object.keys(customLaunchers),
263
+
264
+
265
+ customLaunchers,
266
+
267
+ // Continuous Integration mode
268
+ // if true, Karma captures browsers, runs the tests and exits
269
+ singleRun: true,
270
+
271
+ // Concurrency level
272
+ // how many browser should be started simultaneous
273
+ concurrency: 5,
274
+
275
+ proxies: {
276
+ '/dist': `http://localhost:${port}/base/dist`,
277
+ '/node_modules': `http://localhost:${port}/base/node_modules`,
278
+ '/tests': `http://localhost:${port}/base/tests`,
279
+ '/assets': `http://localhost:${port}/base/tests/assets`
280
+ },
281
+
282
+ client: {
283
+ mocha: {
284
+ // change Karma's debug.html to the mocha web reporter
285
+ reporter: 'html'
286
+ }
287
+ },
288
+
289
+ captureTimeout: 300000,
290
+
291
+ browserDisconnectTimeout: 60000,
292
+
293
+ browserNoActivityTimeout: 1200000
294
+ })
295
+ };