html2canvas-pro 1.5.7 → 1.5.9

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 (102) hide show
  1. package/README.md +4 -1
  2. package/dist/html2canvas-pro.esm.js +24 -20
  3. package/dist/html2canvas-pro.esm.js.map +1 -1
  4. package/dist/html2canvas-pro.js +24 -20
  5. package/dist/html2canvas-pro.js.map +1 -1
  6. package/dist/html2canvas-pro.min.js +3 -17
  7. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  8. package/dist/lib/core/cache-storage.js.map +1 -1
  9. package/dist/lib/core/context.js.map +1 -1
  10. package/dist/lib/core/debugger.js.map +1 -1
  11. package/dist/lib/core/features.js.map +1 -1
  12. package/dist/lib/core/logger.js.map +1 -1
  13. package/dist/lib/css/index.js.map +1 -1
  14. package/dist/lib/css/layout/bounds.js.map +1 -1
  15. package/dist/lib/css/layout/text.js.map +1 -1
  16. package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
  17. package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
  18. package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
  19. package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
  20. package/dist/lib/css/property-descriptors/background-size.js +1 -1
  21. package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
  22. package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
  23. package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
  24. package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
  25. package/dist/lib/css/property-descriptors/content.js.map +1 -1
  26. package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
  27. package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
  28. package/dist/lib/css/property-descriptors/direction.js.map +1 -1
  29. package/dist/lib/css/property-descriptors/display.js.map +1 -1
  30. package/dist/lib/css/property-descriptors/float.js.map +1 -1
  31. package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
  32. package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
  33. package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
  34. package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
  35. package/dist/lib/css/property-descriptors/line-break.js +1 -1
  36. package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
  37. package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
  38. package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
  39. package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
  40. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  41. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  43. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  45. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  47. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  49. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  51. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  52. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  53. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  54. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  56. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  57. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  58. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  59. package/dist/lib/css/syntax/parser.js.map +1 -1
  60. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  61. package/dist/lib/css/types/angle.js.map +1 -1
  62. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  63. package/dist/lib/css/types/color-utilities.js.map +1 -1
  64. package/dist/lib/css/types/color.js.map +1 -1
  65. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  66. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  67. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  68. package/dist/lib/css/types/functions/counter.js.map +1 -1
  69. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  70. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  71. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  72. package/dist/lib/css/types/image.js +2 -2
  73. package/dist/lib/css/types/image.js.map +1 -1
  74. package/dist/lib/css/types/length-percentage.js.map +1 -1
  75. package/dist/lib/css/types/time.js.map +1 -1
  76. package/dist/lib/dom/document-cloner.js +2 -2
  77. package/dist/lib/dom/document-cloner.js.map +1 -1
  78. package/dist/lib/dom/element-container.js.map +1 -1
  79. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  80. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  81. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  82. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  83. package/dist/lib/dom/node-parser.js.map +1 -1
  84. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  85. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  86. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  87. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  88. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  89. package/dist/lib/dom/text-container.js.map +1 -1
  90. package/dist/lib/index.js.map +1 -1
  91. package/dist/lib/invariant.js.map +1 -1
  92. package/dist/lib/render/background.js.map +1 -1
  93. package/dist/lib/render/border.js.map +1 -1
  94. package/dist/lib/render/bound-curves.js.map +1 -1
  95. package/dist/lib/render/canvas/canvas-renderer.js +10 -11
  96. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  97. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  98. package/dist/lib/render/font-metrics.js.map +1 -1
  99. package/dist/lib/render/path.js.map +1 -1
  100. package/dist/lib/render/stacking-context.js.map +1 -1
  101. package/dist/types/dom/document-cloner.d.ts +1 -1
  102. package/package.json +16 -26
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * undefined 1.5.7 <https://yorickshan.github.io/html2canvas-pro/>
3
- * Copyright (c) 2024 yorickshan <https://github.com/yorickshan>
2
+ * html2canvas-pro 1.5.9 <https://yorickshan.github.io/html2canvas-pro/>
3
+ * Copyright (c) 2024-present yorickshan and html2canvas-pro contributors
4
4
  * Released under MIT License
5
5
  */
6
6
  (function (global, factory) {
@@ -9,7 +9,7 @@
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());
10
10
  })(this, (function () { 'use strict';
11
11
 
12
- /*! *****************************************************************************
12
+ /******************************************************************************
13
13
  Copyright (c) Microsoft Corporation.
14
14
 
15
15
  Permission to use, copy, modify, and/or distribute this software for any
@@ -23,7 +23,7 @@
23
23
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
24
24
  PERFORMANCE OF THIS SOFTWARE.
25
25
  ***************************************************************************** */
26
- /* global Reflect, Promise */
26
+ /* global Reflect, Promise, SuppressedError, Symbol */
27
27
 
28
28
  var extendStatics = function(d, b) {
29
29
  extendStatics = Object.setPrototypeOf ||
@@ -67,7 +67,7 @@
67
67
  function verb(n) { return function (v) { return step([n, v]); }; }
68
68
  function step(op) {
69
69
  if (f) throw new TypeError("Generator is already executing.");
70
- while (_) try {
70
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
71
71
  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;
72
72
  if (y = 0, t) op = [op[0] & 2, t.value];
73
73
  switch (op[0]) {
@@ -96,8 +96,13 @@
96
96
  ar[i] = from[i];
97
97
  }
98
98
  }
99
- return to.concat(ar || from);
100
- }
99
+ return to.concat(ar || Array.prototype.slice.call(from));
100
+ }
101
+
102
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
103
+ var e = new Error(message);
104
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
105
+ };
101
106
 
102
107
  var Bounds = /** @class */ (function () {
103
108
  function Bounds(left, top, width, height) {
@@ -6469,8 +6474,8 @@
6469
6474
  });
6470
6475
  };
6471
6476
  var ignoredStyleProperties = [
6472
- 'all',
6473
- 'd',
6477
+ 'all', // #2476
6478
+ 'd', // #2483
6474
6479
  'content' // Safari shows pseudoelements if content is set
6475
6480
  ];
6476
6481
  var copyCSSStyles = function (style, target) {
@@ -7600,15 +7605,14 @@
7600
7605
  };
7601
7606
  CanvasRenderer.prototype.renderTextNode = function (text, styles) {
7602
7607
  return __awaiter(this, void 0, void 0, function () {
7603
- var _a, font, fontFamily, fontSize, baseline, paintOrder;
7608
+ var font, paintOrder;
7604
7609
  var _this = this;
7605
- return __generator(this, function (_b) {
7606
- _a = this.createFontStyle(styles), font = _a[0], fontFamily = _a[1], fontSize = _a[2];
7610
+ return __generator(this, function (_a) {
7611
+ font = this.createFontStyle(styles)[0];
7607
7612
  this.ctx.font = font;
7608
7613
  this.ctx.direction = styles.direction === 1 /* DIRECTION.RTL */ ? 'rtl' : 'ltr';
7609
7614
  this.ctx.textAlign = 'left';
7610
7615
  this.ctx.textBaseline = 'alphabetic';
7611
- baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;
7612
7616
  paintOrder = styles.paintOrder;
7613
7617
  text.textBounds.forEach(function (text) {
7614
7618
  paintOrder.forEach(function (paintOrderLayer) {
@@ -7658,7 +7662,7 @@
7658
7662
  _this.ctx.lineWidth = styles.webkitTextStrokeWidth;
7659
7663
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
7660
7664
  _this.ctx.lineJoin = !!window.chrome ? 'miter' : 'round';
7661
- _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + baseline);
7665
+ _this.ctx.strokeText(text.text, text.bounds.left, text.bounds.top + text.bounds.height);
7662
7666
  }
7663
7667
  _this.ctx.strokeStyle = '';
7664
7668
  _this.ctx.lineWidth = 0;
@@ -7760,7 +7764,7 @@
7760
7764
  };
7761
7765
  CanvasRenderer.prototype.renderNodeContent = function (paint) {
7762
7766
  return __awaiter(this, void 0, void 0, function () {
7763
- var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds;
7767
+ var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, font, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, font, bounds;
7764
7768
  return __generator(this, function (_c) {
7765
7769
  switch (_c.label) {
7766
7770
  case 0:
@@ -7860,9 +7864,9 @@
7860
7864
  }
7861
7865
  }
7862
7866
  if (isTextInputElement(container) && container.value.length) {
7863
- _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1];
7867
+ _b = this.createFontStyle(styles), font = _b[0], fontFamily = _b[1], fontSize = _b[2];
7864
7868
  baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;
7865
- this.ctx.font = fontFamily;
7869
+ this.ctx.font = font;
7866
7870
  this.ctx.fillStyle = asString(styles.color);
7867
7871
  this.ctx.textBaseline = 'alphabetic';
7868
7872
  this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);
@@ -7911,8 +7915,8 @@
7911
7915
  case 18: return [3 /*break*/, 20];
7912
7916
  case 19:
7913
7917
  if (paint.listValue && container.styles.listStyleType !== -1 /* LIST_STYLE_TYPE.NONE */) {
7914
- fontFamily = this.createFontStyle(styles)[0];
7915
- this.ctx.font = fontFamily;
7918
+ font = this.createFontStyle(styles)[0];
7919
+ this.ctx.font = font;
7916
7920
  this.ctx.fillStyle = asString(styles.color);
7917
7921
  this.ctx.textBaseline = 'middle';
7918
7922
  this.ctx.textAlign = 'right';
@@ -8142,7 +8146,7 @@
8142
8146
  canvas.height = height;
8143
8147
  ctx = canvas.getContext('2d');
8144
8148
  gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);
8145
- processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {
8149
+ processColorStops(backgroundImage.stops, lineLength || 1).forEach(function (colorStop) {
8146
8150
  return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
8147
8151
  });
8148
8152
  ctx.fillStyle = gradient_1;