@pie-lib/editable-html-tip-tap 2.2.0-beta.7 → 3.0.0-next.35

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 (374) hide show
  1. package/dist/components/CharacterPicker.d.ts +31 -0
  2. package/dist/components/CharacterPicker.js +141 -0
  3. package/dist/components/EditableHtml.d.ts +11 -0
  4. package/dist/components/EditableHtml.js +330 -0
  5. package/dist/components/MenuBar.d.ts +11 -0
  6. package/dist/components/MenuBar.js +528 -0
  7. package/dist/components/TiptapContainer.d.ts +11 -0
  8. package/dist/components/TiptapContainer.js +167 -0
  9. package/dist/components/characters/characterUtils.d.ts +35 -0
  10. package/dist/components/characters/characterUtils.js +465 -0
  11. package/dist/components/characters/custom-popper.d.ts +14 -0
  12. package/dist/components/characters/custom-popper.js +32 -0
  13. package/dist/components/common/done-button.d.ts +30 -0
  14. package/dist/components/common/done-button.js +26 -0
  15. package/dist/components/common/toolbar-buttons.d.ts +38 -0
  16. package/dist/components/common/toolbar-buttons.js +96 -0
  17. package/dist/components/icons/CssIcon.d.ts +11 -0
  18. package/dist/components/icons/CssIcon.js +14 -0
  19. package/dist/components/icons/RespArea.d.ts +26 -0
  20. package/dist/components/icons/RespArea.js +42 -0
  21. package/dist/components/icons/TableIcons.d.ts +14 -0
  22. package/dist/components/icons/TableIcons.js +34 -0
  23. package/dist/components/icons/TextAlign.d.ts +18 -0
  24. package/dist/components/icons/TextAlign.js +143 -0
  25. package/dist/components/image/AltDialog.d.ts +22 -0
  26. package/dist/components/image/AltDialog.js +61 -0
  27. package/dist/components/image/ImageToolbar.d.ts +24 -0
  28. package/dist/components/image/ImageToolbar.js +80 -0
  29. package/dist/components/image/InsertImageHandler.d.ts +32 -0
  30. package/dist/components/image/InsertImageHandler.js +53 -0
  31. package/dist/components/media/MediaDialog.d.ts +43 -0
  32. package/dist/components/media/MediaDialog.js +389 -0
  33. package/dist/components/media/MediaToolbar.d.ts +19 -0
  34. package/dist/components/media/MediaToolbar.js +41 -0
  35. package/dist/components/media/MediaWrapper.d.ts +19 -0
  36. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.d.ts +23 -0
  37. package/dist/components/respArea/DragInTheBlank/DragInTheBlank.js +58 -0
  38. package/dist/components/respArea/DragInTheBlank/choice.d.ts +56 -0
  39. package/dist/components/respArea/DragInTheBlank/choice.js +157 -0
  40. package/dist/components/respArea/ExplicitConstructedResponse.d.ts +20 -0
  41. package/dist/components/respArea/ExplicitConstructedResponse.js +84 -0
  42. package/dist/components/respArea/InlineDropdown.d.ts +18 -0
  43. package/dist/components/respArea/InlineDropdown.js +126 -0
  44. package/dist/components/respArea/MathTemplated.d.ts +19 -0
  45. package/dist/components/respArea/MathTemplated.js +98 -0
  46. package/dist/components/respArea/ToolbarIcon.d.ts +14 -0
  47. package/dist/components/respArea/ToolbarIcon.js +17 -0
  48. package/dist/components/respArea/inlineDropdownUtils.d.ts +15 -0
  49. package/dist/components/respArea/inlineDropdownUtils.js +15 -0
  50. package/dist/constants.d.ts +13 -0
  51. package/dist/constants.js +4 -0
  52. package/dist/extensions/css.d.ts +11 -0
  53. package/dist/extensions/css.js +120 -0
  54. package/dist/extensions/custom-toolbar-wrapper.d.ts +11 -0
  55. package/dist/extensions/custom-toolbar-wrapper.js +61 -0
  56. package/dist/extensions/div-node.d.ts +10 -0
  57. package/dist/extensions/div-node.js +42 -0
  58. package/dist/extensions/ensure-empty-root-div.d.ts +14 -0
  59. package/dist/extensions/ensure-empty-root-div.js +24 -0
  60. package/dist/extensions/ensure-list-item-content-is-div.d.ts +15 -0
  61. package/dist/extensions/ensure-list-item-content-is-div.js +31 -0
  62. package/dist/extensions/extended-list-item.d.ts +13 -0
  63. package/dist/extensions/extended-list-item.js +5 -0
  64. package/dist/extensions/extended-table-cell.d.ts +10 -0
  65. package/dist/extensions/extended-table-cell.js +6 -0
  66. package/dist/extensions/extended-table.d.ts +17 -0
  67. package/dist/extensions/extended-table.js +34 -0
  68. package/dist/extensions/heading-paragraph.d.ts +17 -0
  69. package/dist/extensions/heading-paragraph.js +30 -0
  70. package/dist/extensions/image-component.d.ts +22 -0
  71. package/dist/extensions/image-component.js +225 -0
  72. package/dist/extensions/image.d.ts +10 -0
  73. package/dist/extensions/image.js +68 -0
  74. package/dist/extensions/index.d.ts +16 -0
  75. package/dist/extensions/index.js +64 -0
  76. package/dist/extensions/math.d.ts +15 -0
  77. package/dist/extensions/math.js +213 -0
  78. package/dist/extensions/media.d.ts +19 -0
  79. package/dist/extensions/media.js +149 -0
  80. package/dist/extensions/responseArea.d.ts +27 -0
  81. package/dist/extensions/responseArea.js +255 -0
  82. package/dist/index.d.ts +13 -0
  83. package/dist/index.js +7 -0
  84. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  85. package/dist/styles/editorContainerStyles.d.ts +134 -0
  86. package/dist/theme.d.ts +9 -0
  87. package/dist/utils/helper.d.ts +9 -0
  88. package/dist/utils/helper.js +27 -0
  89. package/dist/utils/size.d.ts +9 -0
  90. package/dist/utils/size.js +14 -0
  91. package/dist/utils/toolbar.d.ts +10 -0
  92. package/dist/utils/toolbar.js +7 -0
  93. package/package.json +43 -29
  94. package/CHANGELOG.json +0 -32
  95. package/CHANGELOG.md +0 -2532
  96. package/lib/__tests__/EditableHtml.test.js +0 -831
  97. package/lib/__tests__/EditableHtml.test.js.map +0 -1
  98. package/lib/__tests__/constants.test.js +0 -21
  99. package/lib/__tests__/constants.test.js.map +0 -1
  100. package/lib/__tests__/div-to-paragraph-conversion.test.js +0 -213
  101. package/lib/__tests__/div-to-paragraph-conversion.test.js.map +0 -1
  102. package/lib/__tests__/extensions.test.js +0 -209
  103. package/lib/__tests__/extensions.test.js.map +0 -1
  104. package/lib/__tests__/index.test.js +0 -250
  105. package/lib/__tests__/index.test.js.map +0 -1
  106. package/lib/__tests__/size-utils.test.js +0 -57
  107. package/lib/__tests__/size-utils.test.js.map +0 -1
  108. package/lib/__tests__/theme.test.js +0 -17
  109. package/lib/__tests__/theme.test.js.map +0 -1
  110. package/lib/components/CharacterPicker.js +0 -226
  111. package/lib/components/CharacterPicker.js.map +0 -1
  112. package/lib/components/EditableHtml.js +0 -388
  113. package/lib/components/EditableHtml.js.map +0 -1
  114. package/lib/components/MenuBar.js +0 -702
  115. package/lib/components/MenuBar.js.map +0 -1
  116. package/lib/components/TiptapContainer.js +0 -242
  117. package/lib/components/TiptapContainer.js.map +0 -1
  118. package/lib/components/__tests__/AltDialog.test.js +0 -201
  119. package/lib/components/__tests__/AltDialog.test.js.map +0 -1
  120. package/lib/components/__tests__/CharacterPicker.test.js +0 -455
  121. package/lib/components/__tests__/CharacterPicker.test.js.map +0 -1
  122. package/lib/components/__tests__/CssIcon.test.js +0 -58
  123. package/lib/components/__tests__/CssIcon.test.js.map +0 -1
  124. package/lib/components/__tests__/DragInTheBlank.test.js +0 -295
  125. package/lib/components/__tests__/DragInTheBlank.test.js.map +0 -1
  126. package/lib/components/__tests__/ExplicitConstructedResponse.test.js +0 -345
  127. package/lib/components/__tests__/ExplicitConstructedResponse.test.js.map +0 -1
  128. package/lib/components/__tests__/ImageToolbar.test.js +0 -185
  129. package/lib/components/__tests__/ImageToolbar.test.js.map +0 -1
  130. package/lib/components/__tests__/InlineDropdown.test.js +0 -839
  131. package/lib/components/__tests__/InlineDropdown.test.js.map +0 -1
  132. package/lib/components/__tests__/InsertImageHandler.test.js +0 -171
  133. package/lib/components/__tests__/InsertImageHandler.test.js.map +0 -1
  134. package/lib/components/__tests__/MediaDialog.test.js +0 -433
  135. package/lib/components/__tests__/MediaDialog.test.js.map +0 -1
  136. package/lib/components/__tests__/MediaToolbar.test.js +0 -126
  137. package/lib/components/__tests__/MediaToolbar.test.js.map +0 -1
  138. package/lib/components/__tests__/MediaWrapper.test.js +0 -96
  139. package/lib/components/__tests__/MediaWrapper.test.js.map +0 -1
  140. package/lib/components/__tests__/MenuBar.test.js +0 -502
  141. package/lib/components/__tests__/MenuBar.test.js.map +0 -1
  142. package/lib/components/__tests__/RespArea.test.js +0 -171
  143. package/lib/components/__tests__/RespArea.test.js.map +0 -1
  144. package/lib/components/__tests__/TableIcons.test.js +0 -153
  145. package/lib/components/__tests__/TableIcons.test.js.map +0 -1
  146. package/lib/components/__tests__/TextAlign.test.js +0 -209
  147. package/lib/components/__tests__/TextAlign.test.js.map +0 -1
  148. package/lib/components/__tests__/TiptapContainer.test.js +0 -196
  149. package/lib/components/__tests__/TiptapContainer.test.js.map +0 -1
  150. package/lib/components/__tests__/characterUtils.test.js +0 -178
  151. package/lib/components/__tests__/characterUtils.test.js.map +0 -1
  152. package/lib/components/__tests__/choice.test.js +0 -213
  153. package/lib/components/__tests__/choice.test.js.map +0 -1
  154. package/lib/components/__tests__/custom-popper.test.js +0 -108
  155. package/lib/components/__tests__/custom-popper.test.js.map +0 -1
  156. package/lib/components/__tests__/done-button.test.js +0 -72
  157. package/lib/components/__tests__/done-button.test.js.map +0 -1
  158. package/lib/components/__tests__/toolbar-buttons.test.js +0 -277
  159. package/lib/components/__tests__/toolbar-buttons.test.js.map +0 -1
  160. package/lib/components/characters/characterUtils.js +0 -378
  161. package/lib/components/characters/characterUtils.js.map +0 -1
  162. package/lib/components/characters/custom-popper.js +0 -44
  163. package/lib/components/characters/custom-popper.js.map +0 -1
  164. package/lib/components/common/done-button.js +0 -34
  165. package/lib/components/common/done-button.js.map +0 -1
  166. package/lib/components/common/toolbar-buttons.js +0 -149
  167. package/lib/components/common/toolbar-buttons.js.map +0 -1
  168. package/lib/components/icons/CssIcon.js +0 -25
  169. package/lib/components/icons/CssIcon.js.map +0 -1
  170. package/lib/components/icons/RespArea.js +0 -72
  171. package/lib/components/icons/RespArea.js.map +0 -1
  172. package/lib/components/icons/TableIcons.js +0 -53
  173. package/lib/components/icons/TableIcons.js.map +0 -1
  174. package/lib/components/icons/TextAlign.js +0 -157
  175. package/lib/components/icons/TextAlign.js.map +0 -1
  176. package/lib/components/image/AltDialog.js +0 -98
  177. package/lib/components/image/AltDialog.js.map +0 -1
  178. package/lib/components/image/ImageToolbar.js +0 -137
  179. package/lib/components/image/ImageToolbar.js.map +0 -1
  180. package/lib/components/image/InsertImageHandler.js +0 -135
  181. package/lib/components/image/InsertImageHandler.js.map +0 -1
  182. package/lib/components/media/MediaDialog.js +0 -594
  183. package/lib/components/media/MediaDialog.js.map +0 -1
  184. package/lib/components/media/MediaToolbar.js +0 -74
  185. package/lib/components/media/MediaToolbar.js.map +0 -1
  186. package/lib/components/media/MediaWrapper.js +0 -67
  187. package/lib/components/media/MediaWrapper.js.map +0 -1
  188. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js +0 -84
  189. package/lib/components/respArea/DragInTheBlank/DragInTheBlank.js.map +0 -1
  190. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js +0 -90
  191. package/lib/components/respArea/DragInTheBlank/__tests__/choice.test.js.map +0 -1
  192. package/lib/components/respArea/DragInTheBlank/choice.js +0 -253
  193. package/lib/components/respArea/DragInTheBlank/choice.js.map +0 -1
  194. package/lib/components/respArea/ExplicitConstructedResponse.js +0 -137
  195. package/lib/components/respArea/ExplicitConstructedResponse.js.map +0 -1
  196. package/lib/components/respArea/InlineDropdown.js +0 -223
  197. package/lib/components/respArea/InlineDropdown.js.map +0 -1
  198. package/lib/components/respArea/MathTemplated.js +0 -130
  199. package/lib/components/respArea/MathTemplated.js.map +0 -1
  200. package/lib/components/respArea/ToolbarIcon.js +0 -81
  201. package/lib/components/respArea/ToolbarIcon.js.map +0 -1
  202. package/lib/components/respArea/__tests__/MathTemplated.test.js +0 -217
  203. package/lib/components/respArea/__tests__/MathTemplated.test.js.map +0 -1
  204. package/lib/components/respArea/inlineDropdownUtils.js +0 -67
  205. package/lib/components/respArea/inlineDropdownUtils.js.map +0 -1
  206. package/lib/constants.js +0 -11
  207. package/lib/constants.js.map +0 -1
  208. package/lib/extensions/__tests__/css.test.js +0 -214
  209. package/lib/extensions/__tests__/css.test.js.map +0 -1
  210. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js +0 -175
  211. package/lib/extensions/__tests__/custom-toolbar-wrapper.test.js.map +0 -1
  212. package/lib/extensions/__tests__/divNode.test.js +0 -108
  213. package/lib/extensions/__tests__/divNode.test.js.map +0 -1
  214. package/lib/extensions/__tests__/ensure-empty-root-div.test.js +0 -50
  215. package/lib/extensions/__tests__/ensure-empty-root-div.test.js.map +0 -1
  216. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -60
  217. package/lib/extensions/__tests__/ensure-list-item-content-is-div.test.js.map +0 -1
  218. package/lib/extensions/__tests__/extended-list-item.test.js +0 -13
  219. package/lib/extensions/__tests__/extended-list-item.test.js.map +0 -1
  220. package/lib/extensions/__tests__/extended-table-cell.test.js +0 -15
  221. package/lib/extensions/__tests__/extended-table-cell.test.js.map +0 -1
  222. package/lib/extensions/__tests__/extended-table.test.js +0 -200
  223. package/lib/extensions/__tests__/extended-table.test.js.map +0 -1
  224. package/lib/extensions/__tests__/image-component.test.js +0 -432
  225. package/lib/extensions/__tests__/image-component.test.js.map +0 -1
  226. package/lib/extensions/__tests__/image.test.js +0 -313
  227. package/lib/extensions/__tests__/image.test.js.map +0 -1
  228. package/lib/extensions/__tests__/math.test.js +0 -1411
  229. package/lib/extensions/__tests__/math.test.js.map +0 -1
  230. package/lib/extensions/__tests__/media-node-view.test.js +0 -307
  231. package/lib/extensions/__tests__/media-node-view.test.js.map +0 -1
  232. package/lib/extensions/__tests__/media.test.js +0 -292
  233. package/lib/extensions/__tests__/media.test.js.map +0 -1
  234. package/lib/extensions/__tests__/responseArea.test.js +0 -736
  235. package/lib/extensions/__tests__/responseArea.test.js.map +0 -1
  236. package/lib/extensions/css.js +0 -227
  237. package/lib/extensions/css.js.map +0 -1
  238. package/lib/extensions/custom-toolbar-wrapper.js +0 -92
  239. package/lib/extensions/custom-toolbar-wrapper.js.map +0 -1
  240. package/lib/extensions/div-node.js +0 -83
  241. package/lib/extensions/div-node.js.map +0 -1
  242. package/lib/extensions/ensure-empty-root-div.js +0 -48
  243. package/lib/extensions/ensure-empty-root-div.js.map +0 -1
  244. package/lib/extensions/ensure-list-item-content-is-div.js +0 -64
  245. package/lib/extensions/ensure-list-item-content-is-div.js.map +0 -1
  246. package/lib/extensions/extended-list-item.js +0 -15
  247. package/lib/extensions/extended-list-item.js.map +0 -1
  248. package/lib/extensions/extended-table-cell.js +0 -22
  249. package/lib/extensions/extended-table-cell.js.map +0 -1
  250. package/lib/extensions/extended-table.js +0 -75
  251. package/lib/extensions/extended-table.js.map +0 -1
  252. package/lib/extensions/heading-paragraph.js +0 -61
  253. package/lib/extensions/heading-paragraph.js.map +0 -1
  254. package/lib/extensions/image-component.js +0 -351
  255. package/lib/extensions/image-component.js.map +0 -1
  256. package/lib/extensions/image.js +0 -134
  257. package/lib/extensions/image.js.map +0 -1
  258. package/lib/extensions/index.js +0 -46
  259. package/lib/extensions/index.js.map +0 -1
  260. package/lib/extensions/math.js +0 -469
  261. package/lib/extensions/math.js.map +0 -1
  262. package/lib/extensions/media.js +0 -243
  263. package/lib/extensions/media.js.map +0 -1
  264. package/lib/extensions/responseArea.js +0 -452
  265. package/lib/extensions/responseArea.js.map +0 -1
  266. package/lib/index.js +0 -37
  267. package/lib/index.js.map +0 -1
  268. package/lib/styles/editorContainerStyles.js +0 -137
  269. package/lib/styles/editorContainerStyles.js.map +0 -1
  270. package/lib/theme.js +0 -8
  271. package/lib/theme.js.map +0 -1
  272. package/lib/utils/__tests__/helper.test.js +0 -107
  273. package/lib/utils/__tests__/helper.test.js.map +0 -1
  274. package/lib/utils/__tests__/toolbar.test.js +0 -38
  275. package/lib/utils/__tests__/toolbar.test.js.map +0 -1
  276. package/lib/utils/helper.js +0 -73
  277. package/lib/utils/helper.js.map +0 -1
  278. package/lib/utils/size.js +0 -26
  279. package/lib/utils/size.js.map +0 -1
  280. package/lib/utils/toolbar.js +0 -19
  281. package/lib/utils/toolbar.js.map +0 -1
  282. package/src/__tests__/EditableHtml.test.jsx +0 -588
  283. package/src/__tests__/constants.test.js +0 -19
  284. package/src/__tests__/div-to-paragraph-conversion.test.jsx +0 -125
  285. package/src/__tests__/extensions.test.js +0 -208
  286. package/src/__tests__/index.test.jsx +0 -154
  287. package/src/__tests__/size-utils.test.js +0 -64
  288. package/src/__tests__/theme.test.js +0 -17
  289. package/src/components/CharacterPicker.jsx +0 -237
  290. package/src/components/EditableHtml.jsx +0 -458
  291. package/src/components/MenuBar.jsx +0 -561
  292. package/src/components/TiptapContainer.jsx +0 -235
  293. package/src/components/__tests__/AltDialog.test.jsx +0 -147
  294. package/src/components/__tests__/CharacterPicker.test.jsx +0 -270
  295. package/src/components/__tests__/CssIcon.test.jsx +0 -46
  296. package/src/components/__tests__/DragInTheBlank.test.jsx +0 -255
  297. package/src/components/__tests__/ExplicitConstructedResponse.test.jsx +0 -209
  298. package/src/components/__tests__/ImageToolbar.test.jsx +0 -128
  299. package/src/components/__tests__/InlineDropdown.test.jsx +0 -557
  300. package/src/components/__tests__/InsertImageHandler.test.js +0 -161
  301. package/src/components/__tests__/MediaDialog.test.jsx +0 -293
  302. package/src/components/__tests__/MediaToolbar.test.jsx +0 -74
  303. package/src/components/__tests__/MediaWrapper.test.jsx +0 -81
  304. package/src/components/__tests__/MenuBar.test.jsx +0 -250
  305. package/src/components/__tests__/RespArea.test.jsx +0 -122
  306. package/src/components/__tests__/TableIcons.test.jsx +0 -149
  307. package/src/components/__tests__/TextAlign.test.jsx +0 -167
  308. package/src/components/__tests__/TiptapContainer.test.jsx +0 -138
  309. package/src/components/__tests__/characterUtils.test.js +0 -166
  310. package/src/components/__tests__/choice.test.jsx +0 -171
  311. package/src/components/__tests__/custom-popper.test.jsx +0 -82
  312. package/src/components/__tests__/done-button.test.jsx +0 -54
  313. package/src/components/__tests__/toolbar-buttons.test.jsx +0 -234
  314. package/src/components/characters/characterUtils.js +0 -447
  315. package/src/components/characters/custom-popper.js +0 -38
  316. package/src/components/common/done-button.jsx +0 -27
  317. package/src/components/common/toolbar-buttons.jsx +0 -127
  318. package/src/components/icons/CssIcon.jsx +0 -15
  319. package/src/components/icons/RespArea.jsx +0 -71
  320. package/src/components/icons/TableIcons.jsx +0 -52
  321. package/src/components/icons/TextAlign.jsx +0 -114
  322. package/src/components/image/AltDialog.jsx +0 -82
  323. package/src/components/image/ImageToolbar.jsx +0 -99
  324. package/src/components/image/InsertImageHandler.js +0 -107
  325. package/src/components/media/MediaDialog.jsx +0 -596
  326. package/src/components/media/MediaToolbar.jsx +0 -49
  327. package/src/components/media/MediaWrapper.jsx +0 -39
  328. package/src/components/respArea/DragInTheBlank/DragInTheBlank.jsx +0 -76
  329. package/src/components/respArea/DragInTheBlank/__tests__/choice.test.jsx +0 -72
  330. package/src/components/respArea/DragInTheBlank/choice.jsx +0 -259
  331. package/src/components/respArea/ExplicitConstructedResponse.jsx +0 -136
  332. package/src/components/respArea/InlineDropdown.jsx +0 -240
  333. package/src/components/respArea/MathTemplated.jsx +0 -124
  334. package/src/components/respArea/ToolbarIcon.jsx +0 -66
  335. package/src/components/respArea/__tests__/MathTemplated.test.jsx +0 -210
  336. package/src/components/respArea/inlineDropdownUtils.js +0 -79
  337. package/src/constants.js +0 -5
  338. package/src/extensions/__tests__/css.test.js +0 -196
  339. package/src/extensions/__tests__/custom-toolbar-wrapper.test.jsx +0 -180
  340. package/src/extensions/__tests__/divNode.test.js +0 -87
  341. package/src/extensions/__tests__/ensure-empty-root-div.test.js +0 -57
  342. package/src/extensions/__tests__/ensure-list-item-content-is-div.test.js +0 -44
  343. package/src/extensions/__tests__/extended-list-item.test.js +0 -13
  344. package/src/extensions/__tests__/extended-table-cell.test.js +0 -22
  345. package/src/extensions/__tests__/extended-table.test.js +0 -183
  346. package/src/extensions/__tests__/image-component.test.jsx +0 -346
  347. package/src/extensions/__tests__/image.test.js +0 -237
  348. package/src/extensions/__tests__/math.test.js +0 -900
  349. package/src/extensions/__tests__/media-node-view.test.jsx +0 -298
  350. package/src/extensions/__tests__/media.test.js +0 -271
  351. package/src/extensions/__tests__/responseArea.test.js +0 -655
  352. package/src/extensions/css.js +0 -233
  353. package/src/extensions/custom-toolbar-wrapper.jsx +0 -78
  354. package/src/extensions/div-node.js +0 -86
  355. package/src/extensions/ensure-empty-root-div.js +0 -47
  356. package/src/extensions/ensure-list-item-content-is-div.js +0 -62
  357. package/src/extensions/extended-list-item.js +0 -10
  358. package/src/extensions/extended-table-cell.js +0 -19
  359. package/src/extensions/extended-table.js +0 -60
  360. package/src/extensions/heading-paragraph.js +0 -53
  361. package/src/extensions/image-component.jsx +0 -340
  362. package/src/extensions/image.js +0 -109
  363. package/src/extensions/index.js +0 -81
  364. package/src/extensions/math.js +0 -454
  365. package/src/extensions/media.js +0 -188
  366. package/src/extensions/responseArea.js +0 -407
  367. package/src/index.jsx +0 -5
  368. package/src/styles/editorContainerStyles.js +0 -145
  369. package/src/theme.js +0 -1
  370. package/src/utils/__tests__/helper.test.js +0 -126
  371. package/src/utils/__tests__/toolbar.test.js +0 -43
  372. package/src/utils/helper.js +0 -69
  373. package/src/utils/size.js +0 -32
  374. package/src/utils/toolbar.js +0 -15
@@ -1,831 +0,0 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _react2 = require("@testing-library/react");
11
- var _react3 = require("@tiptap/react");
12
- var _EditableHtml = require("../components/EditableHtml");
13
- var _responseArea = require("../extensions/responseArea");
14
- var _excluded = ["editor"];
15
- 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; }
16
- 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; }
17
- // Mock TipTap dependencies
18
- jest.mock('@tiptap/react', function () {
19
- return {
20
- EditorContent: function EditorContent(_ref) {
21
- var editor = _ref.editor,
22
- props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
23
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
24
- "data-testid": "editor-content"
25
- }, props));
26
- },
27
- useEditor: jest.fn(function (config) {
28
- var mockEditor = {
29
- getHTML: jest.fn(function () {
30
- return '<p>test content</p>';
31
- }),
32
- setEditable: jest.fn(),
33
- commands: {
34
- setContent: jest.fn()
35
- },
36
- isActive: jest.fn(function () {
37
- return false;
38
- }),
39
- isFocused: false
40
- };
41
- return mockEditor;
42
- }),
43
- useEditorState: jest.fn(function () {
44
- return {
45
- isFocused: false
46
- };
47
- })
48
- };
49
- });
50
- jest.mock('@tiptap/starter-kit', function () {
51
- return {
52
- __esModule: true,
53
- "default": {
54
- configure: jest.fn(function () {
55
- return {};
56
- })
57
- }
58
- };
59
- });
60
- jest.mock('@tiptap/extension-text-style', function () {
61
- return {
62
- TextStyleKit: {}
63
- };
64
- });
65
- jest.mock('@tiptap/extension-character-count', function () {
66
- return {
67
- CharacterCount: {
68
- configure: jest.fn(function () {
69
- return {};
70
- })
71
- }
72
- };
73
- });
74
- jest.mock('@tiptap/extension-superscript', function () {
75
- return {
76
- __esModule: true,
77
- "default": {}
78
- };
79
- });
80
- jest.mock('@tiptap/extension-subscript', function () {
81
- return {
82
- __esModule: true,
83
- "default": {}
84
- };
85
- });
86
- jest.mock('@tiptap/extension-text-align', function () {
87
- return {
88
- __esModule: true,
89
- "default": {
90
- configure: jest.fn(function () {
91
- return {};
92
- })
93
- }
94
- };
95
- });
96
- jest.mock('@tiptap/extension-image', function () {
97
- return {
98
- __esModule: true,
99
- "default": {}
100
- };
101
- });
102
- jest.mock('@tiptap/extension-table', function () {
103
- return {
104
- __esModule: true,
105
- "default": {}
106
- };
107
- });
108
- jest.mock('@tiptap/extension-table-row', function () {
109
- return {
110
- TableRow: {}
111
- };
112
- });
113
- jest.mock('../extensions/extended-table-cell', function () {
114
- return {
115
- ExtendedTableCell: {},
116
- ExtendedTableHeader: {}
117
- };
118
- });
119
- jest.mock('../extensions/extended-table', function () {
120
- return {
121
- __esModule: true,
122
- "default": {}
123
- };
124
- });
125
- jest.mock('../extensions/ensure-empty-root-div', function () {
126
- return {
127
- EnsureEmptyRootIsDiv: {}
128
- };
129
- });
130
- jest.mock('../extensions/extended-list-item', function () {
131
- return {
132
- ExtendedListItem: {}
133
- };
134
- });
135
- jest.mock('../extensions/ensure-list-item-content-is-div', function () {
136
- return {
137
- EnsureListItemContentIsDiv: {}
138
- };
139
- });
140
- jest.mock('../extensions/responseArea', function () {
141
- return {
142
- ExplicitConstructedResponseNode: {
143
- configure: jest.fn(function () {
144
- return {};
145
- })
146
- },
147
- DragInTheBlankNode: {
148
- configure: jest.fn(function () {
149
- return {};
150
- })
151
- },
152
- InlineDropdownNode: {
153
- configure: jest.fn(function () {
154
- return {};
155
- })
156
- },
157
- MathTemplatedNode: {
158
- configure: jest.fn(function () {
159
- return {};
160
- })
161
- },
162
- ResponseAreaExtension: {
163
- configure: jest.fn(function () {
164
- return {};
165
- })
166
- }
167
- };
168
- });
169
- jest.mock('../extensions/math', function () {
170
- return {
171
- MathNode: {
172
- configure: jest.fn(function () {
173
- return {};
174
- })
175
- }
176
- };
177
- });
178
- jest.mock('../extensions/image', function () {
179
- return {
180
- ImageUploadNode: {
181
- configure: jest.fn(function () {
182
- return {};
183
- })
184
- }
185
- };
186
- });
187
- jest.mock('../extensions/media', function () {
188
- return {
189
- Media: {
190
- configure: jest.fn(function () {
191
- return {};
192
- })
193
- }
194
- };
195
- });
196
- jest.mock('../extensions/css', function () {
197
- return {
198
- CSSMark: {
199
- configure: jest.fn(function () {
200
- return {};
201
- })
202
- }
203
- };
204
- });
205
- jest.mock('../components/TiptapContainer', function () {
206
- return {
207
- __esModule: true,
208
- "default": function _default(_ref2) {
209
- var children = _ref2.children;
210
- return /*#__PURE__*/_react["default"].createElement("div", {
211
- "data-testid": "editor-container"
212
- }, children);
213
- }
214
- };
215
- });
216
- jest.mock('../extensions', function () {
217
- return _objectSpread(_objectSpread({}, jest.requireActual('../extensions')), {}, {
218
- buildExtensions: jest.fn(function () {
219
- return [];
220
- })
221
- });
222
- });
223
- describe('EditableHtml', function () {
224
- var defaultProps = {
225
- markup: '<p>Hello World</p>',
226
- onChange: jest.fn(),
227
- onDone: jest.fn(),
228
- disabled: false
229
- };
230
- beforeEach(function () {
231
- jest.clearAllMocks();
232
- });
233
- it('renders without crashing', function () {
234
- var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, defaultProps)),
235
- container = _render.container;
236
- expect(container).toBeInTheDocument();
237
- });
238
- it('renders editor container', function () {
239
- var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, defaultProps)),
240
- getByTestId = _render2.getByTestId;
241
- expect(getByTestId('editor-container')).toBeInTheDocument();
242
- });
243
- it('renders editor content when editor is initialized', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
244
- var _render3, getByTestId;
245
- return _regenerator["default"].wrap(function (_context) {
246
- while (1) switch (_context.prev = _context.next) {
247
- case 0:
248
- _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, defaultProps)), getByTestId = _render3.getByTestId;
249
- _context.next = 1;
250
- return (0, _react2.waitFor)(function () {
251
- expect(getByTestId('editor-content')).toBeInTheDocument();
252
- });
253
- case 1:
254
- case "end":
255
- return _context.stop();
256
- }
257
- }, _callee);
258
- })));
259
- it('accepts custom toolbar options', function () {
260
- var toolbarOpts = {
261
- position: 'top',
262
- alignment: 'center',
263
- alwaysVisible: true,
264
- showDone: false,
265
- doneOn: 'change'
266
- };
267
- var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
268
- toolbarOpts: toolbarOpts
269
- }))),
270
- container = _render4.container;
271
- expect(container).toBeInTheDocument();
272
- });
273
- it('accepts custom active plugins', function () {
274
- var activePlugins = ['bold', 'italic', 'underline'];
275
- var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
276
- activePlugins: activePlugins
277
- }))),
278
- container = _render5.container;
279
- expect(container).toBeInTheDocument();
280
- });
281
- it('accepts plugin props', function () {
282
- var pluginProps = {
283
- showParagraphs: {
284
- disabled: false
285
- },
286
- separateParagraphs: {
287
- disabled: false
288
- }
289
- };
290
- var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
291
- pluginProps: pluginProps
292
- }))),
293
- container = _render6.container;
294
- expect(container).toBeInTheDocument();
295
- });
296
- it('accepts response area props', function () {
297
- var responseAreaProps = {
298
- type: 'explicit-constructed-response',
299
- options: {}
300
- };
301
- var _render7 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
302
- responseAreaProps: responseAreaProps
303
- }))),
304
- container = _render7.container;
305
- expect(container).toBeInTheDocument();
306
- });
307
- it('passes blur done behavior to inline dropdown toolbar close', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
308
- var onChange, onDone, html, configureCall, inlineDropdownOptions, editor;
309
- return _regenerator["default"].wrap(function (_context2) {
310
- while (1) switch (_context2.prev = _context2.next) {
311
- case 0:
312
- onChange = jest.fn();
313
- onDone = jest.fn();
314
- html = '<p>from inline dropdown close</p>';
315
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
316
- markup: "<p>Hello World</p>",
317
- onChange: onChange,
318
- onDone: onDone,
319
- toolbarOpts: {
320
- doneOn: 'blur'
321
- },
322
- responseAreaProps: {
323
- type: 'inline-dropdown'
324
- }
325
- })));
326
- _context2.next = 1;
327
- return (0, _react2.waitFor)(function () {
328
- expect(_responseArea.InlineDropdownNode.configure).toHaveBeenCalled();
329
- });
330
- case 1:
331
- configureCall = _responseArea.InlineDropdownNode.configure.mock.calls[_responseArea.InlineDropdownNode.configure.mock.calls.length - 1];
332
- inlineDropdownOptions = configureCall[0];
333
- editor = {
334
- getHTML: jest.fn(function () {
335
- return html;
336
- })
337
- };
338
- inlineDropdownOptions.onInlineDropdownToolbarClose(editor);
339
- expect(editor.getHTML).toHaveBeenCalledTimes(1);
340
- expect(onChange).toHaveBeenCalledWith(html);
341
- expect(onDone).toHaveBeenCalledWith(html);
342
- case 2:
343
- case "end":
344
- return _context2.stop();
345
- }
346
- }, _callee2);
347
- })));
348
- it('accepts size props', function () {
349
- var sizeProps = {
350
- width: 500,
351
- height: 300,
352
- minHeight: 200,
353
- maxHeight: 400,
354
- minWidth: 300,
355
- maxWidth: 600
356
- };
357
- var _render8 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, sizeProps))),
358
- container = _render8.container;
359
- expect(container).toBeInTheDocument();
360
- });
361
- it('accepts character limit', function () {
362
- var _render9 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
363
- charactersLimit: 500
364
- }))),
365
- container = _render9.container;
366
- expect(container).toBeInTheDocument();
367
- });
368
- it('accepts image support props', function () {
369
- var imageSupport = {
370
- add: jest.fn(),
371
- "delete": jest.fn()
372
- };
373
- var _render0 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
374
- imageSupport: imageSupport
375
- }))),
376
- container = _render0.container;
377
- expect(container).toBeInTheDocument();
378
- });
379
- it('accepts max image dimensions', function () {
380
- var _render1 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
381
- maxImageWidth: 800,
382
- maxImageHeight: 600
383
- }))),
384
- container = _render1.container;
385
- expect(container).toBeInTheDocument();
386
- });
387
- it('accepts language characters props', function () {
388
- var languageCharactersProps = [{
389
- label: 'Greek',
390
- value: 'greek'
391
- }, {
392
- label: 'Cyrillic',
393
- value: 'cyrillic'
394
- }];
395
- var _render10 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
396
- languageCharactersProps: languageCharactersProps
397
- }))),
398
- container = _render10.container;
399
- expect(container).toBeInTheDocument();
400
- });
401
- it('accepts extra CSS rules', function () {
402
- var extraCSSRules = {
403
- '.custom-class': {
404
- color: 'red'
405
- }
406
- };
407
- var _render11 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
408
- extraCSSRules: extraCSSRules
409
- }))),
410
- container = _render11.container;
411
- expect(container).toBeInTheDocument();
412
- });
413
- it('accepts upload sound support', function () {
414
- var uploadSoundSupport = {
415
- add: jest.fn(),
416
- "delete": jest.fn()
417
- };
418
- var _render12 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
419
- uploadSoundSupport: uploadSoundSupport
420
- }))),
421
- container = _render12.container;
422
- expect(container).toBeInTheDocument();
423
- });
424
- it('accepts onKeyDown handler', function () {
425
- var onKeyDown = jest.fn();
426
- var _render13 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
427
- onKeyDown: onKeyDown
428
- }))),
429
- container = _render13.container;
430
- expect(container).toBeInTheDocument();
431
- });
432
- it('accepts disableImageAlignmentButtons prop', function () {
433
- var _render14 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
434
- disableImageAlignmentButtons: true
435
- }))),
436
- container = _render14.container;
437
- expect(container).toBeInTheDocument();
438
- });
439
- it('calls editorRef callback when editor is initialized', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
440
- var editorRef;
441
- return _regenerator["default"].wrap(function (_context3) {
442
- while (1) switch (_context3.prev = _context3.next) {
443
- case 0:
444
- editorRef = jest.fn();
445
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
446
- editorRef: editorRef
447
- })));
448
- _context3.next = 1;
449
- return (0, _react2.waitFor)(function () {
450
- expect(editorRef).toHaveBeenCalled();
451
- });
452
- case 1:
453
- case "end":
454
- return _context3.stop();
455
- }
456
- }, _callee3);
457
- })));
458
- it('calls editorRef with the editor instance', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
459
- var editorRef;
460
- return _regenerator["default"].wrap(function (_context4) {
461
- while (1) switch (_context4.prev = _context4.next) {
462
- case 0:
463
- editorRef = jest.fn();
464
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
465
- editorRef: editorRef
466
- })));
467
- _context4.next = 1;
468
- return (0, _react2.waitFor)(function () {
469
- expect(editorRef).toHaveBeenCalled();
470
- // Verify it was called with an object that has editor-like properties
471
- var callArg = editorRef.mock.calls[0][0];
472
- expect(callArg).toHaveProperty('getHTML');
473
- expect(callArg).toHaveProperty('commands');
474
- });
475
- case 1:
476
- case "end":
477
- return _context4.stop();
478
- }
479
- }, _callee4);
480
- })));
481
- it('handles editorRef being undefined', function () {
482
- var _render15 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
483
- editorRef: undefined
484
- }))),
485
- container = _render15.container;
486
- expect(container).toBeInTheDocument();
487
- });
488
- it('applies flex display to StyledEditorContent', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
489
- var _render16, getByTestId;
490
- return _regenerator["default"].wrap(function (_context5) {
491
- while (1) switch (_context5.prev = _context5.next) {
492
- case 0:
493
- _render16 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, defaultProps)), getByTestId = _render16.getByTestId;
494
- _context5.next = 1;
495
- return (0, _react2.waitFor)(function () {
496
- var editorContent = getByTestId('editor-content');
497
- expect(editorContent).toBeInTheDocument();
498
- });
499
- case 1:
500
- case "end":
501
- return _context5.stop();
502
- }
503
- }, _callee5);
504
- })));
505
- it('does not run blur onChange/onDone while an image insert flow is active', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
506
- var onChange, onDone, editorConfig, blurEditor;
507
- return _regenerator["default"].wrap(function (_context6) {
508
- while (1) switch (_context6.prev = _context6.next) {
509
- case 0:
510
- jest.useFakeTimers();
511
- onChange = jest.fn();
512
- onDone = jest.fn();
513
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
514
- markup: "<p>Hello World</p>",
515
- onChange: onChange,
516
- onDone: onDone,
517
- toolbarOpts: _objectSpread(_objectSpread({}, defaultProps.toolbarOpts), {}, {
518
- doneOn: 'blur'
519
- })
520
- })));
521
- _context6.next = 1;
522
- return (0, _react2.waitFor)(function () {
523
- expect(_react3.useEditor).toHaveBeenCalled();
524
- });
525
- case 1:
526
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
527
- blurEditor = {
528
- getHTML: jest.fn(function () {
529
- return '<p>changed</p>';
530
- }),
531
- schema: {},
532
- _insertingImage: true,
533
- _toolbarOpened: false,
534
- isActive: jest.fn(function () {
535
- return false;
536
- })
537
- };
538
- editorConfig.onBlur({
539
- editor: blurEditor
540
- });
541
- jest.advanceTimersByTime(200);
542
- expect(onChange).not.toHaveBeenCalled();
543
- expect(onDone).not.toHaveBeenCalled();
544
- jest.useRealTimers();
545
- case 2:
546
- case "end":
547
- return _context6.stop();
548
- }
549
- }, _callee6);
550
- })));
551
- it('does not run blur onChange/onDone when editor has no schema', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
552
- var onChange, onDone, editorConfig, getHTML, blurEditor;
553
- return _regenerator["default"].wrap(function (_context7) {
554
- while (1) switch (_context7.prev = _context7.next) {
555
- case 0:
556
- jest.useFakeTimers();
557
- onChange = jest.fn();
558
- onDone = jest.fn();
559
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
560
- markup: "<p>Hello World</p>",
561
- onChange: onChange,
562
- onDone: onDone,
563
- toolbarOpts: {
564
- doneOn: 'blur'
565
- }
566
- })));
567
- _context7.next = 1;
568
- return (0, _react2.waitFor)(function () {
569
- expect(_react3.useEditor).toHaveBeenCalled();
570
- });
571
- case 1:
572
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
573
- getHTML = jest.fn(function () {
574
- return '<p>changed</p>';
575
- });
576
- blurEditor = {
577
- getHTML: getHTML,
578
- schema: undefined,
579
- _insertingImage: false,
580
- _toolbarOpened: false,
581
- isActive: jest.fn(function () {
582
- return false;
583
- })
584
- };
585
- editorConfig.onBlur({
586
- editor: blurEditor
587
- });
588
- jest.advanceTimersByTime(200);
589
- expect(getHTML).not.toHaveBeenCalled();
590
- expect(onChange).not.toHaveBeenCalled();
591
- expect(onDone).not.toHaveBeenCalled();
592
- jest.useRealTimers();
593
- case 2:
594
- case "end":
595
- return _context7.stop();
596
- }
597
- }, _callee7);
598
- })));
599
- it('calls getHTML once on blur and passes the same html to onChange and onDone', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
600
- var onChange, onDone, html, editorConfig, getHTML, blurEditor;
601
- return _regenerator["default"].wrap(function (_context8) {
602
- while (1) switch (_context8.prev = _context8.next) {
603
- case 0:
604
- jest.useFakeTimers();
605
- onChange = jest.fn();
606
- onDone = jest.fn();
607
- html = '<p>from editor</p>';
608
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
609
- markup: "<p>Hello World</p>",
610
- onChange: onChange,
611
- onDone: onDone,
612
- toolbarOpts: {
613
- doneOn: 'blur'
614
- }
615
- })));
616
- _context8.next = 1;
617
- return (0, _react2.waitFor)(function () {
618
- expect(_react3.useEditor).toHaveBeenCalled();
619
- });
620
- case 1:
621
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
622
- getHTML = jest.fn(function () {
623
- return html;
624
- });
625
- blurEditor = {
626
- getHTML: getHTML,
627
- schema: {},
628
- _insertingImage: false,
629
- _toolbarOpened: false,
630
- isActive: jest.fn(function () {
631
- return false;
632
- })
633
- };
634
- editorConfig.onBlur({
635
- editor: blurEditor
636
- });
637
- jest.advanceTimersByTime(200);
638
- expect(getHTML).toHaveBeenCalledTimes(1);
639
- expect(onChange).toHaveBeenCalledWith(html);
640
- expect(onDone).toHaveBeenCalledWith(html);
641
- jest.useRealTimers();
642
- case 2:
643
- case "end":
644
- return _context8.stop();
645
- }
646
- }, _callee8);
647
- })));
648
- describe('onUpdate callback', function () {
649
- it('calls onChange when transaction.isDone is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
650
- var onChange, markup, editorConfig, mockEditor, mockTransaction;
651
- return _regenerator["default"].wrap(function (_context9) {
652
- while (1) switch (_context9.prev = _context9.next) {
653
- case 0:
654
- onChange = jest.fn();
655
- markup = '<p>Initial content</p>';
656
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
657
- markup: markup,
658
- onChange: onChange
659
- })));
660
- _context9.next = 1;
661
- return (0, _react2.waitFor)(function () {
662
- expect(_react3.useEditor).toHaveBeenCalled();
663
- });
664
- case 1:
665
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
666
- mockEditor = {
667
- getHTML: jest.fn(function () {
668
- return '<p>Updated content</p>';
669
- })
670
- };
671
- mockTransaction = {
672
- isDone: true
673
- };
674
- editorConfig.onUpdate({
675
- editor: mockEditor,
676
- transaction: mockTransaction
677
- });
678
- expect(onChange).toHaveBeenCalledWith('<p>Updated content</p>');
679
- case 2:
680
- case "end":
681
- return _context9.stop();
682
- }
683
- }, _callee9);
684
- })));
685
- it('does not call onChange when transaction.isDone is false even if markup differs from editor HTML', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
686
- var onChange, markup, editorConfig, mockEditor, mockTransaction;
687
- return _regenerator["default"].wrap(function (_context0) {
688
- while (1) switch (_context0.prev = _context0.next) {
689
- case 0:
690
- onChange = jest.fn();
691
- markup = '<p>Initial content</p>';
692
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
693
- markup: markup,
694
- onChange: onChange
695
- })));
696
- _context0.next = 1;
697
- return (0, _react2.waitFor)(function () {
698
- expect(_react3.useEditor).toHaveBeenCalled();
699
- });
700
- case 1:
701
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
702
- mockEditor = {
703
- getHTML: jest.fn(function () {
704
- return '<p>Different content</p>';
705
- })
706
- };
707
- mockTransaction = {
708
- isDone: false
709
- };
710
- editorConfig.onUpdate({
711
- editor: mockEditor,
712
- transaction: mockTransaction
713
- });
714
- expect(onChange).not.toHaveBeenCalled();
715
- case 2:
716
- case "end":
717
- return _context0.stop();
718
- }
719
- }, _callee0);
720
- })));
721
- it('does not call onChange when transaction.isDone is false and markup matches editor HTML', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee1() {
722
- var onChange, markup, editorConfig, mockEditor, mockTransaction;
723
- return _regenerator["default"].wrap(function (_context1) {
724
- while (1) switch (_context1.prev = _context1.next) {
725
- case 0:
726
- onChange = jest.fn();
727
- markup = '<p>Same content</p>';
728
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
729
- markup: markup,
730
- onChange: onChange
731
- })));
732
- _context1.next = 1;
733
- return (0, _react2.waitFor)(function () {
734
- expect(_react3.useEditor).toHaveBeenCalled();
735
- });
736
- case 1:
737
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
738
- mockEditor = {
739
- getHTML: jest.fn(function () {
740
- return '<p>Same content</p>';
741
- })
742
- };
743
- mockTransaction = {
744
- isDone: false
745
- };
746
- editorConfig.onUpdate({
747
- editor: mockEditor,
748
- transaction: mockTransaction
749
- });
750
- expect(onChange).not.toHaveBeenCalled();
751
- case 2:
752
- case "end":
753
- return _context1.stop();
754
- }
755
- }, _callee1);
756
- })));
757
- it('calls onChange when transaction.isDone is true even if markup matches', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
758
- var onChange, markup, editorConfig, mockEditor, mockTransaction;
759
- return _regenerator["default"].wrap(function (_context10) {
760
- while (1) switch (_context10.prev = _context10.next) {
761
- case 0:
762
- onChange = jest.fn();
763
- markup = '<p>Same content</p>';
764
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
765
- markup: markup,
766
- onChange: onChange
767
- })));
768
- _context10.next = 1;
769
- return (0, _react2.waitFor)(function () {
770
- expect(_react3.useEditor).toHaveBeenCalled();
771
- });
772
- case 1:
773
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
774
- mockEditor = {
775
- getHTML: jest.fn(function () {
776
- return '<p>Same content</p>';
777
- })
778
- };
779
- mockTransaction = {
780
- isDone: true
781
- };
782
- editorConfig.onUpdate({
783
- editor: mockEditor,
784
- transaction: mockTransaction
785
- });
786
- expect(onChange).toHaveBeenCalledWith('<p>Same content</p>');
787
- case 2:
788
- case "end":
789
- return _context10.stop();
790
- }
791
- }, _callee10);
792
- })));
793
- it('does not call onChange when onChange is not provided', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
794
- var markup, editorConfig, mockEditor, mockTransaction;
795
- return _regenerator["default"].wrap(function (_context11) {
796
- while (1) switch (_context11.prev = _context11.next) {
797
- case 0:
798
- markup = '<p>Content</p>';
799
- (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_EditableHtml.EditableHtml, (0, _extends2["default"])({}, defaultProps, {
800
- markup: markup,
801
- onChange: undefined
802
- })));
803
- _context11.next = 1;
804
- return (0, _react2.waitFor)(function () {
805
- expect(_react3.useEditor).toHaveBeenCalled();
806
- });
807
- case 1:
808
- editorConfig = _react3.useEditor.mock.calls[_react3.useEditor.mock.calls.length - 1][0];
809
- mockEditor = {
810
- getHTML: jest.fn(function () {
811
- return '<p>Updated content</p>';
812
- })
813
- };
814
- mockTransaction = {
815
- isDone: true
816
- }; // Should not throw error when onChange is undefined
817
- expect(function () {
818
- editorConfig.onUpdate({
819
- editor: mockEditor,
820
- transaction: mockTransaction
821
- });
822
- }).not.toThrow();
823
- case 2:
824
- case "end":
825
- return _context11.stop();
826
- }
827
- }, _callee11);
828
- })));
829
- });
830
- });
831
- //# sourceMappingURL=EditableHtml.test.js.map