@pie-lib/editable-html 11.21.3-next.2 → 11.21.4-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -76
- package/lib/__tests__/editor-utils.test.js +164 -0
- package/lib/__tests__/serialization.test.js +242 -0
- package/lib/__tests__/utils.js +79 -0
- package/lib/block-tags.js +3 -4
- package/lib/block-tags.js.map +1 -1
- package/lib/constants.js +4 -7
- package/lib/constants.js.map +1 -1
- package/lib/editor.js +351 -482
- package/lib/editor.js.map +1 -1
- package/lib/index.js +19 -80
- package/lib/index.js.map +1 -1
- package/lib/parse-html.js +8 -8
- package/lib/parse-html.js.map +1 -1
- package/lib/plugins/characters/custom-popper.js +29 -45
- package/lib/plugins/characters/custom-popper.js.map +1 -1
- package/lib/plugins/characters/index.js +24 -64
- package/lib/plugins/characters/index.js.map +1 -1
- package/lib/plugins/characters/utils.js +4 -7
- package/lib/plugins/characters/utils.js.map +1 -1
- package/lib/plugins/css/icons/index.js +14 -26
- package/lib/plugins/css/icons/index.js.map +1 -1
- package/lib/plugins/css/index.js +35 -94
- package/lib/plugins/css/index.js.map +1 -1
- package/lib/plugins/customPlugin/index.js +11 -27
- package/lib/plugins/customPlugin/index.js.map +1 -1
- package/lib/plugins/html/icons/index.js +18 -26
- package/lib/plugins/html/icons/index.js.map +1 -1
- package/lib/plugins/html/index.js +5 -14
- package/lib/plugins/html/index.js.map +1 -1
- package/lib/plugins/image/__tests__/component.test.js +96 -0
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +131 -0
- package/lib/plugins/image/__tests__/image-toolbar.test.js +22 -0
- package/lib/plugins/image/__tests__/index.test.js +90 -0
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +112 -0
- package/lib/plugins/image/__tests__/mock-change.js +22 -0
- package/lib/plugins/image/alt-dialog.js +21 -50
- package/lib/plugins/image/alt-dialog.js.map +1 -1
- package/lib/plugins/image/component.js +119 -195
- package/lib/plugins/image/component.js.map +1 -1
- package/lib/plugins/image/image-toolbar.js +49 -89
- package/lib/plugins/image/image-toolbar.js.map +1 -1
- package/lib/plugins/image/index.js +7 -47
- package/lib/plugins/image/index.js.map +1 -1
- package/lib/plugins/image/insert-image-handler.js +11 -32
- package/lib/plugins/image/insert-image-handler.js.map +1 -1
- package/lib/plugins/index.js +47 -107
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/list/__tests__/index.test.js +64 -0
- package/lib/plugins/list/index.js +28 -74
- package/lib/plugins/list/index.js.map +1 -1
- package/lib/plugins/math/__tests__/index.test.js +284 -0
- package/lib/plugins/math/index.js +65 -117
- package/lib/plugins/math/index.js.map +1 -1
- package/lib/plugins/media/__tests__/index.test.js +69 -0
- package/lib/plugins/media/index.js +28 -85
- package/lib/plugins/media/index.js.map +1 -1
- package/lib/plugins/media/media-dialog.js +193 -308
- package/lib/plugins/media/media-dialog.js.map +1 -1
- package/lib/plugins/media/media-toolbar.js +41 -66
- package/lib/plugins/media/media-toolbar.js.map +1 -1
- package/lib/plugins/media/media-wrapper.js +21 -50
- package/lib/plugins/media/media-wrapper.js.map +1 -1
- package/lib/plugins/rendering/index.js +6 -16
- package/lib/plugins/rendering/index.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +234 -252
- package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +18 -60
- package/lib/plugins/respArea/drag-in-the-blank/index.js.map +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/utils.js +38 -0
- package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +1 -0
- package/lib/plugins/respArea/explicit-constructed-response/index.js +4 -11
- package/lib/plugins/respArea/explicit-constructed-response/index.js.map +1 -1
- package/lib/plugins/respArea/icons/index.js +23 -46
- package/lib/plugins/respArea/icons/index.js.map +1 -1
- package/lib/plugins/respArea/index.js +6 -60
- package/lib/plugins/respArea/index.js.map +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +3 -11
- package/lib/plugins/respArea/inline-dropdown/index.js.map +1 -1
- package/lib/plugins/respArea/math-templated/index.js +92 -110
- package/lib/plugins/respArea/math-templated/index.js.map +1 -1
- package/lib/plugins/respArea/utils.js +13 -43
- package/lib/plugins/respArea/utils.js.map +1 -1
- package/lib/plugins/table/CustomTablePlugin.js +25 -42
- package/lib/plugins/table/CustomTablePlugin.js.map +1 -1
- package/lib/plugins/table/__tests__/index.test.js +416 -0
- package/lib/plugins/table/__tests__/table-toolbar.test.js +81 -0
- package/lib/plugins/table/icons/index.js +22 -36
- package/lib/plugins/table/icons/index.js.map +1 -1
- package/lib/plugins/table/index.js +49 -119
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/table-toolbar.js +38 -87
- package/lib/plugins/table/table-toolbar.js.map +1 -1
- package/lib/plugins/textAlign/icons/index.js +26 -65
- package/lib/plugins/textAlign/icons/index.js.map +1 -1
- package/lib/plugins/textAlign/index.js +1 -9
- package/lib/plugins/textAlign/index.js.map +1 -1
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +154 -0
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +47 -0
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +112 -0
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +118 -0
- package/lib/plugins/toolbar/default-toolbar.js +31 -80
- package/lib/plugins/toolbar/default-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/done-button.js +17 -35
- package/lib/plugins/toolbar/done-button.js.map +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +175 -203
- package/lib/plugins/toolbar/editor-and-toolbar.js.map +1 -1
- package/lib/plugins/toolbar/index.js +1 -6
- package/lib/plugins/toolbar/index.js.map +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +60 -109
- package/lib/plugins/toolbar/toolbar-buttons.js.map +1 -1
- package/lib/plugins/toolbar/toolbar.js +94 -163
- package/lib/plugins/toolbar/toolbar.js.map +1 -1
- package/lib/plugins/utils.js +6 -26
- package/lib/plugins/utils.js.map +1 -1
- package/lib/serialization.js +48 -154
- package/lib/serialization.js.map +1 -1
- package/lib/shared/alert-dialog.js +36 -43
- package/lib/theme.js +2 -3
- package/lib/theme.js.map +1 -1
- package/package.json +18 -22
- package/src/__tests__/editor-utils.test.js +162 -0
- package/src/__tests__/utils.js +1 -1
- package/src/editor.jsx +175 -153
- package/src/index.jsx +0 -3
- package/src/plugins/characters/custom-popper.js +25 -25
- package/src/plugins/characters/index.jsx +15 -5
- package/src/plugins/css/icons/index.jsx +11 -13
- package/src/plugins/css/index.jsx +16 -11
- package/src/plugins/html/icons/index.jsx +17 -14
- package/src/plugins/image/__tests__/component.test.jsx +61 -29
- package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +69 -17
- package/src/plugins/image/__tests__/image-toolbar.test.jsx +6 -4
- package/src/plugins/image/alt-dialog.jsx +9 -8
- package/src/plugins/image/component.jsx +68 -92
- package/src/plugins/image/image-toolbar.jsx +31 -28
- package/src/plugins/image/index.jsx +1 -1
- package/src/plugins/index.jsx +12 -10
- package/src/plugins/math/__tests__/index.test.jsx +45 -26
- package/src/plugins/math/index.jsx +1 -1
- package/src/plugins/media/index.jsx +6 -5
- package/src/plugins/media/media-dialog.js +65 -76
- package/src/plugins/media/media-toolbar.jsx +32 -33
- package/src/plugins/media/media-wrapper.jsx +10 -13
- package/src/plugins/respArea/drag-in-the-blank/choice.jsx +240 -167
- package/src/plugins/respArea/drag-in-the-blank/index.jsx +27 -56
- package/src/plugins/respArea/drag-in-the-blank/utils.js +14 -0
- package/src/plugins/respArea/icons/index.jsx +16 -16
- package/src/plugins/respArea/math-templated/index.jsx +88 -89
- package/src/plugins/respArea/utils.jsx +5 -3
- package/src/plugins/table/__tests__/table-toolbar.test.jsx +40 -7
- package/src/plugins/table/icons/index.jsx +16 -16
- package/src/plugins/table/index.jsx +35 -19
- package/src/plugins/table/table-toolbar.jsx +18 -19
- package/src/plugins/textAlign/icons/index.jsx +13 -4
- package/src/plugins/textAlign/index.jsx +0 -3
- package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +102 -69
- package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +14 -11
- package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +81 -35
- package/src/plugins/toolbar/__tests__/toolbar.test.jsx +44 -38
- package/src/plugins/toolbar/default-toolbar.jsx +18 -21
- package/src/plugins/toolbar/done-button.jsx +16 -22
- package/src/plugins/toolbar/editor-and-toolbar.jsx +134 -158
- package/src/plugins/toolbar/toolbar-buttons.jsx +30 -46
- package/src/plugins/toolbar/toolbar.jsx +57 -79
- package/src/serialization.jsx +3 -3
- package/esm/index.css +0 -847
- package/esm/index.js +0 -192929
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/editor.test.jsx +0 -363
- package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
- package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
- package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
- package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
- package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
- package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
- package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
package/CHANGELOG.md
CHANGED
|
@@ -7,153 +7,83 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
10
|
## [11.21.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.2...@pie-lib/editable-html@11.21.1) (2025-10-22)
|
|
15
11
|
|
|
16
12
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
14
|
# [11.21.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.20.0...@pie-lib/editable-html@11.21.0) (2025-10-16)
|
|
23
15
|
|
|
24
16
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
25
17
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
18
|
# [11.20.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.0...@pie-lib/editable-html@11.20.0) (2025-10-16)
|
|
31
19
|
|
|
32
20
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
33
21
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
22
|
# [11.19.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.0...@pie-lib/editable-html@11.19.0) (2025-10-16)
|
|
39
23
|
|
|
40
24
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
41
25
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
26
|
# [11.18.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.0...@pie-lib/editable-html@11.18.0) (2025-10-16)
|
|
47
27
|
|
|
48
28
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
49
29
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
30
|
## [11.17.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.1...@pie-lib/editable-html@11.17.2) (2025-10-14)
|
|
55
31
|
|
|
56
32
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
57
33
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
34
|
## [11.17.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.17.0...@pie-lib/editable-html@11.17.1) (2025-10-09)
|
|
63
35
|
|
|
64
36
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
65
37
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
38
|
# [11.17.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.1.1...@pie-lib/editable-html@11.17.0) (2025-09-25)
|
|
71
39
|
|
|
72
|
-
|
|
73
40
|
### Bug Fixes
|
|
74
41
|
|
|
75
|
-
|
|
76
|
-
|
|
42
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
77
43
|
|
|
78
44
|
### Features
|
|
79
45
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
46
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
85
47
|
|
|
86
48
|
# [11.16.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.15.0...@pie-lib/editable-html@11.16.0) (2025-09-18)
|
|
87
49
|
|
|
88
50
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
89
51
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
52
|
# [11.15.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.14.0...@pie-lib/editable-html@11.15.0) (2025-09-18)
|
|
95
53
|
|
|
96
54
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
97
55
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
56
|
# [11.14.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.1.1...@pie-lib/editable-html@11.14.0) (2025-09-18)
|
|
103
57
|
|
|
104
|
-
|
|
105
58
|
### Bug Fixes
|
|
106
59
|
|
|
107
|
-
|
|
108
|
-
|
|
60
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
109
61
|
|
|
110
62
|
### Features
|
|
111
63
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
64
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
117
65
|
|
|
118
66
|
# [11.13.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.12.0...@pie-lib/editable-html@11.13.0) (2025-09-17)
|
|
119
67
|
|
|
120
68
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
121
69
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
70
|
# [11.12.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.11.0...@pie-lib/editable-html@11.12.0) (2025-09-17)
|
|
127
71
|
|
|
128
72
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
129
73
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
74
|
# [11.11.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.10.1...@pie-lib/editable-html@11.11.0) (2025-09-17)
|
|
135
75
|
|
|
136
76
|
**Note:** Version bump only for package @pie-lib/editable-html
|
|
137
77
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
78
|
## [11.10.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.1.1...@pie-lib/editable-html@11.10.1) (2025-08-11)
|
|
143
79
|
|
|
144
|
-
|
|
145
80
|
### Bug Fixes
|
|
146
81
|
|
|
147
|
-
|
|
148
|
-
|
|
82
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
149
83
|
|
|
150
84
|
### Features
|
|
151
85
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
86
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
157
87
|
|
|
158
88
|
# [11.10.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.1.1...@pie-lib/editable-html@11.10.0) (2025-08-07)
|
|
159
89
|
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _editor = require("../editor");
|
|
4
|
+
describe('Editor Utilities', function () {
|
|
5
|
+
describe('valueToSize', function () {
|
|
6
|
+
it('returns undefined for falsy values', function () {
|
|
7
|
+
expect((0, _editor.valueToSize)(null)).toBeUndefined();
|
|
8
|
+
expect((0, _editor.valueToSize)(undefined)).toBeUndefined();
|
|
9
|
+
expect((0, _editor.valueToSize)('')).toBeUndefined();
|
|
10
|
+
expect((0, _editor.valueToSize)(0)).toBeUndefined();
|
|
11
|
+
});
|
|
12
|
+
it('converts number to px string', function () {
|
|
13
|
+
expect((0, _editor.valueToSize)(100)).toBe('100px');
|
|
14
|
+
expect((0, _editor.valueToSize)(50)).toBe('50px');
|
|
15
|
+
});
|
|
16
|
+
it('returns undefined for percentage strings', function () {
|
|
17
|
+
expect((0, _editor.valueToSize)('100%')).toBeUndefined();
|
|
18
|
+
expect((0, _editor.valueToSize)('50%')).toBeUndefined();
|
|
19
|
+
});
|
|
20
|
+
it('preserves valid CSS unit strings', function () {
|
|
21
|
+
expect((0, _editor.valueToSize)('100px')).toBe('100px');
|
|
22
|
+
expect((0, _editor.valueToSize)('10vh')).toBe('10vh');
|
|
23
|
+
expect((0, _editor.valueToSize)('50vw')).toBe('50vw');
|
|
24
|
+
expect((0, _editor.valueToSize)('9ch')).toBe('9ch');
|
|
25
|
+
expect((0, _editor.valueToSize)('2em')).toBe('2em');
|
|
26
|
+
});
|
|
27
|
+
it('preserves calc() expressions', function () {
|
|
28
|
+
expect((0, _editor.valueToSize)('calc(10em + 42px)')).toBe('calc(10em + 42px)');
|
|
29
|
+
expect((0, _editor.valueToSize)('calc(100% - 20px)')).toBe('calc(100% - 20px)');
|
|
30
|
+
});
|
|
31
|
+
it('converts numeric strings to px', function () {
|
|
32
|
+
expect((0, _editor.valueToSize)('100')).toBe('100px');
|
|
33
|
+
expect((0, _editor.valueToSize)('50')).toBe('50px');
|
|
34
|
+
});
|
|
35
|
+
it('handles invalid numeric strings', function () {
|
|
36
|
+
var result = (0, _editor.valueToSize)('invalid');
|
|
37
|
+
expect(isNaN(result)).toBe(true);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe('buildSizeStyle', function () {
|
|
41
|
+
it('builds style with numeric width', function () {
|
|
42
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
43
|
+
width: 100
|
|
44
|
+
});
|
|
45
|
+
expect(result).toEqual({
|
|
46
|
+
width: '100px',
|
|
47
|
+
minWidth: undefined,
|
|
48
|
+
maxWidth: undefined,
|
|
49
|
+
height: undefined,
|
|
50
|
+
minHeight: undefined,
|
|
51
|
+
maxHeight: undefined
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
it('returns undefined for percentage values', function () {
|
|
55
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
56
|
+
height: '100%',
|
|
57
|
+
width: '100%'
|
|
58
|
+
});
|
|
59
|
+
expect(result).toEqual({
|
|
60
|
+
width: undefined,
|
|
61
|
+
height: undefined,
|
|
62
|
+
minWidth: undefined,
|
|
63
|
+
maxWidth: undefined,
|
|
64
|
+
minHeight: undefined,
|
|
65
|
+
maxHeight: undefined
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
it('builds style with numeric height', function () {
|
|
69
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
70
|
+
height: 100
|
|
71
|
+
});
|
|
72
|
+
expect(result).toEqual({
|
|
73
|
+
width: undefined,
|
|
74
|
+
minWidth: undefined,
|
|
75
|
+
maxWidth: undefined,
|
|
76
|
+
height: '100px',
|
|
77
|
+
minHeight: undefined,
|
|
78
|
+
maxHeight: undefined
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
it('builds style with minHeight', function () {
|
|
82
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
83
|
+
minHeight: 100
|
|
84
|
+
});
|
|
85
|
+
expect(result).toEqual({
|
|
86
|
+
width: undefined,
|
|
87
|
+
minWidth: undefined,
|
|
88
|
+
maxWidth: undefined,
|
|
89
|
+
height: undefined,
|
|
90
|
+
minHeight: '100px',
|
|
91
|
+
maxHeight: undefined
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
it('builds style with maxHeight', function () {
|
|
95
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
96
|
+
maxHeight: 100
|
|
97
|
+
});
|
|
98
|
+
expect(result).toEqual({
|
|
99
|
+
width: undefined,
|
|
100
|
+
minWidth: undefined,
|
|
101
|
+
maxWidth: undefined,
|
|
102
|
+
height: undefined,
|
|
103
|
+
minHeight: undefined,
|
|
104
|
+
maxHeight: '100px'
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
it('builds style with calc() expression', function () {
|
|
108
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
109
|
+
width: 'calc(10em + 42px)'
|
|
110
|
+
});
|
|
111
|
+
expect(result).toEqual({
|
|
112
|
+
width: 'calc(10em + 42px)',
|
|
113
|
+
minWidth: undefined,
|
|
114
|
+
maxWidth: undefined,
|
|
115
|
+
height: undefined,
|
|
116
|
+
minHeight: undefined,
|
|
117
|
+
maxHeight: undefined
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
it('builds style with ch unit', function () {
|
|
121
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
122
|
+
width: '9ch'
|
|
123
|
+
});
|
|
124
|
+
expect(result).toEqual({
|
|
125
|
+
width: '9ch',
|
|
126
|
+
minWidth: undefined,
|
|
127
|
+
maxWidth: undefined,
|
|
128
|
+
height: undefined,
|
|
129
|
+
minHeight: undefined,
|
|
130
|
+
maxHeight: undefined
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
it('builds style with no size props', function () {
|
|
134
|
+
var result = (0, _editor.buildSizeStyle)({});
|
|
135
|
+
expect(result).toEqual({
|
|
136
|
+
width: undefined,
|
|
137
|
+
minWidth: undefined,
|
|
138
|
+
maxWidth: undefined,
|
|
139
|
+
height: undefined,
|
|
140
|
+
minHeight: undefined,
|
|
141
|
+
maxHeight: undefined
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
it('builds style with multiple size constraints', function () {
|
|
145
|
+
var result = (0, _editor.buildSizeStyle)({
|
|
146
|
+
width: 500,
|
|
147
|
+
minWidth: 300,
|
|
148
|
+
maxWidth: 700,
|
|
149
|
+
height: 400,
|
|
150
|
+
minHeight: 200,
|
|
151
|
+
maxHeight: 600
|
|
152
|
+
});
|
|
153
|
+
expect(result).toEqual({
|
|
154
|
+
width: '500px',
|
|
155
|
+
minWidth: '300px',
|
|
156
|
+
maxWidth: '700px',
|
|
157
|
+
height: '400px',
|
|
158
|
+
minHeight: '200px',
|
|
159
|
+
maxHeight: '600px'
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZWRpdG9yIiwicmVxdWlyZSIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJ2YWx1ZVRvU2l6ZSIsInRvQmVVbmRlZmluZWQiLCJ1bmRlZmluZWQiLCJ0b0JlIiwicmVzdWx0IiwiaXNOYU4iLCJidWlsZFNpemVTdHlsZSIsIndpZHRoIiwidG9FcXVhbCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJoZWlnaHQiLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2VkaXRvci11dGlscy50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZhbHVlVG9TaXplLCBidWlsZFNpemVTdHlsZSB9IGZyb20gJy4uL2VkaXRvcic7XG5cbmRlc2NyaWJlKCdFZGl0b3IgVXRpbGl0aWVzJywgKCkgPT4ge1xuICBkZXNjcmliZSgndmFsdWVUb1NpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdW5kZWZpbmVkIGZvciBmYWxzeSB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUobnVsbCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSh1bmRlZmluZWQpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJycpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoMCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb252ZXJ0cyBudW1iZXIgdG8gcHggc3RyaW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKDEwMCkpLnRvQmUoJzEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoNTApKS50b0JlKCc1MHB4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgncmV0dXJucyB1bmRlZmluZWQgZm9yIHBlcmNlbnRhZ2Ugc3RyaW5ncycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnMTAwJScpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzUwJScpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgfSk7XG5cbiAgICBpdCgncHJlc2VydmVzIHZhbGlkIENTUyB1bml0IHN0cmluZ3MnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzEwMHB4JykpLnRvQmUoJzEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzEwdmgnKSkudG9CZSgnMTB2aCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCc1MHZ3JykpLnRvQmUoJzUwdncnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnOWNoJykpLnRvQmUoJzljaCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcyZW0nKSkudG9CZSgnMmVtJyk7XG4gICAgfSk7XG5cbiAgICBpdCgncHJlc2VydmVzIGNhbGMoKSBleHByZXNzaW9ucycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnY2FsYygxMGVtICsgNDJweCknKSkudG9CZSgnY2FsYygxMGVtICsgNDJweCknKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnY2FsYygxMDAlIC0gMjBweCknKSkudG9CZSgnY2FsYygxMDAlIC0gMjBweCknKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb252ZXJ0cyBudW1lcmljIHN0cmluZ3MgdG8gcHgnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzEwMCcpKS50b0JlKCcxMDBweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCc1MCcpKS50b0JlKCc1MHB4Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFuZGxlcyBpbnZhbGlkIG51bWVyaWMgc3RyaW5ncycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHZhbHVlVG9TaXplKCdpbnZhbGlkJyk7XG4gICAgICBleHBlY3QoaXNOYU4ocmVzdWx0KSkudG9CZSh0cnVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2J1aWxkU2l6ZVN0eWxlJywgKCkgPT4ge1xuICAgIGl0KCdidWlsZHMgc3R5bGUgd2l0aCBudW1lcmljIHdpZHRoJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRTaXplU3R5bGUoeyB3aWR0aDogMTAwIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHdpZHRoOiAnMTAwcHgnLFxuICAgICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1heEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgncmV0dXJucyB1bmRlZmluZWQgZm9yIHBlcmNlbnRhZ2UgdmFsdWVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRTaXplU3R5bGUoeyBoZWlnaHQ6ICcxMDAlJywgd2lkdGg6ICcxMDAlJyB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB3aWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluV2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4V2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1heEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYnVpbGRzIHN0eWxlIHdpdGggbnVtZXJpYyBoZWlnaHQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBidWlsZFNpemVTdHlsZSh7IGhlaWdodDogMTAwIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHdpZHRoOiB1bmRlZmluZWQsXG4gICAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICAgIG1heFdpZHRoOiB1bmRlZmluZWQsXG4gICAgICAgIGhlaWdodDogJzEwMHB4JyxcbiAgICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1heEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYnVpbGRzIHN0eWxlIHdpdGggbWluSGVpZ2h0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRTaXplU3R5bGUoeyBtaW5IZWlnaHQ6IDEwMCB9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB3aWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluSGVpZ2h0OiAnMTAwcHgnLFxuICAgICAgICBtYXhIZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2J1aWxkcyBzdHlsZSB3aXRoIG1heEhlaWdodCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkU2l6ZVN0eWxlKHsgbWF4SGVpZ2h0OiAxMDAgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgd2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluV2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4V2lkdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgaGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1pbkhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhIZWlnaHQ6ICcxMDBweCcsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdidWlsZHMgc3R5bGUgd2l0aCBjYWxjKCkgZXhwcmVzc2lvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkU2l6ZVN0eWxlKHsgd2lkdGg6ICdjYWxjKDEwZW0gKyA0MnB4KScgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgd2lkdGg6ICdjYWxjKDEwZW0gKyA0MnB4KScsXG4gICAgICAgIG1pbldpZHRoOiB1bmRlZmluZWQsXG4gICAgICAgIG1heFdpZHRoOiB1bmRlZmluZWQsXG4gICAgICAgIGhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgICBtaW5IZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWF4SGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdidWlsZHMgc3R5bGUgd2l0aCBjaCB1bml0JywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRTaXplU3R5bGUoeyB3aWR0aDogJzljaCcgfSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHtcbiAgICAgICAgd2lkdGg6ICc5Y2gnLFxuICAgICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1heEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYnVpbGRzIHN0eWxlIHdpdGggbm8gc2l6ZSBwcm9wcycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkU2l6ZVN0eWxlKHt9KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoe1xuICAgICAgICB3aWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtaW5XaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBtYXhXaWR0aDogdW5kZWZpbmVkLFxuICAgICAgICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgbWluSGVpZ2h0OiB1bmRlZmluZWQsXG4gICAgICAgIG1heEhlaWdodDogdW5kZWZpbmVkLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYnVpbGRzIHN0eWxlIHdpdGggbXVsdGlwbGUgc2l6ZSBjb25zdHJhaW50cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGJ1aWxkU2l6ZVN0eWxlKHtcbiAgICAgICAgd2lkdGg6IDUwMCxcbiAgICAgICAgbWluV2lkdGg6IDMwMCxcbiAgICAgICAgbWF4V2lkdGg6IDcwMCxcbiAgICAgICAgaGVpZ2h0OiA0MDAsXG4gICAgICAgIG1pbkhlaWdodDogMjAwLFxuICAgICAgICBtYXhIZWlnaHQ6IDYwMCxcbiAgICAgIH0pO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7XG4gICAgICAgIHdpZHRoOiAnNTAwcHgnLFxuICAgICAgICBtaW5XaWR0aDogJzMwMHB4JyxcbiAgICAgICAgbWF4V2lkdGg6ICc3MDBweCcsXG4gICAgICAgIGhlaWdodDogJzQwMHB4JyxcbiAgICAgICAgbWluSGVpZ2h0OiAnMjAwcHgnLFxuICAgICAgICBtYXhIZWlnaHQ6ICc2MDBweCcsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFFQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFlBQU07RUFDakNBLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtJQUM1QkMsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLFlBQU07TUFDN0NDLE1BQU0sQ0FBQyxJQUFBQyxtQkFBVyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUNDLGFBQWEsQ0FBQyxDQUFDO01BQ3pDRixNQUFNLENBQUMsSUFBQUMsbUJBQVcsRUFBQ0UsU0FBUyxDQUFDLENBQUMsQ0FBQ0QsYUFBYSxDQUFDLENBQUM7TUFDOUNGLE1BQU0sQ0FBQyxJQUFBQyxtQkFB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
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _serialization = require("../serialization");
|
|
4
|
+
jest.mock('../plugins/math', function () {
|
|
5
|
+
return {
|
|
6
|
+
serialization: {
|
|
7
|
+
serialize: jest.fn(function (o, c) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}),
|
|
10
|
+
deserialize: jest.fn(function (el, next) {
|
|
11
|
+
return undefined;
|
|
12
|
+
})
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
describe('TEXT_RULE', function () {
|
|
17
|
+
var mkBr = function mkBr(previousSibling) {
|
|
18
|
+
return {
|
|
19
|
+
remove: jest.fn(),
|
|
20
|
+
previousSibling: previousSibling,
|
|
21
|
+
replaceWith: function replaceWith(foo) {
|
|
22
|
+
previousSibling.textContent = previousSibling.textContent.replace(/(<br>)|(<\/br>)/g, foo);
|
|
23
|
+
},
|
|
24
|
+
normalize: jest.fn().mockReturnThis(),
|
|
25
|
+
tagName: 'br'
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
var mkTextNode = function mkTextNode() {
|
|
29
|
+
var textContent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
30
|
+
return {
|
|
31
|
+
nodeName: '#text',
|
|
32
|
+
textContent: textContent,
|
|
33
|
+
normalize: jest.fn().mockReturnThis()
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
var mkEl = function mkEl(querySelectorAllResult) {
|
|
37
|
+
return {
|
|
38
|
+
querySelectorAll: jest.fn().mockReturnValue(querySelectorAllResult),
|
|
39
|
+
normalize: jest.fn().mockReturnThis()
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
describe('deserialize', function () {
|
|
43
|
+
it('if no previous text node, no error is thrown', function () {
|
|
44
|
+
var br = mkBr();
|
|
45
|
+
var el = mkEl([br]);
|
|
46
|
+
expect(function () {
|
|
47
|
+
return _serialization.TEXT_RULE.deserialize(el);
|
|
48
|
+
}).not.toThrow();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe('htmlToValue', function () {
|
|
53
|
+
it('converts', function () {
|
|
54
|
+
var expected = {
|
|
55
|
+
object: 'value',
|
|
56
|
+
document: {
|
|
57
|
+
object: 'document',
|
|
58
|
+
data: {},
|
|
59
|
+
nodes: [{
|
|
60
|
+
object: 'block',
|
|
61
|
+
type: 'div',
|
|
62
|
+
isVoid: false,
|
|
63
|
+
data: {
|
|
64
|
+
attributes: {}
|
|
65
|
+
},
|
|
66
|
+
nodes: [{
|
|
67
|
+
object: 'block',
|
|
68
|
+
type: 'paragraph',
|
|
69
|
+
isVoid: false,
|
|
70
|
+
data: {
|
|
71
|
+
attributes: {}
|
|
72
|
+
},
|
|
73
|
+
nodes: [{
|
|
74
|
+
object: 'text',
|
|
75
|
+
leaves: [{
|
|
76
|
+
object: 'leaf',
|
|
77
|
+
text: 'foo',
|
|
78
|
+
marks: []
|
|
79
|
+
}]
|
|
80
|
+
}, {
|
|
81
|
+
object: 'inline',
|
|
82
|
+
type: 'image',
|
|
83
|
+
isVoid: true,
|
|
84
|
+
data: {
|
|
85
|
+
src: 'blah.jpg',
|
|
86
|
+
width: null,
|
|
87
|
+
height: null,
|
|
88
|
+
margin: '',
|
|
89
|
+
justifyContent: '',
|
|
90
|
+
alignment: null,
|
|
91
|
+
alt: null
|
|
92
|
+
},
|
|
93
|
+
nodes: [{
|
|
94
|
+
object: 'text',
|
|
95
|
+
leaves: [{
|
|
96
|
+
object: 'leaf',
|
|
97
|
+
text: '',
|
|
98
|
+
marks: []
|
|
99
|
+
}]
|
|
100
|
+
}]
|
|
101
|
+
}, {
|
|
102
|
+
object: 'text',
|
|
103
|
+
leaves: [{
|
|
104
|
+
object: 'leaf',
|
|
105
|
+
text: 'bar',
|
|
106
|
+
marks: []
|
|
107
|
+
}]
|
|
108
|
+
}]
|
|
109
|
+
}]
|
|
110
|
+
}]
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var html = "<div><p>foo<img src=\"blah.jpg\"/>bar</p></div>";
|
|
114
|
+
var v = (0, _serialization.htmlToValue)(html);
|
|
115
|
+
console.log(JSON.stringify(v.toJSON()));
|
|
116
|
+
expect(v.toJSON()).toEqual(expected);
|
|
117
|
+
});
|
|
118
|
+
it('does not break', function () {
|
|
119
|
+
/*
|
|
120
|
+
More than 12 iterations of the same kind would previously break the input. Here we have 16 text nodes, and now it works.
|
|
121
|
+
*/
|
|
122
|
+
var expected = {
|
|
123
|
+
object: 'value',
|
|
124
|
+
document: {
|
|
125
|
+
object: 'document',
|
|
126
|
+
data: {},
|
|
127
|
+
nodes: [{
|
|
128
|
+
object: 'block',
|
|
129
|
+
type: 'div',
|
|
130
|
+
isVoid: false,
|
|
131
|
+
data: {
|
|
132
|
+
attributes: {}
|
|
133
|
+
},
|
|
134
|
+
nodes: [{
|
|
135
|
+
object: 'text',
|
|
136
|
+
leaves: [{
|
|
137
|
+
object: 'leaf',
|
|
138
|
+
text: 'Foo ',
|
|
139
|
+
marks: []
|
|
140
|
+
}, {
|
|
141
|
+
object: 'leaf',
|
|
142
|
+
text: 'x',
|
|
143
|
+
marks: [{
|
|
144
|
+
object: 'mark',
|
|
145
|
+
type: 'italic',
|
|
146
|
+
data: {}
|
|
147
|
+
}]
|
|
148
|
+
}, {
|
|
149
|
+
object: 'leaf',
|
|
150
|
+
text: ' bar ',
|
|
151
|
+
marks: []
|
|
152
|
+
}, {
|
|
153
|
+
object: 'leaf',
|
|
154
|
+
text: 'x',
|
|
155
|
+
marks: [{
|
|
156
|
+
object: 'mark',
|
|
157
|
+
type: 'italic',
|
|
158
|
+
data: {}
|
|
159
|
+
}]
|
|
160
|
+
}, {
|
|
161
|
+
object: 'leaf',
|
|
162
|
+
text: ' Foo ',
|
|
163
|
+
marks: []
|
|
164
|
+
}, {
|
|
165
|
+
object: 'leaf',
|
|
166
|
+
text: 'x',
|
|
167
|
+
marks: [{
|
|
168
|
+
object: 'mark',
|
|
169
|
+
type: 'italic',
|
|
170
|
+
data: {}
|
|
171
|
+
}]
|
|
172
|
+
}, {
|
|
173
|
+
object: 'leaf',
|
|
174
|
+
text: ' bar ',
|
|
175
|
+
marks: []
|
|
176
|
+
}, {
|
|
177
|
+
object: 'leaf',
|
|
178
|
+
text: 'x',
|
|
179
|
+
marks: [{
|
|
180
|
+
object: 'mark',
|
|
181
|
+
type: 'italic',
|
|
182
|
+
data: {}
|
|
183
|
+
}]
|
|
184
|
+
}, {
|
|
185
|
+
object: 'leaf',
|
|
186
|
+
text: ' Foo ',
|
|
187
|
+
marks: []
|
|
188
|
+
}, {
|
|
189
|
+
object: 'leaf',
|
|
190
|
+
text: 'x',
|
|
191
|
+
marks: [{
|
|
192
|
+
object: 'mark',
|
|
193
|
+
type: 'italic',
|
|
194
|
+
data: {}
|
|
195
|
+
}]
|
|
196
|
+
}, {
|
|
197
|
+
object: 'leaf',
|
|
198
|
+
text: ' bar ',
|
|
199
|
+
marks: []
|
|
200
|
+
}, {
|
|
201
|
+
object: 'leaf',
|
|
202
|
+
text: 'x',
|
|
203
|
+
marks: [{
|
|
204
|
+
object: 'mark',
|
|
205
|
+
type: 'italic',
|
|
206
|
+
data: {}
|
|
207
|
+
}]
|
|
208
|
+
}, {
|
|
209
|
+
object: 'leaf',
|
|
210
|
+
text: ' Foo ',
|
|
211
|
+
marks: []
|
|
212
|
+
}, {
|
|
213
|
+
object: 'leaf',
|
|
214
|
+
text: 'x',
|
|
215
|
+
marks: [{
|
|
216
|
+
object: 'mark',
|
|
217
|
+
type: 'italic',
|
|
218
|
+
data: {}
|
|
219
|
+
}]
|
|
220
|
+
}, {
|
|
221
|
+
object: 'leaf',
|
|
222
|
+
text: ' bar ',
|
|
223
|
+
marks: []
|
|
224
|
+
}, {
|
|
225
|
+
object: 'leaf',
|
|
226
|
+
text: 'x',
|
|
227
|
+
marks: [{
|
|
228
|
+
object: 'mark',
|
|
229
|
+
type: 'italic',
|
|
230
|
+
data: {}
|
|
231
|
+
}]
|
|
232
|
+
}]
|
|
233
|
+
}]
|
|
234
|
+
}]
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
var html = '<div>Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em> Foo <em>x</em> bar <em>x</em></div>';
|
|
238
|
+
var v = (0, _serialization.htmlToValue)(html);
|
|
239
|
+
expect(v.toJSON()).toEqual(expected);
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2VyaWFsaXphdGlvbiIsInJlcXVpcmUiLCJqZXN0IiwibW9jayIsInNlcmlhbGl6YXRpb24iLCJzZXJpYWxpemUiLCJmbiIsIm8iLCJjIiwidW5kZWZpbmVkIiwiZGVzZXJpYWxpemUiLCJlbCIsIm5leHQiLCJkZXNjcmliZSIsIm1rQnIiLCJwcmV2aW91c1NpYmxpbmciLCJyZW1vdmUiLCJyZXBsYWNlV2l0aCIsImZvbyIsInRleHRDb250ZW50IiwicmVwbGFjZSIsIm5vcm1hbGl6ZSIsIm1vY2tSZXR1cm5UaGlzIiwidGFnTmFtZSIsIm1rVGV4dE5vZGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJub2RlTmFtZSIsIm1rRWwiLCJxdWVyeVNlbGVjdG9yQWxsUmVzdWx0IiwicXVlcnlTZWxlY3RvckFsbCIsIm1vY2tSZXR1cm5WYWx1ZSIsIml0IiwiYnIiLCJleHBlY3QiLCJURVhUX1JVTEUiLCJub3QiLCJ0b1Rocm93IiwiZXhwZWN0ZWQiLCJvYmplY3QiLCJkb2N1bWVudCIsImRhdGEiLCJub2RlcyIsInR5cGUiLCJpc1ZvaWQiLCJhdHRyaWJ1dGVzIiwibGVhdmVzIiwidGV4dCIsIm1hcmtzIiwic3JjIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJqdXN0aWZ5Q29udGVudCIsImFsaWdubWVudCIsImFsdCIsImh0bWwiLCJ2IiwiaHRtbFRvVmFsdWUiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsInRvSlNPTiIsInRvRXF1YWwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3NlcmlhbGl6YXRpb24udGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBodG1sVG9WYWx1ZSwgVEVYVF9SVUxFIH0gZnJvbSAnLi4vc2VyaWFsaXphdGlvbic7XG5cbmplc3QubW9jaygnLi4vcGx1Z2lucy9tYXRoJywgKCkgPT4gKHtcbiAgc2VyaWFsaXphdGlvbjoge1xuICAgIHNlcmlhbGl6ZTogamVzdC5mbigobywgYykgPT4ge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KSxcbiAgICBkZXNlcmlhbGl6ZTogamVzdC5mbigoZWwsIG5leHQpID0+IHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSksXG4gIH0sXG59KSk7XG5cbmRlc2NyaWJlKCdURVhUX1JVTEUnLCAoKSA9PiB7XG4gIGNvbnN0IG1rQnIgPSAocHJldmlvdXNTaWJsaW5nKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlbW92ZTogamVzdC5mbigpLFxuICAgICAgcHJldmlvdXNTaWJsaW5nLFxuICAgICAgcmVwbGFjZVdpdGg6IChmb28pID0+IHtcbiAgICAgICAgcHJldmlvdXNTaWJsaW5nLnRleHRDb250ZW50ID0gcHJldmlvdXNTaWJsaW5nLnRleHRDb250ZW50LnJlcGxhY2UoLyg8YnI+KXwoPFxcL2JyPikvZywgZm9vKTtcbiAgICAgIH0sXG4gICAgICBub3JtYWxpemU6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICAgICAgdGFnTmFtZTogJ2JyJyxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IG1rVGV4dE5vZGUgPSAodGV4dENvbnRlbnQgPSAnJykgPT4gKHtcbiAgICBub2RlTmFtZTogJyN0ZXh0JyxcbiAgICB0ZXh0Q29udGVudCxcbiAgICBub3JtYWxpemU6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICB9KTtcblxuICBjb25zdCBta0VsID0gKHF1ZXJ5U2VsZWN0b3JBbGxSZXN1bHQpID0+ICh7XG4gICAgcXVlcnlTZWxlY3RvckFsbDogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShxdWVyeVNlbGVjdG9yQWxsUmVzdWx0KSxcbiAgICBub3JtYWxpemU6IGplc3QuZm4oKS5tb2NrUmV0dXJuVGhpcygpLFxuICB9KTtcblxuICBkZXNjcmliZSgnZGVzZXJpYWxpemUnLCAoKSA9PiB7XG4gICAgaXQoJ2lmIG5vIHByZXZpb3VzIHRleHQgbm9kZSwgbm8gZXJyb3IgaXMgdGhyb3duJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnIgPSBta0JyKCk7XG4gICAgICBjb25zdCBlbCA9IG1rRWwoW2JyXSk7XG4gICAgICBleHBlY3QoKCkgPT4gVEVYVF9SVUxFLmRlc2VyaWFsaXplKGVsKSkubm90LnRvVGhyb3coKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2h0bWxUb1ZhbHVlJywgKCkgPT4ge1xuICBpdCgnY29udmVydHMnLCAoKSA9PiB7XG4gICAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgICBvYmplY3Q6ICd2YWx1ZScsXG4gICAgICBkb2N1bWVudDoge1xuICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgIGRhdGE6IHt9LFxuICAgICAgICBub2RlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICdkaXYnLFxuICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgYXR0cmlidXRlczoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAncGFyYWdyYXBoJyxcbiAgICAgICAgICAgICAgICBpc1ZvaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHt9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ2ZvbycsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2lubGluZScsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICAgIGlzVm9pZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgIHNyYzogJ2JsYWguanBnJyxcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgYWxpZ25tZW50OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgIGFsdDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAndGV4dCcsXG4gICAgICAgICAgICAgICAgICAgIGxlYXZlczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ2JhcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBodG1sID0gYDxkaXY+PHA+Zm9vPGltZyBzcmM9XCJibGFoLmpwZ1wiLz5iYXI8L3A+PC9kaXY+YDtcbiAgICBjb25zdCB2ID0gaHRtbFRvVmFsdWUoaHRtbCk7XG5cbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh2LnRvSlNPTigpKSk7XG4gICAgZXhwZWN0KHYudG9KU09OKCkpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgYnJlYWsnLCAoKSA9PiB7XG4gICAgLypcbiAgICAgTW9yZSB0aGFuIDEyIGl0ZXJhdGlvbnMgb2YgdGhlIHNhbWUga2luZCB3b3VsZCBwcmV2aW91c2x5IGJyZWFrIHRoZSBpbnB1dC4gSGVyZSB3ZSBoYXZlIDE2IHRleHQgbm9kZXMsIGFuZCBub3cgaXQgd29ya3MuXG4gICAgICovXG4gICAgY29uc3QgZXhwZWN0ZWQgPSB7XG4gICAgICBvYmplY3Q6ICd2YWx1ZScsXG4gICAgICBkb2N1bWVudDoge1xuICAgICAgICBvYmplY3Q6ICdkb2N1bWVudCcsXG4gICAgICAgIGRhdGE6IHt9LFxuICAgICAgICBub2RlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9iamVjdDogJ2Jsb2NrJyxcbiAgICAgICAgICAgIHR5cGU6ICdkaXYnLFxuICAgICAgICAgICAgaXNWb2lkOiBmYWxzZSxcbiAgICAgICAgICAgIGRhdGE6IHsgYXR0cmlidXRlczoge30gfSxcbiAgICAgICAgICAgIG5vZGVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvYmplY3Q6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgICBsZWF2ZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICdGb28gJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnIGJhciAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICcgRm9vICcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAneCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJyBiYXIgJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnIEZvbyAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICcgYmFyICcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAneCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaXRhbGljJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJyBGb28gJyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0OiAnbGVhZicsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICd4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFya3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdtYXJrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpdGFsaWMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ2xlYWYnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0OiAnIGJhciAnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW10sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3Q6ICdsZWFmJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3gnLFxuICAgICAgICAgICAgICAgICAgICBtYXJrczogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdDogJ21hcmsnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2l0YWxpYycsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9O1xuICAgIGNvbnN0IGh0bWwgPVxuICAgICAgJzxkaXY+Rm9vIDxlbT54PC9lbT4gYmFyIDxlbT54PC9lbT4gRm9vIDxlbT54PC9lbT4gYmFyIDxlbT54PC9lbT4gRm9vIDxlbT54PC9lbT4gYmFyIDxlbT54PC9lbT4gRm9vIDxlbT54PC9lbT4gYmFyIDxlbT54PC9lbT48L2Rpdj4nO1xuICAgIGNvbnN0IHYgPSBodG1sVG9WYWx1ZShodG1sKTtcblxuICAgIGV4cGVjdCh2LnRvSlNPTigpKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLE9BQUE7QUFFQUMsSUFBSSxDQUFDQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7RUFBQSxPQUFPO0lBQ2xDQyxhQUFhLEVBQUU7TUFDYkMsU0FBUyxFQUFFSCxJQUFJLENBQUNJLEVBQUUsQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUMsRUFBSztRQUMzQixPQUFPQyxTQUFTO01BQ2xCLENBQUMsQ0FBQztNQUNGQyxXQUFXLEVBQUVSLElBQUksQ0FBQ0ksRUFBRSxDQUFDLFVBQUNLLEVBQUUsRUFBRUMsSUFBSSxFQUFLO1FBQ2pDLE9BQU9ILFNBQVM7TUFDbEIsQ0FBQztJQUNIO0VBQ0YsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVISSxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQU07RUFDMUIsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUlDLGVBQWUsRUFBSztJQUNoQyxPQUFPO01BQ0xDLE1BQU0sRUFBRWQsSUFBSSxDQUFDSSxFQUFFLENBQUMsQ0FBQztNQUNqQlMsZUFBZSxFQUFmQSxlQUFlO01BQ2ZFLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFHQyxHQUFHLEVBQUs7UUFDcEJILGVBQWUsQ0FBQ0ksV0FBVyxHQUFHSixlQUFlLENBQUNJLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDLGtCQUFrQixFQUFFRixHQUFHLENBQUM7TUFDNUYsQ0FBQztNQUNERyxTQUFTLEVBQUVuQixJQUFJLENBQUNJLEVBQUUsQ0FBQyxDQUFDLENBQUNnQixjQUFjLENBQUMsQ0FBQztNQUNyQ0MsT0FBTyxFQUFFO0lBQ1gsQ0FBQztFQUNILENBQUM7RUFFRCxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQTtJQUFBLElBQUlMLFdBQVcsR0FBQU0sU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQWhCLFNBQUEsR0FB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
|