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
package/dist/lib/index.js CHANGED
@@ -1,173 +1,118 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
- var bounds_1 = require("./css/layout/bounds");
51
- var color_1 = require("./css/types/color");
52
- var color_utilities_1 = require("./css/types/color-utilities");
53
- var document_cloner_1 = require("./dom/document-cloner");
54
- var node_parser_1 = require("./dom/node-parser");
55
- var cache_storage_1 = require("./core/cache-storage");
56
- var canvas_renderer_1 = require("./render/canvas/canvas-renderer");
57
- var foreignobject_renderer_1 = require("./render/canvas/foreignobject-renderer");
58
- var context_1 = require("./core/context");
59
- var html2canvas = function (element, options) {
60
- if (options === void 0) { options = {}; }
3
+ exports.html2canvas = void 0;
4
+ const bounds_1 = require("./css/layout/bounds");
5
+ const color_1 = require("./css/types/color");
6
+ const color_utilities_1 = require("./css/types/color-utilities");
7
+ const document_cloner_1 = require("./dom/document-cloner");
8
+ const node_parser_1 = require("./dom/node-parser");
9
+ const cache_storage_1 = require("./core/cache-storage");
10
+ const canvas_renderer_1 = require("./render/canvas/canvas-renderer");
11
+ const foreignobject_renderer_1 = require("./render/canvas/foreignobject-renderer");
12
+ const context_1 = require("./core/context");
13
+ const html2canvas = (element, options = {}) => {
61
14
  return renderElement(element, options);
62
15
  };
16
+ exports.html2canvas = html2canvas;
63
17
  exports.default = html2canvas;
64
18
  if (typeof window !== 'undefined') {
65
19
  cache_storage_1.CacheStorage.setContext(window);
66
20
  }
67
- var renderElement = function (element, opts) { return __awaiter(void 0, void 0, void 0, function () {
68
- var ownerDocument, defaultView, resourceOptions, contextOptions, windowOptions, windowBounds, context, foreignObjectRendering, cloneOptions, documentCloner, clonedElement, container, _a, width, height, left, top, backgroundColor, renderOptions, canvas, renderer, root, renderer;
69
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
70
- return __generator(this, function (_u) {
71
- switch (_u.label) {
72
- case 0:
73
- if (!element || typeof element !== 'object') {
74
- return [2 /*return*/, Promise.reject('Invalid element provided as first argument')];
75
- }
76
- ownerDocument = element.ownerDocument;
77
- if (!ownerDocument) {
78
- throw new Error("Element is not attached to a Document");
79
- }
80
- defaultView = ownerDocument.defaultView;
81
- if (!defaultView) {
82
- throw new Error("Document is not attached to a Window");
83
- }
84
- resourceOptions = {
85
- allowTaint: (_b = opts.allowTaint) !== null && _b !== void 0 ? _b : false,
86
- imageTimeout: (_c = opts.imageTimeout) !== null && _c !== void 0 ? _c : 15000,
87
- proxy: opts.proxy,
88
- useCORS: (_d = opts.useCORS) !== null && _d !== void 0 ? _d : false,
89
- customIsSameOrigin: opts.customIsSameOrigin
90
- };
91
- contextOptions = __assign({ logging: (_e = opts.logging) !== null && _e !== void 0 ? _e : true, cache: opts.cache }, resourceOptions);
92
- windowOptions = {
93
- windowWidth: (_f = opts.windowWidth) !== null && _f !== void 0 ? _f : defaultView.innerWidth,
94
- windowHeight: (_g = opts.windowHeight) !== null && _g !== void 0 ? _g : defaultView.innerHeight,
95
- scrollX: (_h = opts.scrollX) !== null && _h !== void 0 ? _h : defaultView.pageXOffset,
96
- scrollY: (_j = opts.scrollY) !== null && _j !== void 0 ? _j : defaultView.pageYOffset
97
- };
98
- windowBounds = new bounds_1.Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);
99
- context = new context_1.Context(contextOptions, windowBounds);
100
- foreignObjectRendering = (_k = opts.foreignObjectRendering) !== null && _k !== void 0 ? _k : false;
101
- cloneOptions = {
102
- allowTaint: (_l = opts.allowTaint) !== null && _l !== void 0 ? _l : false,
103
- onclone: opts.onclone,
104
- ignoreElements: opts.ignoreElements,
105
- inlineImages: foreignObjectRendering,
106
- copyStyles: foreignObjectRendering
107
- };
108
- context.logger.debug("Starting document clone with size ".concat(windowBounds.width, "x").concat(windowBounds.height, " scrolled to ").concat(-windowBounds.left, ",").concat(-windowBounds.top));
109
- documentCloner = new document_cloner_1.DocumentCloner(context, element, cloneOptions);
110
- clonedElement = documentCloner.clonedReferenceElement;
111
- if (!clonedElement) {
112
- return [2 /*return*/, Promise.reject("Unable to find element in cloned iframe")];
113
- }
114
- return [4 /*yield*/, documentCloner.toIFrame(ownerDocument, windowBounds)];
115
- case 1:
116
- container = _u.sent();
117
- _a = (0, node_parser_1.isBodyElement)(clonedElement) || (0, node_parser_1.isHTMLElement)(clonedElement)
118
- ? (0, bounds_1.parseDocumentSize)(clonedElement.ownerDocument)
119
- : (0, bounds_1.parseBounds)(context, clonedElement), width = _a.width, height = _a.height, left = _a.left, top = _a.top;
120
- backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor);
121
- renderOptions = {
122
- canvas: opts.canvas,
123
- backgroundColor: backgroundColor,
124
- scale: (_o = (_m = opts.scale) !== null && _m !== void 0 ? _m : defaultView.devicePixelRatio) !== null && _o !== void 0 ? _o : 1,
125
- x: ((_p = opts.x) !== null && _p !== void 0 ? _p : 0) + left,
126
- y: ((_q = opts.y) !== null && _q !== void 0 ? _q : 0) + top,
127
- width: (_r = opts.width) !== null && _r !== void 0 ? _r : Math.ceil(width),
128
- height: (_s = opts.height) !== null && _s !== void 0 ? _s : Math.ceil(height)
129
- };
130
- if (!foreignObjectRendering) return [3 /*break*/, 3];
131
- context.logger.debug("Document cloned, using foreign object rendering");
132
- renderer = new foreignobject_renderer_1.ForeignObjectRenderer(context, renderOptions);
133
- return [4 /*yield*/, renderer.render(clonedElement)];
134
- case 2:
135
- canvas = _u.sent();
136
- return [3 /*break*/, 5];
137
- case 3:
138
- context.logger.debug("Document cloned, element located at ".concat(left, ",").concat(top, " with size ").concat(width, "x").concat(height, " using computed rendering"));
139
- context.logger.debug("Starting DOM parsing");
140
- root = (0, node_parser_1.parseTree)(context, clonedElement);
141
- if (backgroundColor === root.styles.backgroundColor) {
142
- root.styles.backgroundColor = color_1.COLORS.TRANSPARENT;
143
- }
144
- context.logger.debug("Starting renderer for element at ".concat(renderOptions.x, ",").concat(renderOptions.y, " with size ").concat(renderOptions.width, "x").concat(renderOptions.height));
145
- renderer = new canvas_renderer_1.CanvasRenderer(context, renderOptions);
146
- return [4 /*yield*/, renderer.render(root)];
147
- case 4:
148
- canvas = _u.sent();
149
- _u.label = 5;
150
- case 5:
151
- if ((_t = opts.removeContainer) !== null && _t !== void 0 ? _t : true) {
152
- if (!document_cloner_1.DocumentCloner.destroy(container)) {
153
- context.logger.error("Cannot detach cloned iframe as it is not in the DOM anymore");
154
- }
155
- }
156
- context.logger.debug("Finished rendering");
157
- return [2 /*return*/, canvas];
21
+ const renderElement = async (element, opts) => {
22
+ if (!element || typeof element !== 'object') {
23
+ return Promise.reject('Invalid element provided as first argument');
24
+ }
25
+ const ownerDocument = element.ownerDocument;
26
+ if (!ownerDocument) {
27
+ throw new Error(`Element is not attached to a Document`);
28
+ }
29
+ const defaultView = ownerDocument.defaultView;
30
+ if (!defaultView) {
31
+ throw new Error(`Document is not attached to a Window`);
32
+ }
33
+ const resourceOptions = {
34
+ allowTaint: opts.allowTaint ?? false,
35
+ imageTimeout: opts.imageTimeout ?? 15000,
36
+ proxy: opts.proxy,
37
+ useCORS: opts.useCORS ?? false,
38
+ customIsSameOrigin: opts.customIsSameOrigin
39
+ };
40
+ const contextOptions = {
41
+ logging: opts.logging ?? true,
42
+ cache: opts.cache,
43
+ ...resourceOptions
44
+ };
45
+ const windowOptions = {
46
+ windowWidth: opts.windowWidth ?? defaultView.innerWidth,
47
+ windowHeight: opts.windowHeight ?? defaultView.innerHeight,
48
+ scrollX: opts.scrollX ?? defaultView.pageXOffset,
49
+ scrollY: opts.scrollY ?? defaultView.pageYOffset
50
+ };
51
+ const windowBounds = new bounds_1.Bounds(windowOptions.scrollX, windowOptions.scrollY, windowOptions.windowWidth, windowOptions.windowHeight);
52
+ const context = new context_1.Context(contextOptions, windowBounds);
53
+ const foreignObjectRendering = opts.foreignObjectRendering ?? false;
54
+ const cloneOptions = {
55
+ allowTaint: opts.allowTaint ?? false,
56
+ onclone: opts.onclone,
57
+ ignoreElements: opts.ignoreElements,
58
+ inlineImages: foreignObjectRendering,
59
+ copyStyles: foreignObjectRendering
60
+ };
61
+ context.logger.debug(`Starting document clone with size ${windowBounds.width}x${windowBounds.height} scrolled to ${-windowBounds.left},${-windowBounds.top}`);
62
+ const documentCloner = new document_cloner_1.DocumentCloner(context, element, cloneOptions);
63
+ const clonedElement = documentCloner.clonedReferenceElement;
64
+ if (!clonedElement) {
65
+ return Promise.reject(`Unable to find element in cloned iframe`);
66
+ }
67
+ const container = await documentCloner.toIFrame(ownerDocument, windowBounds);
68
+ const { width, height, left, top } = (0, node_parser_1.isBodyElement)(clonedElement) || (0, node_parser_1.isHTMLElement)(clonedElement)
69
+ ? (0, bounds_1.parseDocumentSize)(clonedElement.ownerDocument)
70
+ : (0, bounds_1.parseBounds)(context, clonedElement);
71
+ const backgroundColor = parseBackgroundColor(context, clonedElement, opts.backgroundColor);
72
+ const renderOptions = {
73
+ canvas: opts.canvas,
74
+ backgroundColor,
75
+ scale: opts.scale ?? defaultView.devicePixelRatio ?? 1,
76
+ x: (opts.x ?? 0) + left,
77
+ y: (opts.y ?? 0) + top,
78
+ width: opts.width ?? Math.ceil(width),
79
+ height: opts.height ?? Math.ceil(height)
80
+ };
81
+ let canvas;
82
+ if (foreignObjectRendering) {
83
+ context.logger.debug(`Document cloned, using foreign object rendering`);
84
+ const renderer = new foreignobject_renderer_1.ForeignObjectRenderer(context, renderOptions);
85
+ canvas = await renderer.render(clonedElement);
86
+ }
87
+ else {
88
+ context.logger.debug(`Document cloned, element located at ${left},${top} with size ${width}x${height} using computed rendering`);
89
+ context.logger.debug(`Starting DOM parsing`);
90
+ const root = (0, node_parser_1.parseTree)(context, clonedElement);
91
+ if (backgroundColor === root.styles.backgroundColor) {
92
+ root.styles.backgroundColor = color_1.COLORS.TRANSPARENT;
93
+ }
94
+ context.logger.debug(`Starting renderer for element at ${renderOptions.x},${renderOptions.y} with size ${renderOptions.width}x${renderOptions.height}`);
95
+ const renderer = new canvas_renderer_1.CanvasRenderer(context, renderOptions);
96
+ canvas = await renderer.render(root);
97
+ }
98
+ if (opts.removeContainer ?? true) {
99
+ if (!document_cloner_1.DocumentCloner.destroy(container)) {
100
+ context.logger.error(`Cannot detach cloned iframe as it is not in the DOM anymore`);
158
101
  }
159
- });
160
- }); };
161
- var parseBackgroundColor = function (context, element, backgroundColorOverride) {
162
- var ownerDocument = element.ownerDocument;
102
+ }
103
+ context.logger.debug(`Finished rendering`);
104
+ return canvas;
105
+ };
106
+ const parseBackgroundColor = (context, element, backgroundColorOverride) => {
107
+ const ownerDocument = element.ownerDocument;
163
108
  // http://www.w3.org/TR/css3-background/#special-backgrounds
164
- var documentBackgroundColor = ownerDocument.documentElement
109
+ const documentBackgroundColor = ownerDocument.documentElement
165
110
  ? (0, color_1.parseColor)(context, getComputedStyle(ownerDocument.documentElement).backgroundColor)
166
111
  : color_1.COLORS.TRANSPARENT;
167
- var bodyBackgroundColor = ownerDocument.body
112
+ const bodyBackgroundColor = ownerDocument.body
168
113
  ? (0, color_1.parseColor)(context, getComputedStyle(ownerDocument.body).backgroundColor)
169
114
  : color_1.COLORS.TRANSPARENT;
170
- var defaultBackgroundColor = typeof backgroundColorOverride === 'string'
115
+ const defaultBackgroundColor = typeof backgroundColorOverride === 'string'
171
116
  ? (0, color_1.parseColor)(context, backgroundColorOverride)
172
117
  : backgroundColorOverride === null
173
118
  ? color_1.COLORS.TRANSPARENT
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA6E;AAC7E,2CAAuD;AACvD,+DAA4D;AAC5D,yDAAyG;AACzG,iDAA4E;AAC5E,sDAAoD;AACpD,mEAAsG;AACtG,iFAA+E;AAC/E,0CAAyD;AAWzD,IAAM,WAAW,GAAG,UAAC,OAAoB,EAAE,OAA8B;IAA9B,wBAAA,EAAA,YAA8B;IACrE,OAAO,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC;AAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAChC,4BAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,IAAM,aAAa,GAAG,UAAO,OAAoB,EAAE,IAAsB;;;;;;gBACrE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC1C,sBAAO,OAAO,CAAC,MAAM,CAAC,4CAA4C,CAAC,EAAC;gBACxE,CAAC;gBACK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBAE5C,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC7D,CAAC;gBAEK,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;gBAE9C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC5D,CAAC;gBAEK,eAAe,GAAG;oBACpB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;oBACpC,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,KAAK;oBACxC,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,KAAK;oBAC9B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;iBAC9C,CAAC;gBAEI,cAAc,cAChB,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,EAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IACd,eAAe,CACrB,CAAC;gBAEI,aAAa,GAAG;oBAClB,WAAW,EAAE,MAAA,IAAI,CAAC,WAAW,mCAAI,WAAW,CAAC,UAAU;oBACvD,YAAY,EAAE,MAAA,IAAI,CAAC,YAAY,mCAAI,WAAW,CAAC,WAAW;oBAC1D,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,WAAW,CAAC,WAAW;oBAChD,OAAO,EAAE,MAAA,IAAI,CAAC,OAAO,mCAAI,WAAW,CAAC,WAAW;iBACnD,CAAC;gBAEI,YAAY,GAAG,IAAI,eAAM,CAC3B,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,OAAO,EACrB,aAAa,CAAC,WAAW,EACzB,aAAa,CAAC,YAAY,CAC7B,CAAC;gBAEI,OAAO,GAAG,IAAI,iBAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;gBAEpD,sBAAsB,GAAG,MAAA,IAAI,CAAC,sBAAsB,mCAAI,KAAK,CAAC;gBAE9D,YAAY,GAAwB;oBACtC,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;oBACpC,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,YAAY,EAAE,sBAAsB;oBACpC,UAAU,EAAE,sBAAsB;iBACrC,CAAC;gBAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,4CAAqC,YAAY,CAAC,KAAK,cACnD,YAAY,CAAC,MAAM,0BACP,CAAC,YAAY,CAAC,IAAI,cAAI,CAAC,YAAY,CAAC,GAAG,CAAE,CAC5D,CAAC;gBAEI,cAAc,GAAG,IAAI,gCAAc,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;gBACpE,aAAa,GAAG,cAAc,CAAC,sBAAsB,CAAC;gBAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,sBAAO,OAAO,CAAC,MAAM,CAAC,yCAAyC,CAAC,EAAC;gBACrE,CAAC;gBAEiB,qBAAM,cAAc,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,EAAA;;gBAAtE,SAAS,GAAG,SAA0D;gBAEtE,KACF,IAAA,2BAAa,EAAC,aAAa,CAAC,IAAI,IAAA,2BAAa,EAAC,aAAa,CAAC;oBACxD,CAAC,CAAC,IAAA,0BAAiB,EAAC,aAAa,CAAC,aAAa,CAAC;oBAChD,CAAC,CAAC,IAAA,oBAAW,EAAC,OAAO,EAAE,aAAa,CAAC,EAHrC,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,GAAG,SAAA,CAGc;gBAExC,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAErF,aAAa,GAAyB;oBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,eAAe,iBAAA;oBACf,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,mCAAI,WAAW,CAAC,gBAAgB,mCAAI,CAAC;oBACtD,CAAC,EAAE,CAAC,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,IAAI;oBACvB,CAAC,EAAE,CAAC,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC,CAAC,GAAG,GAAG;oBACtB,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBAC3C,CAAC;qBAIE,sBAAsB,EAAtB,wBAAsB;gBACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAClE,QAAQ,GAAG,IAAI,8CAAqB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAC1D,qBAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAA;;gBAA7C,MAAM,GAAG,SAAoC,CAAC;;;gBAE9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,8CAAuC,IAAI,cAAI,GAAG,wBAAc,KAAK,cAAI,MAAM,8BAA2B,CAC7G,CAAC;gBAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAA,uBAAS,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBAE/C,IAAI,eAAe,KAAK,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBAClD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,cAAM,CAAC,WAAW,CAAC;gBACrD,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,2CAAoC,aAAa,CAAC,CAAC,cAAI,aAAa,CAAC,CAAC,wBAAc,aAAa,CAAC,KAAK,cAAI,aAAa,CAAC,MAAM,CAAE,CACpI,CAAC;gBAEI,QAAQ,GAAG,IAAI,gCAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACnD,qBAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;;gBAApC,MAAM,GAAG,SAA2B,CAAC;;;gBAGzC,IAAI,MAAA,IAAI,CAAC,eAAe,mCAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,gCAAc,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;oBACxF,CAAC;gBACL,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC3C,sBAAO,MAAM,EAAC;;;KACjB,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAAC,OAAgB,EAAE,OAAoB,EAAE,uBAAuC;IACzG,IAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC5C,4DAA4D;IAC5D,IAAM,uBAAuB,GAAG,aAAa,CAAC,eAAe;QACzD,CAAC,CAAC,IAAA,kBAAU,EAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,eAAyB,CAAC;QAChG,CAAC,CAAC,cAAM,CAAC,WAAW,CAAC;IACzB,IAAM,mBAAmB,GAAG,aAAa,CAAC,IAAI;QAC1C,CAAC,CAAC,IAAA,kBAAU,EAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,eAAyB,CAAC;QACrF,CAAC,CAAC,cAAM,CAAC,WAAW,CAAC;IAEzB,IAAM,sBAAsB,GACxB,OAAO,uBAAuB,KAAK,QAAQ;QACvC,CAAC,CAAC,IAAA,kBAAU,EAAC,OAAO,EAAE,uBAAuB,CAAC;QAC9C,CAAC,CAAC,uBAAuB,KAAK,IAAI;YAClC,CAAC,CAAC,cAAM,CAAC,WAAW;YACpB,CAAC,CAAC,UAAU,CAAC;IAErB,OAAO,OAAO,KAAK,aAAa,CAAC,eAAe;QAC5C,CAAC,CAAC,IAAA,+BAAa,EAAC,uBAAuB,CAAC;YACpC,CAAC,CAAC,IAAA,+BAAa,EAAC,mBAAmB,CAAC;gBAChC,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,mBAAmB;YACzB,CAAC,CAAC,uBAAuB;QAC7B,CAAC,CAAC,sBAAsB,CAAC;AACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.invariant = void 0;
4
- var invariant = function (assertion, error) {
4
+ const invariant = (assertion, error) => {
5
5
  if (!assertion) {
6
6
  console.error(error);
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.js","sourceRoot":"","sources":["../../src/invariant.ts"],"names":[],"mappings":";;;AAAO,IAAM,SAAS,GAAG,UAAC,SAAkB,EAAE,KAAa;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
1
+ {"version":3,"file":"invariant.js","sourceRoot":"","sources":["../../src/invariant.ts"],"names":[],"mappings":";;;AAAO,MAAM,SAAS,GAAG,CAAC,SAAkB,EAAE,KAAa,EAAQ,EAAE;IACjE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACL,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.calculateBackgroundRepeatPath = exports.getBackgroundValueForIndex = exports.calculateBackgroundSize = exports.isAuto = exports.calculateBackgroundRendering = exports.calculateBackgroundPaintingArea = exports.calculateBackgroundPositioningArea = void 0;
4
- var background_size_1 = require("../css/property-descriptors/background-size");
5
- var vector_1 = require("./vector");
6
- var length_percentage_1 = require("../css/types/length-percentage");
7
- var parser_1 = require("../css/syntax/parser");
8
- var box_sizing_1 = require("./box-sizing");
9
- var calculateBackgroundPositioningArea = function (backgroundOrigin, element) {
4
+ const background_size_1 = require("../css/property-descriptors/background-size");
5
+ const vector_1 = require("./vector");
6
+ const length_percentage_1 = require("../css/types/length-percentage");
7
+ const parser_1 = require("../css/syntax/parser");
8
+ const box_sizing_1 = require("./box-sizing");
9
+ const calculateBackgroundPositioningArea = (backgroundOrigin, element) => {
10
10
  if (backgroundOrigin === 0 /* BACKGROUND_ORIGIN.BORDER_BOX */) {
11
11
  return element.bounds;
12
12
  }
@@ -16,7 +16,7 @@ var calculateBackgroundPositioningArea = function (backgroundOrigin, element) {
16
16
  return (0, box_sizing_1.paddingBox)(element);
17
17
  };
18
18
  exports.calculateBackgroundPositioningArea = calculateBackgroundPositioningArea;
19
- var calculateBackgroundPaintingArea = function (backgroundClip, element) {
19
+ const calculateBackgroundPaintingArea = (backgroundClip, element) => {
20
20
  if (backgroundClip === 0 /* BACKGROUND_CLIP.BORDER_BOX */) {
21
21
  return element.bounds;
22
22
  }
@@ -26,45 +26,44 @@ var calculateBackgroundPaintingArea = function (backgroundClip, element) {
26
26
  return (0, box_sizing_1.paddingBox)(element);
27
27
  };
28
28
  exports.calculateBackgroundPaintingArea = calculateBackgroundPaintingArea;
29
- var calculateBackgroundRendering = function (container, index, intrinsicSize) {
30
- var backgroundPositioningArea = (0, exports.calculateBackgroundPositioningArea)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundOrigin, index), container);
31
- var backgroundPaintingArea = (0, exports.calculateBackgroundPaintingArea)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundClip, index), container);
32
- var backgroundImageSize = (0, exports.calculateBackgroundSize)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);
33
- var sizeWidth = backgroundImageSize[0], sizeHeight = backgroundImageSize[1];
34
- var position = (0, length_percentage_1.getAbsoluteValueForTuple)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);
35
- var path = (0, exports.calculateBackgroundRepeatPath)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);
36
- var offsetX = Math.round(backgroundPositioningArea.left + position[0]);
37
- var offsetY = Math.round(backgroundPositioningArea.top + position[1]);
29
+ const calculateBackgroundRendering = (container, index, intrinsicSize) => {
30
+ const backgroundPositioningArea = (0, exports.calculateBackgroundPositioningArea)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundOrigin, index), container);
31
+ const backgroundPaintingArea = (0, exports.calculateBackgroundPaintingArea)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundClip, index), container);
32
+ const backgroundImageSize = (0, exports.calculateBackgroundSize)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundSize, index), intrinsicSize, backgroundPositioningArea);
33
+ let [sizeWidth, sizeHeight] = backgroundImageSize;
34
+ const position = (0, length_percentage_1.getAbsoluteValueForTuple)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundPosition, index), backgroundPositioningArea.width - sizeWidth, backgroundPositioningArea.height - sizeHeight);
35
+ const path = (0, exports.calculateBackgroundRepeatPath)((0, exports.getBackgroundValueForIndex)(container.styles.backgroundRepeat, index), position, backgroundImageSize, backgroundPositioningArea, backgroundPaintingArea);
36
+ const offsetX = Math.round(backgroundPositioningArea.left + position[0]);
37
+ const offsetY = Math.round(backgroundPositioningArea.top + position[1]);
38
38
  sizeWidth = Math.max(1, sizeWidth);
39
39
  sizeHeight = Math.max(1, sizeHeight);
40
40
  return [path, offsetX, offsetY, sizeWidth, sizeHeight];
41
41
  };
42
42
  exports.calculateBackgroundRendering = calculateBackgroundRendering;
43
- var isAuto = function (token) { return (0, parser_1.isIdentToken)(token) && token.value === background_size_1.BACKGROUND_SIZE.AUTO; };
43
+ const isAuto = (token) => (0, parser_1.isIdentToken)(token) && token.value === background_size_1.BACKGROUND_SIZE.AUTO;
44
44
  exports.isAuto = isAuto;
45
- var hasIntrinsicValue = function (value) { return typeof value === 'number'; };
46
- var calculateBackgroundSize = function (size, _a, bounds) {
47
- var intrinsicWidth = _a[0], intrinsicHeight = _a[1], intrinsicProportion = _a[2];
48
- var first = size[0], second = size[1];
45
+ const hasIntrinsicValue = (value) => typeof value === 'number';
46
+ const calculateBackgroundSize = (size, [intrinsicWidth, intrinsicHeight, intrinsicProportion], bounds) => {
47
+ const [first, second] = size;
49
48
  if (!first) {
50
49
  return [0, 0];
51
50
  }
52
51
  if ((0, length_percentage_1.isLengthPercentage)(first) && second && (0, length_percentage_1.isLengthPercentage)(second)) {
53
52
  return [(0, length_percentage_1.getAbsoluteValue)(first, bounds.width), (0, length_percentage_1.getAbsoluteValue)(second, bounds.height)];
54
53
  }
55
- var hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);
54
+ const hasIntrinsicProportion = hasIntrinsicValue(intrinsicProportion);
56
55
  if ((0, parser_1.isIdentToken)(first) && (first.value === background_size_1.BACKGROUND_SIZE.CONTAIN || first.value === background_size_1.BACKGROUND_SIZE.COVER)) {
57
56
  if (hasIntrinsicValue(intrinsicProportion)) {
58
- var targetRatio = bounds.width / bounds.height;
57
+ const targetRatio = bounds.width / bounds.height;
59
58
  return targetRatio < intrinsicProportion !== (first.value === background_size_1.BACKGROUND_SIZE.COVER)
60
59
  ? [bounds.width, bounds.width / intrinsicProportion]
61
60
  : [bounds.height * intrinsicProportion, bounds.height];
62
61
  }
63
62
  return [bounds.width, bounds.height];
64
63
  }
65
- var hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);
66
- var hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);
67
- var hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;
64
+ const hasIntrinsicWidth = hasIntrinsicValue(intrinsicWidth);
65
+ const hasIntrinsicHeight = hasIntrinsicValue(intrinsicHeight);
66
+ const hasIntrinsicDimensions = hasIntrinsicWidth || hasIntrinsicHeight;
68
67
  // If the background-size is auto or auto auto:
69
68
  if ((0, exports.isAuto)(first) && (!second || (0, exports.isAuto)(second))) {
70
69
  // If the image has both horizontal and vertical intrinsic dimensions, it's rendered at that size.
@@ -80,45 +79,45 @@ var calculateBackgroundSize = function (size, _a, bounds) {
80
79
  // If the image has only one intrinsic dimension and has intrinsic proportions, it's rendered at the size corresponding to that one dimension.
81
80
  // The other dimension is computed using the specified dimension and the intrinsic proportions.
82
81
  if (hasIntrinsicDimensions && hasIntrinsicProportion) {
83
- var width_1 = hasIntrinsicWidth
82
+ const width = hasIntrinsicWidth
84
83
  ? intrinsicWidth
85
84
  : intrinsicHeight * intrinsicProportion;
86
- var height_1 = hasIntrinsicHeight
85
+ const height = hasIntrinsicHeight
87
86
  ? intrinsicHeight
88
87
  : intrinsicWidth / intrinsicProportion;
89
- return [width_1, height_1];
88
+ return [width, height];
90
89
  }
91
90
  // If the image has only one intrinsic dimension but has no intrinsic proportions,
92
91
  // it's rendered using the specified dimension and the other dimension of the background positioning area.
93
- var width_2 = hasIntrinsicWidth ? intrinsicWidth : bounds.width;
94
- var height_2 = hasIntrinsicHeight ? intrinsicHeight : bounds.height;
95
- return [width_2, height_2];
92
+ const width = hasIntrinsicWidth ? intrinsicWidth : bounds.width;
93
+ const height = hasIntrinsicHeight ? intrinsicHeight : bounds.height;
94
+ return [width, height];
96
95
  }
97
96
  // If the image has intrinsic proportions, it's stretched to the specified dimension.
98
97
  // The unspecified dimension is computed using the specified dimension and the intrinsic proportions.
99
98
  if (hasIntrinsicProportion) {
100
- var width_3 = 0;
101
- var height_3 = 0;
99
+ let width = 0;
100
+ let height = 0;
102
101
  if ((0, length_percentage_1.isLengthPercentage)(first)) {
103
- width_3 = (0, length_percentage_1.getAbsoluteValue)(first, bounds.width);
102
+ width = (0, length_percentage_1.getAbsoluteValue)(first, bounds.width);
104
103
  }
105
104
  else if ((0, length_percentage_1.isLengthPercentage)(second)) {
106
- height_3 = (0, length_percentage_1.getAbsoluteValue)(second, bounds.height);
105
+ height = (0, length_percentage_1.getAbsoluteValue)(second, bounds.height);
107
106
  }
108
107
  if ((0, exports.isAuto)(first)) {
109
- width_3 = height_3 * intrinsicProportion;
108
+ width = height * intrinsicProportion;
110
109
  }
111
110
  else if (!second || (0, exports.isAuto)(second)) {
112
- height_3 = width_3 / intrinsicProportion;
111
+ height = width / intrinsicProportion;
113
112
  }
114
- return [width_3, height_3];
113
+ return [width, height];
115
114
  }
116
115
  // If the image has no intrinsic proportions, it's stretched to the specified dimension.
117
116
  // The unspecified dimension is computed using the image's corresponding intrinsic dimension,
118
117
  // if there is one. If there is no such intrinsic dimension,
119
118
  // it becomes the corresponding dimension of the background positioning area.
120
- var width = null;
121
- var height = null;
119
+ let width = null;
120
+ let height = null;
122
121
  if ((0, length_percentage_1.isLengthPercentage)(first)) {
123
122
  width = (0, length_percentage_1.getAbsoluteValue)(first, bounds.width);
124
123
  }
@@ -140,20 +139,18 @@ var calculateBackgroundSize = function (size, _a, bounds) {
140
139
  if (width !== null && height !== null) {
141
140
  return [width, height];
142
141
  }
143
- throw new Error("Unable to calculate background-size for element");
142
+ throw new Error(`Unable to calculate background-size for element`);
144
143
  };
145
144
  exports.calculateBackgroundSize = calculateBackgroundSize;
146
- var getBackgroundValueForIndex = function (values, index) {
147
- var value = values[index];
145
+ const getBackgroundValueForIndex = (values, index) => {
146
+ const value = values[index];
148
147
  if (typeof value === 'undefined') {
149
148
  return values[0];
150
149
  }
151
150
  return value;
152
151
  };
153
152
  exports.getBackgroundValueForIndex = getBackgroundValueForIndex;
154
- var calculateBackgroundRepeatPath = function (repeat, _a, _b, backgroundPositioningArea, backgroundPaintingArea) {
155
- var x = _a[0], y = _a[1];
156
- var width = _b[0], height = _b[1];
153
+ const calculateBackgroundRepeatPath = (repeat, [x, y], [width, height], backgroundPositioningArea, backgroundPaintingArea) => {
157
154
  switch (repeat) {
158
155
  case 2 /* BACKGROUND_REPEAT.REPEAT_X */:
159
156
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/render/background.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"background.js","sourceRoot":"","sources":["../../../src/render/background.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isBezierCurve = exports.BezierCurve = void 0;
4
- var vector_1 = require("./vector");
5
- var lerp = function (a, b, t) {
4
+ const vector_1 = require("./vector");
5
+ const lerp = (a, b, t) => {
6
6
  return new vector_1.Vector(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t);
7
7
  };
8
- var BezierCurve = /** @class */ (function () {
9
- function BezierCurve(start, startControl, endControl, end) {
8
+ class BezierCurve {
9
+ constructor(start, startControl, endControl, end) {
10
10
  this.type = 1 /* PathType.BEZIER_CURVE */;
11
11
  this.start = start;
12
12
  this.startControl = startControl;
13
13
  this.endControl = endControl;
14
14
  this.end = end;
15
15
  }
16
- BezierCurve.prototype.subdivide = function (t, firstHalf) {
17
- var ab = lerp(this.start, this.startControl, t);
18
- var bc = lerp(this.startControl, this.endControl, t);
19
- var cd = lerp(this.endControl, this.end, t);
20
- var abbc = lerp(ab, bc, t);
21
- var bccd = lerp(bc, cd, t);
22
- var dest = lerp(abbc, bccd, t);
16
+ subdivide(t, firstHalf) {
17
+ const ab = lerp(this.start, this.startControl, t);
18
+ const bc = lerp(this.startControl, this.endControl, t);
19
+ const cd = lerp(this.endControl, this.end, t);
20
+ const abbc = lerp(ab, bc, t);
21
+ const bccd = lerp(bc, cd, t);
22
+ const dest = lerp(abbc, bccd, t);
23
23
  return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end);
24
- };
25
- BezierCurve.prototype.add = function (deltaX, deltaY) {
24
+ }
25
+ add(deltaX, deltaY) {
26
26
  return new BezierCurve(this.start.add(deltaX, deltaY), this.startControl.add(deltaX, deltaY), this.endControl.add(deltaX, deltaY), this.end.add(deltaX, deltaY));
27
- };
28
- BezierCurve.prototype.reverse = function () {
27
+ }
28
+ reverse() {
29
29
  return new BezierCurve(this.end, this.endControl, this.startControl, this.start);
30
- };
31
- return BezierCurve;
32
- }());
30
+ }
31
+ }
33
32
  exports.BezierCurve = BezierCurve;
34
- var isBezierCurve = function (path) { return path.type === 1 /* PathType.BEZIER_CURVE */; };
33
+ const isBezierCurve = (path) => path.type === 1 /* PathType.BEZIER_CURVE */;
35
34
  exports.isBezierCurve = isBezierCurve;
36
35
  //# sourceMappingURL=bezier-curve.js.map