html2canvas-pro 2.1.1 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +19 -19
  2. package/dist/html2canvas-pro.esm.js +10232 -10540
  3. package/dist/html2canvas-pro.esm.js.map +1 -1
  4. package/dist/html2canvas-pro.js +10875 -11185
  5. package/dist/html2canvas-pro.js.map +1 -1
  6. package/dist/html2canvas-pro.min.js +8 -8
  7. package/dist/lib/config.js +0 -22
  8. package/dist/lib/core/cache-storage.js +1 -38
  9. package/dist/lib/core/constants.js +25 -0
  10. package/dist/lib/core/context.js +1 -0
  11. package/dist/lib/core/features.js +1 -0
  12. package/dist/lib/core/render-element.js +2 -1
  13. package/dist/lib/core/validator.js +3 -3
  14. package/dist/lib/css/grouped/background-styles.js +36 -0
  15. package/dist/lib/css/grouped/border-styles.js +75 -0
  16. package/dist/lib/css/grouped/font-styles.js +93 -0
  17. package/dist/lib/css/grouped/layout-styles.js +127 -0
  18. package/dist/lib/css/index.js +81 -47
  19. package/dist/lib/css/layout/text.js +7 -6
  20. package/dist/lib/css/property-descriptors/background-blend-mode.js +41 -0
  21. package/dist/lib/css/property-descriptors/border-image-repeat.js +42 -0
  22. package/dist/lib/css/property-descriptors/border-image-slice.js +45 -0
  23. package/dist/lib/css/property-descriptors/border-image-source.js +21 -0
  24. package/dist/lib/css/property-descriptors/border-radius.js +1 -1
  25. package/dist/lib/css/property-descriptors/box-decoration-break.js +18 -0
  26. package/dist/lib/css/property-descriptors/counter-increment.js +17 -12
  27. package/dist/lib/css/property-descriptors/counter-reset.js +4 -12
  28. package/dist/lib/css/property-descriptors/filter.js +76 -0
  29. package/dist/lib/css/property-descriptors/font-variant-ligatures.js +34 -0
  30. package/dist/lib/css/property-descriptors/object-fit.js +1 -1
  31. package/dist/lib/css/property-descriptors/object-position.js +42 -0
  32. package/dist/lib/css/property-descriptors/visibility.js +1 -1
  33. package/dist/lib/css/property-descriptors/zoom.js +18 -0
  34. package/dist/lib/css/syntax/parser.js +0 -1
  35. package/dist/lib/css/types/color.js +5 -1
  36. package/dist/lib/css/types/functions/repeating-linear-gradient.js +9 -0
  37. package/dist/lib/css/types/image.js +12 -2
  38. package/dist/lib/css/types/length-percentage.js +6 -2
  39. package/dist/lib/css/types/safe-eval.js +80 -0
  40. package/dist/lib/dom/document-cloner.js +23 -163
  41. package/dist/lib/dom/slot-cloner.js +176 -0
  42. package/dist/lib/index.js +1 -17
  43. package/dist/lib/render/canvas/background-renderer.js +165 -32
  44. package/dist/lib/render/canvas/border-image-renderer.js +153 -0
  45. package/dist/lib/render/canvas/canvas-renderer.js +34 -189
  46. package/dist/lib/render/canvas/content-renderer.js +202 -0
  47. package/dist/lib/render/canvas/effects-renderer.js +10 -0
  48. package/dist/lib/render/canvas/text/text-decoration-renderer.js +99 -0
  49. package/dist/lib/render/canvas/text-renderer.js +100 -224
  50. package/dist/lib/render/effects.js +38 -3
  51. package/dist/lib/render/object-fit.js +19 -15
  52. package/dist/lib/render/stacking-context.js +11 -0
  53. package/dist/types/config.d.ts +0 -10
  54. package/dist/types/core/cache-storage.d.ts +0 -24
  55. package/dist/types/core/constants.d.ts +22 -0
  56. package/dist/types/core/context.d.ts +3 -0
  57. package/dist/types/core/performance-monitor.d.ts +4 -4
  58. package/dist/types/core/validator.d.ts +6 -8
  59. package/dist/types/css/grouped/background-styles.d.ts +16 -0
  60. package/dist/types/css/grouped/border-styles.d.ts +31 -0
  61. package/dist/types/css/grouped/font-styles.d.ts +35 -0
  62. package/dist/types/css/grouped/layout-styles.d.ts +46 -0
  63. package/dist/types/css/index.d.ts +30 -0
  64. package/dist/types/css/property-descriptors/background-blend-mode.d.ts +23 -0
  65. package/dist/types/css/property-descriptors/border-image-repeat.d.ts +12 -0
  66. package/dist/types/css/property-descriptors/border-image-slice.d.ts +10 -0
  67. package/dist/types/css/property-descriptors/border-image-source.d.ts +4 -0
  68. package/dist/types/css/property-descriptors/box-decoration-break.d.ts +6 -0
  69. package/dist/types/css/property-descriptors/counter-increment.d.ts +3 -0
  70. package/dist/types/css/property-descriptors/filter.d.ts +3 -0
  71. package/dist/types/css/property-descriptors/font-variant-ligatures.d.ts +14 -0
  72. package/dist/types/css/property-descriptors/object-position.d.ts +4 -0
  73. package/dist/types/css/property-descriptors/zoom.d.ts +3 -0
  74. package/dist/types/css/types/functions/repeating-linear-gradient.d.ts +4 -0
  75. package/dist/types/css/types/image.d.ts +4 -2
  76. package/dist/types/css/types/safe-eval.d.ts +8 -0
  77. package/dist/types/dom/document-cloner.d.ts +3 -44
  78. package/dist/types/dom/slot-cloner.d.ts +66 -0
  79. package/dist/types/index.d.ts +3 -7
  80. package/dist/types/options.d.ts +11 -0
  81. package/dist/types/render/canvas/background-renderer.d.ts +23 -0
  82. package/dist/types/render/canvas/border-image-renderer.d.ts +18 -0
  83. package/dist/types/render/canvas/canvas-renderer.d.ts +1 -0
  84. package/dist/types/render/canvas/content-renderer.d.ts +44 -0
  85. package/dist/types/render/canvas/text/text-decoration-renderer.d.ts +18 -0
  86. package/dist/types/render/canvas/text-renderer.d.ts +12 -1
  87. package/dist/types/render/effects.d.ts +12 -2
  88. package/dist/types/render/object-fit.d.ts +2 -1
  89. package/dist/types/render/renderer-interface.d.ts +11 -9
  90. package/package.json +5 -10
  91. package/dist/lib/dom/replaced-elements/pseudo-elements.js +0 -0
  92. package/dist/types/dom/replaced-elements/pseudo-elements.d.ts +0 -0
package/README.md CHANGED
@@ -5,32 +5,32 @@
5
5
  html2canvas-pro
6
6
  </h1>
7
7
  <p align="center">
8
- Next generation JavaScript screenshots tool.
9
- <p>
8
+ Next generation JavaScript screenshot tool.
9
+ </p>
10
10
  <p align="center">
11
11
  <a href="https://github.com/yorickshan/html2canvas-pro/actions/workflows/ci.yml"><img src="https://github.com/yorickshan/html2canvas-pro/actions/workflows/ci.yml/badge.svg?branch=main" alt="build status"></a>
12
- <a href=https://npm.im/html2canvas-pro><img src="https://badgen.net/npm/v/html2canvas-pro" alt="npm version"></a>
13
- <a href=http://npm.im/html2canvas-pro><img src="https://badgen.net/npm/dm/html2canvas-pro" alt="npm downloads"></a>
12
+ <a href="https://npm.im/html2canvas-pro"><img src="https://badgen.net/npm/v/html2canvas-pro" alt="npm version"></a>
13
+ <a href="http://npm.im/html2canvas-pro"><img src="https://badgen.net/npm/dm/html2canvas-pro" alt="npm downloads"></a>
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
- <p>
15
+ <a href="https://deepwiki.com/yorickshan/html2canvas-pro"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
16
+ </p>
16
17
  <p align="center">
17
18
  <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>
19
19
  </p>
20
20
  <br>
21
21
 
22
22
  ## Why html2canvas-pro?
23
23
 
24
- html2canvas-pro is a fork of [niklasvh/html2canvas](https://github.com/niklasvh/html2canvas) that includes various fixes and new features. It offers several advantages over the original html2canvas, such as:
25
- - support color function ```color()``` (including relative colors)
26
- - support color function ```lab()``` / ```lch()``` / ```oklab()``` / ```oklch()```
27
- - Support object-fit of ```<img/>```
28
- - Support CSS ```clip-path``` (inset, circle, ellipse, polygon, path)
29
- - Support CSS ```writing-mode``` (horizontal-tb, vertical-rl, vertical-lr)
30
- - **Image smoothing control** - Support CSS `image-rendering` property and `imageSmoothing`/`imageSmoothingQuality` options
31
- - **Security validation** - Built-in input validation (XSS/SSRF protection)
32
- - **Performance monitoring** - Built-in performance measurement API
33
- - Fixed some [issues](./CHANGELOG.md)
24
+ html2canvas-pro is a fork of [niklasvh/html2canvas](https://github.com/niklasvh/html2canvas) that includes various fixes and new features. It offers several advantages over the original html2canvas:
25
+ - Color function `color()` (including relative colors)
26
+ - Color functions `lab()` / `lch()` / `oklab()` / `oklch()`
27
+ - `object-fit` support for `<img/>`
28
+ - CSS `clip-path` support (inset, circle, ellipse, polygon, path)
29
+ - CSS `writing-mode` support (horizontal-tb, vertical-rl, vertical-lr)
30
+ - **Image smoothing control** CSS `image-rendering` property and `imageSmoothing`/`imageSmoothingQuality` options
31
+ - **Security validation** Built-in input validation (XSS/SSRF protection)
32
+ - **Performance monitoring** Built-in performance measurement API
33
+ - Various bug fixes from the [changelog](./CHANGELOG.md)
34
34
 
35
35
  If you found this helpful, don't forget to
36
36
  leave a star 🌟.
@@ -78,10 +78,10 @@ See the [Configuration Guide](/docs/configuration.md#canvas-dimensions) for more
78
78
 
79
79
  ## Contribution
80
80
 
81
- If you want to add some features, feel free to submit PR.
81
+ If you'd like to add a feature, feel free to submit a PR.
82
82
 
83
- If you want to become a maintainer on it, please contact me.
83
+ Interested in becoming a maintainer? Open an [issue](https://github.com/yorickshan/html2canvas-pro/issues) or reach out to [@yorickshan](https://github.com/yorickshan).
84
84
 
85
85
  ## License
86
86
 
87
- [MIT](LICENSE).
87
+ [MIT](LICENSE)