@pie-lib/editable-html-tip-tap 2.1.20-beta.6 → 2.1.20-beta.7

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 (94) hide show
  1. package/lib/__tests__/EditableHtml.test.js +831 -0
  2. package/lib/__tests__/constants.test.js +21 -0
  3. package/lib/__tests__/div-to-paragraph-conversion.test.js +213 -0
  4. package/lib/__tests__/extensions.test.js +209 -0
  5. package/lib/__tests__/index.test.js +250 -0
  6. package/lib/__tests__/size-utils.test.js +57 -0
  7. package/lib/__tests__/spellcheck.test.js +142 -0
  8. package/lib/__tests__/theme.test.js +17 -0
  9. package/lib/components/__tests__/AltDialog.test.js +201 -0
  10. package/lib/components/__tests__/CharacterPicker.test.js +455 -0
  11. package/lib/components/__tests__/CssIcon.test.js +58 -0
  12. package/lib/components/__tests__/DragInTheBlank.test.js +295 -0
  13. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +345 -0
  14. package/lib/components/__tests__/ImageToolbar.test.js +185 -0
  15. package/lib/components/__tests__/InlineDropdown.test.js +839 -0
  16. package/lib/components/__tests__/InsertImageHandler.test.js +171 -0
  17. package/lib/components/__tests__/MediaDialog.test.js +433 -0
  18. package/lib/components/__tests__/MediaToolbar.test.js +126 -0
  19. package/lib/components/__tests__/MediaWrapper.test.js +96 -0
  20. package/lib/components/__tests__/MenuBar.test.js +502 -0
  21. package/lib/components/__tests__/RespArea.test.js +171 -0
  22. package/lib/components/__tests__/TableIcons.test.js +153 -0
  23. package/lib/components/__tests__/TextAlign.test.js +209 -0
  24. package/lib/components/__tests__/TiptapContainer.test.js +196 -0
  25. package/lib/components/__tests__/characterUtils.test.js +178 -0
  26. package/lib/components/__tests__/choice.test.js +213 -0
  27. package/lib/components/__tests__/custom-popper.test.js +108 -0
  28. package/lib/components/__tests__/done-button.test.js +72 -0
  29. package/lib/components/__tests__/toolbar-buttons.test.js +277 -0
  30. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +90 -0
  31. package/lib/components/respArea/__tests__/MathTemplated.test.js +217 -0
  32. package/lib/extensions/__tests__/css.test.js +214 -0
  33. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +175 -0
  34. package/lib/extensions/__tests__/divNode.test.js +108 -0
  35. package/lib/extensions/__tests__/ensure-empty-root-div.test.js +50 -0
  36. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +60 -0
  37. package/lib/extensions/__tests__/extended-list-item.test.js +13 -0
  38. package/lib/extensions/__tests__/extended-table-cell.test.js +15 -0
  39. package/lib/extensions/__tests__/extended-table.test.js +200 -0
  40. package/lib/extensions/__tests__/image-component.test.js +432 -0
  41. package/lib/extensions/__tests__/image.test.js +313 -0
  42. package/lib/extensions/__tests__/math.test.js +1411 -0
  43. package/lib/extensions/__tests__/media-node-view.test.js +307 -0
  44. package/lib/extensions/__tests__/media.test.js +292 -0
  45. package/lib/extensions/__tests__/responseArea.test.js +736 -0
  46. package/lib/utils/__tests__/helper.test.js +107 -0
  47. package/lib/utils/__tests__/toolbar.test.js +38 -0
  48. package/package.json +3 -3
  49. package/src/__tests__/EditableHtml.test.jsx +588 -0
  50. package/src/__tests__/constants.test.js +19 -0
  51. package/src/__tests__/div-to-paragraph-conversion.test.jsx +125 -0
  52. package/src/__tests__/extensions.test.js +208 -0
  53. package/src/__tests__/index.test.jsx +154 -0
  54. package/src/__tests__/size-utils.test.js +64 -0
  55. package/src/__tests__/theme.test.js +17 -0
  56. package/src/components/__tests__/AltDialog.test.jsx +147 -0
  57. package/src/components/__tests__/CharacterPicker.test.jsx +270 -0
  58. package/src/components/__tests__/CssIcon.test.jsx +46 -0
  59. package/src/components/__tests__/DragInTheBlank.test.jsx +255 -0
  60. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +209 -0
  61. package/src/components/__tests__/ImageToolbar.test.jsx +128 -0
  62. package/src/components/__tests__/InlineDropdown.test.jsx +557 -0
  63. package/src/components/__tests__/InsertImageHandler.test.js +161 -0
  64. package/src/components/__tests__/MediaDialog.test.jsx +293 -0
  65. package/src/components/__tests__/MediaToolbar.test.jsx +74 -0
  66. package/src/components/__tests__/MediaWrapper.test.jsx +81 -0
  67. package/src/components/__tests__/MenuBar.test.jsx +250 -0
  68. package/src/components/__tests__/RespArea.test.jsx +122 -0
  69. package/src/components/__tests__/TableIcons.test.jsx +149 -0
  70. package/src/components/__tests__/TextAlign.test.jsx +167 -0
  71. package/src/components/__tests__/TiptapContainer.test.jsx +138 -0
  72. package/src/components/__tests__/characterUtils.test.js +166 -0
  73. package/src/components/__tests__/choice.test.jsx +171 -0
  74. package/src/components/__tests__/custom-popper.test.jsx +82 -0
  75. package/src/components/__tests__/done-button.test.jsx +54 -0
  76. package/src/components/__tests__/toolbar-buttons.test.jsx +234 -0
  77. package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +72 -0
  78. package/src/components/respArea/__tests__/MathTemplated.test.jsx +210 -0
  79. package/src/extensions/__tests__/css.test.js +196 -0
  80. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +180 -0
  81. package/src/extensions/__tests__/divNode.test.js +87 -0
  82. package/src/extensions/__tests__/ensure-empty-root-div.test.js +57 -0
  83. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +44 -0
  84. package/src/extensions/__tests__/extended-list-item.test.js +13 -0
  85. package/src/extensions/__tests__/extended-table-cell.test.js +22 -0
  86. package/src/extensions/__tests__/extended-table.test.js +183 -0
  87. package/src/extensions/__tests__/image-component.test.jsx +346 -0
  88. package/src/extensions/__tests__/image.test.js +237 -0
  89. package/src/extensions/__tests__/math.test.js +900 -0
  90. package/src/extensions/__tests__/media-node-view.test.jsx +298 -0
  91. package/src/extensions/__tests__/media.test.js +271 -0
  92. package/src/extensions/__tests__/responseArea.test.js +655 -0
  93. package/src/utils/__tests__/helper.test.js +126 -0
  94. package/src/utils/__tests__/toolbar.test.js +43 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+ var _index = _interopRequireWildcard(require("../index"));
5
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
6
+ // Mock TipTap and dependencies
7
+ jest.mock('@tiptap/react', function () {
8
+ return {
9
+ EditorContent: function EditorContent() {
10
+ return /*#__PURE__*/React.createElement("div", {
11
+ "data-testid": "editor-content"
12
+ });
13
+ },
14
+ useEditor: jest.fn(function () {
15
+ return {
16
+ getHTML: jest.fn(function () {
17
+ return '<p>test content</p>';
18
+ }),
19
+ setEditable: jest.fn(),
20
+ commands: {
21
+ setContent: jest.fn()
22
+ },
23
+ isActive: jest.fn(function () {
24
+ return false;
25
+ }),
26
+ isFocused: false
27
+ };
28
+ }),
29
+ useEditorState: jest.fn(function () {
30
+ return {
31
+ isFocused: false
32
+ };
33
+ })
34
+ };
35
+ });
36
+ jest.mock('@tiptap/starter-kit', function () {
37
+ return {
38
+ __esModule: true,
39
+ "default": {
40
+ configure: jest.fn(function () {
41
+ return {};
42
+ })
43
+ }
44
+ };
45
+ });
46
+ jest.mock('@tiptap/extension-text-style', function () {
47
+ return {
48
+ TextStyleKit: {}
49
+ };
50
+ });
51
+ jest.mock('@tiptap/extension-character-count', function () {
52
+ return {
53
+ CharacterCount: {
54
+ configure: jest.fn(function () {
55
+ return {};
56
+ })
57
+ }
58
+ };
59
+ });
60
+ jest.mock('@tiptap/extension-superscript', function () {
61
+ return {
62
+ __esModule: true,
63
+ "default": {}
64
+ };
65
+ });
66
+ jest.mock('@tiptap/extension-subscript', function () {
67
+ return {
68
+ __esModule: true,
69
+ "default": {}
70
+ };
71
+ });
72
+ jest.mock('@tiptap/extension-text-align', function () {
73
+ return {
74
+ __esModule: true,
75
+ "default": {
76
+ configure: jest.fn(function () {
77
+ return {};
78
+ })
79
+ }
80
+ };
81
+ });
82
+ jest.mock('@tiptap/extension-image', function () {
83
+ return {
84
+ __esModule: true,
85
+ "default": {}
86
+ };
87
+ });
88
+ jest.mock('@tiptap/extension-table', function () {
89
+ return {
90
+ __esModule: true,
91
+ "default": {}
92
+ };
93
+ });
94
+ jest.mock('@tiptap/extension-table-row', function () {
95
+ return {
96
+ TableRow: {}
97
+ };
98
+ });
99
+ jest.mock('../extensions/extended-table-cell', function () {
100
+ return {
101
+ ExtendedTableCell: {},
102
+ ExtendedTableHeader: {}
103
+ };
104
+ });
105
+ jest.mock('../extensions/extended-table', function () {
106
+ return {
107
+ __esModule: true,
108
+ "default": {}
109
+ };
110
+ });
111
+ jest.mock('../extensions/ensure-empty-root-div', function () {
112
+ return {
113
+ EnsureEmptyRootIsDiv: {}
114
+ };
115
+ });
116
+ jest.mock('../extensions/extended-list-item', function () {
117
+ return {
118
+ ExtendedListItem: {}
119
+ };
120
+ });
121
+ jest.mock('../extensions/ensure-list-item-content-is-div', function () {
122
+ return {
123
+ EnsureListItemContentIsDiv: {}
124
+ };
125
+ });
126
+ jest.mock('../extensions/responseArea', function () {
127
+ return {
128
+ ExplicitConstructedResponseNode: {
129
+ configure: jest.fn(function () {
130
+ return {};
131
+ })
132
+ },
133
+ DragInTheBlankNode: {
134
+ configure: jest.fn(function () {
135
+ return {};
136
+ })
137
+ },
138
+ InlineDropdownNode: {
139
+ configure: jest.fn(function () {
140
+ return {};
141
+ })
142
+ },
143
+ ResponseAreaExtension: {
144
+ configure: jest.fn(function () {
145
+ return {};
146
+ })
147
+ }
148
+ };
149
+ });
150
+ jest.mock('../extensions/math', function () {
151
+ return {
152
+ MathNode: {
153
+ configure: jest.fn(function () {
154
+ return {};
155
+ })
156
+ }
157
+ };
158
+ });
159
+ jest.mock('../extensions/image', function () {
160
+ return {
161
+ ImageUploadNode: {
162
+ configure: jest.fn(function () {
163
+ return {};
164
+ })
165
+ }
166
+ };
167
+ });
168
+ jest.mock('../extensions/media', function () {
169
+ return {
170
+ Media: {
171
+ configure: jest.fn(function () {
172
+ return {};
173
+ })
174
+ }
175
+ };
176
+ });
177
+ jest.mock('../extensions/css', function () {
178
+ return {
179
+ CSSMark: {
180
+ configure: jest.fn(function () {
181
+ return {};
182
+ })
183
+ }
184
+ };
185
+ });
186
+ jest.mock('../components/TiptapContainer', function () {
187
+ return {
188
+ __esModule: true,
189
+ "default": function _default(_ref) {
190
+ var children = _ref.children;
191
+ return /*#__PURE__*/React.createElement("div", {
192
+ "data-testid": "editor-container"
193
+ }, children);
194
+ }
195
+ };
196
+ });
197
+ jest.mock('../extensions', function () {
198
+ return {
199
+ buildExtensions: jest.fn(function () {
200
+ return [];
201
+ }),
202
+ ALL_PLUGINS: ['bold', 'html', 'extraCSSRules', 'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'text-align', 'blockquote', 'h3', 'table', 'video', 'audio', 'responseArea', 'redo', 'undo', 'superscript', 'subscript'],
203
+ DEFAULT_PLUGINS: ['bold', 'html', 'extraCSSRules', 'italic', 'underline', 'strikethrough', 'bulleted-list', 'numbered-list', 'image', 'math', 'languageCharacters', 'text-align', 'table', 'video', 'audio', 'redo', 'undo', 'superscript', 'subscript']
204
+ };
205
+ });
206
+ describe('editable-html-tip-tap module', function () {
207
+ describe('exports', function () {
208
+ it('exports StyledEditor as default', function () {
209
+ expect(_index["default"]).toBeDefined();
210
+ });
211
+ it('exports EditableHtml as named export', function () {
212
+ expect(_index.EditableHtml).toBeDefined();
213
+ });
214
+ it('exports ALL_PLUGINS as named export', function () {
215
+ expect(_index.ALL_PLUGINS).toBeDefined();
216
+ expect(Array.isArray(_index.ALL_PLUGINS)).toBe(true);
217
+ });
218
+ it('exports DEFAULT_PLUGINS as named export', function () {
219
+ expect(_index.DEFAULT_PLUGINS).toBeDefined();
220
+ expect(Array.isArray(_index.DEFAULT_PLUGINS)).toBe(true);
221
+ });
222
+ it('StyledEditor and EditableHtml refer to the same component', function () {
223
+ expect(_index["default"]).toBe(_index.EditableHtml);
224
+ });
225
+ });
226
+ describe('ALL_PLUGINS', function () {
227
+ it('contains expected plugins', function () {
228
+ expect(_index.ALL_PLUGINS).toContain('bold');
229
+ expect(_index.ALL_PLUGINS).toContain('italic');
230
+ expect(_index.ALL_PLUGINS).toContain('underline');
231
+ expect(_index.ALL_PLUGINS).toContain('math');
232
+ expect(_index.ALL_PLUGINS).toContain('table');
233
+ expect(_index.ALL_PLUGINS).toContain('responseArea');
234
+ });
235
+ });
236
+ describe('DEFAULT_PLUGINS', function () {
237
+ it('is a subset of ALL_PLUGINS', function () {
238
+ var allPluginsSet = new Set(_index.ALL_PLUGINS);
239
+ _index.DEFAULT_PLUGINS.forEach(function (plugin) {
240
+ expect(allPluginsSet.has(plugin)).toBe(true);
241
+ });
242
+ });
243
+ it('contains basic formatting plugins', function () {
244
+ expect(_index.DEFAULT_PLUGINS).toContain('bold');
245
+ expect(_index.DEFAULT_PLUGINS).toContain('italic');
246
+ expect(_index.DEFAULT_PLUGINS).toContain('underline');
247
+ });
248
+ });
249
+ });
250
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImplc3QiLCJtb2NrIiwiRWRpdG9yQ29udGVudCIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInVzZUVkaXRvciIsImZuIiwiZ2V0SFRNTCIsInNldEVkaXRhYmxlIiwiY29tbWFuZHMiLCJzZXRDb250ZW50IiwiaXNBY3RpdmUiLCJpc0ZvY3VzZWQiLCJ1c2VFZGl0b3JTdGF0ZSIsImNvbmZpZ3VyZSIsIlRleHRTdHlsZUtpdCIsIkNoYXJhY3RlckNvdW50IiwiVGFibGVSb3ciLCJFeHRlbmRlZFRhYmxlQ2VsbCIsIkV4dGVuZGVkVGFibGVIZWFkZXIiLCJFbnN1cmVFbXB0eVJvb3RJc0RpdiIsIkV4dGVuZGVkTGlzdEl0ZW0iLCJFbnN1cmVMaXN0SXRlbUNvbnRlbnRJc0RpdiIsIkV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUiLCJEcmFnSW5UaGVCbGFua05vZGUiLCJJbmxpbmVEcm9wZG93bk5vZGUiLCJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJNYXRoTm9kZSIsIkltYWdlVXBsb2FkTm9kZSIsIk1lZGlhIiwiQ1NTTWFyayIsImRlZmF1bHQiLCJfcmVmIiwiY2hpbGRyZW4iLCJidWlsZEV4dGVuc2lvbnMiLCJBTExfUExVR0lOUyIsIkRFRkFVTFRfUExVR0lOUyIsImRlc2NyaWJlIiwiaXQiLCJleHBlY3QiLCJTdHlsZWRFZGl0b3IiLCJ0b0JlRGVmaW5lZCIsIkVkaXRhYmxlSHRtbCIsIkFycmF5IiwiaXNBcnJheSIsInRvQmUiLCJ0b0NvbnRhaW4iLCJhbGxQbHVnaW5zU2V0IiwiU2V0IiwiZm9yRWFjaCIsInBsdWdpbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFN0eWxlZEVkaXRvciwgeyBBTExfUExVR0lOUywgREVGQVVMVF9QTFVHSU5TLCBFZGl0YWJsZUh0bWwgfSBmcm9tICcuLi9pbmRleCc7XG5cbi8vIE1vY2sgVGlwVGFwIGFuZCBkZXBlbmRlbmNpZXNcbmplc3QubW9jaygnQHRpcHRhcC9yZWFjdCcsICgpID0+ICh7XG4gIEVkaXRvckNvbnRlbnQ6ICgpID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJlZGl0b3ItY29udGVudFwiIC8+LFxuICB1c2VFZGl0b3I6IGplc3QuZm4oKCkgPT4gKHtcbiAgICBnZXRIVE1MOiBqZXN0LmZuKCgpID0+ICc8cD50ZXN0IGNvbnRlbnQ8L3A+JyksXG4gICAgc2V0RWRpdGFibGU6IGplc3QuZm4oKSxcbiAgICBjb21tYW5kczogeyBzZXRDb250ZW50OiBqZXN0LmZuKCkgfSxcbiAgICBpc0FjdGl2ZTogamVzdC5mbigoKSA9PiBmYWxzZSksXG4gICAgaXNGb2N1c2VkOiBmYWxzZSxcbiAgfSkpLFxuICB1c2VFZGl0b3JTdGF0ZTogamVzdC5mbigoKSA9PiAoeyBpc0ZvY3VzZWQ6IGZhbHNlIH0pKSxcbn0pKTtcblxuamVzdC5tb2NrKCdAdGlwdGFwL3N0YXJ0ZXIta2l0JywgKCkgPT4gKHtcbiAgX19lc01vZHVsZTogdHJ1ZSxcbiAgZGVmYXVsdDogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbn0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1zdHlsZScsICgpID0+ICh7IFRleHRTdHlsZUtpdDoge30gfSkpO1xuamVzdC5tb2NrKCdAdGlwdGFwL2V4dGVuc2lvbi1jaGFyYWN0ZXItY291bnQnLCAoKSA9PiAoe1xuICBDaGFyYWN0ZXJDb3VudDogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbn0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tc3VwZXJzY3JpcHQnLCAoKSA9PiAoeyBfX2VzTW9kdWxlOiB0cnVlLCBkZWZhdWx0OiB7fSB9KSk7XG5qZXN0Lm1vY2soJ0B0aXB0YXAvZXh0ZW5zaW9uLXN1YnNjcmlwdCcsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0sXG59KSk7XG5qZXN0Lm1vY2soJ0B0aXB0YXAvZXh0ZW5zaW9uLWltYWdlJywgKCkgPT4gKHsgX19lc01vZHVsZTogdHJ1ZSwgZGVmYXVsdDoge30gfSkpO1xuamVzdC5tb2NrKCdAdGlwdGFwL2V4dGVuc2lvbi10YWJsZScsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnQHRpcHRhcC9leHRlbnNpb24tdGFibGUtcm93JywgKCkgPT4gKHsgVGFibGVSb3c6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9leHRlbmRlZC10YWJsZS1jZWxsJywgKCkgPT4gKHtcbiAgRXh0ZW5kZWRUYWJsZUNlbGw6IHt9LFxuICBFeHRlbmRlZFRhYmxlSGVhZGVyOiB7fSxcbn0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9leHRlbmRlZC10YWJsZScsICgpID0+ICh7IF9fZXNNb2R1bGU6IHRydWUsIGRlZmF1bHQ6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9lbnN1cmUtZW1wdHktcm9vdC1kaXYnLCAoKSA9PiAoeyBFbnN1cmVFbXB0eVJvb3RJc0Rpdjoge30gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL2V4dGVuZGVkLWxpc3QtaXRlbScsICgpID0+ICh7IEV4dGVuZGVkTGlzdEl0ZW06IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9lbnN1cmUtbGlzdC1pdGVtLWNvbnRlbnQtaXMtZGl2JywgKCkgPT4gKHsgRW5zdXJlTGlzdEl0ZW1Db250ZW50SXNEaXY6IHt9IH0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucy9yZXNwb25zZUFyZWEnLCAoKSA9PiAoe1xuICBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2VOb2RlOiB7IGNvbmZpZ3VyZTogamVzdC5mbigoKSA9PiAoe30pKSB9LFxuICBEcmFnSW5UaGVCbGFua05vZGU6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0sXG4gIElubGluZURyb3Bkb3duTm9kZTogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSxcbiAgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uOiB7IGNvbmZpZ3VyZTogamVzdC5mbigoKSA9PiAoe30pKSB9LFxufSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL21hdGgnLCAoKSA9PiAoeyBNYXRoTm9kZTogeyBjb25maWd1cmU6IGplc3QuZm4oKCkgPT4gKHt9KSkgfSB9KSk7XG5qZXN0Lm1vY2soJy4uL2V4dGVuc2lvbnMvaW1hZ2UnLCAoKSA9PiAoeyBJbWFnZVVwbG9hZE5vZGU6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL21lZGlhJywgKCkgPT4gKHsgTWVkaWE6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9leHRlbnNpb25zL2NzcycsICgpID0+ICh7IENTU01hcms6IHsgY29uZmlndXJlOiBqZXN0LmZuKCgpID0+ICh7fSkpIH0gfSkpO1xuamVzdC5tb2NrKCcuLi9jb21wb25lbnRzL1RpcHRhcENvbnRhaW5lcicsICgpID0+ICh7XG4gIF9fZXNNb2R1bGU6IHRydWUsXG4gIGRlZmF1bHQ6ICh7IGNoaWxkcmVuIH0pID0+IDxkaXYgZGF0YS10ZXN0aWQ9XCJlZGl0b3ItY29udGFpbmVyXCI+e2NoaWxkcmVufTwvZGl2Pixcbn0pKTtcbmplc3QubW9jaygnLi4vZXh0ZW5zaW9ucycsICgpID0+ICh7XG4gIGJ1aWxkRXh0ZW5zaW9uczogamVzdC5mbigoKSA9PiBbXSksXG4gIEFMTF9QTFVHSU5TOiBbXG4gICAgJ2JvbGQnLFxuICAgICdodG1sJyxcbiAgICAnZXh0cmFDU1NSdWxlcycsXG4gICAgJ2l0YWxpYycsXG4gICAgJ3VuZGVybGluZScsXG4gICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICdidWxsZXRlZC1saXN0JyxcbiAgICAnbnVtYmVyZWQtbGlzdCcsXG4gICAgJ2ltYWdlJyxcbiAgICAnbWF0aCcsXG4gICAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICAgJ3RleHQtYWxpZ24nLFxuICAgICdibG9ja3F1b3RlJyxcbiAgICAnaDMnLFxuICAgICd0YWJsZScsXG4gICAgJ3ZpZGVvJyxcbiAgICAnYXVkaW8nLFxuICAgICdyZXNwb25zZUFyZWEnLFxuICAgICdyZWRvJyxcbiAgICAndW5kbycsXG4gICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAnc3Vic2NyaXB0JyxcbiAgXSxcbiAgREVGQVVMVF9QTFVHSU5TOiBbXG4gICAgJ2JvbGQnLFxuICAgICdodG1sJyxcbiAgICAnZXh0cmFDU1NSdWxlcycsXG4gICAgJ2l0YWxpYycsXG4gICAgJ3VuZGVybGluZScsXG4gICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICdidWxsZXRlZC1saXN0JyxcbiAgICAnbnVtYmVyZWQtbGlzdCcsXG4gICAgJ2ltYWdlJyxcbiAgICAnbWF0aCcsXG4gICAgJ2xhbmd1YWdlQ2hhcmFjdGVycycsXG4gICAgJ3RleHQtYWxpZ24nLFxuICAgICd0YWJsZScsXG4gICAgJ3ZpZGVvJyxcbiAgICAnYXVkaW8nLFxuICAgICdyZWRvJyxcbiAgICAndW5kbycsXG4gICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAnc3Vic2NyaXB0JyxcbiAgXSxcbn0pKTtcblxuZGVzY3JpYmUoJ2VkaXRhYmxlLWh0bWwtdGlwLXRhcCBtb2R1bGUnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdleHBvcnRzJywgKCkgPT4ge1xuICAgIGl0KCdleHBvcnRzIFN0eWxlZEVkaXRvciBhcyBkZWZhdWx0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KFN0eWxlZEVkaXRvcikudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdleHBvcnRzIEVkaXRhYmxlSHRtbCBhcyBuYW1lZCBleHBvcnQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QoRWRpdGFibGVIdG1sKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4cG9ydHMgQUxMX1BMVUdJTlMgYXMgbmFtZWQgZXhwb3J0JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0JlRGVmaW5lZCgpO1xuICAgICAgZXhwZWN0KEFycmF5LmlzQXJyYXkoQUxMX1BMVUdJTlMpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2V4cG9ydHMgREVGQVVMVF9QTFVHSU5TIGFzIG5hbWVkIGV4cG9ydCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChERUZBVUxUX1BMVUdJTlMpLnRvQmVEZWZpbmVkKCk7XG4gICAgICBleHBlY3QoQXJyYXkuaXNBcnJheShERUZBVUxUX1BMVUdJTlMpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ1N0eWxlZEVkaXRvciBhbmQgRWRpdGFibGVIdG1sIHJlZmVyIHRvIHRoZSBzYW1lIGNvbXBvbmVudCcsICgpID0+IHtcbiAgICAgIGV4cGVjdChTdHlsZWRFZGl0b3IpLnRvQmUoRWRpdGFibGVIdG1sKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0FMTF9QTFVHSU5TJywgKCkgPT4ge1xuICAgIGl0KCdjb250YWlucyBleHBlY3RlZCBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KEFMTF9QTFVHSU5TKS50b0NvbnRhaW4oJ2JvbGQnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdpdGFsaWMnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdtYXRoJyk7XG4gICAgICBleHBlY3QoQUxMX1BMVUdJTlMpLnRvQ29udGFpbigndGFibGUnKTtcbiAgICAgIGV4cGVjdChBTExfUExVR0lOUykudG9Db250YWluKCdyZXNwb25zZUFyZWEnKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0RFRkFVTFRfUExVR0lOUycsICgpID0+IHtcbiAgICBpdCgnaXMgYSBzdWJzZXQgb2YgQUxMX1BMVUdJTlMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhbGxQbHVnaW5zU2V0ID0gbmV3IFNldChBTExfUExVR0lOUyk7XG4gICAgICBERUZBVUxUX1BMVUdJTlMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgIGV4cGVjdChhbGxQbHVnaW5zU2V0LmhhcyhwbHVnaW4pKS50b0JlKHRydWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29udGFpbnMgYmFzaWMgZm9ybWF0dGluZyBwbHVnaW5zJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCdib2xkJyk7XG4gICAgICBleHBlY3QoREVGQVVMVF9QTFVHSU5TKS50b0NvbnRhaW4oJ2l0YWxpYycpO1xuICAgICAgZXhwZWN0KERFRkFVTFRfUExVR0lOUykudG9Db250YWluKCd1bmRlcmxpbmUnKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQW9GLFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFB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
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _size = require("../utils/size");
4
+ describe('Size Utilities', function () {
5
+ describe('valueToSize', function () {
6
+ it('returns undefined for falsy values', function () {
7
+ expect((0, _size.valueToSize)(null)).toBeUndefined();
8
+ expect((0, _size.valueToSize)(undefined)).toBeUndefined();
9
+ expect((0, _size.valueToSize)('')).toBeUndefined();
10
+ expect((0, _size.valueToSize)(0)).toBeUndefined();
11
+ });
12
+ it('converts number to px string', function () {
13
+ expect((0, _size.valueToSize)(100)).toBe('100px');
14
+ expect((0, _size.valueToSize)(50)).toBe('50px');
15
+ expect((0, _size.valueToSize)(0)).toBeUndefined();
16
+ });
17
+ it('returns undefined for percentage strings', function () {
18
+ expect((0, _size.valueToSize)('100%')).toBeUndefined();
19
+ expect((0, _size.valueToSize)('50%')).toBeUndefined();
20
+ expect((0, _size.valueToSize)('0%')).toBeUndefined();
21
+ });
22
+ it('preserves valid CSS unit strings', function () {
23
+ expect((0, _size.valueToSize)('100px')).toBe('100px');
24
+ expect((0, _size.valueToSize)('10vh')).toBe('10vh');
25
+ expect((0, _size.valueToSize)('50vw')).toBe('50vw');
26
+ expect((0, _size.valueToSize)('9ch')).toBe('9ch');
27
+ expect((0, _size.valueToSize)('2em')).toBe('2em');
28
+ });
29
+ it('preserves calc() expressions', function () {
30
+ expect((0, _size.valueToSize)('calc(10em + 42px)')).toBe('calc(10em + 42px)');
31
+ expect((0, _size.valueToSize)('calc(100% - 20px)')).toBe('calc(100% - 20px)');
32
+ expect((0, _size.valueToSize)('calc(50vh + 10px)')).toBe('calc(50vh + 10px)');
33
+ });
34
+ it('converts numeric strings to px', function () {
35
+ expect((0, _size.valueToSize)('100')).toBe('100px');
36
+ expect((0, _size.valueToSize)('50')).toBe('50px');
37
+ expect((0, _size.valueToSize)('250')).toBe('250px');
38
+ });
39
+ it('handles invalid numeric strings', function () {
40
+ var result = (0, _size.valueToSize)('invalid');
41
+ expect(isNaN(result)).toBe(true);
42
+ });
43
+ it('handles edge cases with whitespace', function () {
44
+ var result = (0, _size.valueToSize)(' ');
45
+ expect(isNaN(result)).toBe(true);
46
+ });
47
+ it('handles negative numbers', function () {
48
+ expect((0, _size.valueToSize)(-100)).toBe('-100px');
49
+ expect((0, _size.valueToSize)('-50')).toBe('-50px');
50
+ });
51
+ it('handles decimal numbers', function () {
52
+ expect((0, _size.valueToSize)(100.5)).toBe('100.5px');
53
+ expect((0, _size.valueToSize)('100.5')).toBe('100px'); // parseInt truncates
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2l6ZSIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0IiwiZXhwZWN0IiwidmFsdWVUb1NpemUiLCJ0b0JlVW5kZWZpbmVkIiwidW5kZWZpbmVkIiwidG9CZSIsInJlc3VsdCIsImlzTmFOIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9zaXplLXV0aWxzLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdmFsdWVUb1NpemUgfSBmcm9tICcuLi91dGlscy9zaXplJztcblxuZGVzY3JpYmUoJ1NpemUgVXRpbGl0aWVzJywgKCkgPT4ge1xuICBkZXNjcmliZSgndmFsdWVUb1NpemUnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdW5kZWZpbmVkIGZvciBmYWxzeSB2YWx1ZXMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUobnVsbCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSh1bmRlZmluZWQpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJycpKS50b0JlVW5kZWZpbmVkKCk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoMCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb252ZXJ0cyBudW1iZXIgdG8gcHggc3RyaW5nJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKDEwMCkpLnRvQmUoJzEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoNTApKS50b0JlKCc1MHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoMCkpLnRvQmVVbmRlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHVuZGVmaW5lZCBmb3IgcGVyY2VudGFnZSBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAlJykpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTAlJykpLnRvQmVVbmRlZmluZWQoKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnMCUnKSkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyB2YWxpZCBDU1MgdW5pdCBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDBweCcpKS50b0JlKCcxMDBweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMHZoJykpLnRvQmUoJzEwdmgnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTB2dycpKS50b0JlKCc1MHZ3Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJzljaCcpKS50b0JlKCc5Y2gnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnMmVtJykpLnRvQmUoJzJlbScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyBjYWxjKCkgZXhwcmVzc2lvbnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoMTBlbSArIDQycHgpJykpLnRvQmUoJ2NhbGMoMTBlbSArIDQycHgpJyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoMTAwJSAtIDIwcHgpJykpLnRvQmUoJ2NhbGMoMTAwJSAtIDIwcHgpJyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJ2NhbGMoNTB2aCArIDEwcHgpJykpLnRvQmUoJ2NhbGMoNTB2aCArIDEwcHgpJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnY29udmVydHMgbnVtZXJpYyBzdHJpbmdzIHRvIHB4JywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAnKSkudG9CZSgnMTAwcHgnKTtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgnNTAnKSkudG9CZSgnNTBweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcyNTAnKSkudG9CZSgnMjUwcHgnKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYW5kbGVzIGludmFsaWQgbnVtZXJpYyBzdHJpbmdzJywgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gdmFsdWVUb1NpemUoJ2ludmFsaWQnKTtcbiAgICAgIGV4cGVjdChpc05hTihyZXN1bHQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgZWRnZSBjYXNlcyB3aXRoIHdoaXRlc3BhY2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSB2YWx1ZVRvU2l6ZSgnICAnKTtcbiAgICAgIGV4cGVjdChpc05hTihyZXN1bHQpKS50b0JlKHRydWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbmVnYXRpdmUgbnVtYmVycycsICgpID0+IHtcbiAgICAgIGV4cGVjdCh2YWx1ZVRvU2l6ZSgtMTAwKSkudG9CZSgnLTEwMHB4Jyk7XG4gICAgICBleHBlY3QodmFsdWVUb1NpemUoJy01MCcpKS50b0JlKCctNTBweCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgZGVjaW1hbCBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKDEwMC41KSkudG9CZSgnMTAwLjVweCcpO1xuICAgICAgZXhwZWN0KHZhbHVlVG9TaXplKCcxMDAuNScpKS50b0JlKCcxMDBweCcpOyAvLyBwYXJzZUludCB0cnVuY2F0ZXNcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFFQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFlBQU07RUFDL0JBLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtJQUM1QkMsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLFlBQU07TUFDN0NDLE1BQU0sQ0FBQyxJQUFBQyxpQkFBVyxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUNDLGFBQWEsQ0FBQyxDQUFDO01BQ3pDRixNQUFNLENBQUMsSUFBQUMsaUJBQVcsRUFBQ0UsU0FBUyxDQUFD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
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _react2 = require("@testing-library/react");
9
+ var _EditableHtml = require("../components/EditableHtml");
10
+ var renderEditor = function renderEditor(props) {
11
+ return (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({
12
+ markup: "<p>teh</p>",
13
+ onChange: function onChange() {},
14
+ pluginProps: {}
15
+ }, props)));
16
+ };
17
+ var prosemirror = function prosemirror(container) {
18
+ return container.querySelector('.ProseMirror');
19
+ };
20
+ var waitForEditor = /*#__PURE__*/function () {
21
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(container) {
22
+ return _regenerator["default"].wrap(function (_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _context.next = 1;
26
+ return (0, _react2.waitFor)(function () {
27
+ expect(prosemirror(container)).toBeInTheDocument();
28
+ });
29
+ case 1:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }, _callee);
34
+ }));
35
+ return function waitForEditor(_x) {
36
+ return _ref.apply(this, arguments);
37
+ };
38
+ }();
39
+ describe('spellCheck', function () {
40
+ it('turns off browser spellcheck on the contenteditable when spellCheck is false', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
41
+ var _renderEditor, container;
42
+ return _regenerator["default"].wrap(function (_context2) {
43
+ while (1) switch (_context2.prev = _context2.next) {
44
+ case 0:
45
+ _renderEditor = renderEditor({
46
+ spellCheck: false
47
+ }), container = _renderEditor.container;
48
+ _context2.next = 1;
49
+ return waitForEditor(container);
50
+ case 1:
51
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
52
+ expect(prosemirror(container).getAttribute('autocorrect')).toBe('off');
53
+ expect(prosemirror(container).getAttribute('autocapitalize')).toBe('off');
54
+ case 2:
55
+ case "end":
56
+ return _context2.stop();
57
+ }
58
+ }, _callee2);
59
+ })));
60
+ it('leaves browser spellcheck on when spellCheck is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
61
+ var _renderEditor2, container;
62
+ return _regenerator["default"].wrap(function (_context3) {
63
+ while (1) switch (_context3.prev = _context3.next) {
64
+ case 0:
65
+ _renderEditor2 = renderEditor({
66
+ spellCheck: true
67
+ }), container = _renderEditor2.container;
68
+ _context3.next = 1;
69
+ return waitForEditor(container);
70
+ case 1:
71
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
72
+ case 2:
73
+ case "end":
74
+ return _context3.stop();
75
+ }
76
+ }, _callee3);
77
+ })));
78
+ it('keeps the browser default when spellCheck is not provided', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
79
+ var _renderEditor3, container;
80
+ return _regenerator["default"].wrap(function (_context4) {
81
+ while (1) switch (_context4.prev = _context4.next) {
82
+ case 0:
83
+ _renderEditor3 = renderEditor(), container = _renderEditor3.container;
84
+ _context4.next = 1;
85
+ return waitForEditor(container);
86
+ case 1:
87
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
88
+ case 2:
89
+ case "end":
90
+ return _context4.stop();
91
+ }
92
+ }, _callee4);
93
+ })));
94
+ it('updates the contenteditable when spellCheck changes on an existing editor', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
95
+ var _renderEditor4, container, rerender;
96
+ return _regenerator["default"].wrap(function (_context5) {
97
+ while (1) switch (_context5.prev = _context5.next) {
98
+ case 0:
99
+ _renderEditor4 = renderEditor({
100
+ spellCheck: true
101
+ }), container = _renderEditor4.container, rerender = _renderEditor4.rerender;
102
+ _context5.next = 1;
103
+ return waitForEditor(container);
104
+ case 1:
105
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('true');
106
+ rerender(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, {
107
+ markup: "<p>teh</p>",
108
+ onChange: function onChange() {},
109
+ pluginProps: {},
110
+ spellCheck: false
111
+ }));
112
+ _context5.next = 2;
113
+ return (0, _react2.waitFor)(function () {
114
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
115
+ });
116
+ case 2:
117
+ case "end":
118
+ return _context5.stop();
119
+ }
120
+ }, _callee5);
121
+ })));
122
+ it('keeps spellcheck off for a disabled (read-only) editor', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
123
+ var _renderEditor5, container;
124
+ return _regenerator["default"].wrap(function (_context6) {
125
+ while (1) switch (_context6.prev = _context6.next) {
126
+ case 0:
127
+ _renderEditor5 = renderEditor({
128
+ spellCheck: false,
129
+ disabled: true
130
+ }), container = _renderEditor5.container;
131
+ _context6.next = 1;
132
+ return waitForEditor(container);
133
+ case 1:
134
+ expect(prosemirror(container).getAttribute('spellcheck')).toBe('false');
135
+ case 2:
136
+ case "end":
137
+ return _context6.stop();
138
+ }
139
+ }, _callee6);
140
+ })));
141
+ });
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdDIiLCJfRWRpdGFibGVIdG1sIiwicmVuZGVyRWRpdG9yIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiRWRpdGFibGVIdG1sIiwiX2V4dGVuZHMyIiwibWFya3VwIiwib25DaGFuZ2UiLCJwbHVnaW5Qcm9wcyIsInByb3NlbWlycm9yIiwiY29udGFpbmVyIiwicXVlcnlTZWxlY3RvciIsIndhaXRGb3JFZGl0b3IiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIndhaXRGb3IiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGVzY3JpYmUiLCJpdCIsIl9jYWxsZWUyIiwiX3JlbmRlckVkaXRvciIsIl9jb250ZXh0MiIsInNwZWxsQ2hlY2siLCJnZXRBdHRyaWJ1dGUiLCJ0b0JlIiwiX2NhbGxlZTMiLCJfcmVuZGVyRWRpdG9yMiIsIl9jb250ZXh0MyIsIl9jYWxsZWU0IiwiX3JlbmRlckVkaXRvcjMiLCJfY29udGV4dDQiLCJfY2FsbGVlNSIsIl9yZW5kZXJFZGl0b3I0IiwicmVyZW5kZXIiLCJfY29udGV4dDUiLCJfY2FsbGVlNiIsIl9yZW5kZXJFZGl0b3I1IiwiX2NvbnRleHQ2IiwiZGlzYWJsZWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL3NwZWxsY2hlY2sudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHJlbmRlciwgd2FpdEZvciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgRWRpdGFibGVIdG1sIH0gZnJvbSAnLi4vY29tcG9uZW50cy9FZGl0YWJsZUh0bWwnO1xuXG5jb25zdCByZW5kZXJFZGl0b3IgPSAocHJvcHMpID0+XG4gIHJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD1cIjxwPnRlaDwvcD5cIiBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gey4uLnByb3BzfSAvPik7XG5cbmNvbnN0IHByb3NlbWlycm9yID0gKGNvbnRhaW5lcikgPT4gY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoJy5Qcm9zZU1pcnJvcicpO1xuXG5jb25zdCB3YWl0Rm9yRWRpdG9yID0gYXN5bmMgKGNvbnRhaW5lcikgPT4ge1xuICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICBleHBlY3QocHJvc2VtaXJyb3IoY29udGFpbmVyKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG59O1xuXG5kZXNjcmliZSgnc3BlbGxDaGVjaycsICgpID0+IHtcbiAgaXQoJ3R1cm5zIG9mZiBicm93c2VyIHNwZWxsY2hlY2sgb24gdGhlIGNvbnRlbnRlZGl0YWJsZSB3aGVuIHNwZWxsQ2hlY2sgaXMgZmFsc2UnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcih7IHNwZWxsQ2hlY2s6IGZhbHNlIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuXG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ2ZhbHNlJyk7XG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdhdXRvY29ycmVjdCcpKS50b0JlKCdvZmYnKTtcbiAgICBleHBlY3QocHJvc2VtaXJyb3IoY29udGFpbmVyKS5nZXRBdHRyaWJ1dGUoJ2F1dG9jYXBpdGFsaXplJykpLnRvQmUoJ29mZicpO1xuICB9KTtcblxuICBpdCgnbGVhdmVzIGJyb3dzZXIgc3BlbGxjaGVjayBvbiB3aGVuIHNwZWxsQ2hlY2sgaXMgdHJ1ZScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyRWRpdG9yKHsgc3BlbGxDaGVjazogdHJ1ZSB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3JFZGl0b3IoY29udGFpbmVyKTtcblxuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCd0cnVlJyk7XG4gIH0pO1xuXG4gIGl0KCdrZWVwcyB0aGUgYnJvd3NlciBkZWZhdWx0IHdoZW4gc3BlbGxDaGVjayBpcyBub3QgcHJvdmlkZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcigpO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuXG4gICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ3RydWUnKTtcbiAgfSk7XG5cbiAgaXQoJ3VwZGF0ZXMgdGhlIGNvbnRlbnRlZGl0YWJsZSB3aGVuIHNwZWxsQ2hlY2sgY2hhbmdlcyBvbiBhbiBleGlzdGluZyBlZGl0b3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIsIHJlcmVuZGVyIH0gPSByZW5kZXJFZGl0b3IoeyBzcGVsbENoZWNrOiB0cnVlIH0pO1xuXG4gICAgYXdhaXQgd2FpdEZvckVkaXRvcihjb250YWluZXIpO1xuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCd0cnVlJyk7XG5cbiAgICByZXJlbmRlcig8RWRpdGFibGVIdG1sIG1hcmt1cD1cIjxwPnRlaDwvcD5cIiBvbkNoYW5nZT17KCkgPT4ge319IHBsdWdpblByb3BzPXt7fX0gc3BlbGxDaGVjaz17ZmFsc2V9IC8+KTtcblxuICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgICAgZXhwZWN0KHByb3NlbWlycm9yKGNvbnRhaW5lcikuZ2V0QXR0cmlidXRlKCdzcGVsbGNoZWNrJykpLnRvQmUoJ2ZhbHNlJyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdrZWVwcyBzcGVsbGNoZWNrIG9mZiBmb3IgYSBkaXNhYmxlZCAocmVhZC1vbmx5KSBlZGl0b3InLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckVkaXRvcih7IHNwZWxsQ2hlY2s6IGZhbHNlLCBkaXNhYmxlZDogdHJ1ZSB9KTtcblxuICAgIGF3YWl0IHdhaXRGb3JFZGl0b3IoY29udGFpbmVyKTtcblxuICAgIGV4cGVjdChwcm9zZW1pcnJvcihjb250YWluZXIpLmdldEF0dHJpYnV0ZSgnc3BlbGxjaGVjaycpKS50b0JlKCdmYWxzZScpO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFNRyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsS0FBSztFQUFBLE9BQ3pCLElBQUFDLGNBQU0sZUFBQ1AsTUFBQSxZQUFBUSxhQUFBLENBQUNKLGFBQUEsQ0FBQUssWUFBWSxNQUFBQyxTQUFBO0lBQUNDLE1BQU0sRUFBQyxZQUFZO0lBQUNDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBLEVBQVEsQ0FBQyxDQUFFO0lBQUNDLFdBQVcsRUFBRSxDQUFDO0VBQUUsR0FBS1AsS0FBSyxDQUFHLENBQUMsQ0FBQztBQUFBO0FBRTlGLElBQU1RLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxTQUFTO0VBQUEsT0FBS0EsU0FBUyxDQUFDQyxhQUFhLENBQUMsY0FBYyxDQUFDO0FBQUE7QUFFMUUsSUFBTUMsYUFBYTtFQUFBLElBQUFDLElBQUEsT0FBQUMsa0JBQUEsMEJBQUFDLFlBQUEsWUFBQUMs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
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _theme = require("../theme");
4
+ describe('Theme', function () {
5
+ describe('primary color', function () {
6
+ it('is defined', function () {
7
+ expect(_theme.primary).toBeDefined();
8
+ });
9
+ it('has the correct hex value', function () {
10
+ expect(_theme.primary).toBe('#304ffe');
11
+ });
12
+ it('is a valid hex color', function () {
13
+ expect(_theme.primary).toMatch(/^#[0-9A-Fa-f]{6}$/);
14
+ });
15
+ });
16
+ });
17
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGhlbWUiLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJpdCIsImV4cGVjdCIsInByaW1hcnkiLCJ0b0JlRGVmaW5lZCIsInRvQmUiLCJ0b01hdGNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy90aGVtZS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByaW1hcnkgfSBmcm9tICcuLi90aGVtZSc7XG5cbmRlc2NyaWJlKCdUaGVtZScsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3ByaW1hcnkgY29sb3InLCAoKSA9PiB7XG4gICAgaXQoJ2lzIGRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBleHBlY3QocHJpbWFyeSkudG9CZURlZmluZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdoYXMgdGhlIGNvcnJlY3QgaGV4IHZhbHVlJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHByaW1hcnkpLnRvQmUoJyMzMDRmZmUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdpcyBhIHZhbGlkIGhleCBjb2xvcicsICgpID0+IHtcbiAgICAgIGV4cGVjdChwcmltYXJ5KS50b01hdGNoKC9eI1swLTlBLUZhLWZdezZ9JC8pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUVBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQU07RUFDdEJBLFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUM5QkMsRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFNO01BQ3JCQyxNQUFNLENBQUNDLGNBQU8sQ0FBQyxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDLENBQUM7SUFFRkgsRUFBRSxDQUFDLDJCQUEyQixFQUFFLFlBQU07TUFDcENDLE1BQU0sQ0FBQ0MsY0FBTyxDQUFDLENBQUNFLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDakMsQ0FBQyxDQUFDO0lBRUZKLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO01BQy9CQyxNQUFNLENBQUNDLGNBQU8sQ0FBQyxDQUFDRyxPQUFPLENBQUMsbUJBQW1CLENBQUM7SUFDOUMsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119