@pie-lib/editable-html 12.1.0-next.0 → 12.1.0-next.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +7 -7
  3. package/lib/__tests__/editor-utils.test.js +0 -164
  4. package/lib/__tests__/serialization.test.js +0 -242
  5. package/lib/__tests__/utils.js +0 -79
  6. package/lib/block-tags.js +0 -24
  7. package/lib/block-tags.js.map +0 -1
  8. package/lib/constants.js +0 -11
  9. package/lib/constants.js.map +0 -1
  10. package/lib/editor.js +0 -1224
  11. package/lib/editor.js.map +0 -1
  12. package/lib/index.js +0 -208
  13. package/lib/index.js.map +0 -1
  14. package/lib/parse-html.js +0 -16
  15. package/lib/parse-html.js.map +0 -1
  16. package/lib/plugins/characters/custom-popper.js +0 -57
  17. package/lib/plugins/characters/custom-popper.js.map +0 -1
  18. package/lib/plugins/characters/index.js +0 -265
  19. package/lib/plugins/characters/index.js.map +0 -1
  20. package/lib/plugins/characters/utils.js +0 -378
  21. package/lib/plugins/characters/utils.js.map +0 -1
  22. package/lib/plugins/css/icons/index.js +0 -25
  23. package/lib/plugins/css/icons/index.js.map +0 -1
  24. package/lib/plugins/css/index.js +0 -338
  25. package/lib/plugins/css/index.js.map +0 -1
  26. package/lib/plugins/customPlugin/index.js +0 -98
  27. package/lib/plugins/customPlugin/index.js.map +0 -1
  28. package/lib/plugins/html/icons/index.js +0 -30
  29. package/lib/plugins/html/icons/index.js.map +0 -1
  30. package/lib/plugins/html/index.js +0 -71
  31. package/lib/plugins/html/index.js.map +0 -1
  32. package/lib/plugins/image/__tests__/component.test.js +0 -96
  33. package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +0 -131
  34. package/lib/plugins/image/__tests__/image-toolbar.test.js +0 -22
  35. package/lib/plugins/image/__tests__/index.test.js +0 -90
  36. package/lib/plugins/image/__tests__/insert-image-handler.test.js +0 -112
  37. package/lib/plugins/image/__tests__/mock-change.js +0 -22
  38. package/lib/plugins/image/alt-dialog.js +0 -100
  39. package/lib/plugins/image/alt-dialog.js.map +0 -1
  40. package/lib/plugins/image/component.js +0 -343
  41. package/lib/plugins/image/component.js.map +0 -1
  42. package/lib/plugins/image/image-toolbar.js +0 -137
  43. package/lib/plugins/image/image-toolbar.js.map +0 -1
  44. package/lib/plugins/image/index.js +0 -223
  45. package/lib/plugins/image/index.js.map +0 -1
  46. package/lib/plugins/image/insert-image-handler.js +0 -140
  47. package/lib/plugins/image/insert-image-handler.js.map +0 -1
  48. package/lib/plugins/index.js +0 -342
  49. package/lib/plugins/index.js.map +0 -1
  50. package/lib/plugins/list/__tests__/index.test.js +0 -64
  51. package/lib/plugins/list/index.js +0 -288
  52. package/lib/plugins/list/index.js.map +0 -1
  53. package/lib/plugins/math/__tests__/index.test.js +0 -284
  54. package/lib/plugins/math/index.js +0 -402
  55. package/lib/plugins/math/index.js.map +0 -1
  56. package/lib/plugins/media/__tests__/index.test.js +0 -69
  57. package/lib/plugins/media/index.js +0 -330
  58. package/lib/plugins/media/index.js.map +0 -1
  59. package/lib/plugins/media/media-dialog.js +0 -594
  60. package/lib/plugins/media/media-dialog.js.map +0 -1
  61. package/lib/plugins/media/media-toolbar.js +0 -76
  62. package/lib/plugins/media/media-toolbar.js.map +0 -1
  63. package/lib/plugins/media/media-wrapper.js +0 -64
  64. package/lib/plugins/media/media-wrapper.js.map +0 -1
  65. package/lib/plugins/rendering/index.js +0 -36
  66. package/lib/plugins/rendering/index.js.map +0 -1
  67. package/lib/plugins/respArea/drag-in-the-blank/choice.js +0 -271
  68. package/lib/plugins/respArea/drag-in-the-blank/choice.js.map +0 -1
  69. package/lib/plugins/respArea/drag-in-the-blank/index.js +0 -55
  70. package/lib/plugins/respArea/drag-in-the-blank/index.js.map +0 -1
  71. package/lib/plugins/respArea/drag-in-the-blank/utils.js +0 -38
  72. package/lib/plugins/respArea/drag-in-the-blank/utils.js.map +0 -1
  73. package/lib/plugins/respArea/explicit-constructed-response/index.js +0 -50
  74. package/lib/plugins/respArea/explicit-constructed-response/index.js.map +0 -1
  75. package/lib/plugins/respArea/icons/index.js +0 -72
  76. package/lib/plugins/respArea/icons/index.js.map +0 -1
  77. package/lib/plugins/respArea/index.js +0 -287
  78. package/lib/plugins/respArea/index.js.map +0 -1
  79. package/lib/plugins/respArea/inline-dropdown/index.js +0 -67
  80. package/lib/plugins/respArea/inline-dropdown/index.js.map +0 -1
  81. package/lib/plugins/respArea/math-templated/index.js +0 -112
  82. package/lib/plugins/respArea/math-templated/index.js.map +0 -1
  83. package/lib/plugins/respArea/utils.js +0 -95
  84. package/lib/plugins/respArea/utils.js.map +0 -1
  85. package/lib/plugins/table/CustomTablePlugin.js +0 -116
  86. package/lib/plugins/table/CustomTablePlugin.js.map +0 -1
  87. package/lib/plugins/table/__tests__/index.test.js +0 -416
  88. package/lib/plugins/table/__tests__/table-toolbar.test.js +0 -81
  89. package/lib/plugins/table/icons/index.js +0 -55
  90. package/lib/plugins/table/icons/index.js.map +0 -1
  91. package/lib/plugins/table/index.js +0 -413
  92. package/lib/plugins/table/index.js.map +0 -1
  93. package/lib/plugins/table/table-toolbar.js +0 -138
  94. package/lib/plugins/table/table-toolbar.js.map +0 -1
  95. package/lib/plugins/textAlign/icons/index.js +0 -187
  96. package/lib/plugins/textAlign/icons/index.js.map +0 -1
  97. package/lib/plugins/textAlign/index.js +0 -26
  98. package/lib/plugins/textAlign/index.js.map +0 -1
  99. package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +0 -154
  100. package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +0 -47
  101. package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +0 -112
  102. package/lib/plugins/toolbar/__tests__/toolbar.test.js +0 -118
  103. package/lib/plugins/toolbar/default-toolbar.js +0 -180
  104. package/lib/plugins/toolbar/default-toolbar.js.map +0 -1
  105. package/lib/plugins/toolbar/done-button.js +0 -35
  106. package/lib/plugins/toolbar/done-button.js.map +0 -1
  107. package/lib/plugins/toolbar/editor-and-toolbar.js +0 -258
  108. package/lib/plugins/toolbar/editor-and-toolbar.js.map +0 -1
  109. package/lib/plugins/toolbar/index.js +0 -29
  110. package/lib/plugins/toolbar/index.js.map +0 -1
  111. package/lib/plugins/toolbar/toolbar-buttons.js +0 -145
  112. package/lib/plugins/toolbar/toolbar-buttons.js.map +0 -1
  113. package/lib/plugins/toolbar/toolbar.js +0 -307
  114. package/lib/plugins/toolbar/toolbar.js.map +0 -1
  115. package/lib/plugins/utils.js +0 -42
  116. package/lib/plugins/utils.js.map +0 -1
  117. package/lib/serialization.js +0 -571
  118. package/lib/serialization.js.map +0 -1
  119. package/lib/shared/alert-dialog.js +0 -68
  120. package/lib/theme.js +0 -8
  121. package/lib/theme.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,46 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [12.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@12.1.0-next.1...@pie-lib/editable-html@12.1.0-next.2) (2026-01-26)
7
+
8
+ **Note:** Version bump only for package @pie-lib/editable-html
9
+
10
+
11
+
12
+
13
+
14
+ # [12.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.21.2...@pie-lib/editable-html@12.1.0-next.1) (2026-01-26)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * add missing dependencies for dnd-kit ([c50ec8e](https://github.com/pie-framework/pie-lib/commit/c50ec8e0a839e574aa61db78ecd121c6fdbc70c9))
20
+ * choice render for both img and math ([39bc638](https://github.com/pie-framework/pie-lib/commit/39bc638070fc5e9c5f2b50d0d70698f80a32ecb9))
21
+ * fix math rendering issues after React, mui and drag upgrade for drag-in-the-blank ([6dc3c95](https://github.com/pie-framework/pie-lib/commit/6dc3c95c041be02015a9005133fe750e1ff78842))
22
+ * fixed circular dependencies and bumped versions, plus image upload handling [PD-5141] ([7b5fbc9](https://github.com/pie-framework/pie-lib/commit/7b5fbc9126446916d42d6b3597232a231567b2d8))
23
+ * implemented image, responseArea, math, and some custom toolbars [PD-5141] ([d1dd966](https://github.com/pie-framework/pie-lib/commit/d1dd966188d14f3e4a9c6e4c7dbc4a92da727fd5))
24
+ * prevent math re-rendering issues when dragging choices over blanks ([b316544](https://github.com/pie-framework/pie-lib/commit/b316544f0d574f7f57b70e2de4d8bab2086a4151))
25
+ * remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
26
+ * remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
27
+ * remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
28
+ * use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
29
+ * **editable-html:** add slateEditorExtraStyles prop ([0b71f34](https://github.com/pie-framework/pie-lib/commit/0b71f3412aeb90d613d41a9afe93b9ccd13f09c4))
30
+ * **editable-html:** replace ReactDOM.render() with createRoot() for React 18 compatibility ([e9618b5](https://github.com/pie-framework/pie-lib/commit/e9618b5d892ee98d08f4440934eec9be58ee170a))
31
+
32
+
33
+ ### Features
34
+
35
+ * bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
36
+ * drag library update ([fb7a4d0](https://github.com/pie-framework/pie-lib/commit/fb7a4d0ce761f2f4c1a122854cfa306abb8ea7c8))
37
+ * initial work for tiptap changes [PD-5141] ([d73e617](https://github.com/pie-framework/pie-lib/commit/d73e6179c01e1497688c630da98213b31e9f4938))
38
+ * packages/editable-html mui update PD-5268 ([6b8d201](https://github.com/pie-framework/pie-lib/commit/6b8d201cfc0bf7e26eea58e296109c463544075f))
39
+ * sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
40
+ * updates for drag-in-the-blank ([0c096d8](https://github.com/pie-framework/pie-lib/commit/0c096d887f97edecd2dac68cda136b2d265dc7d5))
41
+
42
+
43
+
44
+
45
+
6
46
  # [12.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/editable-html@11.21.3-next.0...@pie-lib/editable-html@12.0.0-next.0) (2026-01-19)
7
47
 
8
48
  **Note:** Version bump only for package @pie-lib/editable-html
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/editable-html",
3
- "version": "12.1.0-next.0",
3
+ "version": "12.1.0-next.2",
4
4
  "description": "",
5
5
  "license": "ISC",
6
6
  "main": "lib/index.js",
@@ -14,11 +14,11 @@
14
14
  "@emotion/style": "^0.8.0",
15
15
  "@mui/icons-material": "^7.3.4",
16
16
  "@mui/material": "^7.3.4",
17
- "@pie-lib/drag": "3.1.0-next.0",
18
- "@pie-lib/math-input": "7.1.0-next.0",
19
- "@pie-lib/math-rendering": "4.1.0-next.0",
20
- "@pie-lib/math-toolbar": "2.1.0-next.0",
21
- "@pie-lib/render-ui": "5.1.0-next.0",
17
+ "@pie-lib/drag": "3.1.0-next.2",
18
+ "@pie-lib/math-input": "7.1.0-next.1",
19
+ "@pie-lib/math-rendering": "4.1.0-next.1",
20
+ "@pie-lib/math-toolbar": "2.1.0-next.2",
21
+ "@pie-lib/render-ui": "5.1.0-next.2",
22
22
  "change-case": "^3.0.2",
23
23
  "classnames": "^2.2.6",
24
24
  "debug": "^4.1.1",
@@ -52,6 +52,6 @@
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "221b2d82353de8a11a7a496f93422e54832e4fc1",
55
+ "gitHead": "04c639af6e49d1881bf3244ebb3940171c26bd3e",
56
56
  "scripts": {}
57
57
  }
@@ -1,164 +0,0 @@
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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
@@ -1,242 +0,0 @@
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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
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.classObject = classObject;
8
- exports.mockComponents = mockComponents;
9
- exports.mockIconButton = mockIconButton;
10
- exports.mockMathInput = mockMathInput;
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
- var _react = _interopRequireDefault(require("react"));
18
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
20
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
21
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
- function classObject() {
23
- var out = {};
24
- for (var a in arguments) {
25
- var value = arguments[a];
26
- out[value] = value;
27
- }
28
- return out;
29
- }
30
- function mockComponents() {
31
- var _arguments = arguments;
32
- var out = {};
33
- var _loop = function _loop() {
34
- var value = _arguments[a];
35
- out[value] = /*#__PURE__*/function (_React$Component) {
36
- function _class() {
37
- (0, _classCallCheck2["default"])(this, _class);
38
- return _callSuper(this, _class, arguments);
39
- }
40
- (0, _inherits2["default"])(_class, _React$Component);
41
- return (0, _createClass2["default"])(_class, [{
42
- key: "render",
43
- value: function render() {
44
- return /*#__PURE__*/_react["default"].createElement("div", {
45
- "data-mock-component": "true"
46
- }, value);
47
- }
48
- }]);
49
- }(_react["default"].Component);
50
- };
51
- for (var a in arguments) {
52
- _loop();
53
- }
54
- return out;
55
- }
56
- function mockIconButton() {
57
- jest.mock('@mui/material/IconButton', function () {
58
- return function (props) {
59
- return /*#__PURE__*/_react["default"].createElement("div", {
60
- className: props.className,
61
- style: props.style,
62
- ariaLabel: props['aria-label']
63
- });
64
- };
65
- });
66
- }
67
- function mockMathInput() {
68
- jest.mock('@pie-lib/math-input', function () {
69
- return _objectSpread({
70
- addBrackets: jest.fn(function (s) {
71
- return s;
72
- }),
73
- removeBrackets: jest.fn(function (s) {
74
- return s;
75
- })
76
- }, mockComponents('Keypad', 'MathQuillInput', 'EditableMathInput', 'HorizontalKeypad'));
77
- });
78
- }
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiY2xhc3NPYmplY3QiLCJvdXQiLCJhIiwidmFsdWUiLCJtb2NrQ29tcG9uZW50cyIsIl9hcmd1bWVudHMiLCJfbG9vcCIsIl9SZWFjdCRDb21wb25lbnQiLCJfY2xhc3MiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiUmVhY3QiLCJDb21wb25lbnQiLCJtb2NrSWNvbkJ1dHRvbiIsImplc3QiLCJtb2NrIiwicHJvcHMiLCJjbGFzc05hbWUiLCJzdHlsZSIsImFyaWFMYWJlbCIsIm1vY2tNYXRoSW5wdXQiLCJhZGRCcmFja2V0cyIsImZuIiwicyIsInJlbW92ZUJyYWNrZXRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2xhc3NPYmplY3QoKSB7XG4gIGNvbnN0IG91dCA9IHt9O1xuICBmb3IgKHZhciBhIGluIGFyZ3VtZW50cykge1xuICAgIGNvbnN0IHZhbHVlID0gYXJndW1lbnRzW2FdO1xuICAgIG91dFt2YWx1ZV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gb3V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbW9ja0NvbXBvbmVudHMoKSB7XG4gIGNvbnN0IG91dCA9IHt9O1xuICBmb3IgKHZhciBhIGluIGFyZ3VtZW50cykge1xuICAgIGNvbnN0IHZhbHVlID0gYXJndW1lbnRzW2FdO1xuICAgIG91dFt2YWx1ZV0gPSBjbGFzcyBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiA8ZGl2IGRhdGEtbW9jay1jb21wb25lbnQ9XCJ0cnVlXCI+e3ZhbHVlfTwvZGl2PjtcbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHJldHVybiBvdXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2NrSWNvbkJ1dHRvbigpIHtcbiAgamVzdC5tb2NrKCdAbXVpL21hdGVyaWFsL0ljb25CdXR0b24nLCAoKSA9PiB7XG4gICAgcmV0dXJuIChwcm9wcykgPT4gPGRpdiBjbGFzc05hbWU9e3Byb3BzLmNsYXNzTmFtZX0gc3R5bGU9e3Byb3BzLnN0eWxlfSBhcmlhTGFiZWw9e3Byb3BzWydhcmlhLWxhYmVsJ119IC8+O1xuICB9KTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBtb2NrTWF0aElucHV0KCkge1xuICBqZXN0Lm1vY2soJ0BwaWUtbGliL21hdGgtaW5wdXQnLCAoKSA9PiAoe1xuICAgIGFkZEJyYWNrZXRzOiBqZXN0LmZuKChzKSA9PiBzKSxcbiAgICByZW1vdmVCcmFja2V0czogamVzdC5mbigocykgPT4gcyksXG4gICAgLi4ubW9ja0NvbXBvbmVudHMoJ0tleXBhZCcsICdNYXRoUXVpbGxJbnB1dCcsICdFZGl0YWJsZU1hdGhJbnB1dCcs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