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,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FEATURES = exports.loadSerializedSVG = exports.createForeignObjectSVG = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const css_line_break_1 = require("css-line-break");
|
|
5
|
+
const testRangeBounds = (document) => {
|
|
6
|
+
const TEST_HEIGHT = 123;
|
|
7
7
|
if (document.createRange) {
|
|
8
|
-
|
|
8
|
+
const range = document.createRange();
|
|
9
9
|
if (range.getBoundingClientRect) {
|
|
10
|
-
|
|
11
|
-
testElement.style.height =
|
|
10
|
+
const testElement = document.createElement('boundtest');
|
|
11
|
+
testElement.style.height = `${TEST_HEIGHT}px`;
|
|
12
12
|
testElement.style.display = 'block';
|
|
13
13
|
document.body.appendChild(testElement);
|
|
14
14
|
range.selectNode(testElement);
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
const rangeBounds = range.getBoundingClientRect();
|
|
16
|
+
const rangeHeight = Math.round(rangeBounds.height);
|
|
17
17
|
document.body.removeChild(testElement);
|
|
18
18
|
if (rangeHeight === TEST_HEIGHT) {
|
|
19
19
|
return true;
|
|
@@ -22,27 +22,27 @@ var testRangeBounds = function (document) {
|
|
|
22
22
|
}
|
|
23
23
|
return false;
|
|
24
24
|
};
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const testIOSLineBreak = (document) => {
|
|
26
|
+
const testElement = document.createElement('boundtest');
|
|
27
27
|
testElement.style.width = '50px';
|
|
28
28
|
testElement.style.display = 'block';
|
|
29
29
|
testElement.style.fontSize = '12px';
|
|
30
30
|
testElement.style.letterSpacing = '0px';
|
|
31
31
|
testElement.style.wordSpacing = '0px';
|
|
32
32
|
document.body.appendChild(testElement);
|
|
33
|
-
|
|
33
|
+
const range = document.createRange();
|
|
34
34
|
testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const node = testElement.firstChild;
|
|
36
|
+
const textList = (0, css_line_break_1.toCodePoints)(node.data).map((i) => (0, css_line_break_1.fromCodePoint)(i));
|
|
37
|
+
let offset = 0;
|
|
38
|
+
let prev = {};
|
|
39
39
|
// ios 13 does not handle range getBoundingClientRect line changes correctly #2177
|
|
40
|
-
|
|
40
|
+
const supports = textList.every((text, i) => {
|
|
41
41
|
range.setStart(node, offset);
|
|
42
42
|
range.setEnd(node, offset + text.length);
|
|
43
|
-
|
|
43
|
+
const rect = range.getBoundingClientRect();
|
|
44
44
|
offset += text.length;
|
|
45
|
-
|
|
45
|
+
const boundAhead = rect.x > prev.x || rect.y > prev.y;
|
|
46
46
|
prev = rect;
|
|
47
47
|
if (i === 0) {
|
|
48
48
|
return true;
|
|
@@ -52,16 +52,16 @@ var testIOSLineBreak = function (document) {
|
|
|
52
52
|
document.body.removeChild(testElement);
|
|
53
53
|
return supports;
|
|
54
54
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
55
|
+
const testCORS = () => typeof new Image().crossOrigin !== 'undefined';
|
|
56
|
+
const testResponseType = () => typeof new XMLHttpRequest().responseType === 'string';
|
|
57
|
+
const testSVG = (document) => {
|
|
58
|
+
const img = new Image();
|
|
59
|
+
const canvas = document.createElement('canvas');
|
|
60
|
+
const ctx = canvas.getContext('2d');
|
|
61
61
|
if (!ctx) {
|
|
62
62
|
return false;
|
|
63
63
|
}
|
|
64
|
-
img.src =
|
|
64
|
+
img.src = `data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>`;
|
|
65
65
|
try {
|
|
66
66
|
ctx.drawImage(img, 0, 0);
|
|
67
67
|
canvas.toDataURL();
|
|
@@ -71,51 +71,49 @@ var testSVG = function (document) {
|
|
|
71
71
|
}
|
|
72
72
|
return true;
|
|
73
73
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var canvas = document.createElement('canvas');
|
|
79
|
-
var size = 100;
|
|
74
|
+
const isGreenPixel = (data) => data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;
|
|
75
|
+
const testForeignObject = (document) => {
|
|
76
|
+
const canvas = document.createElement('canvas');
|
|
77
|
+
const size = 100;
|
|
80
78
|
canvas.width = size;
|
|
81
79
|
canvas.height = size;
|
|
82
|
-
|
|
80
|
+
const ctx = canvas.getContext('2d');
|
|
83
81
|
if (!ctx) {
|
|
84
82
|
return Promise.reject(false);
|
|
85
83
|
}
|
|
86
84
|
ctx.fillStyle = 'rgb(0, 255, 0)';
|
|
87
85
|
ctx.fillRect(0, 0, size, size);
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
const img = new Image();
|
|
87
|
+
const greenImageSrc = canvas.toDataURL();
|
|
90
88
|
img.src = greenImageSrc;
|
|
91
|
-
|
|
89
|
+
const svg = (0, exports.createForeignObjectSVG)(size, size, 0, 0, img);
|
|
92
90
|
ctx.fillStyle = 'red';
|
|
93
91
|
ctx.fillRect(0, 0, size, size);
|
|
94
92
|
return (0, exports.loadSerializedSVG)(svg)
|
|
95
|
-
.then(
|
|
93
|
+
.then((img) => {
|
|
96
94
|
ctx.drawImage(img, 0, 0);
|
|
97
|
-
|
|
95
|
+
const data = ctx.getImageData(0, 0, size, size).data;
|
|
98
96
|
ctx.fillStyle = 'red';
|
|
99
97
|
ctx.fillRect(0, 0, size, size);
|
|
100
|
-
|
|
101
|
-
node.style.backgroundImage =
|
|
102
|
-
node.style.height =
|
|
98
|
+
const node = document.createElement('div');
|
|
99
|
+
node.style.backgroundImage = `url(${greenImageSrc})`;
|
|
100
|
+
node.style.height = `${size}px`;
|
|
103
101
|
// Firefox 55 does not render inline <img /> tags
|
|
104
102
|
return isGreenPixel(data)
|
|
105
103
|
? (0, exports.loadSerializedSVG)((0, exports.createForeignObjectSVG)(size, size, 0, 0, node))
|
|
106
104
|
: Promise.reject(false);
|
|
107
105
|
})
|
|
108
|
-
.then(
|
|
106
|
+
.then((img) => {
|
|
109
107
|
ctx.drawImage(img, 0, 0);
|
|
110
108
|
// Edge does not render background-images
|
|
111
109
|
return isGreenPixel(ctx.getImageData(0, 0, size, size).data);
|
|
112
110
|
})
|
|
113
|
-
.catch(
|
|
111
|
+
.catch(() => false);
|
|
114
112
|
};
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
const createForeignObjectSVG = (width, height, x, y, node) => {
|
|
114
|
+
const xmlns = 'http://www.w3.org/2000/svg';
|
|
115
|
+
const svg = document.createElementNS(xmlns, 'svg');
|
|
116
|
+
const foreignObject = document.createElementNS(xmlns, 'foreignObject');
|
|
119
117
|
svg.setAttributeNS(null, 'width', width.toString());
|
|
120
118
|
svg.setAttributeNS(null, 'height', height.toString());
|
|
121
119
|
foreignObject.setAttributeNS(null, 'width', '100%');
|
|
@@ -128,65 +126,64 @@ var createForeignObjectSVG = function (width, height, x, y, node) {
|
|
|
128
126
|
return svg;
|
|
129
127
|
};
|
|
130
128
|
exports.createForeignObjectSVG = createForeignObjectSVG;
|
|
131
|
-
|
|
132
|
-
return new Promise(
|
|
133
|
-
|
|
134
|
-
img.onload =
|
|
129
|
+
const loadSerializedSVG = (svg) => {
|
|
130
|
+
return new Promise((resolve, reject) => {
|
|
131
|
+
const img = new Image();
|
|
132
|
+
img.onload = () => resolve(img);
|
|
135
133
|
img.onerror = reject;
|
|
136
|
-
img.src =
|
|
134
|
+
img.src = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(svg))}`;
|
|
137
135
|
});
|
|
138
136
|
};
|
|
139
137
|
exports.loadSerializedSVG = loadSerializedSVG;
|
|
140
138
|
exports.FEATURES = {
|
|
141
139
|
get SUPPORT_RANGE_BOUNDS() {
|
|
142
140
|
'use strict';
|
|
143
|
-
|
|
144
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_RANGE_BOUNDS', { value
|
|
141
|
+
const value = testRangeBounds(document);
|
|
142
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_RANGE_BOUNDS', { value });
|
|
145
143
|
return value;
|
|
146
144
|
},
|
|
147
145
|
get SUPPORT_WORD_BREAKING() {
|
|
148
146
|
'use strict';
|
|
149
|
-
|
|
150
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_WORD_BREAKING', { value
|
|
147
|
+
const value = exports.FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);
|
|
148
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_WORD_BREAKING', { value });
|
|
151
149
|
return value;
|
|
152
150
|
},
|
|
153
151
|
get SUPPORT_SVG_DRAWING() {
|
|
154
152
|
'use strict';
|
|
155
|
-
|
|
156
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_SVG_DRAWING', { value
|
|
153
|
+
const value = testSVG(document);
|
|
154
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_SVG_DRAWING', { value });
|
|
157
155
|
return value;
|
|
158
156
|
},
|
|
159
157
|
get SUPPORT_FOREIGNOBJECT_DRAWING() {
|
|
160
158
|
'use strict';
|
|
161
|
-
|
|
159
|
+
const value = typeof Array.from === 'function' && typeof window.fetch === 'function'
|
|
162
160
|
? testForeignObject(document)
|
|
163
161
|
: Promise.resolve(false);
|
|
164
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value
|
|
162
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value });
|
|
165
163
|
return value;
|
|
166
164
|
},
|
|
167
165
|
get SUPPORT_CORS_IMAGES() {
|
|
168
166
|
'use strict';
|
|
169
|
-
|
|
170
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_CORS_IMAGES', { value
|
|
167
|
+
const value = testCORS();
|
|
168
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_CORS_IMAGES', { value });
|
|
171
169
|
return value;
|
|
172
170
|
},
|
|
173
171
|
get SUPPORT_RESPONSE_TYPE() {
|
|
174
172
|
'use strict';
|
|
175
|
-
|
|
176
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_RESPONSE_TYPE', { value
|
|
173
|
+
const value = testResponseType();
|
|
174
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_RESPONSE_TYPE', { value });
|
|
177
175
|
return value;
|
|
178
176
|
},
|
|
179
177
|
get SUPPORT_CORS_XHR() {
|
|
180
178
|
'use strict';
|
|
181
|
-
|
|
182
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_CORS_XHR', { value
|
|
179
|
+
const value = 'withCredentials' in new XMLHttpRequest();
|
|
180
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_CORS_XHR', { value });
|
|
183
181
|
return value;
|
|
184
182
|
},
|
|
185
183
|
get SUPPORT_NATIVE_TEXT_SEGMENTATION() {
|
|
186
184
|
'use strict';
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Object.defineProperty(exports.FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });
|
|
185
|
+
const value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);
|
|
186
|
+
Object.defineProperty(exports.FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value });
|
|
190
187
|
return value;
|
|
191
188
|
}
|
|
192
189
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/core/features.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/core/logger.js
CHANGED
|
@@ -1,92 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.Logger = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
var id = _a.id, enabled = _a.enabled;
|
|
4
|
+
class Logger {
|
|
5
|
+
constructor({ id, enabled }) {
|
|
16
6
|
this.id = id;
|
|
17
7
|
this.enabled = enabled;
|
|
18
8
|
this.start = Date.now();
|
|
19
9
|
}
|
|
20
|
-
|
|
21
|
-
Logger.prototype.debug = function () {
|
|
22
|
-
var args = [];
|
|
23
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
24
|
-
args[_i] = arguments[_i];
|
|
25
|
-
}
|
|
10
|
+
debug(...args) {
|
|
26
11
|
if (this.enabled) {
|
|
27
12
|
// eslint-disable-next-line no-console
|
|
28
13
|
if (typeof window !== 'undefined' && window.console && typeof console.debug === 'function') {
|
|
29
14
|
// eslint-disable-next-line no-console
|
|
30
|
-
console.debug
|
|
15
|
+
console.debug(this.id, `${this.getTime()}ms`, ...args);
|
|
31
16
|
}
|
|
32
17
|
else {
|
|
33
|
-
this.info
|
|
18
|
+
this.info(...args);
|
|
34
19
|
}
|
|
35
20
|
}
|
|
36
|
-
}
|
|
37
|
-
|
|
21
|
+
}
|
|
22
|
+
getTime() {
|
|
38
23
|
return Date.now() - this.start;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
Logger.prototype.info = function () {
|
|
42
|
-
var args = [];
|
|
43
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
44
|
-
args[_i] = arguments[_i];
|
|
45
|
-
}
|
|
24
|
+
}
|
|
25
|
+
info(...args) {
|
|
46
26
|
if (this.enabled) {
|
|
47
27
|
// eslint-disable-next-line no-console
|
|
48
28
|
if (typeof window !== 'undefined' && window.console && typeof console.info === 'function') {
|
|
49
29
|
// eslint-disable-next-line no-console
|
|
50
|
-
console.info
|
|
30
|
+
console.info(this.id, `${this.getTime()}ms`, ...args);
|
|
51
31
|
}
|
|
52
32
|
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
Logger.prototype.warn = function () {
|
|
56
|
-
var args = [];
|
|
57
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
58
|
-
args[_i] = arguments[_i];
|
|
59
|
-
}
|
|
33
|
+
}
|
|
34
|
+
warn(...args) {
|
|
60
35
|
if (this.enabled) {
|
|
61
|
-
// eslint-disable-next-line no-console
|
|
62
36
|
if (typeof window !== 'undefined' && window.console && typeof console.warn === 'function') {
|
|
63
|
-
|
|
64
|
-
console.warn.apply(console, __spreadArray([this.id, "".concat(this.getTime(), "ms")], args, false));
|
|
37
|
+
console.warn(this.id, `${this.getTime()}ms`, ...args);
|
|
65
38
|
}
|
|
66
39
|
else {
|
|
67
|
-
this.info
|
|
40
|
+
this.info(...args);
|
|
68
41
|
}
|
|
69
42
|
}
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
Logger.prototype.error = function () {
|
|
73
|
-
var args = [];
|
|
74
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
75
|
-
args[_i] = arguments[_i];
|
|
76
|
-
}
|
|
43
|
+
}
|
|
44
|
+
error(...args) {
|
|
77
45
|
if (this.enabled) {
|
|
78
|
-
// eslint-disable-next-line no-console
|
|
79
46
|
if (typeof window !== 'undefined' && window.console && typeof console.error === 'function') {
|
|
80
|
-
|
|
81
|
-
console.error.apply(console, __spreadArray([this.id, "".concat(this.getTime(), "ms")], args, false));
|
|
47
|
+
console.error(this.id, `${this.getTime()}ms`, ...args);
|
|
82
48
|
}
|
|
83
49
|
else {
|
|
84
|
-
this.info
|
|
50
|
+
this.info(...args);
|
|
85
51
|
}
|
|
86
52
|
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
return Logger;
|
|
90
|
-
}());
|
|
53
|
+
}
|
|
54
|
+
}
|
|
91
55
|
exports.Logger = Logger;
|
|
56
|
+
Logger.instances = {};
|
|
92
57
|
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger.ts"],"names":[],"mappings":";;;AAKA,MAAa,MAAM;IAOf,YAAY,EAAE,EAAE,EAAE,OAAO,EAAiB;QACtC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,sCAAsC;YACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzF,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,sCAAsC;YACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxF,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAG,IAAe;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,IAAe;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACzF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;;AAzDL,wBA0DC;AAzDU,gBAAS,GAA8B,EAAE,CAAC"}
|