html2canvas-pro 1.6.7 → 2.0.0

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 (122) hide show
  1. package/README.md +1 -0
  2. package/demo/image-smoothing-demo.html +256 -0
  3. package/demo/refactoring-test.html +602 -0
  4. package/dist/html2canvas-pro.esm.js +2788 -1321
  5. package/dist/html2canvas-pro.esm.js.map +1 -1
  6. package/dist/html2canvas-pro.js +2791 -1320
  7. package/dist/html2canvas-pro.js.map +1 -1
  8. package/dist/html2canvas-pro.min.js +5 -4
  9. package/dist/lib/__tests__/index.js +8 -2
  10. package/dist/lib/__tests__/index.js.map +1 -1
  11. package/dist/lib/config.js +72 -0
  12. package/dist/lib/config.js.map +1 -0
  13. package/dist/lib/core/__tests__/cache-storage.js +6 -3
  14. package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
  15. package/dist/lib/core/__tests__/cache-storage.test.js +158 -0
  16. package/dist/lib/core/__tests__/cache-storage.test.js.map +1 -0
  17. package/dist/lib/core/__tests__/validator.js +296 -0
  18. package/dist/lib/core/__tests__/validator.js.map +1 -0
  19. package/dist/lib/core/cache-storage.js +130 -11
  20. package/dist/lib/core/cache-storage.js.map +1 -1
  21. package/dist/lib/core/context.js +5 -2
  22. package/dist/lib/core/context.js.map +1 -1
  23. package/dist/lib/core/debugger.js +3 -0
  24. package/dist/lib/core/debugger.js.map +1 -1
  25. package/dist/lib/core/origin-checker.js +54 -0
  26. package/dist/lib/core/origin-checker.js.map +1 -0
  27. package/dist/lib/core/performance-monitor.js +208 -0
  28. package/dist/lib/core/performance-monitor.js.map +1 -0
  29. package/dist/lib/core/validator.js +501 -0
  30. package/dist/lib/core/validator.js.map +1 -0
  31. package/dist/lib/css/index.js +2 -0
  32. package/dist/lib/css/index.js.map +1 -1
  33. package/dist/lib/css/property-descriptors/__tests__/background-tests.js +7 -1
  34. package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
  35. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js +142 -0
  36. package/dist/lib/css/property-descriptors/__tests__/image-rendering-integration.test.js.map +1 -0
  37. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js +167 -0
  38. package/dist/lib/css/property-descriptors/__tests__/image-rendering-performance.test.js.map +1 -0
  39. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js +61 -0
  40. package/dist/lib/css/property-descriptors/__tests__/image-rendering.test.js.map +1 -0
  41. package/dist/lib/css/property-descriptors/image-rendering.js +34 -0
  42. package/dist/lib/css/property-descriptors/image-rendering.js.map +1 -0
  43. package/dist/lib/css/types/__tests__/image-tests.js +7 -1
  44. package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
  45. package/dist/lib/css/types/color-math.js +26 -0
  46. package/dist/lib/css/types/color-math.js.map +1 -0
  47. package/dist/lib/css/types/color-spaces/srgb.js +6 -6
  48. package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
  49. package/dist/lib/css/types/color-utilities.js +13 -22
  50. package/dist/lib/css/types/color-utilities.js.map +1 -1
  51. package/dist/lib/dom/__tests__/dom-normalizer.test.js +113 -0
  52. package/dist/lib/dom/__tests__/dom-normalizer.test.js.map +1 -0
  53. package/dist/lib/dom/__tests__/element-container.test.js +109 -0
  54. package/dist/lib/dom/__tests__/element-container.test.js.map +1 -0
  55. package/dist/lib/dom/document-cloner.js +3 -3
  56. package/dist/lib/dom/document-cloner.js.map +1 -1
  57. package/dist/lib/dom/dom-normalizer.js +80 -0
  58. package/dist/lib/dom/dom-normalizer.js.map +1 -0
  59. package/dist/lib/dom/element-container.js +32 -15
  60. package/dist/lib/dom/element-container.js.map +1 -1
  61. package/dist/lib/dom/node-parser.js +16 -20
  62. package/dist/lib/dom/node-parser.js.map +1 -1
  63. package/dist/lib/dom/node-type-guards.js +44 -0
  64. package/dist/lib/dom/node-type-guards.js.map +1 -0
  65. package/dist/lib/dom/replaced-elements/iframe-element-container.js +5 -4
  66. package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
  67. package/dist/lib/index.js +148 -41
  68. package/dist/lib/index.js.map +1 -1
  69. package/dist/lib/render/canvas/__tests__/background-renderer.test.js +65 -0
  70. package/dist/lib/render/canvas/__tests__/background-renderer.test.js.map +1 -0
  71. package/dist/lib/render/canvas/__tests__/border-renderer.test.js +23 -0
  72. package/dist/lib/render/canvas/__tests__/border-renderer.test.js.map +1 -0
  73. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js +30 -0
  74. package/dist/lib/render/canvas/__tests__/effects-renderer.test.js.map +1 -0
  75. package/dist/lib/render/canvas/__tests__/text-renderer.test.js +63 -0
  76. package/dist/lib/render/canvas/__tests__/text-renderer.test.js.map +1 -0
  77. package/dist/lib/render/canvas/background-renderer.js +222 -0
  78. package/dist/lib/render/canvas/background-renderer.js.map +1 -0
  79. package/dist/lib/render/canvas/border-renderer.js +185 -0
  80. package/dist/lib/render/canvas/border-renderer.js.map +1 -0
  81. package/dist/lib/render/canvas/canvas-renderer.js +61 -689
  82. package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
  83. package/dist/lib/render/canvas/effects-renderer.js +89 -0
  84. package/dist/lib/render/canvas/effects-renderer.js.map +1 -0
  85. package/dist/lib/render/canvas/text-renderer.js +508 -0
  86. package/dist/lib/render/canvas/text-renderer.js.map +1 -0
  87. package/dist/lib/render/renderer-interface.js +3 -0
  88. package/dist/lib/render/renderer-interface.js.map +1 -0
  89. package/dist/types/config.d.ts +54 -0
  90. package/dist/types/core/__tests__/cache-storage.test.d.ts +1 -0
  91. package/dist/types/core/__tests__/validator.d.ts +1 -0
  92. package/dist/types/core/cache-storage.d.ts +42 -1
  93. package/dist/types/core/context.d.ts +5 -1
  94. package/dist/types/core/origin-checker.d.ts +33 -0
  95. package/dist/types/core/performance-monitor.d.ts +131 -0
  96. package/dist/types/core/validator.d.ts +132 -0
  97. package/dist/types/css/index.d.ts +2 -0
  98. package/dist/types/css/property-descriptors/__tests__/image-rendering-integration.test.d.ts +1 -0
  99. package/dist/types/css/property-descriptors/__tests__/image-rendering-performance.test.d.ts +1 -0
  100. package/dist/types/css/property-descriptors/__tests__/image-rendering.test.d.ts +1 -0
  101. package/dist/types/css/property-descriptors/image-rendering.d.ts +8 -0
  102. package/dist/types/css/types/color-math.d.ts +12 -0
  103. package/dist/types/css/types/color-utilities.d.ts +2 -3
  104. package/dist/types/dom/__tests__/dom-normalizer.test.d.ts +1 -0
  105. package/dist/types/dom/__tests__/element-container.test.d.ts +1 -0
  106. package/dist/types/dom/dom-normalizer.d.ts +43 -0
  107. package/dist/types/dom/element-container.d.ts +20 -1
  108. package/dist/types/dom/node-parser.d.ts +2 -7
  109. package/dist/types/dom/node-type-guards.d.ts +33 -0
  110. package/dist/types/dom/replaced-elements/iframe-element-container.d.ts +4 -1
  111. package/dist/types/index.d.ts +48 -3
  112. package/dist/types/render/canvas/__tests__/background-renderer.test.d.ts +1 -0
  113. package/dist/types/render/canvas/__tests__/border-renderer.test.d.ts +1 -0
  114. package/dist/types/render/canvas/__tests__/effects-renderer.test.d.ts +1 -0
  115. package/dist/types/render/canvas/__tests__/text-renderer.test.d.ts +1 -0
  116. package/dist/types/render/canvas/background-renderer.d.ts +87 -0
  117. package/dist/types/render/canvas/border-renderer.d.ts +67 -0
  118. package/dist/types/render/canvas/canvas-renderer.d.ts +19 -23
  119. package/dist/types/render/canvas/effects-renderer.d.ts +64 -0
  120. package/dist/types/render/canvas/text-renderer.d.ts +57 -0
  121. package/dist/types/render/renderer-interface.d.ts +26 -0
  122. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("assert");
4
+ const background_renderer_1 = require("../background-renderer");
5
+ const context_1 = require("../../../core/context");
6
+ const bounds_1 = require("../../../css/layout/bounds");
7
+ const config_1 = require("../../../config");
8
+ describe('BackgroundRenderer', () => {
9
+ it('should be instantiated', () => {
10
+ const mockWindow = {
11
+ document: {
12
+ createElement: (_name) => {
13
+ let _href = '';
14
+ return {
15
+ set href(value) {
16
+ _href = value;
17
+ },
18
+ get href() {
19
+ return _href;
20
+ },
21
+ get protocol() {
22
+ return 'http:';
23
+ },
24
+ get hostname() {
25
+ return 'localhost';
26
+ },
27
+ get port() {
28
+ return '';
29
+ }
30
+ };
31
+ }
32
+ },
33
+ location: { href: 'http://localhost/' }
34
+ };
35
+ const config = new config_1.Html2CanvasConfig({ window: mockWindow });
36
+ const context = new context_1.Context({
37
+ logging: false,
38
+ imageTimeout: 15000,
39
+ useCORS: false,
40
+ allowTaint: false
41
+ }, new bounds_1.Bounds(0, 0, 800, 600), config);
42
+ const canvas = {
43
+ width: 800,
44
+ height: 600
45
+ };
46
+ const ctx = {
47
+ fillStyle: '',
48
+ save: () => { },
49
+ restore: () => { }
50
+ };
51
+ const deps = {
52
+ ctx,
53
+ context,
54
+ canvas,
55
+ options: {
56
+ width: 800,
57
+ height: 600,
58
+ scale: 1
59
+ }
60
+ };
61
+ const renderer = new background_renderer_1.BackgroundRenderer(deps);
62
+ (0, assert_1.ok)(renderer);
63
+ });
64
+ });
65
+ //# sourceMappingURL=background-renderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-renderer.test.js","sourceRoot":"","sources":["../../../../../src/render/canvas/__tests__/background-renderer.test.ts"],"names":[],"mappings":";;AAAA,mCAA4B;AAC5B,gEAA4F;AAC5F,mDAAgD;AAChD,uDAAoD;AACpD,4CAAoD;AAEpD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG;YACf,QAAQ,EAAE;gBACN,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC7B,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,OAAO;wBACH,IAAI,IAAI,CAAC,KAAa;4BAClB,KAAK,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,IAAI;4BACJ,OAAO,KAAK,CAAC;wBACjB,CAAC;wBACD,IAAI,QAAQ;4BACR,OAAO,OAAO,CAAC;wBACnB,CAAC;wBACD,IAAI,QAAQ;4BACR,OAAO,WAAW,CAAC;wBACvB,CAAC;wBACD,IAAI,IAAI;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;qBACJ,CAAC;gBACN,CAAC;aACJ;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;SACrB,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,0BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,iBAAO,CACvB;YACI,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;SACpB,EACD,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1B,MAAM,CACT,CAAC;QAEF,MAAM,MAAM,GAAG;YACX,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACkB,CAAC;QAElC,MAAM,GAAG,GAAG;YACR,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SACmB,CAAC;QAEzC,MAAM,IAAI,GAAmC;YACzC,GAAG;YACH,OAAO;YACP,MAAM;YACN,OAAO,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,CAAC;aACX;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,wCAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAA,WAAE,EAAC,QAAQ,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("assert");
4
+ const border_renderer_1 = require("../border-renderer");
5
+ describe('BorderRenderer', () => {
6
+ it('should be instantiated', () => {
7
+ const ctx = {
8
+ strokeStyle: '',
9
+ save: () => { },
10
+ restore: () => { }
11
+ };
12
+ const deps = {
13
+ ctx
14
+ };
15
+ const pathCallbacks = {
16
+ path: () => { },
17
+ formatPath: () => { }
18
+ };
19
+ const renderer = new border_renderer_1.BorderRenderer(deps, pathCallbacks);
20
+ (0, assert_1.ok)(renderer);
21
+ });
22
+ });
23
+ //# sourceMappingURL=border-renderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border-renderer.test.js","sourceRoot":"","sources":["../../../../../src/render/canvas/__tests__/border-renderer.test.ts"],"names":[],"mappings":";;AAAA,mCAA4B;AAC5B,wDAA+F;AAE/F,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG;YACR,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SACmB,CAAC;QAEzC,MAAM,IAAI,GAA+B;YACrC,GAAG;SACN,CAAC;QAEF,MAAM,aAAa,GAAkB;YACjC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;SACvB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACzD,IAAA,WAAE,EAAC,QAAQ,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("assert");
4
+ const effects_renderer_1 = require("../effects-renderer");
5
+ describe('EffectsRenderer', () => {
6
+ it('should be instantiated', () => {
7
+ const ctx = {
8
+ shadowOffsetX: 0,
9
+ shadowOffsetY: 0,
10
+ shadowBlur: 0,
11
+ shadowColor: '',
12
+ globalAlpha: 1,
13
+ save: () => { },
14
+ restore: () => { }
15
+ };
16
+ const deps = {
17
+ ctx
18
+ };
19
+ const pathCallback = {
20
+ path: () => { }
21
+ };
22
+ const renderer = new effects_renderer_1.EffectsRenderer(deps, pathCallback);
23
+ (0, assert_1.ok)(renderer);
24
+ // Test public methods exist
25
+ (0, assert_1.strictEqual)(typeof renderer.applyEffects, 'function');
26
+ (0, assert_1.strictEqual)(typeof renderer.applyEffect, 'function');
27
+ (0, assert_1.strictEqual)(typeof renderer.popEffect, 'function');
28
+ });
29
+ });
30
+ //# sourceMappingURL=effects-renderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects-renderer.test.js","sourceRoot":"","sources":["../../../../../src/render/canvas/__tests__/effects-renderer.test.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,0DAAwG;AAExG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GAAG;YACR,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SACmB,CAAC;QAEzC,MAAM,IAAI,GAAgC;YACtC,GAAG;SACN,CAAC;QAEF,MAAM,YAAY,GAAwB;YACtC,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;SACjB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,kCAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzD,IAAA,WAAE,EAAC,QAAQ,CAAC,CAAC;QAEb,4BAA4B;QAC5B,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACtD,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrD,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert_1 = require("assert");
4
+ const text_renderer_1 = require("../text-renderer");
5
+ const context_1 = require("../../../core/context");
6
+ const bounds_1 = require("../../../css/layout/bounds");
7
+ const config_1 = require("../../../config");
8
+ describe('TextRenderer', () => {
9
+ it('should be instantiated', () => {
10
+ const mockWindow = {
11
+ document: {
12
+ createElement: (_name) => {
13
+ let _href = '';
14
+ return {
15
+ set href(value) {
16
+ _href = value;
17
+ },
18
+ get href() {
19
+ return _href;
20
+ },
21
+ get protocol() {
22
+ return 'http:';
23
+ },
24
+ get hostname() {
25
+ return 'localhost';
26
+ },
27
+ get port() {
28
+ return '';
29
+ }
30
+ };
31
+ }
32
+ },
33
+ location: { href: 'http://localhost/' }
34
+ };
35
+ const config = new config_1.Html2CanvasConfig({ window: mockWindow });
36
+ const context = new context_1.Context({
37
+ logging: false,
38
+ imageTimeout: 15000,
39
+ useCORS: false,
40
+ allowTaint: false
41
+ }, new bounds_1.Bounds(0, 0, 800, 600), config);
42
+ const ctx = {
43
+ fillStyle: '',
44
+ font: '',
45
+ save: () => { },
46
+ restore: () => { }
47
+ };
48
+ const deps = {
49
+ ctx,
50
+ context,
51
+ options: {
52
+ scale: 1
53
+ }
54
+ };
55
+ const renderer = new text_renderer_1.TextRenderer(deps);
56
+ (0, assert_1.ok)(renderer);
57
+ // Test public methods exist
58
+ (0, assert_1.strictEqual)(typeof renderer.renderTextNode, 'function');
59
+ (0, assert_1.strictEqual)(typeof renderer.renderTextWithLetterSpacing, 'function');
60
+ (0, assert_1.strictEqual)(typeof renderer.createFontStyle, 'function');
61
+ });
62
+ });
63
+ //# sourceMappingURL=text-renderer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-renderer.test.js","sourceRoot":"","sources":["../../../../../src/render/canvas/__tests__/text-renderer.test.ts"],"names":[],"mappings":";;AAAA,mCAAyC;AACzC,oDAA0E;AAC1E,mDAAgD;AAChD,uDAAoD;AACpD,4CAAoD;AAEpD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAC9B,MAAM,UAAU,GAAG;YACf,QAAQ,EAAE;gBACN,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC7B,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,OAAO;wBACH,IAAI,IAAI,CAAC,KAAa;4BAClB,KAAK,GAAG,KAAK,CAAC;wBAClB,CAAC;wBACD,IAAI,IAAI;4BACJ,OAAO,KAAK,CAAC;wBACjB,CAAC;wBACD,IAAI,QAAQ;4BACR,OAAO,OAAO,CAAC;wBACnB,CAAC;wBACD,IAAI,QAAQ;4BACR,OAAO,WAAW,CAAC;wBACvB,CAAC;wBACD,IAAI,IAAI;4BACJ,OAAO,EAAE,CAAC;wBACd,CAAC;qBACJ,CAAC;gBACN,CAAC;aACJ;YACD,QAAQ,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;SACrB,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,0BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,IAAI,iBAAO,CACvB;YACI,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;SACpB,EACD,IAAI,eAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1B,MAAM,CACT,CAAC;QAEF,MAAM,GAAG,GAAG;YACR,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;SACmB,CAAC;QAEzC,MAAM,IAAI,GAA6B;YACnC,GAAG;YACH,OAAO;YACP,OAAO,EAAE;gBACL,KAAK,EAAE,CAAC;aACX;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,CAAC;QACxC,IAAA,WAAE,EAAC,QAAQ,CAAC,CAAC;QAEb,4BAA4B;QAC5B,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACxD,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;QACrE,IAAA,oBAAW,EAAC,OAAO,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ /**
3
+ * Background Renderer
4
+ *
5
+ * Handles rendering of element backgrounds including:
6
+ * - Background colors
7
+ * - Background images (URL)
8
+ * - Linear gradients
9
+ * - Radial gradients
10
+ * - Background patterns and repeats
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.BackgroundRenderer = void 0;
14
+ const image_1 = require("../../css/types/image");
15
+ const background_1 = require("../background");
16
+ const gradient_1 = require("../../css/types/functions/gradient");
17
+ const length_percentage_1 = require("../../css/types/length-percentage");
18
+ const color_utilities_1 = require("../../css/types/color-utilities");
19
+ const bezier_curve_1 = require("../bezier-curve");
20
+ const image_rendering_1 = require("../../css/property-descriptors/image-rendering");
21
+ /**
22
+ * Background Renderer
23
+ *
24
+ * Specialized renderer for element backgrounds.
25
+ * Extracted from CanvasRenderer to improve code organization and maintainability.
26
+ */
27
+ class BackgroundRenderer {
28
+ constructor(deps) {
29
+ this.ctx = deps.ctx;
30
+ this.context = deps.context;
31
+ this.canvas = deps.canvas;
32
+ // Options stored in deps but not needed as instance property
33
+ }
34
+ /**
35
+ * Render background images for a container
36
+ * Supports URL images, linear gradients, and radial gradients
37
+ *
38
+ * @param container - Element container with background styles
39
+ */
40
+ async renderBackgroundImage(container) {
41
+ let index = container.styles.backgroundImage.length - 1;
42
+ for (const backgroundImage of container.styles.backgroundImage.slice(0).reverse()) {
43
+ if (backgroundImage.type === 0 /* CSSImageType.URL */) {
44
+ await this.renderBackgroundURLImage(container, backgroundImage, index);
45
+ }
46
+ else if ((0, image_1.isLinearGradient)(backgroundImage)) {
47
+ this.renderLinearGradient(container, backgroundImage, index);
48
+ }
49
+ else if ((0, image_1.isRadialGradient)(backgroundImage)) {
50
+ this.renderRadialGradient(container, backgroundImage, index);
51
+ }
52
+ index--;
53
+ }
54
+ }
55
+ /**
56
+ * Render a URL-based background image
57
+ */
58
+ async renderBackgroundURLImage(container, backgroundImage, index) {
59
+ let image;
60
+ const url = backgroundImage.url;
61
+ try {
62
+ image = await this.context.cache.match(url);
63
+ }
64
+ catch (e) {
65
+ this.context.logger.error(`Error loading background-image ${url}`);
66
+ }
67
+ if (image) {
68
+ const imageWidth = isNaN(image.width) || image.width === 0 ? 1 : image.width;
69
+ const imageHeight = isNaN(image.height) || image.height === 0 ? 1 : image.height;
70
+ const [path, x, y, width, height] = (0, background_1.calculateBackgroundRendering)(container, index, [
71
+ imageWidth,
72
+ imageHeight,
73
+ imageWidth / imageHeight
74
+ ]);
75
+ const pattern = this.ctx.createPattern(this.resizeImage(image, width, height, container.styles.imageRendering), 'repeat');
76
+ this.renderRepeat(path, pattern, x, y);
77
+ }
78
+ }
79
+ /**
80
+ * Render a linear gradient background
81
+ */
82
+ renderLinearGradient(container, backgroundImage, index) {
83
+ const [path, x, y, width, height] = (0, background_1.calculateBackgroundRendering)(container, index, [null, null, null]);
84
+ const [lineLength, x0, x1, y0, y1] = (0, gradient_1.calculateGradientDirection)(backgroundImage.angle, width, height);
85
+ const ownerDocument = this.canvas.ownerDocument ?? document;
86
+ const canvas = ownerDocument.createElement('canvas');
87
+ canvas.width = width;
88
+ canvas.height = height;
89
+ const ctx = canvas.getContext('2d');
90
+ const gradient = ctx.createLinearGradient(x0, y0, x1, y1);
91
+ (0, gradient_1.processColorStops)(backgroundImage.stops, lineLength || 1).forEach((colorStop) => gradient.addColorStop(colorStop.stop, (0, color_utilities_1.asString)(colorStop.color)));
92
+ ctx.fillStyle = gradient;
93
+ ctx.fillRect(0, 0, width, height);
94
+ if (width > 0 && height > 0) {
95
+ const pattern = this.ctx.createPattern(canvas, 'repeat');
96
+ this.renderRepeat(path, pattern, x, y);
97
+ }
98
+ }
99
+ /**
100
+ * Render a radial gradient background
101
+ */
102
+ renderRadialGradient(container, backgroundImage, index) {
103
+ const [path, left, top, width, height] = (0, background_1.calculateBackgroundRendering)(container, index, [null, null, null]);
104
+ const position = backgroundImage.position.length === 0 ? [length_percentage_1.FIFTY_PERCENT] : backgroundImage.position;
105
+ const x = (0, length_percentage_1.getAbsoluteValue)(position[0], width);
106
+ const y = (0, length_percentage_1.getAbsoluteValue)(position[position.length - 1], height);
107
+ let [rx, ry] = (0, gradient_1.calculateRadius)(backgroundImage, x, y, width, height);
108
+ // Handle edge case where radial gradient size is 0
109
+ // Use a minimum value of 0.01 to ensure gradient is still rendered
110
+ if (rx === 0 || ry === 0) {
111
+ rx = Math.max(rx, 0.01);
112
+ ry = Math.max(ry, 0.01);
113
+ }
114
+ if (rx > 0 && ry > 0) {
115
+ const radialGradient = this.ctx.createRadialGradient(left + x, top + y, 0, left + x, top + y, rx);
116
+ (0, gradient_1.processColorStops)(backgroundImage.stops, rx * 2).forEach((colorStop) => radialGradient.addColorStop(colorStop.stop, (0, color_utilities_1.asString)(colorStop.color)));
117
+ this.path(path);
118
+ this.ctx.fillStyle = radialGradient;
119
+ if (rx !== ry) {
120
+ // transforms for elliptical radial gradient
121
+ const midX = container.bounds.left + 0.5 * container.bounds.width;
122
+ const midY = container.bounds.top + 0.5 * container.bounds.height;
123
+ const f = ry / rx;
124
+ const invF = 1 / f;
125
+ this.ctx.save();
126
+ this.ctx.translate(midX, midY);
127
+ this.ctx.transform(1, 0, 0, f, 0, 0);
128
+ this.ctx.translate(-midX, -midY);
129
+ this.ctx.fillRect(left, invF * (top - midY) + midY, width, height * invF);
130
+ this.ctx.restore();
131
+ }
132
+ else {
133
+ this.ctx.fill();
134
+ }
135
+ }
136
+ }
137
+ /**
138
+ * Render a repeating pattern with offset
139
+ *
140
+ * @param path - Path to fill
141
+ * @param pattern - Canvas pattern or gradient
142
+ * @param offsetX - X offset for pattern
143
+ * @param offsetY - Y offset for pattern
144
+ */
145
+ renderRepeat(path, pattern, offsetX, offsetY) {
146
+ this.path(path);
147
+ this.ctx.fillStyle = pattern;
148
+ this.ctx.translate(offsetX, offsetY);
149
+ this.ctx.fill();
150
+ this.ctx.translate(-offsetX, -offsetY);
151
+ }
152
+ /**
153
+ * Resize an image to target dimensions
154
+ *
155
+ * @param image - Source image
156
+ * @param width - Target width
157
+ * @param height - Target height
158
+ * @param imageRendering - CSS image-rendering property value
159
+ * @returns Resized canvas or original image
160
+ */
161
+ resizeImage(image, width, height, imageRendering) {
162
+ // https://github.com/niklasvh/html2canvas/pull/2911
163
+ // if (image.width === width && image.height === height) {
164
+ // return image;
165
+ // }
166
+ const ownerDocument = this.canvas.ownerDocument ?? document;
167
+ const canvas = ownerDocument.createElement('canvas');
168
+ canvas.width = Math.max(1, width);
169
+ canvas.height = Math.max(1, height);
170
+ const ctx = canvas.getContext('2d');
171
+ // Apply image smoothing based on CSS image-rendering property
172
+ if (imageRendering === image_rendering_1.IMAGE_RENDERING.PIXELATED || imageRendering === image_rendering_1.IMAGE_RENDERING.CRISP_EDGES) {
173
+ this.context.logger.debug(`Disabling image smoothing for background image due to CSS image-rendering`);
174
+ ctx.imageSmoothingEnabled = false;
175
+ }
176
+ else if (imageRendering === image_rendering_1.IMAGE_RENDERING.SMOOTH) {
177
+ this.context.logger.debug(`Enabling image smoothing for background image due to CSS image-rendering: smooth`);
178
+ ctx.imageSmoothingEnabled = true;
179
+ }
180
+ else {
181
+ // AUTO: inherit from main renderer context
182
+ ctx.imageSmoothingEnabled = this.ctx.imageSmoothingEnabled;
183
+ }
184
+ // Inherit quality setting
185
+ if (this.ctx.imageSmoothingQuality) {
186
+ ctx.imageSmoothingQuality = this.ctx.imageSmoothingQuality;
187
+ }
188
+ ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, width, height);
189
+ return canvas;
190
+ }
191
+ /**
192
+ * Create a canvas path from path array
193
+ *
194
+ * @param paths - Array of path points
195
+ */
196
+ path(paths) {
197
+ this.ctx.beginPath();
198
+ this.formatPath(paths);
199
+ this.ctx.closePath();
200
+ }
201
+ /**
202
+ * Format path points into canvas path
203
+ *
204
+ * @param paths - Array of path points
205
+ */
206
+ formatPath(paths) {
207
+ paths.forEach((point, index) => {
208
+ const start = (0, bezier_curve_1.isBezierCurve)(point) ? point.start : point;
209
+ if (index === 0) {
210
+ this.ctx.moveTo(start.x, start.y);
211
+ }
212
+ else {
213
+ this.ctx.lineTo(start.x, start.y);
214
+ }
215
+ if ((0, bezier_curve_1.isBezierCurve)(point)) {
216
+ this.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y);
217
+ }
218
+ });
219
+ }
220
+ }
221
+ exports.BackgroundRenderer = BackgroundRenderer;
222
+ //# sourceMappingURL=background-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"background-renderer.js","sourceRoot":"","sources":["../../../../src/render/canvas/background-renderer.ts"],"names":[],"mappings":"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"}