@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 +0,0 @@
1
- {"version":3,"file":"responseArea.test.js","names":["_responseArea","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","jest","mock","Extension","create","fn","config","Node","ReactNodeViewRenderer","component","Plugin","PluginKey","key","TextSelection","near","pos","dir","type","doc","NodeSelection","__esModule","React","createElement","describe","it","expect","ResponseAreaExtension","name","toBe","options","addOptions","toHaveProperty","context","plugins","addProseMirrorPlugins","call","Array","isArray","toHaveLength","maxResponseAreas","commands","addCommands","_typeof2","insertResponseArea","refreshResponseArea","refreshCommand","mockNode","attrs","index","value","mockTr","setNodeMarkup","setSelection","mockState","selection","from","$from","nodeAfter","tr","mockCommands","focus","mockDispatch","state","dispatch","toHaveBeenCalled","not","toThrow","updated","toBeDefined","beforeEach","resetModules","buildInsertCommand","undefined","_require","createDoc","existingCount","typeName","descendants","callback","i","content","size","insert","mockInlineNode","nodeSize","mockDoc","schema","nodes","inline_dropdown","result","toHaveBeenCalledWith","id","runOnce","calls","toEqual","buildStateAndTr","_ref","_ref$withResolve","withResolve","resolve","resolved","each","replace","_buildStateAndTr","_require2","_buildStateAndTr2","_require3","ExplicitConstructedResponseNode","inline","group","atom","attributes","addAttributes","rules","parseHTML","renderHTML","HTMLAttributes","addNodeView","DragInTheBlankNode","inTable","InlineDropdownNode"],"sources":["../../../src/extensions/__tests__/responseArea.test.js"],"sourcesContent":["import {\n DragInTheBlankNode,\n ExplicitConstructedResponseNode,\n InlineDropdownNode,\n ResponseAreaExtension,\n} from '../responseArea';\n\njest.mock('@tiptap/core', () => ({\n Extension: { create: jest.fn((config) => config) },\n Node: { create: jest.fn((config) => config) },\n}));\n\njest.mock('@tiptap/react', () => ({\n Node: { create: jest.fn((config) => config) },\n ReactNodeViewRenderer: jest.fn((component) => component),\n}));\n\njest.mock('prosemirror-state', () => ({\n Plugin: jest.fn(function (config) {\n return config;\n }),\n PluginKey: jest.fn(function (key) {\n this.key = key;\n }),\n TextSelection: {\n near: jest.fn((pos, dir) => ({ type: 'text', pos, dir })),\n create: jest.fn((doc, pos) => ({ type: 'text', pos })),\n },\n NodeSelection: {\n create: jest.fn((doc, pos) => ({ type: 'node', pos })),\n },\n}));\n\njest.mock('../../components/respArea/ExplicitConstructedResponse', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"explicit-constructed-response\" />),\n}));\n\njest.mock('../../components/respArea/DragInTheBlank/DragInTheBlank', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"drag-in-the-blank\" />),\n}));\n\njest.mock('../../components/respArea/InlineDropdown', () => ({\n __esModule: true,\n default: jest.fn(() => <div data-testid=\"inline-dropdown\" />),\n}));\n\ndescribe('ResponseAreaExtension', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(ResponseAreaExtension.name).toBe('responseArea');\n });\n });\n\n describe('addOptions', () => {\n it('returns default options', () => {\n const options = ResponseAreaExtension.addOptions();\n\n expect(options).toHaveProperty('maxResponseAreas', null);\n expect(options).toHaveProperty('error', null);\n expect(options).toHaveProperty('options', null);\n expect(options).toHaveProperty('respAreaToolbar', null);\n expect(options).toHaveProperty('onHandleAreaChange', null);\n });\n });\n\n describe('addProseMirrorPlugins', () => {\n it('returns empty array when no type specified', () => {\n const context = {\n options: {},\n };\n\n const plugins = ResponseAreaExtension.addProseMirrorPlugins.call(context);\n\n expect(Array.isArray(plugins)).toBe(true);\n expect(plugins).toHaveLength(0);\n });\n\n it('returns plugin array when type is specified', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const plugins = ResponseAreaExtension.addProseMirrorPlugins.call(context);\n\n expect(Array.isArray(plugins)).toBe(true);\n expect(plugins).toHaveLength(1);\n expect(plugins[0]).toHaveProperty('key');\n expect(plugins[0]).toHaveProperty('view');\n });\n });\n\n describe('addCommands', () => {\n it('returns insertResponseArea command', () => {\n const commands = ResponseAreaExtension.addCommands();\n\n expect(commands).toHaveProperty('insertResponseArea');\n expect(typeof commands.insertResponseArea).toBe('function');\n });\n\n it('returns refreshResponseArea command', () => {\n const commands = ResponseAreaExtension.addCommands();\n\n expect(commands).toHaveProperty('refreshResponseArea');\n expect(typeof commands.refreshResponseArea).toBe('function');\n });\n\n it('refreshResponseArea handles node with attrs safely', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n // Mock transaction and state\n const mockNode = {\n attrs: {\n index: '0',\n value: 'test',\n },\n };\n\n const mockTr = {\n setNodeMarkup: jest.fn(),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n\n expect(mockTr.setNodeMarkup).toHaveBeenCalled();\n });\n\n it('refreshResponseArea handles node without attrs safely (optional chaining)', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n // Mock transaction and state with node that has no attrs\n const mockNode = null;\n\n const mockTr = {\n setNodeMarkup: jest.fn(),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n // This should not throw an error due to optional chaining on node?.attrs\n expect(() => {\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n }).not.toThrow();\n });\n\n it('refreshResponseArea updates timestamp in node attributes', () => {\n const context = {\n options: {\n type: 'explicit-constructed-response',\n maxResponseAreas: 5,\n },\n };\n\n const commands = ResponseAreaExtension.addCommands.call(context);\n const refreshCommand = commands.refreshResponseArea();\n\n const mockNode = {\n attrs: {\n index: '0',\n value: 'test',\n updated: '1234567890',\n },\n };\n\n const mockTr = {\n setNodeMarkup: jest.fn((pos, type, attrs) => {\n // Verify that updated timestamp is being set\n expect(attrs.updated).toBeDefined();\n expect(attrs.updated).not.toBe('1234567890');\n }),\n setSelection: jest.fn(),\n };\n\n const mockState = {\n selection: {\n from: 0,\n $from: {\n nodeAfter: mockNode,\n },\n },\n tr: mockTr,\n };\n\n const mockCommands = {\n focus: jest.fn(),\n };\n\n const mockDispatch = jest.fn();\n\n refreshCommand({\n tr: mockTr,\n state: mockState,\n commands: mockCommands,\n dispatch: mockDispatch,\n });\n\n expect(mockTr.setNodeMarkup).toHaveBeenCalled();\n });\n\n describe('insertResponseArea', () => {\n beforeEach(() => {\n jest.resetModules();\n });\n\n const buildInsertCommand = (type = 'inline-dropdown') => {\n const { ResponseAreaExtension } = require('../responseArea');\n const context = {\n options: {\n type,\n maxResponseAreas: 5,\n },\n };\n const commands = ResponseAreaExtension.addCommands.call(context);\n return commands.insertResponseArea(type);\n };\n\n const createDoc = (existingCount, typeName = 'inline_dropdown') => ({\n descendants: jest.fn((callback) => {\n for (let i = 0; i < existingCount; i += 1) {\n callback({ type: { name: typeName } }, i);\n }\n }),\n content: { size: 50 },\n });\n\n it('assigns index 1 and id 1 on the first insert', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(0);\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 5 },\n };\n const mockDispatch = jest.fn();\n const mockCommands = { focus: jest.fn() };\n\n const result = insert({\n tr: mockTr,\n state,\n dispatch: mockDispatch,\n commands: mockCommands,\n });\n\n expect(result).toBe(true);\n expect(create).toHaveBeenCalledWith({\n index: '1',\n id: '1',\n value: '',\n });\n expect(mockTr.insert).toHaveBeenCalledWith(5, mockInlineNode);\n expect(mockDispatch).toHaveBeenCalled();\n });\n\n it('assigns consecutive indices on repeated inserts', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(0);\n\n const runOnce = () => {\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 1 },\n };\n insert({\n tr: mockTr,\n state,\n dispatch: jest.fn(),\n commands: { focus: jest.fn() },\n });\n };\n\n runOnce();\n runOnce();\n\n expect(create.mock.calls[0][0]).toEqual({ index: '1', id: '1', value: '' });\n expect(create.mock.calls[1][0]).toEqual({ index: '2', id: '2', value: '' });\n });\n\n it('returns false when maxResponseAreas is reached', () => {\n const insert = buildInsertCommand();\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = createDoc(5);\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: {\n nodes: {\n inline_dropdown: { create },\n },\n },\n doc: mockDoc,\n selection: { from: 5 },\n };\n\n const result = insert({\n tr: mockTr,\n state,\n dispatch: jest.fn(),\n commands: { focus: jest.fn() },\n });\n\n expect(result).toBe(false);\n expect(create).not.toHaveBeenCalled();\n expect(mockTr.insert).not.toHaveBeenCalled();\n });\n\n describe('selection after insert', () => {\n const buildStateAndTr = (typeName, { withResolve = false } = {}) => {\n const mockInlineNode = { nodeSize: 1 };\n const create = jest.fn(() => mockInlineNode);\n const mockDoc = {\n descendants: jest.fn(),\n content: { size: 50 },\n ...(withResolve ? { resolve: jest.fn((pos) => ({ resolved: pos })) } : {}),\n };\n const mockTr = {\n insert: jest.fn(),\n doc: mockDoc,\n setSelection: jest.fn(),\n };\n const state = {\n schema: { nodes: { [typeName]: { create } } },\n doc: mockDoc,\n selection: { from: 5 },\n };\n\n return { mockTr, state };\n };\n\n it.each(['inline-dropdown', 'explicit-constructed-response'])(\n 'sets a NodeSelection on the inserted node for %s',\n (type) => {\n const insert = buildInsertCommand(type);\n const typeName = type.replace(/-/g, '_');\n const { mockTr, state } = buildStateAndTr(typeName);\n const { NodeSelection, TextSelection } = require('prosemirror-state');\n\n insert({ tr: mockTr, state, dispatch: jest.fn(), commands: { focus: jest.fn() } });\n\n expect(NodeSelection.create).toHaveBeenCalledWith(mockTr.doc, 5);\n expect(TextSelection.near).not.toHaveBeenCalled();\n expect(mockTr.setSelection).toHaveBeenCalledWith({ type: 'node', pos: 5 });\n },\n );\n\n it('sets a TextSelection just after the inserted node for math-templated (no NodeSelection)', () => {\n const insert = buildInsertCommand('math-templated');\n const { mockTr, state } = buildStateAndTr('math_templated', { withResolve: true });\n const { NodeSelection, TextSelection } = require('prosemirror-state');\n\n insert({ tr: mockTr, state, dispatch: jest.fn(), commands: { focus: jest.fn() } });\n\n expect(NodeSelection.create).not.toHaveBeenCalled();\n // usedPos (5) + nodeSize (1) === 6\n expect(mockTr.doc.resolve).toHaveBeenCalledWith(6);\n expect(TextSelection.near).toHaveBeenCalledWith({ resolved: 6 }, 1);\n expect(mockTr.setSelection).toHaveBeenCalledWith({ type: 'text', pos: { resolved: 6 }, dir: 1 });\n });\n });\n });\n });\n});\n\ndescribe('ExplicitConstructedResponseNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(ExplicitConstructedResponseNode.name).toBe('explicit_constructed_response');\n });\n\n it('is inline', () => {\n expect(ExplicitConstructedResponseNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(ExplicitConstructedResponseNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(ExplicitConstructedResponseNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = ExplicitConstructedResponseNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = ExplicitConstructedResponseNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = ExplicitConstructedResponseNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'explicit_constructed_response');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = ExplicitConstructedResponseNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n\ndescribe('DragInTheBlankNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(DragInTheBlankNode.name).toBe('drag_in_the_blank');\n });\n\n it('is inline', () => {\n expect(DragInTheBlankNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(DragInTheBlankNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(DragInTheBlankNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = DragInTheBlankNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('id');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('inTable');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.id).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.inTable).toEqual({ default: null });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = DragInTheBlankNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = DragInTheBlankNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'drag_in_the_blank');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = DragInTheBlankNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n\ndescribe('InlineDropdownNode', () => {\n describe('configuration', () => {\n it('has correct name', () => {\n expect(InlineDropdownNode.name).toBe('inline_dropdown');\n });\n\n it('is inline', () => {\n expect(InlineDropdownNode.inline).toBe(true);\n });\n\n it('is in inline group', () => {\n expect(InlineDropdownNode.group).toBe('inline');\n });\n\n it('is atomic', () => {\n expect(InlineDropdownNode.atom).toBe(true);\n });\n });\n\n describe('addAttributes', () => {\n it('returns required attributes', () => {\n const attributes = InlineDropdownNode.addAttributes();\n\n expect(attributes).toHaveProperty('index');\n expect(attributes).toHaveProperty('value');\n expect(attributes).toHaveProperty('updated');\n\n expect(attributes.index).toEqual({ default: null });\n expect(attributes.value).toEqual({ default: '' });\n expect(attributes.updated).toEqual({ default: '' });\n });\n });\n\n describe('parseHTML', () => {\n it('returns parsing rules', () => {\n const rules = InlineDropdownNode.parseHTML();\n\n expect(Array.isArray(rules)).toBe(true);\n expect(rules).toHaveLength(1);\n expect(rules[0]).toHaveProperty('tag');\n });\n });\n\n describe('renderHTML', () => {\n it('renders span with attributes', () => {\n const result = InlineDropdownNode.renderHTML({\n HTMLAttributes: {\n index: '1',\n id: '1',\n value: 'test',\n },\n });\n\n expect(result[0]).toBe('span');\n expect(result[1]).toHaveProperty('data-type', 'inline_dropdown');\n });\n });\n\n describe('addNodeView', () => {\n it('returns ReactNodeViewRenderer result', () => {\n const result = InlineDropdownNode.addNodeView();\n\n expect(result).toBeDefined();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1,227 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.removeDialogs = exports.CSSMark = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactDom = _interopRequireDefault(require("react-dom"));
10
- var _core = require("@tiptap/core");
11
- var _List = _interopRequireDefault(require("@mui/material/List"));
12
- var _ListItem = _interopRequireDefault(require("@mui/material/ListItem"));
13
- var removeDialogs = exports.removeDialogs = function removeDialogs() {
14
- var prevDialogs = document.querySelectorAll('.insert-css-dialog');
15
- prevDialogs.forEach(function (s) {
16
- return s.remove();
17
- });
18
- };
19
- var insertDialog = function insertDialog(_ref) {
20
- var editor = _ref.editor,
21
- callback = _ref.callback,
22
- opts = _ref.opts,
23
- selectedText = _ref.selectedText,
24
- parentNode = _ref.parentNode;
25
- var editorDOM = editor.options.element;
26
- var newEl = document.createElement('div');
27
- var selection = editor.state.selection;
28
- removeDialogs();
29
- newEl.className = 'insert-css-dialog';
30
- var popoverEl;
31
- var closePopOver = function closePopOver() {
32
- if (popoverEl) {
33
- popoverEl.remove();
34
- }
35
- };
36
- var firstCallMade = false;
37
- var listener = function listener(e) {
38
- // this will be triggered right after setting it because
39
- // this toolbar is added on the mousedown event
40
- // so right after mouseup, the click will be triggered
41
- if (firstCallMade) {
42
- var focusIsInModals = newEl.contains(e.target) || popoverEl && popoverEl.contains(e.target);
43
- var focusIsInEditor = editorDOM.contains(e.target);
44
- if (!(focusIsInModals || focusIsInEditor)) {
45
- handleClose();
46
- }
47
- } else {
48
- firstCallMade = true;
49
- }
50
- };
51
- var handleClose = function handleClose() {
52
- callback(undefined, true);
53
- newEl.remove();
54
- closePopOver();
55
- document.body.removeEventListener('click', listener);
56
- };
57
- var handleChange = function handleChange(name) {
58
- callback(name, true);
59
- newEl.remove();
60
- closePopOver();
61
- document.body.removeEventListener('click', listener);
62
- };
63
- var parentNodeClass = parentNode === null || parentNode === void 0 ? void 0 : parentNode.attrs["class"];
64
- var createHTML = function createHTML(name) {
65
- var html = "<span class=\"".concat(name, "\">").concat(selectedText, "</span>");
66
- if (parentNode) {
67
- var tag = 'span';
68
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'inline') {
69
- tag = 'span';
70
- }
71
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.object) === 'block') {
72
- tag = 'div';
73
- }
74
- html = "<".concat(tag, " class=\"").concat(parentNodeClass, "\">").concat(parentNode.text.slice(0, selection.$anchor.textOffset)).concat(html).concat(parentNode.text.slice(selection.$head.textOffset), "</").concat(tag, ">");
75
- }
76
- return html;
77
- };
78
- var el = /*#__PURE__*/_react["default"].createElement("div", {
79
- style: {
80
- background: 'white',
81
- height: 500,
82
- padding: 20,
83
- overflow: 'hidden',
84
- display: 'flex',
85
- flexFlow: 'column'
86
- }
87
- }, /*#__PURE__*/_react["default"].createElement("h2", null, "Please choose a css class"), parentNodeClass && /*#__PURE__*/_react["default"].createElement("div", null, "The current parent has this class ", parentNodeClass), /*#__PURE__*/_react["default"].createElement(_List["default"], {
88
- component: "nav",
89
- style: {
90
- overflow: 'scroll'
91
- }
92
- }, opts.names.map(function (name, i) {
93
- return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
94
- key: "rule-".concat(i),
95
- button: true,
96
- onClick: function onClick() {
97
- return handleChange(name);
98
- }
99
- }, /*#__PURE__*/_react["default"].createElement("div", {
100
- style: {
101
- marginRight: 20
102
- }
103
- }, name), /*#__PURE__*/_react["default"].createElement("div", {
104
- dangerouslySetInnerHTML: {
105
- __html: createHTML(name)
106
- }
107
- }));
108
- })));
109
- _reactDom["default"].render(el, newEl, function () {
110
- var cursorItem = editor.view.nodeDOM(editor.state.selection.from);
111
- var cursorNode = cursorItem === null || cursorItem === void 0 ? void 0 : cursorItem.parentNode;
112
- if (cursorNode) {
113
- var bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();
114
- var boundRect = cursorNode.getBoundingClientRect();
115
- editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);
116
- newEl.style.maxWidth = '500px';
117
- newEl.style.position = 'absolute';
118
- newEl.style.top = 0;
119
- newEl.style.zIndex = 99999;
120
- var leftValue = "".concat(boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10, "px");
121
- var rightValue = "".concat(boundRect.x, "px");
122
- newEl.style.left = leftValue;
123
- var leftAlignedWidth = newEl.offsetWidth;
124
- newEl.style.left = 'unset';
125
- newEl.style.right = rightValue;
126
- var rightAlignedWidth = newEl.offsetWidth;
127
- newEl.style.left = 'unset';
128
- newEl.style.right = 'unset';
129
- if (leftAlignedWidth >= rightAlignedWidth) {
130
- newEl.style.left = leftValue;
131
- } else {
132
- newEl.style.right = rightValue;
133
- }
134
- document.body.addEventListener('click', listener);
135
- }
136
- });
137
- };
138
- var CSSMark = exports.CSSMark = _core.Mark.create({
139
- name: 'cssmark',
140
- addOptions: function addOptions() {
141
- return {
142
- classes: []
143
- };
144
- },
145
- addAttributes: function addAttributes() {
146
- return {
147
- "class": {
148
- "default": null,
149
- parseHTML: function parseHTML(el) {
150
- return el.getAttribute('class');
151
- },
152
- renderHTML: function renderHTML(attributes) {
153
- if (!attributes["class"]) return {};
154
- return {
155
- "class": attributes["class"]
156
- };
157
- }
158
- }
159
- };
160
- },
161
- parseHTML: function parseHTML() {
162
- var _this = this;
163
- // Any span with a class that matches one of allowed classes any span that carries a class attribute
164
- // so that pre-existing spans are preserved when loading content
165
- return [{
166
- tag: 'span[class]',
167
- getAttrs: function getAttrs(el) {
168
- var cls = el.getAttribute('class') || '';
169
- if (!cls) {
170
- return false;
171
- }
172
- var allowedClasses = _this.options && _this.options.classes || [];
173
- if (allowedClasses.length > 0) {
174
- var match = _this.options.classes.find(function (name) {
175
- return cls.includes(name);
176
- });
177
- return match ? {
178
- "class": match
179
- } : false;
180
- }
181
- return {
182
- "class": cls
183
- };
184
- }
185
- }];
186
- },
187
- renderHTML: function renderHTML(_ref2) {
188
- var HTMLAttributes = _ref2.HTMLAttributes;
189
- return ['span', (0, _core.mergeAttributes)(HTMLAttributes), 0];
190
- },
191
- addCommands: function addCommands() {
192
- var _this2 = this;
193
- return {
194
- setCSSClass: function setCSSClass(className) {
195
- return function (_ref3) {
196
- var commands = _ref3.commands;
197
- return commands.setMark(_this2.name, {
198
- "class": className
199
- });
200
- };
201
- },
202
- unsetCSSClass: function unsetCSSClass() {
203
- return function (_ref4) {
204
- var commands = _ref4.commands;
205
- return commands.unsetMark(_this2.name);
206
- };
207
- },
208
- openCSSClassDialog: function openCSSClassDialog() {
209
- return function (_ref5) {
210
- var editor = _ref5.editor;
211
- insertDialog({
212
- editor: editor,
213
- selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),
214
- parentNode: editor.state.selection.$from.nodeAfter,
215
- opts: _this2.options.extraCSSRules,
216
- callback: function callback(className) {
217
- if (className) {
218
- editor.chain().focus().setCSSClass(className).run();
219
- }
220
- }
221
- });
222
- };
223
- }
224
- };
225
- }
226
- });
227
- //# sourceMappingURL=css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"css.js","names":["_react","_interopRequireDefault","require","_reactDom","_core","_List","_ListItem","removeDialogs","exports","prevDialogs","document","querySelectorAll","forEach","s","remove","insertDialog","_ref","editor","callback","opts","selectedText","parentNode","editorDOM","options","element","newEl","createElement","selection","state","className","popoverEl","closePopOver","firstCallMade","listener","e","focusIsInModals","contains","target","focusIsInEditor","handleClose","undefined","body","removeEventListener","handleChange","name","parentNodeClass","attrs","createHTML","html","concat","tag","object","text","slice","$anchor","textOffset","$head","el","style","background","height","padding","overflow","display","flexFlow","component","names","map","i","key","button","onClick","marginRight","dangerouslySetInnerHTML","__html","ReactDOM","render","cursorItem","view","nodeDOM","from","cursorNode","bodyRect","parentElement","getBoundingClientRect","boundRect","appendChild","maxWidth","position","top","zIndex","leftValue","left","Math","abs","offsetWidth","rightValue","x","leftAlignedWidth","right","rightAlignedWidth","addEventListener","CSSMark","Mark","create","addOptions","classes","addAttributes","parseHTML","getAttribute","renderHTML","attributes","_this","getAttrs","cls","allowedClasses","length","match","find","includes","_ref2","HTMLAttributes","mergeAttributes","addCommands","_this2","setCSSClass","_ref3","commands","setMark","unsetCSSClass","_ref4","unsetMark","openCSSClassDialog","_ref5","doc","textBetween","to","$from","nodeAfter","extraCSSRules","chain","focus","run"],"sources":["../../src/extensions/css.js"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Mark, mergeAttributes } from '@tiptap/core';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\n\nexport const removeDialogs = () => {\n const prevDialogs = document.querySelectorAll('.insert-css-dialog');\n\n prevDialogs.forEach((s) => s.remove());\n};\n\nconst insertDialog = ({ editor, callback, opts, selectedText, parentNode }) => {\n const editorDOM = editor.options.element;\n const newEl = document.createElement('div');\n const { selection } = editor.state;\n\n removeDialogs();\n\n newEl.className = 'insert-css-dialog';\n\n let popoverEl;\n\n const closePopOver = () => {\n if (popoverEl) {\n popoverEl.remove();\n }\n };\n\n let firstCallMade = false;\n\n const listener = (e) => {\n // this will be triggered right after setting it because\n // this toolbar is added on the mousedown event\n // so right after mouseup, the click will be triggered\n if (firstCallMade) {\n const focusIsInModals = newEl.contains(e.target) || (popoverEl && popoverEl.contains(e.target));\n const focusIsInEditor = editorDOM.contains(e.target);\n\n if (!(focusIsInModals || focusIsInEditor)) {\n handleClose();\n }\n } else {\n firstCallMade = true;\n }\n };\n\n const handleClose = () => {\n callback(undefined, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const handleChange = (name) => {\n callback(name, true);\n newEl.remove();\n closePopOver();\n document.body.removeEventListener('click', listener);\n };\n\n const parentNodeClass = parentNode?.attrs.class;\n const createHTML = (name) => {\n let html = `<span class=\"${name}\">${selectedText}</span>`;\n\n if (parentNode) {\n let tag = 'span';\n\n if (parentNode?.object === 'inline') {\n tag = 'span';\n }\n\n if (parentNode?.object === 'block') {\n tag = 'div';\n }\n\n html = `<${tag} class=\"${parentNodeClass}\">${parentNode.text.slice(\n 0,\n selection.$anchor.textOffset,\n )}${html}${parentNode.text.slice(selection.$head.textOffset)}</${tag}>`;\n }\n\n return html;\n };\n\n const el = (\n <div\n style={{ background: 'white', height: 500, padding: 20, overflow: 'hidden', display: 'flex', flexFlow: 'column' }}\n >\n <h2>Please choose a css class</h2>\n {parentNodeClass && <div>The current parent has this class {parentNodeClass}</div>}\n <List component=\"nav\" style={{ overflow: 'scroll' }}>\n {opts.names.map((name, i) => (\n <ListItem key={`rule-${i}`} button onClick={() => handleChange(name)}>\n <div style={{ marginRight: 20 }}>{name}</div>\n <div\n dangerouslySetInnerHTML={{\n __html: createHTML(name),\n }}\n />\n </ListItem>\n ))}\n </List>\n </div>\n );\n\n ReactDOM.render(el, newEl, () => {\n const cursorItem = editor.view.nodeDOM(editor.state.selection.from);\n const cursorNode = cursorItem?.parentNode;\n\n if (cursorNode) {\n const bodyRect = editorDOM.parentElement.parentElement.parentElement.getBoundingClientRect();\n const boundRect = cursorNode.getBoundingClientRect();\n\n editorDOM.parentElement.parentElement.parentElement.appendChild(newEl);\n\n newEl.style.maxWidth = '500px';\n newEl.style.position = 'absolute';\n newEl.style.top = 0;\n newEl.style.zIndex = 99999;\n\n const leftValue = `${boundRect.left + Math.abs(bodyRect.left) + cursorNode.offsetWidth + 10}px`;\n\n const rightValue = `${boundRect.x}px`;\n\n newEl.style.left = leftValue;\n\n const leftAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = rightValue;\n\n const rightAlignedWidth = newEl.offsetWidth;\n\n newEl.style.left = 'unset';\n newEl.style.right = 'unset';\n\n if (leftAlignedWidth >= rightAlignedWidth) {\n newEl.style.left = leftValue;\n } else {\n newEl.style.right = rightValue;\n }\n\n document.body.addEventListener('click', listener);\n }\n });\n};\n\nexport const CSSMark = Mark.create({\n name: 'cssmark',\n\n addOptions() {\n return {\n classes: [],\n };\n },\n\n addAttributes() {\n return {\n class: {\n default: null,\n parseHTML: (el) => el.getAttribute('class'),\n renderHTML: (attributes) => {\n if (!attributes.class) return {};\n return { class: attributes.class };\n },\n },\n };\n },\n\n parseHTML() {\n // Any span with a class that matches one of allowed classes any span that carries a class attribute\n // so that pre-existing spans are preserved when loading content\n return [\n {\n tag: 'span[class]',\n getAttrs: (el) => {\n const cls = el.getAttribute('class') || '';\n\n if (!cls) {\n return false;\n }\n\n const allowedClasses = (this.options && this.options.classes) || [];\n\n if (allowedClasses.length > 0) {\n const match = this.options.classes.find((name) => cls.includes(name));\n\n return match ? { class: match } : false;\n }\n\n return { class: cls };\n },\n },\n ];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['span', mergeAttributes(HTMLAttributes), 0];\n },\n\n addCommands() {\n return {\n setCSSClass:\n (className) =>\n ({ commands }) => {\n return commands.setMark(this.name, { class: className });\n },\n\n unsetCSSClass:\n () =>\n ({ commands }) => {\n return commands.unsetMark(this.name);\n },\n\n openCSSClassDialog:\n () =>\n ({ editor }) => {\n insertDialog({\n editor,\n selectedText: editor.state.doc.textBetween(editor.state.selection.from, editor.state.selection.to),\n parentNode: editor.state.selection.$from.nodeAfter,\n opts: this.options.extraCSSRules,\n callback: (className) => {\n if (className) {\n editor.chain().focus().setCSSClass(className).run();\n }\n },\n });\n },\n };\n },\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEO,IAAMK,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,SAAhBA,aAAaA,CAAA,EAAS;EACjC,IAAME,WAAW,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,oBAAoB,CAAC;EAEnEF,WAAW,CAACG,OAAO,CAAC,UAACC,CAAC;IAAA,OAAKA,CAAC,CAACC,MAAM,CAAC,CAAC;EAAA,EAAC;AACxC,CAAC;AAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAA6D;EAAA,IAAvDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,IAAI,GAAAH,IAAA,CAAJG,IAAI;IAAEC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;IAAEC,UAAU,GAAAL,IAAA,CAAVK,UAAU;EACtE,IAAMC,SAAS,GAAGL,MAAM,CAACM,OAAO,CAACC,OAAO;EACxC,IAAMC,KAAK,GAAGf,QAAQ,CAACgB,aAAa,CAAC,KAAK,CAAC;EAC3C,IAAQC,SAAS,GAAKV,MAAM,CAACW,KAAK,CAA1BD,SAAS;EAEjBpB,aAAa,CAAC,CAAC;EAEfkB,KAAK,CAACI,SAAS,GAAG,mBAAmB;EAErC,IAAIC,SAAS;EAEb,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAA,EAAS;IACzB,IAAID,SAAS,EAAE;MACbA,SAAS,CAAChB,MAAM,CAAC,CAAC;IACpB;EACF,CAAC;EAED,IAAIkB,aAAa,GAAG,KAAK;EAEzB,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAIC,CAAC,EAAK;IACtB;IACA;IACA;IACA,IAAIF,aAAa,EAAE;MACjB,IAAMG,eAAe,GAAGV,KAAK,CAACW,QAAQ,CAACF,CAAC,CAACG,MAAM,CAAC,IAAKP,SAAS,IAAIA,SAAS,CAACM,QAAQ,CAACF,CAAC,CAACG,MAAM,CAAE;MAC/F,IAAMC,eAAe,GAAGhB,SAAS,CAACc,QAAQ,CAACF,CAAC,CAACG,MAAM,CAAC;MAEpD,IAAI,EAAEF,eAAe,IAAIG,eAAe,CAAC,EAAE;QACzCC,WAAW,CAAC,CAAC;MACf;IACF,CAAC,MAAM;MACLP,aAAa,GAAG,IAAI;IACtB;EACF,CAAC;EAED,IAAMO,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBrB,QAAQ,CAACsB,SAAS,EAAE,IAAI,CAAC;IACzBf,KAAK,CAACX,MAAM,CAAC,CAAC;IACdiB,YAAY,CAAC,CAAC;IACdrB,QAAQ,CAAC+B,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAET,QAAQ,CAAC;EACtD,CAAC;EAED,IAAMU,YAAY,GAAG,SAAfA,YAAYA,CAAIC,IAAI,EAAK;IAC7B1B,QAAQ,CAAC0B,IAAI,EAAE,IAAI,CAAC;IACpBnB,KAAK,CAACX,MAAM,CAAC,CAAC;IACdiB,YAAY,CAAC,CAAC;IACdrB,QAAQ,CAAC+B,IAAI,CAACC,mBAAmB,CAAC,OAAO,EAAET,QAAQ,CAAC;EACtD,CAAC;EAED,IAAMY,eAAe,GAAGxB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyB,KAAK,SAAM;EAC/C,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIH,IAAI,EAAK;IAC3B,IAAII,IAAI,oBAAAC,MAAA,CAAmBL,IAAI,SAAAK,MAAA,CAAK7B,YAAY,YAAS;IAEzD,IAAIC,UAAU,EAAE;MACd,IAAI6B,GAAG,GAAG,MAAM;MAEhB,IAAI,CAAA7B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE8B,MAAM,MAAK,QAAQ,EAAE;QACnCD,GAAG,GAAG,MAAM;MACd;MAEA,IAAI,CAAA7B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE8B,MAAM,MAAK,OAAO,EAAE;QAClCD,GAAG,GAAG,KAAK;MACb;MAEAF,IAAI,OAAAC,MAAA,CAAOC,GAAG,eAAAD,MAAA,CAAWJ,eAAe,SAAAI,MAAA,CAAK5B,UAAU,CAAC+B,IAAI,CAACC,KAAK,CAChE,CAAC,EACD1B,SAAS,CAAC2B,OAAO,CAACC,UACpB,CAAC,EAAAN,MAAA,CAAGD,IAAI,EAAAC,MAAA,CAAG5B,UAAU,CAAC+B,IAAI,CAACC,KAAK,CAAC1B,SAAS,CAAC6B,KAAK,CAACD,UAAU,CAAC,QAAAN,MAAA,CAAKC,GAAG,MAAG;IACzE;IAEA,OAAOF,IAAI;EACb,CAAC;EAED,IAAMS,EAAE,gBACNzD,MAAA,YAAA0B,aAAA;IACEgC,KAAK,EAAE;MAAEC,UAAU,EAAE,OAAO;MAAEC,MAAM,EAAE,GAAG;MAAEC,OAAO,EAAE,EAAE;MAAEC,QAAQ,EAAE,QAAQ;MAAEC,OAAO,EAAE,MAAM;MAAEC,QAAQ,EAAE;IAAS;EAAE,gBAElHhE,MAAA,YAAA0B,aAAA,aAAI,2BAA6B,CAAC,EACjCmB,eAAe,iBAAI7C,MAAA,YAAA0B,aAAA,cAAK,oCAAkC,EAACmB,eAAqB,CAAC,eAClF7C,MAAA,YAAA0B,aAAA,CAACrB,KAAA,WAAI;IAAC4D,SAAS,EAAC,KAAK;IAACP,KAAK,EAAE;MAAEI,QAAQ,EAAE;IAAS;EAAE,GACjD3C,IAAI,CAAC+C,KAAK,CAACC,GAAG,CAAC,UAACvB,IAAI,EAAEwB,CAAC;IAAA,oBACtBpE,MAAA,YAAA0B,aAAA,CAACpB,SAAA,WAAQ;MAAC+D,GAAG,UAAApB,MAAA,CAAUmB,CAAC,CAAG;MAACE,MAAM;MAACC,OAAO,EAAE,SAATA,OAAOA,CAAA;QAAA,OAAQ5B,YAAY,CAACC,IAAI,CAAC;MAAA;IAAC,gBACnE5C,MAAA,YAAA0B,aAAA;MAAKgC,KAAK,EAAE;QAAEc,WAAW,EAAE;MAAG;IAAE,GAAE5B,IAAU,CAAC,eAC7C5C,MAAA,YAAA0B,aAAA;MACE+C,uBAAuB,EAAE;QACvBC,MAAM,EAAE3B,UAAU,CAACH,IAAI;MACzB;IAAE,CACH,CACO,CAAC;EAAA,CACZ,CACG,CACH,CACN;EAED+B,oBAAQ,CAACC,MAAM,CAACnB,EAAE,EAAEhC,KAAK,EAAE,YAAM;IAC/B,IAAMoD,UAAU,GAAG5D,MAAM,CAAC6D,IAAI,CAACC,OAAO,CAAC9D,MAAM,CAACW,KAAK,CAACD,SAAS,CAACqD,IAAI,CAAC;IACnE,IAAMC,UAAU,GAAGJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAExD,UAAU;IAEzC,IAAI4D,UAAU,EAAE;MACd,IAAMC,QAAQ,GAAG5D,SAAS,CAAC6D,aAAa,CAACA,aAAa,CAACA,aAAa,CAACC,qBAAqB,CAAC,CAAC;MAC5F,IAAMC,SAAS,GAAGJ,UAAU,CAACG,qBAAqB,CAAC,CAAC;MAEpD9D,SAAS,CAAC6D,aAAa,CAACA,aAAa,CAACA,aAAa,CAACG,WAAW,CAAC7D,KAAK,CAAC;MAEtEA,KAAK,CAACiC,KAAK,CAAC6B,QAAQ,GAAG,OAAO;MAC9B9D,KAAK,CAACiC,KAAK,CAAC8B,QAAQ,GAAG,UAAU;MACjC/D,KAAK,CAACiC,KAAK,CAAC+B,GAAG,GAAG,CAAC;MACnBhE,KAAK,CAACiC,KAAK,CAACgC,MAAM,GAAG,KAAK;MAE1B,IAAMC,SAAS,MAAA1C,MAAA,CAAMoC,SAAS,CAACO,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACZ,QAAQ,CAACU,IAAI,CAAC,GAAGX,UAAU,CAACc,WAAW,GAAG,EAAE,OAAI;MAE/F,IAAMC,UAAU,MAAA/C,MAAA,CAAMoC,SAAS,CAACY,CAAC,OAAI;MAErCxE,KAAK,CAACiC,KAAK,CAACkC,IAAI,GAAGD,SAAS;MAE5B,IAAMO,gBAAgB,GAAGzE,KAAK,CAACsE,WAAW;MAE1CtE,KAAK,CAACiC,KAAK,CAACkC,IAAI,GAAG,OAAO;MAC1BnE,KAAK,CAACiC,KAAK,CAACyC,KAAK,GAAGH,UAAU;MAE9B,IAAMI,iBAAiB,GAAG3E,KAAK,CAACsE,WAAW;MAE3CtE,KAAK,CAACiC,KAAK,CAACkC,IAAI,GAAG,OAAO;MAC1BnE,KAAK,CAACiC,KAAK,CAACyC,KAAK,GAAG,OAAO;MAE3B,IAAID,gBAAgB,IAAIE,iBAAiB,EAAE;QACzC3E,KAAK,CAACiC,KAAK,CAACkC,IAAI,GAAGD,SAAS;MAC9B,CAAC,MAAM;QACLlE,KAAK,CAACiC,KAAK,CAACyC,KAAK,GAAGH,UAAU;MAChC;MAEAtF,QAAQ,CAAC+B,IAAI,CAAC4D,gBAAgB,CAAC,OAAO,EAAEpE,QAAQ,CAAC;IACnD;EACF,CAAC,CAAC;AACJ,CAAC;AAEM,IAAMqE,OAAO,GAAA9F,OAAA,CAAA8F,OAAA,GAAGC,UAAI,CAACC,MAAM,CAAC;EACjC5D,IAAI,EAAE,SAAS;EAEf6D,UAAU,WAAVA,UAAUA,CAAA,EAAG;IACX,OAAO;MACLC,OAAO,EAAE;IACX,CAAC;EACH,CAAC;EAEDC,aAAa,WAAbA,aAAaA,CAAA,EAAG;IACd,OAAO;MACL,SAAO;QACL,WAAS,IAAI;QACbC,SAAS,EAAE,SAAXA,SAASA,CAAGnD,EAAE;UAAA,OAAKA,EAAE,CAACoD,YAAY,CAAC,OAAO,CAAC;QAAA;QAC3CC,UAAU,EAAE,SAAZA,UAAUA,CAAGC,UAAU,EAAK;UAC1B,IAAI,CAACA,UAAU,SAAM,EAAE,OAAO,CAAC,CAAC;UAChC,OAAO;YAAE,SAAOA,UAAU;UAAO,CAAC;QACpC;MACF;IACF,CAAC;EACH,CAAC;EAEDH,SAAS,WAATA,SAASA,CAAA,EAAG;IAAA,IAAAI,KAAA;IACV;IACA;IACA,OAAO,CACL;MACE9D,GAAG,EAAE,aAAa;MAClB+D,QAAQ,EAAE,SAAVA,QAAQA,CAAGxD,EAAE,EAAK;QAChB,IAAMyD,GAAG,GAAGzD,EAAE,CAACoD,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;QAE1C,IAAI,CAACK,GAAG,EAAE;UACR,OAAO,KAAK;QACd;QAEA,IAAMC,cAAc,GAAIH,KAAI,CAACzF,OAAO,IAAIyF,KAAI,CAACzF,OAAO,CAACmF,OAAO,IAAK,EAAE;QAEnE,IAAIS,cAAc,CAACC,MAAM,GAAG,CAAC,EAAE;UAC7B,IAAMC,KAAK,GAAGL,KAAI,CAACzF,OAAO,CAACmF,OAAO,CAACY,IAAI,CAAC,UAAC1E,IAAI;YAAA,OAAKsE,GAAG,CAACK,QAAQ,CAAC3E,IAAI,CAAC;UAAA,EAAC;UAErE,OAAOyE,KAAK,GAAG;YAAE,SAAOA;UAAM,CAAC,GAAG,KAAK;QACzC;QAEA,OAAO;UAAE,SAAOH;QAAI,CAAC;MACvB;IACF,CAAC,CACF;EACH,CAAC;EAEDJ,UAAU,WAAVA,UAAUA,CAAAU,KAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,KAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,MAAM,EAAE,IAAAC,qBAAe,EAACD,cAAc,CAAC,EAAE,CAAC,CAAC;EACrD,CAAC;EAEDE,WAAW,WAAXA,WAAWA,CAAA,EAAG;IAAA,IAAAC,MAAA;IACZ,OAAO;MACLC,WAAW,EACT,SADFA,WAAWA,CACRhG,SAAS;QAAA,OACV,UAAAiG,KAAA,EAAkB;UAAA,IAAfC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;UACT,OAAOA,QAAQ,CAACC,OAAO,CAACJ,MAAI,CAAChF,IAAI,EAAE;YAAE,SAAOf;UAAU,CAAC,CAAC;QAC1D,CAAC;MAAA;MAEHoG,aAAa,EACX,SADFA,aAAaA,CAAA;QAAA,OAEX,UAAAC,KAAA,EAAkB;UAAA,IAAfH,QAAQ,GAAAG,KAAA,CAARH,QAAQ;UACT,OAAOA,QAAQ,CAACI,SAAS,CAACP,MAAI,CAAChF,IAAI,CAAC;QACtC,CAAC;MAAA;MAEHwF,kBAAkB,EAChB,SADFA,kBAAkBA,CAAA;QAAA,OAEhB,UAAAC,KAAA,EAAgB;UAAA,IAAbpH,MAAM,GAAAoH,KAAA,CAANpH,MAAM;UACPF,YAAY,CAAC;YACXE,MAAM,EAANA,MAAM;YACNG,YAAY,EAAEH,MAAM,CAACW,KAAK,CAAC0G,GAAG,CAACC,WAAW,CAACtH,MAAM,CAACW,KAAK,CAACD,SAAS,CAACqD,IAAI,EAAE/D,MAAM,CAACW,KAAK,CAACD,SAAS,CAAC6G,EAAE,CAAC;YAClGnH,UAAU,EAAEJ,MAAM,CAACW,KAAK,CAACD,SAAS,CAAC8G,KAAK,CAACC,SAAS;YAClDvH,IAAI,EAAEyG,MAAI,CAACrG,OAAO,CAACoH,aAAa;YAChCzH,QAAQ,EAAE,SAAVA,QAAQA,CAAGW,SAAS,EAAK;cACvB,IAAIA,SAAS,EAAE;gBACbZ,MAAM,CAAC2H,KAAK,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC,CAAChB,WAAW,CAAChG,SAAS,CAAC,CAACiH,GAAG,CAAC,CAAC;cACrD;YACF;UACF,CAAC,CAAC;QACJ,CAAC;MAAA;IACL,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,92 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
11
- var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
12
- var _constants = require("../constants");
13
- var _styles = require("@mui/material/styles");
14
- var _doneButton = require("../components/common/done-button");
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
- var StyledToolbar = (0, _styles.styled)('div', {
18
- shouldForwardProp: function shouldForwardProp(prop) {
19
- return !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop);
20
- }
21
- })(function (_ref) {
22
- var showDone = _ref.showDone,
23
- toolbarAlignment = _ref.toolbarAlignment,
24
- isFocused = _ref.isFocused,
25
- autoWidth = _ref.autoWidth,
26
- isHidden = _ref.isHidden;
27
- return _objectSpread(_objectSpread(_objectSpread({
28
- position: 'absolute',
29
- zIndex: 10,
30
- cursor: 'pointer',
31
- justifyContent: 'space-between',
32
- background: 'var(--editable-html-toolbar-bg, #efefef)',
33
- minWidth: showDone ? '280px' : '265px',
34
- margin: '5px 0 0 0',
35
- padding: '2px',
36
- boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',
37
- boxSizing: 'border-box',
38
- display: 'flex',
39
- opacity: 1
40
- }, toolbarAlignment === 'right' && {
41
- right: 0
42
- }), autoWidth ? {
43
- width: 'auto'
44
- } : {
45
- width: '100%'
46
- }), isHidden && {
47
- visibility: 'hidden'
48
- });
49
- });
50
- var StyledIconButton = (0, _styles.styled)(_IconButton["default"])({
51
- width: '28px',
52
- height: '28px',
53
- padding: '4px',
54
- verticalAlign: 'top'
55
- });
56
- var SharedContainer = (0, _styles.styled)('div')({
57
- display: 'flex'
58
- });
59
- function CustomToolbarWrapper(props) {
60
- var children = props.children,
61
- deletable = props.deletable,
62
- toolbarOpts = props.toolbarOpts,
63
- autoWidth = props.autoWidth,
64
- isFocused = props.isFocused,
65
- doneButtonRef = props.doneButtonRef,
66
- onDelete = props.onDelete,
67
- showDone = props.showDone,
68
- onDone = props.onDone,
69
- style = props.style;
70
- var customStyles = toolbarOpts.minWidth !== undefined ? {
71
- minWidth: toolbarOpts.minWidth
72
- } : {};
73
- return /*#__PURE__*/_react["default"].createElement(StyledToolbar, {
74
- className: _constants.PIE_TOOLBAR__CLASS,
75
- showDone: showDone,
76
- toolbarAlignment: toolbarOpts.alignment,
77
- isFocused: toolbarOpts.alwaysVisible || isFocused,
78
- autoWidth: autoWidth,
79
- isHidden: toolbarOpts.isHidden === true,
80
- style: _objectSpread(_objectSpread({}, customStyles), style)
81
- }, children, /*#__PURE__*/_react["default"].createElement(SharedContainer, null, deletable && /*#__PURE__*/_react["default"].createElement(StyledIconButton, {
82
- "aria-label": "Delete",
83
- onMouseDown: function onMouseDown(e) {
84
- return onDelete === null || onDelete === void 0 ? void 0 : onDelete(e);
85
- }
86
- }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)), showDone && /*#__PURE__*/_react["default"].createElement(_doneButton.DoneButton, {
87
- doneButtonRef: doneButtonRef,
88
- onClick: onDone
89
- })));
90
- }
91
- var _default = exports["default"] = CustomToolbarWrapper;
92
- //# sourceMappingURL=custom-toolbar-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-toolbar-wrapper.js","names":["_react","_interopRequireDefault","require","_IconButton","_Delete","_constants","_styles","_doneButton","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledToolbar","styled","shouldForwardProp","prop","includes","_ref","showDone","toolbarAlignment","isFocused","autoWidth","isHidden","position","zIndex","cursor","justifyContent","background","minWidth","margin","padding","boxShadow","boxSizing","display","opacity","right","width","visibility","StyledIconButton","IconButton","height","verticalAlign","SharedContainer","CustomToolbarWrapper","props","children","deletable","toolbarOpts","doneButtonRef","onDelete","onDone","style","customStyles","undefined","createElement","className","PIE_TOOLBAR__CLASS","alignment","alwaysVisible","onMouseDown","DoneButton","onClick","_default","exports"],"sources":["../../src/extensions/custom-toolbar-wrapper.jsx"],"sourcesContent":["import React from 'react';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { PIE_TOOLBAR__CLASS } from '../constants';\nimport { styled } from '@mui/material/styles';\nimport { DoneButton } from '../components/common/done-button';\n\nconst StyledToolbar = styled('div', {\n shouldForwardProp: (prop) => !['showDone', 'toolbarAlignment', 'isFocused', 'autoWidth', 'isHidden'].includes(prop),\n})(({ showDone, toolbarAlignment, isFocused, autoWidth, isHidden }) => ({\n position: 'absolute',\n zIndex: 10,\n cursor: 'pointer',\n justifyContent: 'space-between',\n background: 'var(--editable-html-toolbar-bg, #efefef)',\n minWidth: showDone ? '280px' : '265px',\n margin: '5px 0 0 0',\n padding: '2px',\n boxShadow:\n '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)',\n boxSizing: 'border-box',\n display: 'flex',\n opacity: 1,\n ...(toolbarAlignment === 'right' && {\n right: 0,\n }),\n ...(autoWidth\n ? {\n width: 'auto',\n }\n : {\n width: '100%',\n }),\n ...(isHidden && {\n visibility: 'hidden',\n }),\n}));\n\nconst StyledIconButton = styled(IconButton)({\n width: '28px',\n height: '28px',\n padding: '4px',\n verticalAlign: 'top',\n});\n\nconst SharedContainer = styled('div')({\n display: 'flex',\n});\n\nfunction CustomToolbarWrapper(props) {\n const { children, deletable, toolbarOpts, autoWidth, isFocused, doneButtonRef, onDelete, showDone, onDone, style } = props;\n const customStyles = toolbarOpts.minWidth !== undefined ? { minWidth: toolbarOpts.minWidth } : {};\n\n return (\n <StyledToolbar\n className={PIE_TOOLBAR__CLASS}\n showDone={showDone}\n toolbarAlignment={toolbarOpts.alignment}\n isFocused={toolbarOpts.alwaysVisible || isFocused}\n autoWidth={autoWidth}\n isHidden={toolbarOpts.isHidden === true}\n style={{ ...customStyles, ...style }}\n >\n {children}\n\n <SharedContainer>\n {deletable && (\n <StyledIconButton aria-label=\"Delete\" onMouseDown={(e) => onDelete?.(e)}>\n <Delete />\n </StyledIconButton>\n )}\n {showDone && <DoneButton doneButtonRef={doneButtonRef} onClick={onDone} />}\n </SharedContainer>\n </StyledToolbar>\n );\n}\n\nexport default CustomToolbarWrapper;\n"],"mappings":"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","ignoreList":[]}
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DivNode = void 0;
7
- var _core = require("@tiptap/core");
8
- // DivNode.ts
9
-
10
- var DivNode = exports.DivNode = _core.Node.create({
11
- name: 'div',
12
- group: 'block',
13
- content: 'inline*',
14
- parseHTML: function parseHTML() {
15
- return [{
16
- tag: 'div'
17
- }];
18
- },
19
- renderHTML: function renderHTML(_ref) {
20
- var HTMLAttributes = _ref.HTMLAttributes;
21
- return ['div', HTMLAttributes, 0];
22
- },
23
- addKeyboardShortcuts: function addKeyboardShortcuts() {
24
- var _this = this;
25
- var isInsideListItem = function isInsideListItem($from) {
26
- for (var depth = $from.depth; depth >= 0; depth -= 1) {
27
- if ($from.node(depth).type.name === 'listItem') {
28
- return true;
29
- }
30
- }
31
- return false;
32
- };
33
- return {
34
- Enter: function Enter() {
35
- var state = _this.editor.state;
36
- var $from = state.selection.$from;
37
- if ($from.parent.type.name !== 'div') {
38
- return false;
39
- }
40
- if (isInsideListItem($from)) {
41
- return false;
42
- }
43
- return _this.editor.chain().focus().setNode('paragraph') // current div becomes <p>
44
- .splitBlock() // create another <p>
45
- .run();
46
- },
47
- // When the cursor is in a div and the user presses Backspace,
48
- // ProseMirror's default handler may try to join/delete the block node
49
- // once it becomes empty. That triggers the Enter shortcut above
50
- // (div → p conversion + split), making it look like a new line is
51
- // inserted instead of deleting.
52
- // We handle two cases explicitly:
53
- // 1. The div already IS empty → swallow the event (nothing to delete).
54
- // 2. The div has exactly ONE character left → delete just that character
55
- // using a precise transaction, then stop. This prevents ProseMirror
56
- // from following up with a block-join that triggers the Enter handler.
57
- Backspace: function Backspace() {
58
- var state = _this.editor.state;
59
- var _state$selection = state.selection,
60
- $from = _state$selection.$from,
61
- selectionEmpty = _state$selection.empty;
62
- if ($from.parent.type.name !== 'div') {
63
- return false;
64
- }
65
- if (!selectionEmpty) {
66
- return false;
67
- }
68
- var parentText = $from.parent.textContent;
69
- if (parentText.length === 0) {
70
- return state.doc.childCount === 1 ? true : false;
71
- }
72
- if (parentText.length === 1 && $from.parentOffset === 1) {
73
- var tr = state.tr;
74
- tr["delete"]($from.pos - 1, $from.pos);
75
- _this.editor.view.dispatch(tr);
76
- return true;
77
- }
78
- return false;
79
- }
80
- };
81
- }
82
- });
83
- //# sourceMappingURL=div-node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"div-node.js","names":["_core","require","DivNode","exports","Node","create","name","group","content","parseHTML","tag","renderHTML","_ref","HTMLAttributes","addKeyboardShortcuts","_this","isInsideListItem","$from","depth","node","type","Enter","state","editor","selection","parent","chain","focus","setNode","splitBlock","run","Backspace","_state$selection","selectionEmpty","empty","parentText","textContent","length","doc","childCount","parentOffset","tr","pos","view","dispatch"],"sources":["../../src/extensions/div-node.js"],"sourcesContent":["// DivNode.ts\nimport { Node } from '@tiptap/core';\n\nexport const DivNode = Node.create({\n name: 'div',\n group: 'block',\n content: 'inline*',\n\n parseHTML() {\n return [{ tag: 'div' }];\n },\n\n renderHTML({ HTMLAttributes }) {\n return ['div', HTMLAttributes, 0];\n },\n\n addKeyboardShortcuts() {\n const isInsideListItem = ($from) => {\n for (let depth = $from.depth; depth >= 0; depth -= 1) {\n if ($from.node(depth).type.name === 'listItem') {\n return true;\n }\n }\n return false;\n };\n\n return {\n Enter: () => {\n const { state } = this.editor;\n const { $from } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n if (isInsideListItem($from)) {\n return false;\n }\n\n return this.editor\n .chain()\n .focus()\n .setNode('paragraph') // current div becomes <p>\n .splitBlock() // create another <p>\n .run();\n },\n\n // When the cursor is in a div and the user presses Backspace,\n // ProseMirror's default handler may try to join/delete the block node\n // once it becomes empty. That triggers the Enter shortcut above\n // (div → p conversion + split), making it look like a new line is\n // inserted instead of deleting.\n // We handle two cases explicitly:\n // 1. The div already IS empty → swallow the event (nothing to delete).\n // 2. The div has exactly ONE character left → delete just that character\n // using a precise transaction, then stop. This prevents ProseMirror\n // from following up with a block-join that triggers the Enter handler.\n Backspace: () => {\n const { state } = this.editor;\n const { $from, empty: selectionEmpty } = state.selection;\n\n if ($from.parent.type.name !== 'div') {\n return false;\n }\n\n if (!selectionEmpty) {\n return false;\n }\n\n const parentText = $from.parent.textContent;\n\n if (parentText.length === 0) {\n return state.doc.childCount === 1 ? true : false;\n }\n\n if (parentText.length === 1 && $from.parentOffset === 1) {\n const { tr } = state;\n tr.delete($from.pos - 1, $from.pos);\n this.editor.view.dispatch(tr);\n return true;\n }\n\n return false;\n },\n };\n },\n});\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA;;AAGO,IAAMC,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAGE,UAAI,CAACC,MAAM,CAAC;EACjCC,IAAI,EAAE,KAAK;EACXC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAElBC,SAAS,WAATA,SAASA,CAAA,EAAG;IACV,OAAO,CAAC;MAAEC,GAAG,EAAE;IAAM,CAAC,CAAC;EACzB,CAAC;EAEDC,UAAU,WAAVA,UAAUA,CAAAC,IAAA,EAAqB;IAAA,IAAlBC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACzB,OAAO,CAAC,KAAK,EAAEA,cAAc,EAAE,CAAC,CAAC;EACnC,CAAC;EAEDC,oBAAoB,WAApBA,oBAAoBA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACrB,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK,EAAK;MAClC,KAAK,IAAIC,KAAK,GAAGD,KAAK,CAACC,KAAK,EAAEA,KAAK,IAAI,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAE;QACpD,IAAID,KAAK,CAACE,IAAI,CAACD,KAAK,CAAC,CAACE,IAAI,CAACd,IAAI,KAAK,UAAU,EAAE;UAC9C,OAAO,IAAI;QACb;MACF;MACA,OAAO,KAAK;IACd,CAAC;IAED,OAAO;MACLe,KAAK,EAAE,SAAPA,KAAKA,CAAA,EAAQ;QACX,IAAQC,KAAK,GAAKP,KAAI,CAACQ,MAAM,CAArBD,KAAK;QACb,IAAQL,KAAK,GAAKK,KAAK,CAACE,SAAS,CAAzBP,KAAK;QAEb,IAAIA,KAAK,CAACQ,MAAM,CAACL,IAAI,CAACd,IAAI,KAAK,KAAK,EAAE;UACpC,OAAO,KAAK;QACd;QACA,IAAIU,gBAAgB,CAACC,KAAK,CAAC,EAAE;UAC3B,OAAO,KAAK;QACd;QAEA,OAAOF,KAAI,CAACQ,MAAM,CACfG,KAAK,CAAC,CAAC,CACPC,KAAK,CAAC,CAAC,CACPC,OAAO,CAAC,WAAW,CAAC,CAAC;QAAA,CACrBC,UAAU,CAAC,CAAC,CAAC;QAAA,CACbC,GAAG,CAAC,CAAC;MACV,CAAC;MAED;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACAC,SAAS,EAAE,SAAXA,SAASA,CAAA,EAAQ;QACf,IAAQT,KAAK,GAAKP,KAAI,CAACQ,MAAM,CAArBD,KAAK;QACb,IAAAU,gBAAA,GAAyCV,KAAK,CAACE,SAAS;UAAhDP,KAAK,GAAAe,gBAAA,CAALf,KAAK;UAASgB,cAAc,GAAAD,gBAAA,CAArBE,KAAK;QAEpB,IAAIjB,KAAK,CAACQ,MAAM,CAACL,IAAI,CAACd,IAAI,KAAK,KAAK,EAAE;UACpC,OAAO,KAAK;QACd;QAEA,IAAI,CAAC2B,cAAc,EAAE;UACnB,OAAO,KAAK;QACd;QAEA,IAAME,UAAU,GAAGlB,KAAK,CAACQ,MAAM,CAACW,WAAW;QAE3C,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;UAC3B,OAAOf,KAAK,CAACgB,GAAG,CAACC,UAAU,KAAK,CAAC,GAAG,IAAI,GAAG,KAAK;QAClD;QAEA,IAAIJ,UAAU,CAACE,MAAM,KAAK,CAAC,IAAIpB,KAAK,CAACuB,YAAY,KAAK,CAAC,EAAE;UACvD,IAAQC,EAAE,GAAKnB,KAAK,CAAZmB,EAAE;UACVA,EAAE,UAAO,CAACxB,KAAK,CAACyB,GAAG,GAAG,CAAC,EAAEzB,KAAK,CAACyB,GAAG,CAAC;UACnC3B,KAAI,CAACQ,MAAM,CAACoB,IAAI,CAACC,QAAQ,CAACH,EAAE,CAAC;UAC7B,OAAO,IAAI;QACb;QAEA,OAAO,KAAK;MACd;IACF,CAAC;EACH;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EnsureEmptyRootIsDiv = void 0;
7
- var _core = require("@tiptap/core");
8
- var _state = require("@tiptap/pm/state");
9
- /**
10
- * After ProseMirror repairs an empty document, it often inserts a `paragraph`.
11
- * We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.
12
- */
13
- var EnsureEmptyRootIsDiv = exports.EnsureEmptyRootIsDiv = _core.Extension.create({
14
- name: 'ensureEmptyRootIsDiv',
15
- addProseMirrorPlugins: function addProseMirrorPlugins() {
16
- var key = new _state.PluginKey(this.name);
17
- return [new _state.Plugin({
18
- key: key,
19
- appendTransaction: function appendTransaction(transactions, _oldState, newState) {
20
- if (!transactions.some(function (tr) {
21
- return tr.docChanged;
22
- })) {
23
- return null;
24
- }
25
- var doc = newState.doc;
26
- if (doc.childCount !== 1) {
27
- return null;
28
- }
29
- var first = doc.firstChild;
30
- if (first.type.name !== 'paragraph' || first.content.size > 0) {
31
- return null;
32
- }
33
- var divType = newState.schema.nodes.div;
34
- if (!divType) {
35
- return null;
36
- }
37
-
38
- // Top-level content positions are 0 .. doc.content.size. The first block spans
39
- // [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the
40
- // document inconsistent after a full delete (Cmd+A, Backspace).
41
- var start = 0;
42
- var end = first.nodeSize;
43
- return newState.tr.replaceWith(start, end, divType.create());
44
- }
45
- })];
46
- }
47
- });
48
- //# sourceMappingURL=ensure-empty-root-div.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensure-empty-root-div.js","names":["_core","require","_state","EnsureEmptyRootIsDiv","exports","Extension","create","name","addProseMirrorPlugins","key","PluginKey","Plugin","appendTransaction","transactions","_oldState","newState","some","tr","docChanged","doc","childCount","first","firstChild","type","content","size","divType","schema","nodes","div","start","end","nodeSize","replaceWith"],"sources":["../../src/extensions/ensure-empty-root-div.js"],"sourcesContent":["import { Extension } from '@tiptap/core';\nimport { Plugin, PluginKey } from '@tiptap/pm/state';\n\n/**\n * After ProseMirror repairs an empty document, it often inserts a `paragraph`.\n * We want a lone empty top-level block to be `div` (DivNode) so typing stays `<div>A</div>`.\n */\nexport const EnsureEmptyRootIsDiv = Extension.create({\n name: 'ensureEmptyRootIsDiv',\n\n addProseMirrorPlugins() {\n const key = new PluginKey(this.name);\n\n return [\n new Plugin({\n key,\n appendTransaction(transactions, _oldState, newState) {\n if (!transactions.some((tr) => tr.docChanged)) {\n return null;\n }\n\n const { doc } = newState;\n if (doc.childCount !== 1) {\n return null;\n }\n\n const first = doc.firstChild;\n if (first.type.name !== 'paragraph' || first.content.size > 0) {\n return null;\n }\n\n const divType = newState.schema.nodes.div;\n if (!divType) {\n return null;\n }\n\n // Top-level content positions are 0 .. doc.content.size. The first block spans\n // [0, first.nodeSize). Using start=1 replaces the wrong slice and can leave the\n // document inconsistent after a full delete (Cmd+A, Backspace).\n const start = 0;\n const end = first.nodeSize;\n return newState.tr.replaceWith(start, end, divType.create());\n },\n }),\n ];\n },\n});\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,IAAME,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAGE,eAAS,CAACC,MAAM,CAAC;EACnDC,IAAI,EAAE,sBAAsB;EAE5BC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,IAAMC,GAAG,GAAG,IAAIC,gBAAS,CAAC,IAAI,CAACH,IAAI,CAAC;IAEpC,OAAO,CACL,IAAII,aAAM,CAAC;MACTF,GAAG,EAAHA,GAAG;MACHG,iBAAiB,WAAjBA,iBAAiBA,CAACC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,EAAE;QACnD,IAAI,CAACF,YAAY,CAACG,IAAI,CAAC,UAACC,EAAE;UAAA,OAAKA,EAAE,CAACC,UAAU;QAAA,EAAC,EAAE;UAC7C,OAAO,IAAI;QACb;QAEA,IAAQC,GAAG,GAAKJ,QAAQ,CAAhBI,GAAG;QACX,IAAIA,GAAG,CAACC,UAAU,KAAK,CAAC,EAAE;UACxB,OAAO,IAAI;QACb;QAEA,IAAMC,KAAK,GAAGF,GAAG,CAACG,UAAU;QAC5B,IAAID,KAAK,CAACE,IAAI,CAAChB,IAAI,KAAK,WAAW,IAAIc,KAAK,CAACG,OAAO,CAACC,IAAI,GAAG,CAAC,EAAE;UAC7D,OAAO,IAAI;QACb;QAEA,IAAMC,OAAO,GAAGX,QAAQ,CAACY,MAAM,CAACC,KAAK,CAACC,GAAG;QACzC,IAAI,CAACH,OAAO,EAAE;UACZ,OAAO,IAAI;QACb;;QAEA;QACA;QACA;QACA,IAAMI,KAAK,GAAG,CAAC;QACf,IAAMC,GAAG,GAAGV,KAAK,CAACW,QAAQ;QAC1B,OAAOjB,QAAQ,CAACE,EAAE,CAACgB,WAAW,CAACH,KAAK,EAAEC,GAAG,EAAEL,OAAO,CAACpB,MAAM,CAAC,CAAC,CAAC;MAC9D;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAC,CAAC","ignoreList":[]}