@pie-lib/editable-html-tip-tap 1.0.2 → 1.0.4

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 (165) hide show
  1. package/lib/components/CharacterPicker.js +221 -0
  2. package/lib/components/CharacterPicker.js.map +1 -0
  3. package/lib/components/EditableHtml.js +323 -0
  4. package/lib/components/EditableHtml.js.map +1 -0
  5. package/lib/components/MenuBar.js +694 -0
  6. package/lib/components/MenuBar.js.map +1 -0
  7. package/lib/components/TiptapContainer.js +90 -0
  8. package/lib/components/TiptapContainer.js.map +1 -0
  9. package/lib/components/buttons/done-button.js +53 -0
  10. package/lib/components/characters/characterUtils.js +112 -0
  11. package/lib/components/characters/characterUtils.js.map +1 -0
  12. package/lib/components/characters/custom-popper.js +73 -0
  13. package/lib/components/characters/custom-popper.js.map +1 -0
  14. package/lib/components/common/done-button.js +53 -0
  15. package/lib/components/common/done-button.js.map +1 -0
  16. package/lib/components/common/toolbar-buttons.js +194 -0
  17. package/lib/components/icons/CssIcon.js +37 -0
  18. package/lib/components/icons/CssIcon.js.map +1 -0
  19. package/lib/components/icons/RespArea.js +95 -0
  20. package/lib/components/icons/RespArea.js.map +1 -0
  21. package/lib/components/icons/TableIcons.js +69 -0
  22. package/lib/components/icons/TableIcons.js.map +1 -0
  23. package/lib/components/icons/TextAlign.js +194 -0
  24. package/lib/components/icons/TextAlign.js.map +1 -0
  25. package/lib/components/icons/index.js +194 -0
  26. package/lib/components/image/AltDialog.js +129 -0
  27. package/lib/components/image/ImageToolbar.js +177 -0
  28. package/lib/components/image/ImageToolbar.js.map +1 -0
  29. package/lib/components/image/InsertImageHandler.js +115 -0
  30. package/lib/components/image/InsertImageHandler.js.map +1 -0
  31. package/lib/components/image/alt-dialog.js +2 -0
  32. package/lib/components/media/MediaDialog.js +709 -0
  33. package/lib/components/media/MediaDialog.js.map +1 -0
  34. package/lib/components/media/MediaToolbar.js +101 -0
  35. package/lib/components/media/MediaToolbar.js.map +1 -0
  36. package/lib/components/media/MediaWrapper.js +93 -0
  37. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +94 -0
  38. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +1 -0
  39. package/lib/components/respArea/DragInTheBlank/choice.js +289 -0
  40. package/lib/components/respArea/DragInTheBlank/choice.js.map +1 -0
  41. package/lib/components/respArea/DragInTheBlank.js +94 -0
  42. package/lib/components/respArea/ExplicitConstructedResponse.js +120 -0
  43. package/lib/components/respArea/ExplicitConstructedResponse.js.map +1 -0
  44. package/lib/components/respArea/InlineDropdown.js +126 -0
  45. package/lib/components/respArea/InlineDropdown.js.map +1 -0
  46. package/lib/components/respArea/ToolbarIcon.js +105 -0
  47. package/lib/components/respArea/ToolbarIcon.js.map +1 -0
  48. package/lib/components/respArea/choice.js +2 -0
  49. package/lib/constants.js.map +1 -0
  50. package/lib/extensions/component.js +5 -5
  51. package/lib/extensions/component.js.map +1 -0
  52. package/lib/extensions/css.js.map +1 -0
  53. package/lib/extensions/custom-toolbar-wrapper.js +2 -4
  54. package/lib/extensions/custom-toolbar-wrapper.js.map +1 -0
  55. package/lib/extensions/extended-table.js +30 -0
  56. package/lib/extensions/extended-table.js.map +1 -0
  57. package/lib/extensions/image.js +2 -8
  58. package/lib/extensions/image.js.map +1 -0
  59. package/lib/extensions/index.js +52 -0
  60. package/lib/extensions/index.js.map +1 -0
  61. package/lib/extensions/math.js.map +1 -0
  62. package/lib/extensions/media.js +7 -7
  63. package/lib/extensions/media.js.map +1 -0
  64. package/lib/extensions/responseArea.js +7 -7
  65. package/lib/extensions/responseArea.js.map +1 -0
  66. package/lib/index.js +16 -1481
  67. package/lib/index.js.map +1 -0
  68. package/lib/plugins/index.js +8 -80
  69. package/lib/styles/editorContainerStyles.js +200 -0
  70. package/lib/styles/editorContainerStyles.js.map +1 -0
  71. package/lib/theme.js.map +1 -0
  72. package/lib/utils/size.js +34 -0
  73. package/lib/utils/size.js.map +1 -0
  74. package/package.json +1 -1
  75. package/src/components/CharacterPicker.jsx +185 -0
  76. package/src/components/EditableHtml.jsx +306 -0
  77. package/src/components/MenuBar.jsx +630 -0
  78. package/src/components/TiptapContainer.jsx +96 -0
  79. package/src/components/characters/characterUtils.js +127 -0
  80. package/src/{plugins/image/image-toolbar.jsx → components/image/ImageToolbar.jsx} +2 -2
  81. package/src/{plugins/image/insert-image-handler.js → components/image/InsertImageHandler.js} +0 -1
  82. package/src/{plugins/media/media-dialog.js → components/media/MediaDialog.js} +2 -2
  83. package/src/{plugins/respArea/drag-in-the-blank → components/respArea/DragInTheBlank}/choice.jsx +1 -1
  84. package/src/{plugins/respArea/inline-dropdown/index.jsx → components/respArea/InlineDropdown.jsx} +1 -1
  85. package/src/components/respArea/ToolbarIcon.jsx +68 -0
  86. package/src/extensions/component.jsx +2 -2
  87. package/src/extensions/custom-toolbar-wrapper.jsx +6 -7
  88. package/src/extensions/extended-table.js +27 -0
  89. package/src/extensions/image.js +2 -2
  90. package/src/extensions/index.js +76 -0
  91. package/src/extensions/media.js +12 -7
  92. package/src/extensions/responseArea.js +7 -7
  93. package/src/index.jsx +3 -1440
  94. package/src/styles/editorContainerStyles.js +203 -0
  95. package/src/utils/size.js +32 -0
  96. package/src/__tests__/editor.test.jsx +0 -363
  97. package/src/__tests__/serialization.test.js +0 -291
  98. package/src/block-tags.js +0 -17
  99. package/src/editor.jsx +0 -1197
  100. package/src/extensions/characters.js +0 -46
  101. package/src/old-index.jsx +0 -162
  102. package/src/parse-html.js +0 -8
  103. package/src/plugins/README.md +0 -27
  104. package/src/plugins/characters/index.jsx +0 -284
  105. package/src/plugins/characters/utils.js +0 -447
  106. package/src/plugins/css/index.jsx +0 -340
  107. package/src/plugins/customPlugin/index.jsx +0 -85
  108. package/src/plugins/html/icons/index.jsx +0 -19
  109. package/src/plugins/html/index.jsx +0 -72
  110. package/src/plugins/image/__tests__/__snapshots__/component.test.jsx.snap +0 -51
  111. package/src/plugins/image/__tests__/__snapshots__/image-toolbar-logic.test.jsx.snap +0 -27
  112. package/src/plugins/image/__tests__/__snapshots__/image-toolbar.test.jsx.snap +0 -44
  113. package/src/plugins/image/__tests__/component.test.jsx +0 -41
  114. package/src/plugins/image/__tests__/image-toolbar-logic.test.jsx +0 -42
  115. package/src/plugins/image/__tests__/image-toolbar.test.jsx +0 -11
  116. package/src/plugins/image/__tests__/index.test.js +0 -95
  117. package/src/plugins/image/__tests__/insert-image-handler.test.js +0 -113
  118. package/src/plugins/image/__tests__/mock-change.js +0 -15
  119. package/src/plugins/image/component.jsx +0 -343
  120. package/src/plugins/image/index.jsx +0 -227
  121. package/src/plugins/index.jsx +0 -377
  122. package/src/plugins/list/__tests__/index.test.js +0 -54
  123. package/src/plugins/list/index.jsx +0 -305
  124. package/src/plugins/math/__tests__/__snapshots__/index.test.jsx.snap +0 -48
  125. package/src/plugins/math/__tests__/index.test.jsx +0 -245
  126. package/src/plugins/math/index.jsx +0 -379
  127. package/src/plugins/media/__tests__/index.test.js +0 -75
  128. package/src/plugins/media/index.jsx +0 -325
  129. package/src/plugins/rendering/index.js +0 -31
  130. package/src/plugins/respArea/index.jsx +0 -299
  131. package/src/plugins/respArea/math-templated/index.jsx +0 -104
  132. package/src/plugins/respArea/utils.jsx +0 -90
  133. package/src/plugins/table/CustomTablePlugin.js +0 -113
  134. package/src/plugins/table/__tests__/__snapshots__/table-toolbar.test.jsx.snap +0 -44
  135. package/src/plugins/table/__tests__/index.test.jsx +0 -401
  136. package/src/plugins/table/__tests__/table-toolbar.test.jsx +0 -42
  137. package/src/plugins/table/index.jsx +0 -427
  138. package/src/plugins/table/table-toolbar.jsx +0 -136
  139. package/src/plugins/textAlign/index.jsx +0 -23
  140. package/src/plugins/toolbar/__tests__/__snapshots__/default-toolbar.test.jsx.snap +0 -923
  141. package/src/plugins/toolbar/__tests__/__snapshots__/editor-and-toolbar.test.jsx.snap +0 -20
  142. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar-buttons.test.jsx.snap +0 -36
  143. package/src/plugins/toolbar/__tests__/__snapshots__/toolbar.test.jsx.snap +0 -46
  144. package/src/plugins/toolbar/__tests__/default-toolbar.test.jsx +0 -94
  145. package/src/plugins/toolbar/__tests__/editor-and-toolbar.test.jsx +0 -37
  146. package/src/plugins/toolbar/__tests__/toolbar-buttons.test.jsx +0 -51
  147. package/src/plugins/toolbar/__tests__/toolbar.test.jsx +0 -106
  148. package/src/plugins/toolbar/default-toolbar.jsx +0 -206
  149. package/src/plugins/toolbar/editor-and-toolbar.jsx +0 -257
  150. package/src/plugins/toolbar/index.jsx +0 -23
  151. package/src/plugins/toolbar/toolbar.jsx +0 -338
  152. package/src/plugins/utils.js +0 -31
  153. package/src/serialization.jsx +0 -621
  154. /package/src/{plugins → components}/characters/custom-popper.js +0 -0
  155. /package/src/{plugins/toolbar → components/common}/done-button.jsx +0 -0
  156. /package/src/{plugins/toolbar → components/common}/toolbar-buttons.jsx +0 -0
  157. /package/src/{plugins/css/icons/index.jsx → components/icons/CssIcon.jsx} +0 -0
  158. /package/src/{plugins/respArea/icons/index.jsx → components/icons/RespArea.jsx} +0 -0
  159. /package/src/{plugins/table/icons/index.jsx → components/icons/TableIcons.jsx} +0 -0
  160. /package/src/{plugins/textAlign/icons/index.jsx → components/icons/TextAlign.jsx} +0 -0
  161. /package/src/{plugins/image/alt-dialog.jsx → components/image/AltDialog.jsx} +0 -0
  162. /package/src/{plugins/media/media-toolbar.jsx → components/media/MediaToolbar.jsx} +0 -0
  163. /package/src/{plugins/media/media-wrapper.jsx → components/media/MediaWrapper.jsx} +0 -0
  164. /package/src/{plugins/respArea/drag-in-the-blank/index.jsx → components/respArea/DragInTheBlank/DragInTheBlank.jsx} +0 -0
  165. /package/src/{plugins/respArea/explicit-constructed-response/index.jsx → components/respArea/ExplicitConstructedResponse.jsx} +0 -0
@@ -1,291 +0,0 @@
1
- import { htmlToValue, TEXT_RULE } from '../serialization';
2
-
3
- jest.mock('../plugins/math', () => ({
4
- serialization: {
5
- serialize: jest.fn((o, c) => {
6
- return undefined;
7
- }),
8
- deserialize: jest.fn((el, next) => {
9
- return undefined;
10
- }),
11
- },
12
- }));
13
-
14
- describe('TEXT_RULE', () => {
15
- const mkBr = (previousSibling) => {
16
- return {
17
- remove: jest.fn(),
18
- previousSibling,
19
- replaceWith: (foo) => {
20
- previousSibling.textContent = previousSibling.textContent.replace(/(<br>)|(<\/br>)/g, foo);
21
- },
22
- normalize: jest.fn().mockReturnThis(),
23
- tagName: 'br',
24
- };
25
- };
26
-
27
- const mkTextNode = (textContent = '') => ({
28
- nodeName: '#text',
29
- textContent,
30
- normalize: jest.fn().mockReturnThis(),
31
- });
32
-
33
- const mkEl = (querySelectorAllResult) => ({
34
- querySelectorAll: jest.fn().mockReturnValue(querySelectorAllResult),
35
- normalize: jest.fn().mockReturnThis(),
36
- });
37
-
38
- describe('deserialize', () => {
39
- it('if no previous text node, no error is thrown', () => {
40
- const br = mkBr();
41
- const el = mkEl([br]);
42
- expect(() => TEXT_RULE.deserialize(el)).not.toThrow();
43
- });
44
- });
45
- });
46
-
47
- describe('htmlToValue', () => {
48
- it('converts', () => {
49
- const expected = {
50
- object: 'value',
51
- document: {
52
- object: 'document',
53
- data: {},
54
- nodes: [
55
- {
56
- object: 'block',
57
- type: 'div',
58
- isVoid: false,
59
- data: {
60
- attributes: {},
61
- },
62
- nodes: [
63
- {
64
- object: 'block',
65
- type: 'paragraph',
66
- isVoid: false,
67
- data: {
68
- attributes: {},
69
- },
70
- nodes: [
71
- {
72
- object: 'text',
73
- leaves: [
74
- {
75
- object: 'leaf',
76
- text: 'foo',
77
- marks: [],
78
- },
79
- ],
80
- },
81
- {
82
- object: 'inline',
83
- type: 'image',
84
- isVoid: true,
85
- data: {
86
- src: 'blah.jpg',
87
- width: null,
88
- height: null,
89
- margin: '',
90
- justifyContent: '',
91
- alignment: null,
92
- alt: null,
93
- },
94
- nodes: [
95
- {
96
- object: 'text',
97
- leaves: [
98
- {
99
- object: 'leaf',
100
- text: '',
101
- marks: [],
102
- },
103
- ],
104
- },
105
- ],
106
- },
107
- {
108
- object: 'text',
109
- leaves: [
110
- {
111
- object: 'leaf',
112
- text: 'bar',
113
- marks: [],
114
- },
115
- ],
116
- },
117
- ],
118
- },
119
- ],
120
- },
121
- ],
122
- },
123
- };
124
- const html = `<div><p>foo<img src="blah.jpg"/>bar</p></div>`;
125
- const v = htmlToValue(html);
126
-
127
- console.log(JSON.stringify(v.toJSON()));
128
- expect(v.toJSON()).toEqual(expected);
129
- });
130
-
131
- it('does not break', () => {
132
- /*
133
- More than 12 iterations of the same kind would previously break the input. Here we have 16 text nodes, and now it works.
134
- */
135
- const expected = {
136
- object: 'value',
137
- document: {
138
- object: 'document',
139
- data: {},
140
- nodes: [
141
- {
142
- object: 'block',
143
- type: 'div',
144
- isVoid: false,
145
- data: { attributes: {} },
146
- nodes: [
147
- {
148
- object: 'text',
149
- leaves: [
150
- {
151
- object: 'leaf',
152
- text: 'Foo ',
153
- marks: [],
154
- },
155
- {
156
- object: 'leaf',
157
- text: 'x',
158
- marks: [
159
- {
160
- object: 'mark',
161
- type: 'italic',
162
- data: {},
163
- },
164
- ],
165
- },
166
- {
167
- object: 'leaf',
168
- text: ' bar ',
169
- marks: [],
170
- },
171
- {
172
- object: 'leaf',
173
- text: 'x',
174
- marks: [
175
- {
176
- object: 'mark',
177
- type: 'italic',
178
- data: {},
179
- },
180
- ],
181
- },
182
- {
183
- object: 'leaf',
184
- text: ' Foo ',
185
- marks: [],
186
- },
187
- {
188
- object: 'leaf',
189
- text: 'x',
190
- marks: [
191
- {
192
- object: 'mark',
193
- type: 'italic',
194
- data: {},
195
- },
196
- ],
197
- },
198
- {
199
- object: 'leaf',
200
- text: ' bar ',
201
- marks: [],
202
- },
203
- {
204
- object: 'leaf',
205
- text: 'x',
206
- marks: [
207
- {
208
- object: 'mark',
209
- type: 'italic',
210
- data: {},
211
- },
212
- ],
213
- },
214
- {
215
- object: 'leaf',
216
- text: ' Foo ',
217
- marks: [],
218
- },
219
- {
220
- object: 'leaf',
221
- text: 'x',
222
- marks: [
223
- {
224
- object: 'mark',
225
- type: 'italic',
226
- data: {},
227
- },
228
- ],
229
- },
230
- {
231
- object: 'leaf',
232
- text: ' bar ',
233
- marks: [],
234
- },
235
- {
236
- object: 'leaf',
237
- text: 'x',
238
- marks: [
239
- {
240
- object: 'mark',
241
- type: 'italic',
242
- data: {},
243
- },
244
- ],
245
- },
246
- {
247
- object: 'leaf',
248
- text: ' Foo ',
249
- marks: [],
250
- },
251
- {
252
- object: 'leaf',
253
- text: 'x',
254
- marks: [
255
- {
256
- object: 'mark',
257
- type: 'italic',
258
- data: {},
259
- },
260
- ],
261
- },
262
- {
263
- object: 'leaf',
264
- text: ' bar ',
265
- marks: [],
266
- },
267
- {
268
- object: 'leaf',
269
- text: 'x',
270
- marks: [
271
- {
272
- object: 'mark',
273
- type: 'italic',
274
- data: {},
275
- },
276
- ],
277
- },
278
- ],
279
- },
280
- ],
281
- },
282
- ],
283
- },
284
- };
285
- const html =
286
- '<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>';
287
- const v = htmlToValue(html);
288
-
289
- expect(v.toJSON()).toEqual(expected);
290
- });
291
- });
package/src/block-tags.js DELETED
@@ -1,17 +0,0 @@
1
- /**
2
- * Tags to blocks.
3
- *
4
- * @type {Object}
5
- */
6
-
7
- export const BLOCK_TAGS = {
8
- div: 'div',
9
- // span: 'span',
10
- p: 'paragraph',
11
- pre: 'code',
12
- h1: 'heading-one',
13
- h2: 'heading-two',
14
- h4: 'heading-four',
15
- h5: 'heading-five',
16
- h6: 'heading-six',
17
- };