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.
- package/dist/html2canvas-pro.esm.js +2509 -3036
- package/dist/html2canvas-pro.esm.js.map +1 -1
- package/dist/html2canvas-pro.js +2517 -3040
- package/dist/html2canvas-pro.js.map +1 -1
- package/dist/html2canvas-pro.min.js +6 -2
- package/dist/lib/__tests__/index.js +57 -122
- package/dist/lib/__tests__/index.js.map +1 -1
- package/dist/lib/core/__mocks__/cache-storage.js +2 -5
- package/dist/lib/core/__mocks__/cache-storage.js.map +1 -1
- package/dist/lib/core/__mocks__/context.js +7 -10
- package/dist/lib/core/__mocks__/context.js.map +1 -1
- package/dist/lib/core/__mocks__/logger.js +9 -17
- package/dist/lib/core/__mocks__/logger.js.map +1 -1
- package/dist/lib/core/__tests__/cache-storage.js +153 -351
- package/dist/lib/core/__tests__/cache-storage.js.map +1 -1
- package/dist/lib/core/__tests__/logger.js +12 -13
- package/dist/lib/core/__tests__/logger.js.map +1 -1
- package/dist/lib/core/bitwise.js +1 -1
- package/dist/lib/core/bitwise.js.map +1 -1
- package/dist/lib/core/cache-storage.js +92 -155
- package/dist/lib/core/cache-storage.js.map +1 -1
- package/dist/lib/core/context.js +8 -10
- package/dist/lib/core/context.js.map +1 -1
- package/dist/lib/core/debugger.js +5 -5
- package/dist/lib/core/debugger.js.map +1 -1
- package/dist/lib/core/features.js +65 -68
- package/dist/lib/core/features.js.map +1 -1
- package/dist/lib/core/logger.js +21 -56
- package/dist/lib/core/logger.js.map +1 -1
- package/dist/lib/css/index.js +98 -103
- package/dist/lib/css/index.js.map +1 -1
- package/dist/lib/css/layout/__mocks__/bounds.js +1 -1
- package/dist/lib/css/layout/__mocks__/bounds.js.map +1 -1
- package/dist/lib/css/layout/bounds.js +20 -21
- package/dist/lib/css/layout/bounds.js.map +1 -1
- package/dist/lib/css/layout/text.js +50 -58
- package/dist/lib/css/layout/text.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js +24 -29
- package/dist/lib/css/property-descriptors/__tests__/background-tests.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/font-family.js +14 -20
- package/dist/lib/css/property-descriptors/__tests__/font-family.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/paint-order.js +61 -83
- package/dist/lib/css/property-descriptors/__tests__/paint-order.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/text-shadow.js +75 -87
- package/dist/lib/css/property-descriptors/__tests__/text-shadow.js.map +1 -1
- package/dist/lib/css/property-descriptors/__tests__/transform-tests.js +9 -13
- package/dist/lib/css/property-descriptors/__tests__/transform-tests.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-clip.js +3 -3
- package/dist/lib/css/property-descriptors/background-clip.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-color.js +1 -1
- package/dist/lib/css/property-descriptors/background-image.js +6 -6
- package/dist/lib/css/property-descriptors/background-image.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-origin.js +3 -3
- package/dist/lib/css/property-descriptors/background-origin.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-position.js +6 -6
- package/dist/lib/css/property-descriptors/background-position.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-repeat.js +7 -9
- package/dist/lib/css/property-descriptors/background-repeat.js.map +1 -1
- package/dist/lib/css/property-descriptors/background-size.js +5 -7
- package/dist/lib/css/property-descriptors/background-size.js.map +1 -1
- package/dist/lib/css/property-descriptors/border-color.js +3 -3
- package/dist/lib/css/property-descriptors/border-color.js.map +1 -1
- package/dist/lib/css/property-descriptors/border-radius.js +5 -7
- package/dist/lib/css/property-descriptors/border-radius.js.map +1 -1
- package/dist/lib/css/property-descriptors/border-style.js +4 -4
- package/dist/lib/css/property-descriptors/border-style.js.map +1 -1
- package/dist/lib/css/property-descriptors/border-width.js +5 -5
- package/dist/lib/css/property-descriptors/border-width.js.map +1 -1
- package/dist/lib/css/property-descriptors/box-shadow.js +10 -10
- package/dist/lib/css/property-descriptors/box-shadow.js.map +1 -1
- package/dist/lib/css/property-descriptors/color.js +1 -1
- package/dist/lib/css/property-descriptors/content.js +2 -2
- package/dist/lib/css/property-descriptors/content.js.map +1 -1
- package/dist/lib/css/property-descriptors/counter-increment.js +10 -10
- package/dist/lib/css/property-descriptors/counter-increment.js.map +1 -1
- package/dist/lib/css/property-descriptors/counter-reset.js +9 -9
- package/dist/lib/css/property-descriptors/counter-reset.js.map +1 -1
- package/dist/lib/css/property-descriptors/direction.js +1 -1
- package/dist/lib/css/property-descriptors/direction.js.map +1 -1
- package/dist/lib/css/property-descriptors/display.js +4 -4
- package/dist/lib/css/property-descriptors/display.js.map +1 -1
- package/dist/lib/css/property-descriptors/duration.js +4 -4
- package/dist/lib/css/property-descriptors/duration.js.map +1 -1
- package/dist/lib/css/property-descriptors/float.js +1 -1
- package/dist/lib/css/property-descriptors/float.js.map +1 -1
- package/dist/lib/css/property-descriptors/font-family.js +6 -6
- package/dist/lib/css/property-descriptors/font-family.js.map +1 -1
- package/dist/lib/css/property-descriptors/font-size.js +1 -1
- package/dist/lib/css/property-descriptors/font-style.js +1 -1
- package/dist/lib/css/property-descriptors/font-style.js.map +1 -1
- package/dist/lib/css/property-descriptors/font-variant.js +3 -3
- package/dist/lib/css/property-descriptors/font-variant.js.map +1 -1
- package/dist/lib/css/property-descriptors/font-weight.js +2 -2
- package/dist/lib/css/property-descriptors/font-weight.js.map +1 -1
- package/dist/lib/css/property-descriptors/letter-spacing.js +1 -1
- package/dist/lib/css/property-descriptors/letter-spacing.js.map +1 -1
- package/dist/lib/css/property-descriptors/line-break.js +1 -1
- package/dist/lib/css/property-descriptors/line-break.js.map +1 -1
- package/dist/lib/css/property-descriptors/line-height.js +3 -3
- package/dist/lib/css/property-descriptors/line-height.js.map +1 -1
- package/dist/lib/css/property-descriptors/list-style-image.js +2 -2
- package/dist/lib/css/property-descriptors/list-style-image.js.map +1 -1
- package/dist/lib/css/property-descriptors/list-style-position.js +1 -1
- package/dist/lib/css/property-descriptors/list-style-position.js.map +1 -1
- package/dist/lib/css/property-descriptors/list-style-type.js +1 -1
- package/dist/lib/css/property-descriptors/list-style-type.js.map +1 -1
- package/dist/lib/css/property-descriptors/margin.js +3 -3
- package/dist/lib/css/property-descriptors/margin.js.map +1 -1
- package/dist/lib/css/property-descriptors/object-fit.js +4 -4
- package/dist/lib/css/property-descriptors/object-fit.js.map +1 -1
- package/dist/lib/css/property-descriptors/opacity.js +2 -2
- package/dist/lib/css/property-descriptors/opacity.js.map +1 -1
- package/dist/lib/css/property-descriptors/overflow-wrap.js +1 -1
- package/dist/lib/css/property-descriptors/overflow-wrap.js.map +1 -1
- package/dist/lib/css/property-descriptors/overflow.js +3 -3
- package/dist/lib/css/property-descriptors/overflow.js.map +1 -1
- package/dist/lib/css/property-descriptors/padding.js +3 -3
- package/dist/lib/css/property-descriptors/padding.js.map +1 -1
- package/dist/lib/css/property-descriptors/paint-order.js +6 -6
- package/dist/lib/css/property-descriptors/paint-order.js.map +1 -1
- package/dist/lib/css/property-descriptors/position.js +1 -1
- package/dist/lib/css/property-descriptors/position.js.map +1 -1
- package/dist/lib/css/property-descriptors/quotes.js +11 -11
- package/dist/lib/css/property-descriptors/quotes.js.map +1 -1
- package/dist/lib/css/property-descriptors/rotate.js +3 -3
- package/dist/lib/css/property-descriptors/rotate.js.map +1 -1
- package/dist/lib/css/property-descriptors/text-align.js +1 -1
- package/dist/lib/css/property-descriptors/text-align.js.map +1 -1
- package/dist/lib/css/property-descriptors/text-decoration-color.js +1 -1
- package/dist/lib/css/property-descriptors/text-decoration-line.js +4 -4
- package/dist/lib/css/property-descriptors/text-decoration-line.js.map +1 -1
- package/dist/lib/css/property-descriptors/text-shadow.js +10 -10
- package/dist/lib/css/property-descriptors/text-shadow.js.map +1 -1
- package/dist/lib/css/property-descriptors/text-transform.js +1 -1
- package/dist/lib/css/property-descriptors/text-transform.js.map +1 -1
- package/dist/lib/css/property-descriptors/transform-origin.js +6 -6
- package/dist/lib/css/property-descriptors/transform-origin.js.map +1 -1
- package/dist/lib/css/property-descriptors/transform.js +15 -15
- package/dist/lib/css/property-descriptors/transform.js.map +1 -1
- package/dist/lib/css/property-descriptors/visibility.js +1 -1
- package/dist/lib/css/property-descriptors/visibility.js.map +1 -1
- package/dist/lib/css/property-descriptors/webkit-text-stroke-color.js +1 -1
- package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js +3 -3
- package/dist/lib/css/property-descriptors/webkit-text-stroke-width.js.map +1 -1
- package/dist/lib/css/property-descriptors/word-break.js +1 -1
- package/dist/lib/css/property-descriptors/word-break.js.map +1 -1
- package/dist/lib/css/property-descriptors/z-index.js +3 -3
- package/dist/lib/css/property-descriptors/z-index.js.map +1 -1
- package/dist/lib/css/syntax/__tests__/tokernizer-tests.js +17 -25
- package/dist/lib/css/syntax/__tests__/tokernizer-tests.js.map +1 -1
- package/dist/lib/css/syntax/parser.js +50 -55
- package/dist/lib/css/syntax/parser.js.map +1 -1
- package/dist/lib/css/syntax/tokenizer.js +205 -214
- package/dist/lib/css/syntax/tokenizer.js.map +1 -1
- package/dist/lib/css/types/__tests__/color-tests.js +103 -167
- package/dist/lib/css/types/__tests__/color-tests.js.map +1 -1
- package/dist/lib/css/types/__tests__/image-tests.js +192 -217
- package/dist/lib/css/types/__tests__/image-tests.js.map +1 -1
- package/dist/lib/css/types/angle.js +13 -13
- package/dist/lib/css/types/angle.js.map +1 -1
- package/dist/lib/css/types/color-spaces/a98.js +18 -22
- package/dist/lib/css/types/color-spaces/a98.js.map +1 -1
- package/dist/lib/css/types/color-spaces/p3.js +17 -22
- package/dist/lib/css/types/color-spaces/p3.js.map +1 -1
- package/dist/lib/css/types/color-spaces/pro-photo.js +17 -21
- package/dist/lib/css/types/color-spaces/pro-photo.js.map +1 -1
- package/dist/lib/css/types/color-spaces/rec2020.js +15 -19
- package/dist/lib/css/types/color-spaces/rec2020.js.map +1 -1
- package/dist/lib/css/types/color-spaces/srgb.js +17 -23
- package/dist/lib/css/types/color-spaces/srgb.js.map +1 -1
- package/dist/lib/css/types/color-utilities.js +80 -103
- package/dist/lib/css/types/color-utilities.js.map +1 -1
- package/dist/lib/css/types/color.js +72 -66
- package/dist/lib/css/types/color.js.map +1 -1
- package/dist/lib/css/types/functions/-prefix-linear-gradient.js +11 -11
- package/dist/lib/css/types/functions/-prefix-linear-gradient.js.map +1 -1
- package/dist/lib/css/types/functions/-prefix-radial-gradient.js +16 -16
- package/dist/lib/css/types/functions/-prefix-radial-gradient.js.map +1 -1
- package/dist/lib/css/types/functions/-webkit-gradient.js +26 -26
- package/dist/lib/css/types/functions/-webkit-gradient.js.map +1 -1
- package/dist/lib/css/types/functions/__tests__/radial-gradient.js +57 -65
- package/dist/lib/css/types/functions/__tests__/radial-gradient.js.map +1 -1
- package/dist/lib/css/types/functions/counter.js +59 -65
- package/dist/lib/css/types/functions/counter.js.map +1 -1
- package/dist/lib/css/types/functions/gradient.js +51 -52
- package/dist/lib/css/types/functions/gradient.js.map +1 -1
- package/dist/lib/css/types/functions/linear-gradient.js +10 -10
- package/dist/lib/css/types/functions/linear-gradient.js.map +1 -1
- package/dist/lib/css/types/functions/radial-gradient.js +17 -17
- package/dist/lib/css/types/functions/radial-gradient.js.map +1 -1
- package/dist/lib/css/types/image.js +14 -14
- package/dist/lib/css/types/image.js.map +1 -1
- package/dist/lib/css/types/length-percentage.js +19 -27
- package/dist/lib/css/types/length-percentage.js.map +1 -1
- package/dist/lib/css/types/length.js +1 -3
- package/dist/lib/css/types/length.js.map +1 -1
- package/dist/lib/css/types/time.js +2 -2
- package/dist/lib/css/types/time.js.map +1 -1
- package/dist/lib/dom/__mocks__/document-cloner.js +7 -8
- package/dist/lib/dom/__mocks__/document-cloner.js.map +1 -1
- package/dist/lib/dom/document-cloner.js +195 -219
- package/dist/lib/dom/document-cloner.js.map +1 -1
- package/dist/lib/dom/element-container.js +8 -9
- package/dist/lib/dom/element-container.js.map +1 -1
- package/dist/lib/dom/elements/li-element-container.js +6 -24
- package/dist/lib/dom/elements/li-element-container.js.map +1 -1
- package/dist/lib/dom/elements/ol-element-container.js +7 -25
- package/dist/lib/dom/elements/ol-element-container.js.map +1 -1
- package/dist/lib/dom/elements/select-element-container.js +7 -25
- package/dist/lib/dom/elements/select-element-container.js.map +1 -1
- package/dist/lib/dom/elements/textarea-element-container.js +6 -24
- package/dist/lib/dom/elements/textarea-element-container.js.map +1 -1
- package/dist/lib/dom/node-parser.js +42 -46
- package/dist/lib/dom/node-parser.js.map +1 -1
- package/dist/lib/dom/replaced-elements/canvas-element-container.js +8 -26
- package/dist/lib/dom/replaced-elements/canvas-element-container.js.map +1 -1
- package/dist/lib/dom/replaced-elements/iframe-element-container.js +17 -35
- package/dist/lib/dom/replaced-elements/iframe-element-container.js.map +1 -1
- package/dist/lib/dom/replaced-elements/image-element-container.js +9 -27
- package/dist/lib/dom/replaced-elements/image-element-container.js.map +1 -1
- package/dist/lib/dom/replaced-elements/input-element-container.js +47 -59
- package/dist/lib/dom/replaced-elements/input-element-container.js.map +1 -1
- package/dist/lib/dom/replaced-elements/svg-element-container.js +14 -32
- package/dist/lib/dom/replaced-elements/svg-element-container.js.map +1 -1
- package/dist/lib/dom/text-container.js +7 -8
- package/dist/lib/dom/text-container.js.map +1 -1
- package/dist/lib/index.js +101 -156
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/invariant.js +1 -1
- package/dist/lib/invariant.js.map +1 -1
- package/dist/lib/render/background.js +44 -47
- package/dist/lib/render/background.js.map +1 -1
- package/dist/lib/render/bezier-curve.js +18 -19
- package/dist/lib/render/bezier-curve.js.map +1 -1
- package/dist/lib/render/border.js +9 -9
- package/dist/lib/render/border.js.map +1 -1
- package/dist/lib/render/bound-curves.js +35 -36
- package/dist/lib/render/bound-curves.js.map +1 -1
- package/dist/lib/render/box-sizing.js +11 -11
- package/dist/lib/render/box-sizing.js.map +1 -1
- package/dist/lib/render/canvas/canvas-renderer.js +639 -918
- package/dist/lib/render/canvas/canvas-renderer.js.map +1 -1
- package/dist/lib/render/canvas/foreignobject-renderer.js +35 -101
- package/dist/lib/render/canvas/foreignobject-renderer.js.map +1 -1
- package/dist/lib/render/effects.js +12 -17
- package/dist/lib/render/effects.js.map +1 -1
- package/dist/lib/render/font-metrics.js +17 -18
- package/dist/lib/render/font-metrics.js.map +1 -1
- package/dist/lib/render/path.js +4 -4
- package/dist/lib/render/path.js.map +1 -1
- package/dist/lib/render/renderer.js +3 -4
- package/dist/lib/render/renderer.js.map +1 -1
- package/dist/lib/render/stacking-context.js +71 -73
- package/dist/lib/render/stacking-context.js.map +1 -1
- package/dist/lib/render/vector.js +6 -7
- package/dist/lib/render/vector.js.map +1 -1
- package/dist/types/dom/replaced-elements/input-element-container.d.ts +2 -0
- package/dist/types/index.d.ts +1 -0
- package/eslint.config.js +35 -0
- package/jest.config.cjs +5 -0
- package/karma.conf.cjs +295 -0
- package/package.json +32 -20
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
describe('logger',
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
infoSpy = jest.spyOn(console, 'info').mockImplementation(function () {
|
|
3
|
+
const logger_1 = require("../logger");
|
|
4
|
+
describe('logger', () => {
|
|
5
|
+
let infoSpy;
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
infoSpy = jest.spyOn(console, 'info').mockImplementation(() => {
|
|
9
8
|
// do nothing
|
|
10
9
|
});
|
|
11
10
|
});
|
|
12
|
-
afterEach(
|
|
11
|
+
afterEach(() => {
|
|
13
12
|
infoSpy.mockRestore();
|
|
14
13
|
});
|
|
15
|
-
it('should call console.info when logger enabled',
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
it('should call console.info when logger enabled', () => {
|
|
15
|
+
const id = Math.random().toString();
|
|
16
|
+
const logger = new logger_1.Logger({ id, enabled: true });
|
|
18
17
|
logger.info('testing');
|
|
19
18
|
expect(infoSpy).toHaveBeenLastCalledWith(id, expect.stringMatching(/\d+ms/), 'testing');
|
|
20
19
|
});
|
|
21
|
-
it("shouldn't call console.info when logger disabled",
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
it("shouldn't call console.info when logger disabled", () => {
|
|
21
|
+
const id = Math.random().toString();
|
|
22
|
+
const logger = new logger_1.Logger({ id, enabled: false });
|
|
24
23
|
logger.info('testing');
|
|
25
24
|
expect(infoSpy).not.toHaveBeenCalled();
|
|
26
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/core/__tests__/logger.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/core/__tests__/logger.ts"],"names":[],"mappings":";;AAAA,sCAAmC;AAEnC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,IAAI,OAAY,CAAC;IAEjB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;YAC1D,aAAa;QACjB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,wBAAwB,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/lib/core/bitwise.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.contains = void 0;
|
|
4
|
-
|
|
4
|
+
const contains = (bit, value) => (bit & value) !== 0;
|
|
5
5
|
exports.contains = contains;
|
|
6
6
|
//# sourceMappingURL=bitwise.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitwise.js","sourceRoot":"","sources":["../../../src/core/bitwise.ts"],"names":[],"mappings":";;;AAAO,
|
|
1
|
+
{"version":3,"file":"bitwise.js","sourceRoot":"","sources":["../../../src/core/bitwise.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,KAAa,EAAW,EAAE,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAAxE,QAAA,QAAQ,YAAgE"}
|
|
@@ -1,207 +1,144 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
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;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.Cache = exports.CacheStorage = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
CacheStorage.getOrigin = function (url) {
|
|
45
|
-
var link = CacheStorage._link;
|
|
4
|
+
const features_1 = require("./features");
|
|
5
|
+
class CacheStorage {
|
|
6
|
+
static getOrigin(url) {
|
|
7
|
+
const link = CacheStorage._link;
|
|
46
8
|
if (!link) {
|
|
47
9
|
return 'about:blank';
|
|
48
10
|
}
|
|
49
11
|
link.href = url;
|
|
50
12
|
link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/
|
|
51
13
|
return link.protocol + link.hostname + link.port;
|
|
52
|
-
}
|
|
53
|
-
|
|
14
|
+
}
|
|
15
|
+
static isSameOrigin(src) {
|
|
54
16
|
return CacheStorage.getOrigin(src) === CacheStorage._origin;
|
|
55
|
-
}
|
|
56
|
-
|
|
17
|
+
}
|
|
18
|
+
static setContext(window) {
|
|
57
19
|
CacheStorage._link = window.document.createElement('a');
|
|
58
20
|
CacheStorage._origin = CacheStorage.getOrigin(window.location.href);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return CacheStorage;
|
|
62
|
-
}());
|
|
21
|
+
}
|
|
22
|
+
}
|
|
63
23
|
exports.CacheStorage = CacheStorage;
|
|
64
|
-
|
|
65
|
-
|
|
24
|
+
CacheStorage._origin = 'about:blank';
|
|
25
|
+
class Cache {
|
|
26
|
+
constructor(context, _options) {
|
|
66
27
|
this.context = context;
|
|
67
28
|
this._options = _options;
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
69
29
|
this._cache = {};
|
|
70
30
|
}
|
|
71
|
-
|
|
72
|
-
|
|
31
|
+
addImage(src) {
|
|
32
|
+
const result = Promise.resolve();
|
|
73
33
|
if (this.has(src)) {
|
|
74
34
|
return result;
|
|
75
35
|
}
|
|
76
36
|
if (isBlobImage(src) || isRenderable(src)) {
|
|
77
|
-
(this._cache[src] = this.loadImage(src)).catch(
|
|
37
|
+
(this._cache[src] = this.loadImage(src)).catch(() => {
|
|
78
38
|
// prevent unhandled rejection
|
|
79
39
|
});
|
|
80
40
|
return result;
|
|
81
41
|
}
|
|
82
42
|
return result;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
Cache.prototype.match = function (src) {
|
|
43
|
+
}
|
|
44
|
+
match(src) {
|
|
86
45
|
return this._cache[src];
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
129
|
-
var img = new Image();
|
|
130
|
-
img.onload = function () { return resolve(img); };
|
|
131
|
-
img.onerror = reject;
|
|
132
|
-
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
|
|
133
|
-
if (isInlineBase64Image(src) || useCORS) {
|
|
134
|
-
img.crossOrigin = 'anonymous';
|
|
135
|
-
}
|
|
136
|
-
img.src = src;
|
|
137
|
-
if (img.complete === true) {
|
|
138
|
-
// Inline XML images may fail to parse, throwing an Error later on
|
|
139
|
-
setTimeout(function () { return resolve(img); }, 500);
|
|
140
|
-
}
|
|
141
|
-
if (_this._options.imageTimeout > 0) {
|
|
142
|
-
setTimeout(function () { return reject("Timed out (".concat(_this._options.imageTimeout, "ms) loading image")); }, _this._options.imageTimeout);
|
|
143
|
-
}
|
|
144
|
-
})];
|
|
145
|
-
case 6: return [2 /*return*/, _b.sent()];
|
|
146
|
-
}
|
|
147
|
-
});
|
|
46
|
+
}
|
|
47
|
+
async loadImage(key) {
|
|
48
|
+
const isSameOrigin = typeof this._options.customIsSameOrigin === 'function'
|
|
49
|
+
? await this._options.customIsSameOrigin(key, CacheStorage.isSameOrigin)
|
|
50
|
+
: CacheStorage.isSameOrigin(key);
|
|
51
|
+
const useCORS = !isInlineImage(key) && this._options.useCORS === true && features_1.FEATURES.SUPPORT_CORS_IMAGES && !isSameOrigin;
|
|
52
|
+
const useProxy = !isInlineImage(key) &&
|
|
53
|
+
!isSameOrigin &&
|
|
54
|
+
!isBlobImage(key) &&
|
|
55
|
+
typeof this._options.proxy === 'string' &&
|
|
56
|
+
features_1.FEATURES.SUPPORT_CORS_XHR &&
|
|
57
|
+
!useCORS;
|
|
58
|
+
if (!isSameOrigin &&
|
|
59
|
+
this._options.allowTaint === false &&
|
|
60
|
+
!isInlineImage(key) &&
|
|
61
|
+
!isBlobImage(key) &&
|
|
62
|
+
!useProxy &&
|
|
63
|
+
!useCORS) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
let src = key;
|
|
67
|
+
if (useProxy) {
|
|
68
|
+
src = await this.proxy(src);
|
|
69
|
+
}
|
|
70
|
+
this.context.logger.debug(`Added image ${key.substring(0, 256)}`);
|
|
71
|
+
return await new Promise((resolve, reject) => {
|
|
72
|
+
const img = new Image();
|
|
73
|
+
img.onload = () => resolve(img);
|
|
74
|
+
img.onerror = reject;
|
|
75
|
+
//ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous
|
|
76
|
+
if (isInlineBase64Image(src) || useCORS) {
|
|
77
|
+
img.crossOrigin = 'anonymous';
|
|
78
|
+
}
|
|
79
|
+
img.src = src;
|
|
80
|
+
if (img.complete === true) {
|
|
81
|
+
// Inline XML images may fail to parse, throwing an Error later on
|
|
82
|
+
setTimeout(() => resolve(img), 500);
|
|
83
|
+
}
|
|
84
|
+
if (this._options.imageTimeout > 0) {
|
|
85
|
+
setTimeout(() => reject(`Timed out (${this._options.imageTimeout}ms) loading image`), this._options.imageTimeout);
|
|
86
|
+
}
|
|
148
87
|
});
|
|
149
|
-
}
|
|
150
|
-
|
|
88
|
+
}
|
|
89
|
+
has(key) {
|
|
151
90
|
return typeof this._cache[key] !== 'undefined';
|
|
152
|
-
}
|
|
153
|
-
|
|
91
|
+
}
|
|
92
|
+
keys() {
|
|
154
93
|
return Promise.resolve(Object.keys(this._cache));
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
var proxy = this._options.proxy;
|
|
94
|
+
}
|
|
95
|
+
proxy(src) {
|
|
96
|
+
const proxy = this._options.proxy;
|
|
159
97
|
if (!proxy) {
|
|
160
98
|
throw new Error('No proxy defined');
|
|
161
99
|
}
|
|
162
|
-
|
|
163
|
-
return new Promise(
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
xhr.onload =
|
|
100
|
+
const key = src.substring(0, 256);
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
const responseType = features_1.FEATURES.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text';
|
|
103
|
+
const xhr = new XMLHttpRequest();
|
|
104
|
+
xhr.onload = () => {
|
|
167
105
|
if (xhr.status === 200) {
|
|
168
106
|
if (responseType === 'text') {
|
|
169
107
|
resolve(xhr.response);
|
|
170
108
|
}
|
|
171
109
|
else {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
110
|
+
const reader = new FileReader();
|
|
111
|
+
reader.addEventListener('load', () => resolve(reader.result), false);
|
|
112
|
+
reader.addEventListener('error', (e) => reject(e), false);
|
|
113
|
+
reader.readAsDataURL(xhr.response);
|
|
176
114
|
}
|
|
177
115
|
}
|
|
178
116
|
else {
|
|
179
|
-
reject(
|
|
117
|
+
reject(`Failed to proxy resource ${key} with status code ${xhr.status}`);
|
|
180
118
|
}
|
|
181
119
|
};
|
|
182
120
|
xhr.onerror = reject;
|
|
183
|
-
|
|
184
|
-
xhr.open('GET',
|
|
121
|
+
const queryString = proxy.indexOf('?') > -1 ? '&' : '?';
|
|
122
|
+
xhr.open('GET', `${proxy}${queryString}url=${encodeURIComponent(src)}&responseType=${responseType}`);
|
|
185
123
|
if (responseType !== 'text' && xhr instanceof XMLHttpRequest) {
|
|
186
124
|
xhr.responseType = responseType;
|
|
187
125
|
}
|
|
188
|
-
if (
|
|
189
|
-
|
|
190
|
-
xhr.timeout =
|
|
191
|
-
xhr.ontimeout =
|
|
126
|
+
if (this._options.imageTimeout) {
|
|
127
|
+
const timeout = this._options.imageTimeout;
|
|
128
|
+
xhr.timeout = timeout;
|
|
129
|
+
xhr.ontimeout = () => reject(`Timed out (${timeout}ms) proxying ${key}`);
|
|
192
130
|
}
|
|
193
131
|
xhr.send();
|
|
194
132
|
});
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
}());
|
|
133
|
+
}
|
|
134
|
+
}
|
|
198
135
|
exports.Cache = Cache;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
136
|
+
const INLINE_SVG = /^data:image\/svg\+xml/i;
|
|
137
|
+
const INLINE_BASE64 = /^data:image\/.*;base64,/i;
|
|
138
|
+
const INLINE_IMG = /^data:image\/.*/i;
|
|
139
|
+
const isRenderable = (src) => features_1.FEATURES.SUPPORT_SVG_DRAWING || !isSVG(src);
|
|
140
|
+
const isInlineImage = (src) => INLINE_IMG.test(src);
|
|
141
|
+
const isInlineBase64Image = (src) => INLINE_BASE64.test(src);
|
|
142
|
+
const isBlobImage = (src) => src.substr(0, 4) === 'blob';
|
|
143
|
+
const isSVG = (src) => src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src);
|
|
207
144
|
//# sourceMappingURL=cache-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-storage.js","sourceRoot":"","sources":["../../../src/core/cache-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache-storage.js","sourceRoot":"","sources":["../../../src/core/cache-storage.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/core/context.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Context = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var _a;
|
|
4
|
+
const logger_1 = require("./logger");
|
|
5
|
+
const cache_storage_1 = require("./cache-storage");
|
|
6
|
+
class Context {
|
|
7
|
+
constructor(options, windowBounds) {
|
|
9
8
|
this.windowBounds = windowBounds;
|
|
10
|
-
this.instanceName =
|
|
9
|
+
this.instanceName = `#${Context.instanceCount++}`;
|
|
11
10
|
this.logger = new logger_1.Logger({ id: this.instanceName, enabled: options.logging });
|
|
12
|
-
this.cache =
|
|
11
|
+
this.cache = options.cache ?? new cache_storage_1.Cache(this, options);
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
return Context;
|
|
16
|
-
}());
|
|
13
|
+
}
|
|
17
14
|
exports.Context = Context;
|
|
15
|
+
Context.instanceCount = 1;
|
|
18
16
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/context.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/core/context.ts"],"names":[],"mappings":";;;AAAA,qCAAkC;AAClC,mDAAyD;AAQzD,MAAa,OAAO;IAOhB,YACI,OAAuB,EAChB,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;QARd,iBAAY,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAU1D,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,qBAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;;AAbL,0BAcC;AATkB,qBAAa,GAAG,CAAC,AAAJ,CAAK"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isDebugging = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const elementDebuggerAttribute = 'data-html2canvas-debug';
|
|
5
|
+
const getElementDebugType = (element) => {
|
|
6
|
+
const attribute = element.getAttribute(elementDebuggerAttribute);
|
|
7
7
|
switch (attribute) {
|
|
8
8
|
case 'all':
|
|
9
9
|
return 1 /* DebuggerType.ALL */;
|
|
@@ -17,8 +17,8 @@ var getElementDebugType = function (element) {
|
|
|
17
17
|
return 0 /* DebuggerType.NONE */;
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const isDebugging = (element, type) => {
|
|
21
|
+
const elementType = getElementDebugType(element);
|
|
22
22
|
return elementType === 1 /* DebuggerType.ALL */ || type === elementType;
|
|
23
23
|
};
|
|
24
24
|
exports.isDebugging = isDebugging;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../../src/core/debugger.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"debugger.js","sourceRoot":"","sources":["../../../src/core/debugger.ts"],"names":[],"mappings":";;;AAAA,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAS1D,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAgB,EAAE;IAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC;IACjE,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,KAAK;YACN,gCAAwB;QAC5B,KAAK,OAAO;YACR,kCAA0B;QAC9B,KAAK,OAAO;YACR,kCAA0B;QAC9B,KAAK,QAAQ;YACT,mCAA2B;QAC/B;YACI,iCAAyB;IACjC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAE,IAA2C,EAAW,EAAE;IAClG,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,WAAW,6BAAqB,IAAI,IAAI,KAAK,WAAW,CAAC;AACpE,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB"}
|