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
package/dist/lib/css/index.js
CHANGED
|
@@ -1,72 +1,71 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CSSParsedCounterDeclaration = exports.CSSParsedPseudoDeclaration = exports.CSSParsedDeclaration = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var _a, _b;
|
|
4
|
+
const background_clip_1 = require("./property-descriptors/background-clip");
|
|
5
|
+
const background_color_1 = require("./property-descriptors/background-color");
|
|
6
|
+
const background_image_1 = require("./property-descriptors/background-image");
|
|
7
|
+
const background_origin_1 = require("./property-descriptors/background-origin");
|
|
8
|
+
const background_position_1 = require("./property-descriptors/background-position");
|
|
9
|
+
const background_repeat_1 = require("./property-descriptors/background-repeat");
|
|
10
|
+
const background_size_1 = require("./property-descriptors/background-size");
|
|
11
|
+
const border_color_1 = require("./property-descriptors/border-color");
|
|
12
|
+
const border_radius_1 = require("./property-descriptors/border-radius");
|
|
13
|
+
const border_style_1 = require("./property-descriptors/border-style");
|
|
14
|
+
const border_width_1 = require("./property-descriptors/border-width");
|
|
15
|
+
const color_1 = require("./property-descriptors/color");
|
|
16
|
+
const direction_1 = require("./property-descriptors/direction");
|
|
17
|
+
const display_1 = require("./property-descriptors/display");
|
|
18
|
+
const float_1 = require("./property-descriptors/float");
|
|
19
|
+
const letter_spacing_1 = require("./property-descriptors/letter-spacing");
|
|
20
|
+
const line_break_1 = require("./property-descriptors/line-break");
|
|
21
|
+
const line_height_1 = require("./property-descriptors/line-height");
|
|
22
|
+
const list_style_image_1 = require("./property-descriptors/list-style-image");
|
|
23
|
+
const list_style_position_1 = require("./property-descriptors/list-style-position");
|
|
24
|
+
const list_style_type_1 = require("./property-descriptors/list-style-type");
|
|
25
|
+
const margin_1 = require("./property-descriptors/margin");
|
|
26
|
+
const overflow_1 = require("./property-descriptors/overflow");
|
|
27
|
+
const overflow_wrap_1 = require("./property-descriptors/overflow-wrap");
|
|
28
|
+
const padding_1 = require("./property-descriptors/padding");
|
|
29
|
+
const text_align_1 = require("./property-descriptors/text-align");
|
|
30
|
+
const position_1 = require("./property-descriptors/position");
|
|
31
|
+
const text_shadow_1 = require("./property-descriptors/text-shadow");
|
|
32
|
+
const text_transform_1 = require("./property-descriptors/text-transform");
|
|
33
|
+
const transform_1 = require("./property-descriptors/transform");
|
|
34
|
+
const transform_origin_1 = require("./property-descriptors/transform-origin");
|
|
35
|
+
const rotate_1 = require("./property-descriptors/rotate");
|
|
36
|
+
const visibility_1 = require("./property-descriptors/visibility");
|
|
37
|
+
const word_break_1 = require("./property-descriptors/word-break");
|
|
38
|
+
const z_index_1 = require("./property-descriptors/z-index");
|
|
39
|
+
const parser_1 = require("./syntax/parser");
|
|
40
|
+
const tokenizer_1 = require("./syntax/tokenizer");
|
|
41
|
+
const color_2 = require("./types/color");
|
|
42
|
+
const color_utilities_1 = require("./types/color-utilities");
|
|
43
|
+
const angle_1 = require("./types/angle");
|
|
44
|
+
const image_1 = require("./types/image");
|
|
45
|
+
const time_1 = require("./types/time");
|
|
46
|
+
const opacity_1 = require("./property-descriptors/opacity");
|
|
47
|
+
const text_decoration_color_1 = require("./property-descriptors/text-decoration-color");
|
|
48
|
+
const text_decoration_line_1 = require("./property-descriptors/text-decoration-line");
|
|
49
|
+
const length_percentage_1 = require("./types/length-percentage");
|
|
50
|
+
const font_family_1 = require("./property-descriptors/font-family");
|
|
51
|
+
const font_size_1 = require("./property-descriptors/font-size");
|
|
52
|
+
const length_1 = require("./types/length");
|
|
53
|
+
const font_weight_1 = require("./property-descriptors/font-weight");
|
|
54
|
+
const font_variant_1 = require("./property-descriptors/font-variant");
|
|
55
|
+
const font_style_1 = require("./property-descriptors/font-style");
|
|
56
|
+
const bitwise_1 = require("../core/bitwise");
|
|
57
|
+
const content_1 = require("./property-descriptors/content");
|
|
58
|
+
const counter_increment_1 = require("./property-descriptors/counter-increment");
|
|
59
|
+
const counter_reset_1 = require("./property-descriptors/counter-reset");
|
|
60
|
+
const duration_1 = require("./property-descriptors/duration");
|
|
61
|
+
const quotes_1 = require("./property-descriptors/quotes");
|
|
62
|
+
const box_shadow_1 = require("./property-descriptors/box-shadow");
|
|
63
|
+
const paint_order_1 = require("./property-descriptors/paint-order");
|
|
64
|
+
const webkit_text_stroke_color_1 = require("./property-descriptors/webkit-text-stroke-color");
|
|
65
|
+
const webkit_text_stroke_width_1 = require("./property-descriptors/webkit-text-stroke-width");
|
|
66
|
+
const object_fit_1 = require("./property-descriptors/object-fit");
|
|
67
|
+
class CSSParsedDeclaration {
|
|
68
|
+
constructor(context, declaration) {
|
|
70
69
|
this.animationDuration = parse(context, duration_1.duration, declaration.animationDuration);
|
|
71
70
|
this.backgroundClip = parse(context, background_clip_1.backgroundClip, declaration.backgroundClip);
|
|
72
71
|
this.backgroundColor = parse(context, background_color_1.backgroundColor, declaration.backgroundColor);
|
|
@@ -112,7 +111,7 @@ var CSSParsedDeclaration = /** @class */ (function () {
|
|
|
112
111
|
this.marginBottom = parse(context, margin_1.marginBottom, declaration.marginBottom);
|
|
113
112
|
this.marginLeft = parse(context, margin_1.marginLeft, declaration.marginLeft);
|
|
114
113
|
this.opacity = parse(context, opacity_1.opacity, declaration.opacity);
|
|
115
|
-
|
|
114
|
+
const overflowTuple = parse(context, overflow_1.overflow, declaration.overflow);
|
|
116
115
|
this.overflowX = overflowTuple[0];
|
|
117
116
|
this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];
|
|
118
117
|
this.overflowWrap = parse(context, overflow_wrap_1.overflowWrap, declaration.overflowWrap);
|
|
@@ -123,8 +122,8 @@ var CSSParsedDeclaration = /** @class */ (function () {
|
|
|
123
122
|
this.paintOrder = parse(context, paint_order_1.paintOrder, declaration.paintOrder);
|
|
124
123
|
this.position = parse(context, position_1.position, declaration.position);
|
|
125
124
|
this.textAlign = parse(context, text_align_1.textAlign, declaration.textAlign);
|
|
126
|
-
this.textDecorationColor = parse(context, text_decoration_color_1.textDecorationColor,
|
|
127
|
-
this.textDecorationLine = parse(context, text_decoration_line_1.textDecorationLine,
|
|
125
|
+
this.textDecorationColor = parse(context, text_decoration_color_1.textDecorationColor, declaration.textDecorationColor ?? declaration.color);
|
|
126
|
+
this.textDecorationLine = parse(context, text_decoration_line_1.textDecorationLine, declaration.textDecorationLine ?? declaration.textDecoration);
|
|
128
127
|
this.textShadow = parse(context, text_shadow_1.textShadow, declaration.textShadow);
|
|
129
128
|
this.textTransform = parse(context, text_transform_1.textTransform, declaration.textTransform);
|
|
130
129
|
this.transform = parse(context, transform_1.transform, declaration.transform);
|
|
@@ -137,60 +136,56 @@ var CSSParsedDeclaration = /** @class */ (function () {
|
|
|
137
136
|
this.zIndex = parse(context, z_index_1.zIndex, declaration.zIndex);
|
|
138
137
|
this.objectFit = parse(context, object_fit_1.objectFit, declaration.objectFit);
|
|
139
138
|
}
|
|
140
|
-
|
|
139
|
+
isVisible() {
|
|
141
140
|
return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBILITY.VISIBLE */;
|
|
142
|
-
}
|
|
143
|
-
|
|
141
|
+
}
|
|
142
|
+
isTransparent() {
|
|
144
143
|
return (0, color_utilities_1.isTransparent)(this.backgroundColor);
|
|
145
|
-
}
|
|
146
|
-
|
|
144
|
+
}
|
|
145
|
+
isTransformed() {
|
|
147
146
|
return this.transform !== null || this.rotate !== null;
|
|
148
|
-
}
|
|
149
|
-
|
|
147
|
+
}
|
|
148
|
+
isPositioned() {
|
|
150
149
|
return this.position !== 0 /* POSITION.STATIC */;
|
|
151
|
-
}
|
|
152
|
-
|
|
150
|
+
}
|
|
151
|
+
isPositionedWithZIndex() {
|
|
153
152
|
return this.isPositioned() && !this.zIndex.auto;
|
|
154
|
-
}
|
|
155
|
-
|
|
153
|
+
}
|
|
154
|
+
isFloating() {
|
|
156
155
|
return this.float !== 0 /* FLOAT.NONE */;
|
|
157
|
-
}
|
|
158
|
-
|
|
156
|
+
}
|
|
157
|
+
isInlineLevel() {
|
|
159
158
|
return ((0, bitwise_1.contains)(this.display, 4 /* DISPLAY.INLINE */) ||
|
|
160
159
|
(0, bitwise_1.contains)(this.display, 33554432 /* DISPLAY.INLINE_BLOCK */) ||
|
|
161
160
|
(0, bitwise_1.contains)(this.display, 268435456 /* DISPLAY.INLINE_FLEX */) ||
|
|
162
161
|
(0, bitwise_1.contains)(this.display, 536870912 /* DISPLAY.INLINE_GRID */) ||
|
|
163
162
|
(0, bitwise_1.contains)(this.display, 67108864 /* DISPLAY.INLINE_LIST_ITEM */) ||
|
|
164
163
|
(0, bitwise_1.contains)(this.display, 134217728 /* DISPLAY.INLINE_TABLE */));
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
}());
|
|
164
|
+
}
|
|
165
|
+
}
|
|
168
166
|
exports.CSSParsedDeclaration = CSSParsedDeclaration;
|
|
169
|
-
|
|
170
|
-
|
|
167
|
+
class CSSParsedPseudoDeclaration {
|
|
168
|
+
constructor(context, declaration) {
|
|
171
169
|
this.content = parse(context, content_1.content, declaration.content);
|
|
172
170
|
this.quotes = parse(context, quotes_1.quotes, declaration.quotes);
|
|
173
171
|
}
|
|
174
|
-
|
|
175
|
-
}());
|
|
172
|
+
}
|
|
176
173
|
exports.CSSParsedPseudoDeclaration = CSSParsedPseudoDeclaration;
|
|
177
|
-
|
|
178
|
-
|
|
174
|
+
class CSSParsedCounterDeclaration {
|
|
175
|
+
constructor(context, declaration) {
|
|
179
176
|
this.counterIncrement = parse(context, counter_increment_1.counterIncrement, declaration.counterIncrement);
|
|
180
177
|
this.counterReset = parse(context, counter_reset_1.counterReset, declaration.counterReset);
|
|
181
178
|
}
|
|
182
|
-
|
|
183
|
-
}());
|
|
179
|
+
}
|
|
184
180
|
exports.CSSParsedCounterDeclaration = CSSParsedCounterDeclaration;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;
|
|
181
|
+
const parse = (context, descriptor, style) => {
|
|
182
|
+
const tokenizer = new tokenizer_1.Tokenizer();
|
|
183
|
+
const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;
|
|
189
184
|
tokenizer.write(value);
|
|
190
|
-
|
|
185
|
+
const parser = new parser_1.Parser(tokenizer.read());
|
|
191
186
|
switch (descriptor.type) {
|
|
192
187
|
case 2 /* PropertyDescriptorParsingType.IDENT_VALUE */:
|
|
193
|
-
|
|
188
|
+
const token = parser.parseComponentValue();
|
|
194
189
|
return descriptor.parse(context, (0, parser_1.isIdentToken)(token) ? token.value : descriptor.initialValue);
|
|
195
190
|
case 0 /* PropertyDescriptorParsingType.VALUE */:
|
|
196
191
|
return descriptor.parse(context, parser.parseComponentValue());
|
|
@@ -207,11 +202,11 @@ var parse = function (context, descriptor, style) {
|
|
|
207
202
|
case 'image':
|
|
208
203
|
return image_1.image.parse(context, parser.parseComponentValue());
|
|
209
204
|
case 'length':
|
|
210
|
-
|
|
211
|
-
return (0, length_1.isLength)(
|
|
205
|
+
const length = parser.parseComponentValue();
|
|
206
|
+
return (0, length_1.isLength)(length) ? length : length_percentage_1.ZERO_LENGTH;
|
|
212
207
|
case 'length-percentage':
|
|
213
|
-
|
|
214
|
-
return (0, length_percentage_1.isLengthPercentage)(
|
|
208
|
+
const value = parser.parseComponentValue();
|
|
209
|
+
return (0, length_percentage_1.isLengthPercentage)(value) ? value : length_percentage_1.ZERO_LENGTH;
|
|
215
210
|
case 'time':
|
|
216
211
|
return time_1.time.parse(context, parser.parseComponentValue());
|
|
217
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/css/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/css/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseBounds = exports.Bounds = void 0;
|
|
4
4
|
exports.Bounds = jest.requireActual('../bounds').Bounds;
|
|
5
|
-
|
|
5
|
+
const parseBounds = () => {
|
|
6
6
|
return new exports.Bounds(0, 0, 200, 50);
|
|
7
7
|
};
|
|
8
8
|
exports.parseBounds = parseBounds;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounds.js","sourceRoot":"","sources":["../../../../../src/css/layout/__mocks__/bounds.ts"],"names":[],"mappings":";;;AAAe,
|
|
1
|
+
{"version":3,"file":"bounds.js","sourceRoot":"","sources":["../../../../../src/css/layout/__mocks__/bounds.ts"],"names":[],"mappings":";;;AAAe,cAAM,GAAK,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAC;AACnD,MAAM,WAAW,GAAG,GAAkB,EAAE;IAC3C,OAAO,IAAI,cAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB"}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseDocumentSize = exports.parseBounds = exports.Bounds = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
class Bounds {
|
|
5
|
+
constructor(left, top, width, height) {
|
|
6
6
|
this.left = left;
|
|
7
7
|
this.top = top;
|
|
8
8
|
this.width = width;
|
|
9
9
|
this.height = height;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
add(x, y, w, h) {
|
|
12
12
|
return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);
|
|
13
|
-
}
|
|
14
|
-
|
|
13
|
+
}
|
|
14
|
+
static fromClientRect(context, clientRect) {
|
|
15
15
|
return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
}
|
|
17
|
+
static fromDOMRectList(context, domRectList) {
|
|
18
|
+
const rects = Array.from(domRectList);
|
|
19
19
|
// First try to find a rect with non-zero width
|
|
20
|
-
|
|
20
|
+
let domRect = rects.find((rect) => rect.width !== 0);
|
|
21
21
|
// If not found, try to find a rect with non-zero height
|
|
22
22
|
// This handles cases like inline-flex with single child where width might be 0
|
|
23
23
|
if (!domRect) {
|
|
24
|
-
domRect = rects.find(
|
|
24
|
+
domRect = rects.find((rect) => rect.height !== 0);
|
|
25
25
|
}
|
|
26
26
|
// If still not found but rects exist, use the first rect
|
|
27
27
|
// Position info (left, top) might still be valid even if dimensions are 0
|
|
@@ -31,23 +31,22 @@ var Bounds = /** @class */ (function () {
|
|
|
31
31
|
return domRect
|
|
32
32
|
? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)
|
|
33
33
|
: Bounds.EMPTY;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return Bounds;
|
|
37
|
-
}());
|
|
34
|
+
}
|
|
35
|
+
}
|
|
38
36
|
exports.Bounds = Bounds;
|
|
39
|
-
|
|
37
|
+
Bounds.EMPTY = new Bounds(0, 0, 0, 0);
|
|
38
|
+
const parseBounds = (context, node) => {
|
|
40
39
|
return Bounds.fromClientRect(context, node.getBoundingClientRect());
|
|
41
40
|
};
|
|
42
41
|
exports.parseBounds = parseBounds;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
const parseDocumentSize = (document) => {
|
|
43
|
+
const body = document.body;
|
|
44
|
+
const documentElement = document.documentElement;
|
|
46
45
|
if (!body || !documentElement) {
|
|
47
|
-
throw new Error(
|
|
46
|
+
throw new Error(`Unable to get document size`);
|
|
48
47
|
}
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));
|
|
49
|
+
const height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));
|
|
51
50
|
return new Bounds(0, 0, width, height);
|
|
52
51
|
};
|
|
53
52
|
exports.parseDocumentSize = parseDocumentSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounds.js","sourceRoot":"","sources":["../../../../src/css/layout/bounds.ts"],"names":[],"mappings":";;;AAEA;
|
|
1
|
+
{"version":3,"file":"bounds.js","sourceRoot":"","sources":["../../../../src/css/layout/bounds.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.segmentGraphemes = exports.parseTextBounds = exports.TextBounds = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const css_line_break_1 = require("css-line-break");
|
|
5
|
+
const text_segmentation_1 = require("text-segmentation");
|
|
6
|
+
const bounds_1 = require("./bounds");
|
|
7
|
+
const features_1 = require("../../core/features");
|
|
8
|
+
class TextBounds {
|
|
9
|
+
constructor(text, bounds) {
|
|
10
10
|
this.text = text;
|
|
11
11
|
this.bounds = bounds;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
}());
|
|
13
|
+
}
|
|
15
14
|
exports.TextBounds = TextBounds;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
textList.forEach(
|
|
15
|
+
const parseTextBounds = (context, value, styles, node) => {
|
|
16
|
+
const textList = breakText(value, styles);
|
|
17
|
+
const textBounds = [];
|
|
18
|
+
let offset = 0;
|
|
19
|
+
textList.forEach((text) => {
|
|
21
20
|
if (styles.textDecorationLine.length || text.trim().length > 0) {
|
|
22
21
|
if (features_1.FEATURES.SUPPORT_RANGE_BOUNDS) {
|
|
23
|
-
|
|
22
|
+
const clientRects = createRange(node, offset, text.length).getClientRects();
|
|
24
23
|
if (clientRects.length > 1) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
subSegments.forEach(
|
|
28
|
-
textBounds.push(new TextBounds(subSegment, bounds_1.Bounds.fromDOMRectList(context, createRange(node,
|
|
29
|
-
|
|
24
|
+
const subSegments = (0, exports.segmentGraphemes)(text);
|
|
25
|
+
let subOffset = 0;
|
|
26
|
+
subSegments.forEach((subSegment) => {
|
|
27
|
+
textBounds.push(new TextBounds(subSegment, bounds_1.Bounds.fromDOMRectList(context, createRange(node, subOffset + offset, subSegment.length).getClientRects())));
|
|
28
|
+
subOffset += subSegment.length;
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
31
|
else {
|
|
@@ -34,7 +33,7 @@ var parseTextBounds = function (context, value, styles, node) {
|
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
else {
|
|
37
|
-
|
|
36
|
+
const replacementNode = node.splitText(text.length);
|
|
38
37
|
textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));
|
|
39
38
|
node = replacementNode;
|
|
40
39
|
}
|
|
@@ -47,15 +46,15 @@ var parseTextBounds = function (context, value, styles, node) {
|
|
|
47
46
|
return textBounds;
|
|
48
47
|
};
|
|
49
48
|
exports.parseTextBounds = parseTextBounds;
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
const getWrapperBounds = (context, node) => {
|
|
50
|
+
const ownerDocument = node.ownerDocument;
|
|
52
51
|
if (ownerDocument) {
|
|
53
|
-
|
|
52
|
+
const wrapper = ownerDocument.createElement('html2canvaswrapper');
|
|
54
53
|
wrapper.appendChild(node.cloneNode(true));
|
|
55
|
-
|
|
54
|
+
const parentNode = node.parentNode;
|
|
56
55
|
if (parentNode) {
|
|
57
56
|
parentNode.replaceChild(wrapper, node);
|
|
58
|
-
|
|
57
|
+
const bounds = (0, bounds_1.parseBounds)(context, wrapper);
|
|
59
58
|
if (wrapper.firstChild) {
|
|
60
59
|
parentNode.replaceChild(wrapper.firstChild, wrapper);
|
|
61
60
|
}
|
|
@@ -64,73 +63,66 @@ var getWrapperBounds = function (context, node) {
|
|
|
64
63
|
}
|
|
65
64
|
return bounds_1.Bounds.EMPTY;
|
|
66
65
|
};
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
const createRange = (node, offset, length) => {
|
|
67
|
+
const ownerDocument = node.ownerDocument;
|
|
69
68
|
if (!ownerDocument) {
|
|
70
69
|
throw new Error('Node has no owner document');
|
|
71
70
|
}
|
|
72
|
-
|
|
71
|
+
const range = ownerDocument.createRange();
|
|
73
72
|
range.setStart(node, offset);
|
|
74
73
|
range.setEnd(node, offset + length);
|
|
75
74
|
return range;
|
|
76
75
|
};
|
|
77
|
-
|
|
76
|
+
const segmentGraphemes = (value) => {
|
|
78
77
|
if (features_1.FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
82
|
-
return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });
|
|
78
|
+
const segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });
|
|
79
|
+
return Array.from(segmenter.segment(value)).map((segment) => segment.segment);
|
|
83
80
|
}
|
|
84
81
|
return (0, text_segmentation_1.splitGraphemes)(value);
|
|
85
82
|
};
|
|
86
83
|
exports.segmentGraphemes = segmentGraphemes;
|
|
87
|
-
|
|
84
|
+
const segmentWords = (value, styles) => {
|
|
88
85
|
if (features_1.FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {
|
|
89
|
-
|
|
90
|
-
var segmenter = new Intl.Segmenter(void 0, {
|
|
86
|
+
const segmenter = new Intl.Segmenter(void 0, {
|
|
91
87
|
granularity: 'word'
|
|
92
88
|
});
|
|
93
|
-
|
|
94
|
-
return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });
|
|
89
|
+
return Array.from(segmenter.segment(value)).map((segment) => segment.segment);
|
|
95
90
|
}
|
|
96
91
|
return breakWords(value, styles);
|
|
97
92
|
};
|
|
98
|
-
|
|
93
|
+
const breakText = (value, styles) => {
|
|
99
94
|
return styles.letterSpacing !== 0 ? (0, exports.segmentGraphemes)(value) : segmentWords(value, styles);
|
|
100
95
|
};
|
|
101
96
|
// https://drafts.csswg.org/css-text/#word-separator
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
const wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];
|
|
98
|
+
const breakWords = (str, styles) => {
|
|
99
|
+
const breaker = (0, css_line_break_1.LineBreaker)(str, {
|
|
105
100
|
lineBreak: styles.lineBreak,
|
|
106
101
|
wordBreak: styles.overflowWrap === "break-word" /* OVERFLOW_WRAP.BREAK_WORD */ ? 'break-word' : styles.wordBreak
|
|
107
102
|
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
103
|
+
const words = [];
|
|
104
|
+
let bk;
|
|
105
|
+
while (!(bk = breaker.next()).done) {
|
|
111
106
|
if (bk.value) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
codePoints.forEach(
|
|
107
|
+
const value = bk.value.slice();
|
|
108
|
+
const codePoints = (0, css_line_break_1.toCodePoints)(value);
|
|
109
|
+
let word = '';
|
|
110
|
+
codePoints.forEach((codePoint) => {
|
|
116
111
|
if (wordSeparators.indexOf(codePoint) === -1) {
|
|
117
|
-
|
|
112
|
+
word += (0, css_line_break_1.fromCodePoint)(codePoint);
|
|
118
113
|
}
|
|
119
114
|
else {
|
|
120
|
-
if (
|
|
121
|
-
words.push(
|
|
115
|
+
if (word.length) {
|
|
116
|
+
words.push(word);
|
|
122
117
|
}
|
|
123
118
|
words.push((0, css_line_break_1.fromCodePoint)(codePoint));
|
|
124
|
-
|
|
119
|
+
word = '';
|
|
125
120
|
}
|
|
126
121
|
});
|
|
127
|
-
if (
|
|
128
|
-
words.push(
|
|
122
|
+
if (word.length) {
|
|
123
|
+
words.push(word);
|
|
129
124
|
}
|
|
130
125
|
}
|
|
131
|
-
};
|
|
132
|
-
while (!(bk = breaker.next()).done) {
|
|
133
|
-
_loop_1();
|
|
134
126
|
}
|
|
135
127
|
return words;
|
|
136
128
|
};
|