html2canvas-pro 1.5.8 → 1.5.10

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 (105) hide show
  1. package/README.md +4 -1
  2. package/dist/html2canvas-pro.esm.js +22 -17
  3. package/dist/html2canvas-pro.esm.js.map +1 -1
  4. package/dist/html2canvas-pro.js +22 -17
  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 +1 -1
  41. package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
  42. package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
  43. package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
  44. package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
  45. package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
  46. package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
  47. package/dist/lib/css/property-descriptors/position.js.map +1 -1
  48. package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
  49. package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
  50. package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
  51. package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
  52. package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
  53. package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
  54. package/dist/lib/css/property-descriptors/transform.js.map +1 -1
  55. package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
  56. package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
  57. package/dist/lib/css/property-descriptors/word-break.js +1 -1
  58. package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
  59. package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
  60. package/dist/lib/css/syntax/parser.js.map +1 -1
  61. package/dist/lib/css/syntax/tokenizer.js.map +1 -1
  62. package/dist/lib/css/types/angle.js.map +1 -1
  63. package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
  64. package/dist/lib/css/types/color-utilities.js.map +1 -1
  65. package/dist/lib/css/types/color.js.map +1 -1
  66. package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
  67. package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
  68. package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
  69. package/dist/lib/css/types/functions/counter.js +1 -1
  70. package/dist/lib/css/types/functions/counter.js.map +1 -1
  71. package/dist/lib/css/types/functions/gradient.js.map +1 -1
  72. package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
  73. package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
  74. package/dist/lib/css/types/image.js +2 -2
  75. package/dist/lib/css/types/image.js.map +1 -1
  76. package/dist/lib/css/types/length-percentage.js.map +1 -1
  77. package/dist/lib/css/types/time.js.map +1 -1
  78. package/dist/lib/dom/document-cloner.js +2 -2
  79. package/dist/lib/dom/document-cloner.js.map +1 -1
  80. package/dist/lib/dom/element-container.js.map +1 -1
  81. package/dist/lib/dom/elements/li-element-container.js.map +1 -1
  82. package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
  83. package/dist/lib/dom/elements/select-element-container.js.map +1 -1
  84. package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
  85. package/dist/lib/dom/node-parser.js.map +1 -1
  86. package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
  87. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  88. package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
  89. package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
  90. package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
  91. package/dist/lib/dom/text-container.js.map +1 -1
  92. package/dist/lib/index.js.map +1 -1
  93. package/dist/lib/invariant.js.map +1 -1
  94. package/dist/lib/render/background.js.map +1 -1
  95. package/dist/lib/render/border.js.map +1 -1
  96. package/dist/lib/render/bound-curves.js.map +1 -1
  97. package/dist/lib/render/canvas/canvas-renderer.js +6 -6
  98. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  99. package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
  100. package/dist/lib/render/font-metrics.js.map +1 -1
  101. package/dist/lib/render/path.js.map +1 -1
  102. package/dist/lib/render/stacking-context.js.map +1 -1
  103. package/dist/types/css/property-descriptors/list-style-type.d.ts +2 -2
  104. package/dist/types/dom/document-cloner.d.ts +1 -1
  105. package/package.json +16 -26
package/README.md CHANGED
@@ -14,7 +14,8 @@ Next generation JavaScript screenshots tool.
14
14
  <a href="https://www.jsdelivr.com/package/npm/html2canvas-pro"><img src="https://data.jsdelivr.com/v1/package/npm/html2canvas-pro/badge" /></a>
15
15
  <p>
16
16
  <p align="center">
17
- <a href="https://yorickshan.github.io/html2canvas-pro/">Documentation</a> | <a href="https://yorickshan.github.io/html2canvas-pro/getting-started.html">Getting Started</a>
17
+ <a href="https://yorickshan.github.io/html2canvas-pro/getting-started.html">Getting Started</a>
18
+ | <a href="https://deepwiki.com/yorickshan/html2canvas-pro">DeepWiki</a>
18
19
  </p>
19
20
  <br>
20
21
 
@@ -56,6 +57,8 @@ html2canvas(document.body).then(function(canvas) {
56
57
 
57
58
  If you want to add some features, feel free to submit PR.
58
59
 
60
+ If you want to become a maintainer on it, please contact me.
61
+
59
62
  ## License
60
63
 
61
64
  [MIT](LICENSE).
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * html2canvas-pro 1.5.8 <https://yorickshan.github.io/html2canvas-pro/>
3
- * Copyright (c) 2024 yorickshan <https://github.com/yorickshan>
2
+ * html2canvas-pro 1.5.10 <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
+ /******************************************************************************
7
7
  Copyright (c) Microsoft Corporation.
8
8
 
9
9
  Permission to use, copy, modify, and/or distribute this software for any
@@ -17,7 +17,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
17
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
18
  PERFORMANCE OF THIS SOFTWARE.
19
19
  ***************************************************************************** */
20
- /* global Reflect, Promise */
20
+ /* global Reflect, Promise, SuppressedError, Symbol */
21
21
 
22
22
  var extendStatics = function(d, b) {
23
23
  extendStatics = Object.setPrototypeOf ||
@@ -61,7 +61,7 @@ function __generator(thisArg, body) {
61
61
  function verb(n) { return function (v) { return step([n, v]); }; }
62
62
  function step(op) {
63
63
  if (f) throw new TypeError("Generator is already executing.");
64
- while (_) try {
64
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
65
65
  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;
66
66
  if (y = 0, t) op = [op[0] & 2, t.value];
67
67
  switch (op[0]) {
@@ -90,8 +90,13 @@ function __spreadArray(to, from, pack) {
90
90
  ar[i] = from[i];
91
91
  }
92
92
  }
93
- return to.concat(ar || from);
94
- }
93
+ return to.concat(ar || Array.prototype.slice.call(from));
94
+ }
95
+
96
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
97
+ var e = new Error(message);
98
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
99
+ };
95
100
 
96
101
  var Bounds = /** @class */ (function () {
97
102
  function Bounds(left, top, width, height) {
@@ -3726,7 +3731,7 @@ var listStyleType = {
3726
3731
  case 'gurmukhi':
3727
3732
  return 22 /* LIST_STYLE_TYPE.GURMUKHI */;
3728
3733
  case 'hebrew':
3729
- return 22 /* LIST_STYLE_TYPE.HEBREW */;
3734
+ return 52 /* LIST_STYLE_TYPE.HEBREW */;
3730
3735
  case 'hiragana':
3731
3736
  return 23 /* LIST_STYLE_TYPE.HIRAGANA */;
3732
3737
  case 'hiragana-iroha':
@@ -6004,7 +6009,7 @@ var createCounterText = function (value, type, appendSuffix) {
6004
6009
  return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);
6005
6010
  case 22 /* LIST_STYLE_TYPE.GURMUKHI */:
6006
6011
  return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);
6007
- case 22 /* LIST_STYLE_TYPE.HEBREW */:
6012
+ case 52 /* LIST_STYLE_TYPE.HEBREW */:
6008
6013
  return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* LIST_STYLE_TYPE.DECIMAL */, defaultSuffix);
6009
6014
  case 23 /* LIST_STYLE_TYPE.HIRAGANA */:
6010
6015
  return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');
@@ -6463,8 +6468,8 @@ var iframeLoader = function (iframe) {
6463
6468
  });
6464
6469
  };
6465
6470
  var ignoredStyleProperties = [
6466
- 'all',
6467
- 'd',
6471
+ 'all', // #2476
6472
+ 'd', // #2483
6468
6473
  'content' // Safari shows pseudoelements if content is set
6469
6474
  ];
6470
6475
  var copyCSSStyles = function (style, target) {
@@ -7753,7 +7758,7 @@ var CanvasRenderer = /** @class */ (function (_super) {
7753
7758
  };
7754
7759
  CanvasRenderer.prototype.renderNodeContent = function (paint) {
7755
7760
  return __awaiter(this, void 0, void 0, function () {
7756
- var container, curves, styles, _i, _a, child, image, image, iframeRenderer, canvas, size, _b, fontFamily, fontSize, baseline, bounds, x, textBounds, img, image, url, fontFamily, bounds;
7761
+ 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;
7757
7762
  return __generator(this, function (_c) {
7758
7763
  switch (_c.label) {
7759
7764
  case 0:
@@ -7853,9 +7858,9 @@ var CanvasRenderer = /** @class */ (function (_super) {
7853
7858
  }
7854
7859
  }
7855
7860
  if (isTextInputElement(container) && container.value.length) {
7856
- _b = this.createFontStyle(styles), fontFamily = _b[0], fontSize = _b[1];
7861
+ _b = this.createFontStyle(styles), font = _b[0], fontFamily = _b[1], fontSize = _b[2];
7857
7862
  baseline = this.fontMetrics.getMetrics(fontFamily, fontSize).baseline;
7858
- this.ctx.font = fontFamily;
7863
+ this.ctx.font = font;
7859
7864
  this.ctx.fillStyle = asString(styles.color);
7860
7865
  this.ctx.textBaseline = 'alphabetic';
7861
7866
  this.ctx.textAlign = canvasTextAlign(container.styles.textAlign);
@@ -7904,8 +7909,8 @@ var CanvasRenderer = /** @class */ (function (_super) {
7904
7909
  case 18: return [3 /*break*/, 20];
7905
7910
  case 19:
7906
7911
  if (paint.listValue && container.styles.listStyleType !== -1 /* LIST_STYLE_TYPE.NONE */) {
7907
- fontFamily = this.createFontStyle(styles)[0];
7908
- this.ctx.font = fontFamily;
7912
+ font = this.createFontStyle(styles)[0];
7913
+ this.ctx.font = font;
7909
7914
  this.ctx.fillStyle = asString(styles.color);
7910
7915
  this.ctx.textBaseline = 'middle';
7911
7916
  this.ctx.textAlign = 'right';
@@ -8135,7 +8140,7 @@ var CanvasRenderer = /** @class */ (function (_super) {
8135
8140
  canvas.height = height;
8136
8141
  ctx = canvas.getContext('2d');
8137
8142
  gradient_1 = ctx.createLinearGradient(x0, y0, x1, y1);
8138
- processColorStops(backgroundImage.stops, lineLength).forEach(function (colorStop) {
8143
+ processColorStops(backgroundImage.stops, lineLength || 1).forEach(function (colorStop) {
8139
8144
  return gradient_1.addColorStop(colorStop.stop, asString(colorStop.color));
8140
8145
  });
8141
8146
  ctx.fillStyle = gradient_1;