@ctzhian/tiptap 0.4.0

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 (466) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +43 -0
  3. package/dist/Editor/demo.d.ts +4 -0
  4. package/dist/Editor/demo.js +150 -0
  5. package/dist/Editor/index.d.ts +4 -0
  6. package/dist/Editor/index.js +21 -0
  7. package/dist/EditorThemeProvider/index.d.ts +11 -0
  8. package/dist/EditorThemeProvider/index.js +90 -0
  9. package/dist/EditorToolbar/index.d.ts +9 -0
  10. package/dist/EditorToolbar/index.js +286 -0
  11. package/dist/asset/css/index.css +161 -0
  12. package/dist/asset/images/disk.png +0 -0
  13. package/dist/asset/images/down.svg +3 -0
  14. package/dist/component/CustomBubbleMenu/SelectionText.d.ts +9 -0
  15. package/dist/component/CustomBubbleMenu/SelectionText.js +295 -0
  16. package/dist/component/CustomDragHandle/index.d.ts +9 -0
  17. package/dist/component/CustomDragHandle/index.js +1172 -0
  18. package/dist/component/CustomFloatingMenu/index.d.ts +0 -0
  19. package/dist/component/CustomFloatingMenu/index.js +85 -0
  20. package/dist/component/FloatingPopover/index.d.ts +13 -0
  21. package/dist/component/FloatingPopover/index.js +104 -0
  22. package/dist/component/Icons/ai-generate-2-icon.d.ts +6 -0
  23. package/dist/component/Icons/ai-generate-2-icon.js +13 -0
  24. package/dist/component/Icons/ai-generate-text-icon.d.ts +6 -0
  25. package/dist/component/Icons/ai-generate-text-icon.js +13 -0
  26. package/dist/component/Icons/align-bottom-icon.d.ts +6 -0
  27. package/dist/component/Icons/align-bottom-icon.js +13 -0
  28. package/dist/component/Icons/align-center-icon.d.ts +6 -0
  29. package/dist/component/Icons/align-center-icon.js +13 -0
  30. package/dist/component/Icons/align-justify-icon.d.ts +6 -0
  31. package/dist/component/Icons/align-justify-icon.js +13 -0
  32. package/dist/component/Icons/align-left-icon.d.ts +6 -0
  33. package/dist/component/Icons/align-left-icon.js +13 -0
  34. package/dist/component/Icons/align-right-icon.d.ts +6 -0
  35. package/dist/component/Icons/align-right-icon.js +13 -0
  36. package/dist/component/Icons/align-top-icon.d.ts +6 -0
  37. package/dist/component/Icons/align-top-icon.js +13 -0
  38. package/dist/component/Icons/align-vertically-icon.d.ts +6 -0
  39. package/dist/component/Icons/align-vertically-icon.js +13 -0
  40. package/dist/component/Icons/anticlockwise-line-icon.d.ts +6 -0
  41. package/dist/component/Icons/anticlockwise-line-icon.js +13 -0
  42. package/dist/component/Icons/arrow-down-s-line-icon.d.ts +6 -0
  43. package/dist/component/Icons/arrow-down-s-line-icon.js +13 -0
  44. package/dist/component/Icons/arrow-go-back-line-icon.d.ts +6 -0
  45. package/dist/component/Icons/arrow-go-back-line-icon.js +13 -0
  46. package/dist/component/Icons/arrow-go-forward-line-icon.d.ts +6 -0
  47. package/dist/component/Icons/arrow-go-forward-line-icon.js +13 -0
  48. package/dist/component/Icons/arrow-left-wide-line-icon.d.ts +6 -0
  49. package/dist/component/Icons/arrow-left-wide-line-icon.js +13 -0
  50. package/dist/component/Icons/at-line-icon.d.ts +6 -0
  51. package/dist/component/Icons/at-line-icon.js +13 -0
  52. package/dist/component/Icons/attachment-2-icon.d.ts +6 -0
  53. package/dist/component/Icons/attachment-2-icon.js +13 -0
  54. package/dist/component/Icons/attachment-line-icon.d.ts +6 -0
  55. package/dist/component/Icons/attachment-line-icon.js +13 -0
  56. package/dist/component/Icons/bold-icon.d.ts +6 -0
  57. package/dist/component/Icons/bold-icon.js +13 -0
  58. package/dist/component/Icons/brush-line-icon.d.ts +6 -0
  59. package/dist/component/Icons/brush-line-icon.js +13 -0
  60. package/dist/component/Icons/carousel-view-icon.d.ts +6 -0
  61. package/dist/component/Icons/carousel-view-icon.js +13 -0
  62. package/dist/component/Icons/checkbox-blank-circle-line-icon.d.ts +6 -0
  63. package/dist/component/Icons/checkbox-blank-circle-line-icon.js +13 -0
  64. package/dist/component/Icons/checkbox-circle-line-icon.d.ts +6 -0
  65. package/dist/component/Icons/checkbox-circle-line-icon.js +13 -0
  66. package/dist/component/Icons/clockwise-line-icon.d.ts +6 -0
  67. package/dist/component/Icons/clockwise-line-icon.js +13 -0
  68. package/dist/component/Icons/code-box-line-icon.d.ts +6 -0
  69. package/dist/component/Icons/code-box-line-icon.js +13 -0
  70. package/dist/component/Icons/code-line-icon.d.ts +6 -0
  71. package/dist/component/Icons/code-line-icon.js +13 -0
  72. package/dist/component/Icons/code-s-slash-line-icon.d.ts +6 -0
  73. package/dist/component/Icons/code-s-slash-line-icon.js +13 -0
  74. package/dist/component/Icons/copy-icon.d.ts +6 -0
  75. package/dist/component/Icons/copy-icon.js +13 -0
  76. package/dist/component/Icons/custom-size-icon.d.ts +6 -0
  77. package/dist/component/Icons/custom-size-icon.js +13 -0
  78. package/dist/component/Icons/delete-column-icon.d.ts +6 -0
  79. package/dist/component/Icons/delete-column-icon.js +13 -0
  80. package/dist/component/Icons/delete-line-icon.d.ts +6 -0
  81. package/dist/component/Icons/delete-line-icon.js +13 -0
  82. package/dist/component/Icons/delete-row-icon.d.ts +6 -0
  83. package/dist/component/Icons/delete-row-icon.js +13 -0
  84. package/dist/component/Icons/double-quotes-l-icon.d.ts +6 -0
  85. package/dist/component/Icons/double-quotes-l-icon.js +13 -0
  86. package/dist/component/Icons/download-line-icon.d.ts +6 -0
  87. package/dist/component/Icons/download-line-icon.js +13 -0
  88. package/dist/component/Icons/draggable-icon.d.ts +6 -0
  89. package/dist/component/Icons/draggable-icon.js +13 -0
  90. package/dist/component/Icons/edit-box-line-icon.d.ts +6 -0
  91. package/dist/component/Icons/edit-box-line-icon.js +13 -0
  92. package/dist/component/Icons/export-line-icon.d.ts +6 -0
  93. package/dist/component/Icons/export-line-icon.js +13 -0
  94. package/dist/component/Icons/file-copy-line-icon.d.ts +6 -0
  95. package/dist/component/Icons/file-copy-line-icon.js +13 -0
  96. package/dist/component/Icons/file-upload-line-icon.d.ts +6 -0
  97. package/dist/component/Icons/file-upload-line-icon.js +13 -0
  98. package/dist/component/Icons/flow-chart-icon.d.ts +6 -0
  99. package/dist/component/Icons/flow-chart-icon.js +13 -0
  100. package/dist/component/Icons/font-color-icon.d.ts +6 -0
  101. package/dist/component/Icons/font-color-icon.js +13 -0
  102. package/dist/component/Icons/font-family-icon.d.ts +6 -0
  103. package/dist/component/Icons/font-family-icon.js +13 -0
  104. package/dist/component/Icons/font-size-icon.d.ts +6 -0
  105. package/dist/component/Icons/font-size-icon.js +13 -0
  106. package/dist/component/Icons/format-clear-icon.d.ts +6 -0
  107. package/dist/component/Icons/format-clear-icon.js +13 -0
  108. package/dist/component/Icons/formula-icon.d.ts +6 -0
  109. package/dist/component/Icons/formula-icon.js +13 -0
  110. package/dist/component/Icons/fullscreen-exit-line-icon.d.ts +6 -0
  111. package/dist/component/Icons/fullscreen-exit-line-icon.js +13 -0
  112. package/dist/component/Icons/fullscreen-line-icon.d.ts +6 -0
  113. package/dist/component/Icons/fullscreen-line-icon.js +13 -0
  114. package/dist/component/Icons/functions-icon.d.ts +6 -0
  115. package/dist/component/Icons/functions-icon.js +13 -0
  116. package/dist/component/Icons/game-line-icon.d.ts +6 -0
  117. package/dist/component/Icons/game-line-icon.js +13 -0
  118. package/dist/component/Icons/h-1-icon.d.ts +6 -0
  119. package/dist/component/Icons/h-1-icon.js +13 -0
  120. package/dist/component/Icons/h-2-icon.d.ts +6 -0
  121. package/dist/component/Icons/h-2-icon.js +13 -0
  122. package/dist/component/Icons/h-3-icon.d.ts +6 -0
  123. package/dist/component/Icons/h-3-icon.js +13 -0
  124. package/dist/component/Icons/h-4-icon.d.ts +6 -0
  125. package/dist/component/Icons/h-4-icon.js +13 -0
  126. package/dist/component/Icons/h-5-icon.d.ts +6 -0
  127. package/dist/component/Icons/h-5-icon.js +13 -0
  128. package/dist/component/Icons/h-6-icon.d.ts +6 -0
  129. package/dist/component/Icons/h-6-icon.js +13 -0
  130. package/dist/component/Icons/heading-icon.d.ts +6 -0
  131. package/dist/component/Icons/heading-icon.js +13 -0
  132. package/dist/component/Icons/image-add-line-icon.d.ts +6 -0
  133. package/dist/component/Icons/image-add-line-icon.js +13 -0
  134. package/dist/component/Icons/image-line-icon.d.ts +6 -0
  135. package/dist/component/Icons/image-line-icon.js +13 -0
  136. package/dist/component/Icons/import-line-icon.d.ts +6 -0
  137. package/dist/component/Icons/import-line-icon.js +13 -0
  138. package/dist/component/Icons/index.d.ts +110 -0
  139. package/dist/component/Icons/index.js +113 -0
  140. package/dist/component/Icons/insert-column-left-icon.d.ts +6 -0
  141. package/dist/component/Icons/insert-column-left-icon.js +13 -0
  142. package/dist/component/Icons/insert-column-right-icon.d.ts +6 -0
  143. package/dist/component/Icons/insert-column-right-icon.js +13 -0
  144. package/dist/component/Icons/insert-row-bottom-icon.d.ts +6 -0
  145. package/dist/component/Icons/insert-row-bottom-icon.js +13 -0
  146. package/dist/component/Icons/insert-row-top-icon.d.ts +6 -0
  147. package/dist/component/Icons/insert-row-top-icon.js +13 -0
  148. package/dist/component/Icons/italic-icon.d.ts +6 -0
  149. package/dist/component/Icons/italic-icon.js +13 -0
  150. package/dist/component/Icons/layout-left-2-line-icon.d.ts +6 -0
  151. package/dist/component/Icons/layout-left-2-line-icon.js +13 -0
  152. package/dist/component/Icons/layout-top-2-line-icon.d.ts +6 -0
  153. package/dist/component/Icons/layout-top-2-line-icon.js +13 -0
  154. package/dist/component/Icons/link-icon.d.ts +6 -0
  155. package/dist/component/Icons/link-icon.js +13 -0
  156. package/dist/component/Icons/link-unlink-icon.d.ts +6 -0
  157. package/dist/component/Icons/link-unlink-icon.js +13 -0
  158. package/dist/component/Icons/list-check-2-icon.d.ts +6 -0
  159. package/dist/component/Icons/list-check-2-icon.js +13 -0
  160. package/dist/component/Icons/list-check-3-icon.d.ts +6 -0
  161. package/dist/component/Icons/list-check-3-icon.js +13 -0
  162. package/dist/component/Icons/list-ordered-2-icon.d.ts +6 -0
  163. package/dist/component/Icons/list-ordered-2-icon.js +13 -0
  164. package/dist/component/Icons/list-unordered-icon.d.ts +6 -0
  165. package/dist/component/Icons/list-unordered-icon.js +13 -0
  166. package/dist/component/Icons/markdown-line-icon.d.ts +6 -0
  167. package/dist/component/Icons/markdown-line-icon.js +13 -0
  168. package/dist/component/Icons/markup-line-icon.d.ts +6 -0
  169. package/dist/component/Icons/markup-line-icon.js +13 -0
  170. package/dist/component/Icons/menu-fold-2-fill-icon.d.ts +6 -0
  171. package/dist/component/Icons/menu-fold-2-fill-icon.js +13 -0
  172. package/dist/component/Icons/merge-cells-horizontal-icon.d.ts +6 -0
  173. package/dist/component/Icons/merge-cells-horizontal-icon.js +13 -0
  174. package/dist/component/Icons/merge-cells-vertical-icon.d.ts +6 -0
  175. package/dist/component/Icons/merge-cells-vertical-icon.js +13 -0
  176. package/dist/component/Icons/mind-map-icon.d.ts +6 -0
  177. package/dist/component/Icons/mind-map-icon.js +13 -0
  178. package/dist/component/Icons/more-line-icon.d.ts +6 -0
  179. package/dist/component/Icons/more-line-icon.js +13 -0
  180. package/dist/component/Icons/movie-line-icon.d.ts +6 -0
  181. package/dist/component/Icons/movie-line-icon.js +13 -0
  182. package/dist/component/Icons/music-2-line-icon.d.ts +6 -0
  183. package/dist/component/Icons/music-2-line-icon.js +13 -0
  184. package/dist/component/Icons/node-tree-icon.d.ts +6 -0
  185. package/dist/component/Icons/node-tree-icon.js +13 -0
  186. package/dist/component/Icons/notification-3-line-icon.d.ts +6 -0
  187. package/dist/component/Icons/notification-3-line-icon.js +13 -0
  188. package/dist/component/Icons/organization-chart-icon.d.ts +6 -0
  189. package/dist/component/Icons/organization-chart-icon.js +13 -0
  190. package/dist/component/Icons/pause-line-icon.d.ts +6 -0
  191. package/dist/component/Icons/pause-line-icon.js +13 -0
  192. package/dist/component/Icons/play-line-icon.d.ts +6 -0
  193. package/dist/component/Icons/play-line-icon.js +13 -0
  194. package/dist/component/Icons/quote-text-icon.d.ts +6 -0
  195. package/dist/component/Icons/quote-text-icon.js +13 -0
  196. package/dist/component/Icons/repeat-2-line-icon.d.ts +6 -0
  197. package/dist/component/Icons/repeat-2-line-icon.js +13 -0
  198. package/dist/component/Icons/reset-left-fill-icon.d.ts +6 -0
  199. package/dist/component/Icons/reset-left-fill-icon.js +13 -0
  200. package/dist/component/Icons/scissors-cut-line-icon.d.ts +6 -0
  201. package/dist/component/Icons/scissors-cut-line-icon.js +13 -0
  202. package/dist/component/Icons/screenshot-line-icon.d.ts +6 -0
  203. package/dist/component/Icons/screenshot-line-icon.js +13 -0
  204. package/dist/component/Icons/scroll-to-bottom-line-icon.d.ts +6 -0
  205. package/dist/component/Icons/scroll-to-bottom-line-icon.js +13 -0
  206. package/dist/component/Icons/separator-icon.d.ts +6 -0
  207. package/dist/component/Icons/separator-icon.js +13 -0
  208. package/dist/component/Icons/share-box-line-icon.d.ts +6 -0
  209. package/dist/component/Icons/share-box-line-icon.js +13 -0
  210. package/dist/component/Icons/slash-commands-2-icon.d.ts +3 -0
  211. package/dist/component/Icons/slash-commands-2-icon.js +13 -0
  212. package/dist/component/Icons/speed-line-icon.d.ts +6 -0
  213. package/dist/component/Icons/speed-line-icon.js +13 -0
  214. package/dist/component/Icons/split-cells-horizontal-icon.d.ts +6 -0
  215. package/dist/component/Icons/split-cells-horizontal-icon.js +13 -0
  216. package/dist/component/Icons/split-cells-vertical-icon.d.ts +6 -0
  217. package/dist/component/Icons/split-cells-vertical-icon.js +13 -0
  218. package/dist/component/Icons/square-root-icon.d.ts +6 -0
  219. package/dist/component/Icons/square-root-icon.js +13 -0
  220. package/dist/component/Icons/strikethrough-icon.d.ts +6 -0
  221. package/dist/component/Icons/strikethrough-icon.js +13 -0
  222. package/dist/component/Icons/subscript-icon.d.ts +6 -0
  223. package/dist/component/Icons/subscript-icon.js +13 -0
  224. package/dist/component/Icons/superscript-icon.d.ts +6 -0
  225. package/dist/component/Icons/superscript-icon.js +13 -0
  226. package/dist/component/Icons/table-2-icon.d.ts +6 -0
  227. package/dist/component/Icons/table-2-icon.js +13 -0
  228. package/dist/component/Icons/text-icon.d.ts +6 -0
  229. package/dist/component/Icons/text-icon.js +13 -0
  230. package/dist/component/Icons/text-wrap-icon.d.ts +6 -0
  231. package/dist/component/Icons/text-wrap-icon.js +13 -0
  232. package/dist/component/Icons/title-icon.d.ts +6 -0
  233. package/dist/component/Icons/title-icon.js +13 -0
  234. package/dist/component/Icons/underline-icon.d.ts +6 -0
  235. package/dist/component/Icons/underline-icon.js +13 -0
  236. package/dist/component/Icons/upload-cloud-2-line-icon.d.ts +6 -0
  237. package/dist/component/Icons/upload-cloud-2-line-icon.js +13 -0
  238. package/dist/component/Icons/upload-icon.d.ts +6 -0
  239. package/dist/component/Icons/upload-icon.js +13 -0
  240. package/dist/component/Icons/volume-mute-line-icon.d.ts +6 -0
  241. package/dist/component/Icons/volume-mute-line-icon.js +13 -0
  242. package/dist/component/Icons/volume-up-line-icon.d.ts +6 -0
  243. package/dist/component/Icons/volume-up-line-icon.js +13 -0
  244. package/dist/component/ListHover/index.d.ts +7 -0
  245. package/dist/component/ListHover/index.js +367 -0
  246. package/dist/component/Menu/index.d.ts +4 -0
  247. package/dist/component/Menu/index.js +189 -0
  248. package/dist/component/Toolbar/EditorAlignSelect.d.ts +7 -0
  249. package/dist/component/Toolbar/EditorAlignSelect.js +176 -0
  250. package/dist/component/Toolbar/EditorCode.d.ts +7 -0
  251. package/dist/component/Toolbar/EditorCode.js +150 -0
  252. package/dist/component/Toolbar/EditorFontBgColor.d.ts +7 -0
  253. package/dist/component/Toolbar/EditorFontBgColor.js +244 -0
  254. package/dist/component/Toolbar/EditorFontColor.d.ts +7 -0
  255. package/dist/component/Toolbar/EditorFontColor.js +246 -0
  256. package/dist/component/Toolbar/EditorFontSize.d.ts +7 -0
  257. package/dist/component/Toolbar/EditorFontSize.js +137 -0
  258. package/dist/component/Toolbar/EditorHeading.d.ts +7 -0
  259. package/dist/component/Toolbar/EditorHeading.js +174 -0
  260. package/dist/component/Toolbar/EditorInsert/index.d.ts +7 -0
  261. package/dist/component/Toolbar/EditorInsert/index.js +186 -0
  262. package/dist/component/Toolbar/EditorListSelect.d.ts +7 -0
  263. package/dist/component/Toolbar/EditorListSelect.js +163 -0
  264. package/dist/component/Toolbar/EditorMath.d.ts +7 -0
  265. package/dist/component/Toolbar/EditorMath.js +148 -0
  266. package/dist/component/Toolbar/EditorMore/NotificationDialog.d.ts +7 -0
  267. package/dist/component/Toolbar/EditorMore/NotificationDialog.js +72 -0
  268. package/dist/component/Toolbar/EditorMore/index.d.ts +7 -0
  269. package/dist/component/Toolbar/EditorMore/index.js +101 -0
  270. package/dist/component/Toolbar/EditorScript.d.ts +7 -0
  271. package/dist/component/Toolbar/EditorScript.js +150 -0
  272. package/dist/component/Toolbar/EditorVerticalAlignSelect.d.ts +7 -0
  273. package/dist/component/Toolbar/EditorVerticalAlignSelect.js +163 -0
  274. package/dist/component/Toolbar/Item.d.ts +15 -0
  275. package/dist/component/Toolbar/Item.js +69 -0
  276. package/dist/component/Toolbar/index.d.ts +13 -0
  277. package/dist/component/Toolbar/index.js +13 -0
  278. package/dist/component/index.d.ts +1 -0
  279. package/dist/component/index.js +1 -0
  280. package/dist/contants/enums.d.ts +30 -0
  281. package/dist/contants/enums.js +98 -0
  282. package/dist/contants/highlight.d.ts +4 -0
  283. package/dist/contants/highlight.js +580 -0
  284. package/dist/contants/placeholder.d.ts +16 -0
  285. package/dist/contants/placeholder.js +16 -0
  286. package/dist/contants/shortcut-key.d.ts +48 -0
  287. package/dist/contants/shortcut-key.js +224 -0
  288. package/dist/contants/slash-commands.d.ts +13 -0
  289. package/dist/contants/slash-commands.js +313 -0
  290. package/dist/extension/component/Attachment/Insert.d.ts +13 -0
  291. package/dist/extension/component/Attachment/Insert.js +222 -0
  292. package/dist/extension/component/Attachment/Readonly.d.ts +9 -0
  293. package/dist/extension/component/Attachment/Readonly.js +93 -0
  294. package/dist/extension/component/Attachment/index.d.ts +13 -0
  295. package/dist/extension/component/Attachment/index.js +317 -0
  296. package/dist/extension/component/Audio/Insert.d.ts +10 -0
  297. package/dist/extension/component/Audio/Insert.js +351 -0
  298. package/dist/extension/component/Audio/Readonly.d.ts +8 -0
  299. package/dist/extension/component/Audio/Readonly.js +428 -0
  300. package/dist/extension/component/Audio/index.d.ts +14 -0
  301. package/dist/extension/component/Audio/index.js +740 -0
  302. package/dist/extension/component/CodeBlock/Readonly.d.ts +4 -0
  303. package/dist/extension/component/CodeBlock/Readonly.js +135 -0
  304. package/dist/extension/component/CodeBlock/index.d.ts +4 -0
  305. package/dist/extension/component/CodeBlock/index.js +296 -0
  306. package/dist/extension/component/CustomLink/Insert.d.ts +0 -0
  307. package/dist/extension/component/CustomLink/Insert.js +176 -0
  308. package/dist/extension/component/CustomLink/Readonly.d.ts +0 -0
  309. package/dist/extension/component/CustomLink/Readonly.js +106 -0
  310. package/dist/extension/component/CustomLink/index.d.ts +0 -0
  311. package/dist/extension/component/CustomLink/index.js +440 -0
  312. package/dist/extension/component/EmojiList/index.d.ts +14 -0
  313. package/dist/extension/component/EmojiList/index.js +104 -0
  314. package/dist/extension/component/Image/Crop.d.ts +12 -0
  315. package/dist/extension/component/Image/Crop.js +218 -0
  316. package/dist/extension/component/Image/Insert.d.ts +10 -0
  317. package/dist/extension/component/Image/Insert.js +309 -0
  318. package/dist/extension/component/Image/Readonly.d.ts +8 -0
  319. package/dist/extension/component/Image/Readonly.js +52 -0
  320. package/dist/extension/component/Image/index.d.ts +21 -0
  321. package/dist/extension/component/Image/index.js +372 -0
  322. package/dist/extension/component/Link/Insert.d.ts +10 -0
  323. package/dist/extension/component/Link/Insert.js +253 -0
  324. package/dist/extension/component/Link/Readonly.d.ts +8 -0
  325. package/dist/extension/component/Link/Readonly.js +102 -0
  326. package/dist/extension/component/Link/index.d.ts +12 -0
  327. package/dist/extension/component/Link/index.js +510 -0
  328. package/dist/extension/component/Mathematics/block/Readonly.d.ts +9 -0
  329. package/dist/extension/component/Mathematics/block/Readonly.js +36 -0
  330. package/dist/extension/component/Mathematics/block/index.d.ts +8 -0
  331. package/dist/extension/component/Mathematics/block/index.js +149 -0
  332. package/dist/extension/component/Mathematics/index.d.ts +3 -0
  333. package/dist/extension/component/Mathematics/index.js +3 -0
  334. package/dist/extension/component/Mathematics/inline/Readonly.d.ts +9 -0
  335. package/dist/extension/component/Mathematics/inline/Readonly.js +34 -0
  336. package/dist/extension/component/Mathematics/inline/index.d.ts +8 -0
  337. package/dist/extension/component/Mathematics/inline/index.js +148 -0
  338. package/dist/extension/component/MentionList/index.d.ts +13 -0
  339. package/dist/extension/component/MentionList/index.js +92 -0
  340. package/dist/extension/component/SlashCommandsList/index.d.ts +4 -0
  341. package/dist/extension/component/SlashCommandsList/index.js +121 -0
  342. package/dist/extension/component/Table/ContextMenu.d.ts +10 -0
  343. package/dist/extension/component/Table/ContextMenu.js +228 -0
  344. package/dist/extension/component/Table/TableContextMenuPlugin.d.ts +9 -0
  345. package/dist/extension/component/Table/TableContextMenuPlugin.js +272 -0
  346. package/dist/extension/component/Table/index.d.ts +2 -0
  347. package/dist/extension/component/Table/index.js +2 -0
  348. package/dist/extension/component/UploadProgress/index.d.ts +10 -0
  349. package/dist/extension/component/UploadProgress/index.js +103 -0
  350. package/dist/extension/component/Video/Insert.d.ts +10 -0
  351. package/dist/extension/component/Video/Insert.js +257 -0
  352. package/dist/extension/component/Video/Readonly.d.ts +8 -0
  353. package/dist/extension/component/Video/Readonly.js +41 -0
  354. package/dist/extension/component/Video/index.d.ts +14 -0
  355. package/dist/extension/component/Video/index.js +166 -0
  356. package/dist/extension/extension/SlashCommands.d.ts +3 -0
  357. package/dist/extension/extension/SlashCommands.js +25 -0
  358. package/dist/extension/extension/index.d.ts +1 -0
  359. package/dist/extension/extension/index.js +1 -0
  360. package/dist/extension/index.d.ts +2 -0
  361. package/dist/extension/index.js +176 -0
  362. package/dist/extension/mark/Link.d.ts +0 -0
  363. package/dist/extension/mark/Link.js +58 -0
  364. package/dist/extension/mark/index.d.ts +0 -0
  365. package/dist/extension/mark/index.js +1 -0
  366. package/dist/extension/node/Attachment.d.ts +28 -0
  367. package/dist/extension/node/Attachment.js +227 -0
  368. package/dist/extension/node/Audio.d.ts +23 -0
  369. package/dist/extension/node/Audio.js +194 -0
  370. package/dist/extension/node/CodeBlockLowlight.d.ts +1 -0
  371. package/dist/extension/node/CodeBlockLowlight.js +40 -0
  372. package/dist/extension/node/Details.d.ts +3 -0
  373. package/dist/extension/node/Details.js +39 -0
  374. package/dist/extension/node/Emoji.d.ts +1 -0
  375. package/dist/extension/node/Emoji.js +7 -0
  376. package/dist/extension/node/FileHandler.d.ts +4 -0
  377. package/dist/extension/node/FileHandler.js +294 -0
  378. package/dist/extension/node/Image.d.ts +3 -0
  379. package/dist/extension/node/Image.js +38 -0
  380. package/dist/extension/node/Link/helpers/autolink.d.ts +15 -0
  381. package/dist/extension/node/Link/helpers/autolink.js +162 -0
  382. package/dist/extension/node/Link/helpers/clickHandler.d.ts +10 -0
  383. package/dist/extension/node/Link/helpers/clickHandler.js +46 -0
  384. package/dist/extension/node/Link/helpers/pasteHandler.d.ts +10 -0
  385. package/dist/extension/node/Link/helpers/pasteHandler.js +32 -0
  386. package/dist/extension/node/Link/helpers/whitespace.d.ts +4 -0
  387. package/dist/extension/node/Link/helpers/whitespace.js +6 -0
  388. package/dist/extension/node/Link/index.d.ts +162 -0
  389. package/dist/extension/node/Link/index.js +461 -0
  390. package/dist/extension/node/ListKit.d.ts +2 -0
  391. package/dist/extension/node/ListKit.js +23 -0
  392. package/dist/extension/node/Mathematics.d.ts +27 -0
  393. package/dist/extension/node/Mathematics.js +97 -0
  394. package/dist/extension/node/Mention.d.ts +2 -0
  395. package/dist/extension/node/Mention.js +10 -0
  396. package/dist/extension/node/Table.d.ts +5 -0
  397. package/dist/extension/node/Table.js +174 -0
  398. package/dist/extension/node/TableOfContents/index.d.ts +9 -0
  399. package/dist/extension/node/TableOfContents/index.js +391 -0
  400. package/dist/extension/node/TableOfContents/plugin.d.ts +6 -0
  401. package/dist/extension/node/TableOfContents/plugin.js +58 -0
  402. package/dist/extension/node/TableOfContents/type.d.ts +45 -0
  403. package/dist/extension/node/TableOfContents/type.js +1 -0
  404. package/dist/extension/node/TableOfContents/utils.d.ts +6 -0
  405. package/dist/extension/node/TableOfContents/utils.js +70 -0
  406. package/dist/extension/node/UploadProgress.d.ts +21 -0
  407. package/dist/extension/node/UploadProgress.js +135 -0
  408. package/dist/extension/node/VerticalAlign.d.ts +49 -0
  409. package/dist/extension/node/VerticalAlign.js +88 -0
  410. package/dist/extension/node/Video.d.ts +23 -0
  411. package/dist/extension/node/Video.js +195 -0
  412. package/dist/extension/node/Youtube.d.ts +3 -0
  413. package/dist/extension/node/Youtube.js +14 -0
  414. package/dist/extension/node/index.d.ts +17 -0
  415. package/dist/extension/node/index.js +17 -0
  416. package/dist/extension/suggestion/emoji.d.ts +3 -0
  417. package/dist/extension/suggestion/emoji.js +57 -0
  418. package/dist/extension/suggestion/mention.d.ts +4 -0
  419. package/dist/extension/suggestion/mention.js +88 -0
  420. package/dist/extension/suggestion/slash.d.ts +34 -0
  421. package/dist/extension/suggestion/slash.js +63 -0
  422. package/dist/hook/fn.d.ts +13 -0
  423. package/dist/hook/fn.js +37 -0
  424. package/dist/hook/index.d.ts +4 -0
  425. package/dist/hook/index.js +110 -0
  426. package/dist/index.css +372 -0
  427. package/dist/index.d.ts +7 -0
  428. package/dist/index.js +7 -0
  429. package/dist/themes/color.d.ts +5 -0
  430. package/dist/themes/color.js +4 -0
  431. package/dist/themes/componentStyleOverrides.d.ts +396 -0
  432. package/dist/themes/componentStyleOverrides.js +431 -0
  433. package/dist/themes/custom.d.ts +5 -0
  434. package/dist/themes/custom.js +4 -0
  435. package/dist/themes/dark.d.ts +86 -0
  436. package/dist/themes/dark.js +86 -0
  437. package/dist/themes/index.d.ts +19 -0
  438. package/dist/themes/index.js +37 -0
  439. package/dist/themes/light.d.ts +86 -0
  440. package/dist/themes/light.js +86 -0
  441. package/dist/themes/palette.d.ts +94 -0
  442. package/dist/themes/palette.js +24 -0
  443. package/dist/themes/shadows.d.ts +2 -0
  444. package/dist/themes/shadows.js +3 -0
  445. package/dist/themes/themeContext.d.ts +8 -0
  446. package/dist/themes/themeContext.js +3 -0
  447. package/dist/themes/typography.d.ts +6 -0
  448. package/dist/themes/typography.js +8 -0
  449. package/dist/type/index.d.ts +112 -0
  450. package/dist/type/index.js +1 -0
  451. package/dist/types/images.d.ts +19 -0
  452. package/dist/util/fileDownload.d.ts +16 -0
  453. package/dist/util/fileDownload.js +268 -0
  454. package/dist/util/fileHandler.d.ts +7 -0
  455. package/dist/util/fileHandler.js +79 -0
  456. package/dist/util/floating.d.ts +2 -0
  457. package/dist/util/floating.js +22 -0
  458. package/dist/util/index.d.ts +11 -0
  459. package/dist/util/index.js +39 -0
  460. package/dist/util/migrateMathStrings.d.ts +73 -0
  461. package/dist/util/migrateMathStrings.js +192 -0
  462. package/dist/util/resourceExtractor.d.ts +15 -0
  463. package/dist/util/resourceExtractor.js +62 -0
  464. package/dist/util/shortcutKey.d.ts +2 -0
  465. package/dist/util/shortcutKey.js +9 -0
  466. package/package.json +135 -0
@@ -0,0 +1,268 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
+ import JSZip from 'jszip';
6
+ /**
7
+ * 原生下载函数,使用 a 标签的 download 属性
8
+ */
9
+ var downloadFile = function downloadFile(blob, filename) {
10
+ var url = URL.createObjectURL(blob);
11
+ var a = document.createElement('a');
12
+ a.href = url;
13
+ a.download = filename;
14
+ a.style.display = 'none';
15
+ document.body.appendChild(a);
16
+ a.click();
17
+ document.body.removeChild(a);
18
+ URL.revokeObjectURL(url);
19
+ };
20
+
21
+ // 支持的文件类型
22
+
23
+ // 文件类型对应的默认扩展名
24
+ var DEFAULT_EXTENSIONS = {
25
+ img: '.jpg',
26
+ video: '.mp4',
27
+ audio: '.mp3',
28
+ attachment: '.bin'
29
+ };
30
+
31
+ // 文件类型对应的默认文件名前缀
32
+ var DEFAULT_NAME_PREFIXES = {
33
+ img: 'image',
34
+ video: 'video',
35
+ audio: 'audio',
36
+ attachment: 'attachment'
37
+ };
38
+ var getFilenameFromUrl = function getFilenameFromUrl(url, type) {
39
+ var pathname = '';
40
+ try {
41
+ // 尝试解析为完整URL
42
+ var urlObj = new URL(url);
43
+ pathname = urlObj.pathname;
44
+ } catch (_unused) {
45
+ // 如果URL解析失败,可能是相对路径,直接使用原始字符串
46
+ pathname = url;
47
+ }
48
+
49
+ // 从路径中提取文件名(处理绝对路径和相对路径)
50
+ var filename = pathname.split('/').pop() || '';
51
+
52
+ // 如果文件名为空或没有扩展名,且提供了类型信息,添加对应扩展名
53
+ if ((!filename || !filename.includes('.')) && type && type in DEFAULT_EXTENSIONS) {
54
+ var extension = DEFAULT_EXTENSIONS[type];
55
+ var baseName = filename || 'file';
56
+ return "".concat(baseName).concat(extension);
57
+ }
58
+
59
+ // 如果文件名为空,生成默认文件名
60
+ if (!filename) {
61
+ var timestamp = Date.now();
62
+ if (type && type in DEFAULT_EXTENSIONS) {
63
+ var prefix = DEFAULT_NAME_PREFIXES[type];
64
+ var _extension = DEFAULT_EXTENSIONS[type];
65
+ return "".concat(prefix, "_").concat(timestamp).concat(_extension);
66
+ }
67
+ return "file_".concat(timestamp);
68
+ }
69
+ return filename;
70
+ };
71
+
72
+ /**
73
+ * 下载单个文件
74
+ */
75
+ export var downloadSingleFile = /*#__PURE__*/function () {
76
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(fileInfo, type) {
77
+ var response, blob, filename;
78
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
79
+ while (1) switch (_context.prev = _context.next) {
80
+ case 0:
81
+ _context.prev = 0;
82
+ _context.next = 3;
83
+ return fetch(fileInfo.src);
84
+ case 3:
85
+ response = _context.sent;
86
+ if (response.ok) {
87
+ _context.next = 6;
88
+ break;
89
+ }
90
+ throw new Error("HTTP error! status: ".concat(response.status));
91
+ case 6:
92
+ _context.next = 8;
93
+ return response.blob();
94
+ case 8:
95
+ blob = _context.sent;
96
+ filename = fileInfo.filename || getFilenameFromUrl(fileInfo.src, type);
97
+ downloadFile(blob, filename);
98
+ _context.next = 17;
99
+ break;
100
+ case 13:
101
+ _context.prev = 13;
102
+ _context.t0 = _context["catch"](0);
103
+ console.error('下载文件失败:', _context.t0);
104
+ throw new Error('下载文件失败,请检查文件链接是否有效');
105
+ case 17:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee, null, [[0, 13]]);
110
+ }));
111
+ return function downloadSingleFile(_x, _x2) {
112
+ return _ref.apply(this, arguments);
113
+ };
114
+ }();
115
+
116
+ /**
117
+ * 批量下载多个图片并打包为 ZIP
118
+ */
119
+ export var downloadFilesAsZip = /*#__PURE__*/function () {
120
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(files, type) {
121
+ var zipFilename, zip, usedFilenames, downloadPromises, results, successfulDownloads, zipBlob, failedCount;
122
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
123
+ while (1) switch (_context3.prev = _context3.next) {
124
+ case 0:
125
+ zipFilename = "".concat(type, "s_").concat(Date.now(), ".zip");
126
+ if (!(files.length === 0)) {
127
+ _context3.next = 3;
128
+ break;
129
+ }
130
+ throw new Error('没有要下载的文件');
131
+ case 3:
132
+ _context3.prev = 3;
133
+ zip = new JSZip();
134
+ usedFilenames = new Set();
135
+ downloadPromises = files.map( /*#__PURE__*/function () {
136
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(fileInfo) {
137
+ var response, blob, filename, counter, originalFilename, extension, baseName;
138
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
139
+ while (1) switch (_context2.prev = _context2.next) {
140
+ case 0:
141
+ _context2.prev = 0;
142
+ _context2.next = 3;
143
+ return fetch(fileInfo.src);
144
+ case 3:
145
+ response = _context2.sent;
146
+ if (response.ok) {
147
+ _context2.next = 7;
148
+ break;
149
+ }
150
+ console.warn("\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25 (".concat(response.status, "): ").concat(fileInfo.src));
151
+ return _context2.abrupt("return", null);
152
+ case 7:
153
+ _context2.next = 9;
154
+ return response.blob();
155
+ case 9:
156
+ blob = _context2.sent;
157
+ filename = fileInfo.filename || getFilenameFromUrl(fileInfo.src, type);
158
+ counter = 1;
159
+ originalFilename = filename;
160
+ while (usedFilenames.has(filename)) {
161
+ extension = originalFilename.split('.').pop() || '';
162
+ baseName = extension ? originalFilename.replace(".".concat(extension), '') : originalFilename;
163
+ filename = "".concat(baseName, "_").concat(counter).concat(extension ? ".".concat(extension) : '');
164
+ counter++;
165
+ }
166
+ usedFilenames.add(filename);
167
+ return _context2.abrupt("return", {
168
+ filename: filename,
169
+ blob: blob
170
+ });
171
+ case 18:
172
+ _context2.prev = 18;
173
+ _context2.t0 = _context2["catch"](0);
174
+ console.warn("\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25: ".concat(fileInfo.src), _context2.t0);
175
+ return _context2.abrupt("return", null);
176
+ case 22:
177
+ case "end":
178
+ return _context2.stop();
179
+ }
180
+ }, _callee2, null, [[0, 18]]);
181
+ }));
182
+ return function (_x5) {
183
+ return _ref3.apply(this, arguments);
184
+ };
185
+ }());
186
+ _context3.next = 9;
187
+ return Promise.all(downloadPromises);
188
+ case 9:
189
+ results = _context3.sent;
190
+ successfulDownloads = results.filter(function (result) {
191
+ return result !== null;
192
+ });
193
+ if (!(successfulDownloads.length === 0)) {
194
+ _context3.next = 13;
195
+ break;
196
+ }
197
+ throw new Error('所有文件下载失败');
198
+ case 13:
199
+ successfulDownloads.forEach(function (result) {
200
+ if (result) {
201
+ zip.file(result.filename, result.blob);
202
+ }
203
+ });
204
+ _context3.next = 16;
205
+ return zip.generateAsync({
206
+ type: 'blob'
207
+ });
208
+ case 16:
209
+ zipBlob = _context3.sent;
210
+ downloadFile(zipBlob, zipFilename);
211
+ if (successfulDownloads.length < files.length) {
212
+ failedCount = files.length - successfulDownloads.length;
213
+ console.warn("\u6210\u529F\u4E0B\u8F7D ".concat(successfulDownloads.length, " \u5F20\u6587\u4EF6\uFF0C").concat(failedCount, " \u5F20\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25"));
214
+ }
215
+ _context3.next = 25;
216
+ break;
217
+ case 21:
218
+ _context3.prev = 21;
219
+ _context3.t0 = _context3["catch"](3);
220
+ console.error('打包下载失败:', _context3.t0);
221
+ throw new Error('打包下载失败,请重试');
222
+ case 25:
223
+ case "end":
224
+ return _context3.stop();
225
+ }
226
+ }, _callee3, null, [[3, 21]]);
227
+ }));
228
+ return function downloadFilesAsZip(_x3, _x4) {
229
+ return _ref2.apply(this, arguments);
230
+ };
231
+ }();
232
+
233
+ /**
234
+ * 智能下载图片 - 单张直接下载,多张打包下载
235
+ */
236
+ export var downloadFiles = /*#__PURE__*/function () {
237
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(files, type) {
238
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
239
+ while (1) switch (_context4.prev = _context4.next) {
240
+ case 0:
241
+ if (!(files.length === 0)) {
242
+ _context4.next = 2;
243
+ break;
244
+ }
245
+ return _context4.abrupt("return");
246
+ case 2:
247
+ if (!(files.length === 1)) {
248
+ _context4.next = 7;
249
+ break;
250
+ }
251
+ _context4.next = 5;
252
+ return downloadSingleFile(files[0], type);
253
+ case 5:
254
+ _context4.next = 9;
255
+ break;
256
+ case 7:
257
+ _context4.next = 9;
258
+ return downloadFilesAsZip(files, type);
259
+ case 9:
260
+ case "end":
261
+ return _context4.stop();
262
+ }
263
+ }, _callee4);
264
+ }));
265
+ return function downloadFiles(_x6, _x7) {
266
+ return _ref4.apply(this, arguments);
267
+ };
268
+ }();
@@ -0,0 +1,7 @@
1
+ import { Editor } from '@tiptap/react';
2
+ export declare const getFileType: (file: File) => 'image' | 'video' | 'other';
3
+ export declare const formatFileSize: (bytes: number) => string;
4
+ export declare const getFileIcon: (fileName: string) => string;
5
+ export declare const insertImageContent: (editor: Editor, url: string, pos: number) => void;
6
+ export declare const insertVideoContent: (editor: Editor, url: string, pos: number) => void;
7
+ export declare const insertAttachmentContent: (editor: Editor, url: string, fileName: string, fileSize: number, pos: number) => void;
@@ -0,0 +1,79 @@
1
+ // 判断文件类型
2
+ export var getFileType = function getFileType(file) {
3
+ var type = file.type;
4
+ if (type.startsWith('image/')) {
5
+ return 'image';
6
+ }
7
+ if (type.startsWith('video/')) {
8
+ return 'video';
9
+ }
10
+ return 'other';
11
+ };
12
+
13
+ // 格式化文件大小
14
+ export var formatFileSize = function formatFileSize(bytes) {
15
+ if (bytes === 0) return '0 Bytes';
16
+ var k = 1024;
17
+ var sizes = ['Bytes', 'KB', 'MB', 'GB'];
18
+ var i = Math.floor(Math.log(bytes) / Math.log(k));
19
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
20
+ };
21
+
22
+ // 获取文件图标
23
+ export var getFileIcon = function getFileIcon(fileName) {
24
+ var _fileName$split$pop;
25
+ var extension = (_fileName$split$pop = fileName.split('.').pop()) === null || _fileName$split$pop === void 0 ? void 0 : _fileName$split$pop.toLowerCase();
26
+ switch (extension) {
27
+ case 'pdf':
28
+ return '📄';
29
+ case 'doc':
30
+ case 'docx':
31
+ return '📝';
32
+ case 'xls':
33
+ case 'xlsx':
34
+ return '📊';
35
+ case 'ppt':
36
+ case 'pptx':
37
+ return '📋';
38
+ case 'zip':
39
+ case 'rar':
40
+ case '7z':
41
+ return '🗜️';
42
+ case 'txt':
43
+ return '📄';
44
+ case 'mp3':
45
+ case 'wav':
46
+ case 'flac':
47
+ return '🎵';
48
+ default:
49
+ return '📎';
50
+ }
51
+ };
52
+
53
+ // 插入图片内容
54
+ export var insertImageContent = function insertImageContent(editor, url, pos) {
55
+ editor.chain().focus().insertContentAt(pos, {
56
+ type: 'image',
57
+ attrs: {
58
+ src: url
59
+ }
60
+ }).run();
61
+ };
62
+
63
+ // 插入视频内容
64
+ export var insertVideoContent = function insertVideoContent(editor, url, pos) {
65
+ editor.chain().focus().insertContentAt(pos, {
66
+ type: 'video',
67
+ attrs: {
68
+ src: url
69
+ }
70
+ }).run();
71
+ };
72
+
73
+ // 插入附件内容
74
+ export var insertAttachmentContent = function insertAttachmentContent(editor, url, fileName, fileSize, pos) {
75
+ var icon = getFileIcon(fileName);
76
+ var size = formatFileSize(fileSize);
77
+ var attachmentHtml = "\n <div style=\"border: 1px solid #e1e5e9; border-radius: 8px; padding: 12px; margin: 8px 0; background-color: #f8f9fa; display: flex; align-items: center; gap: 12px; max-width: 400px;\">\n <span style=\"font-size: 24px;\">".concat(icon, "</span>\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"font-weight: 500; color: #1f2937; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\">\n <a href=\"").concat(url, "\" target=\"_blank\" style=\"color: #3b82f6; text-decoration: none;\">").concat(fileName, "</a>\n </div>\n <div style=\"font-size: 12px; color: #6b7280; margin-top: 2px;\">").concat(size, "</div>\n </div>\n <div style=\"color: #6b7280;\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path>\n <polyline points=\"7,10 12,15 17,10\"></polyline>\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>\n </svg>\n </div>\n </div>\n ");
78
+ editor.chain().focus().insertContentAt(pos, attachmentHtml).run();
79
+ };
@@ -0,0 +1,2 @@
1
+ import { Editor } from "@tiptap/core";
2
+ export declare const updatePosition: (editor: Editor, element: HTMLElement) => void;
@@ -0,0 +1,22 @@
1
+ import { computePosition, flip, shift } from "@floating-ui/dom";
2
+ import { posToDOMRect } from "@tiptap/core";
3
+ export var updatePosition = function updatePosition(editor, element) {
4
+ var virtualElement = {
5
+ getBoundingClientRect: function getBoundingClientRect() {
6
+ return posToDOMRect(editor.view, editor.state.selection.from, editor.state.selection.to);
7
+ }
8
+ };
9
+ computePosition(virtualElement, element, {
10
+ placement: 'bottom-start',
11
+ strategy: 'absolute',
12
+ middleware: [shift(), flip()]
13
+ }).then(function (_ref) {
14
+ var x = _ref.x,
15
+ y = _ref.y,
16
+ strategy = _ref.strategy;
17
+ element.style.width = 'max-content';
18
+ element.style.position = strategy;
19
+ element.style.left = "".concat(x, "px");
20
+ element.style.top = "".concat(y, "px");
21
+ });
22
+ };
@@ -0,0 +1,11 @@
1
+ export * from './fileDownload';
2
+ export * from './fileHandler';
3
+ export * from './floating';
4
+ export * from './migrateMathStrings';
5
+ export * from './resourceExtractor';
6
+ export * from './shortcutKey';
7
+ import { Editor } from '@tiptap/react';
8
+ export declare const formatFileSize: (bytes: number) => string;
9
+ export declare const insertNodeAfterPosition: (editor: Editor, pos: number, nodeContent: any) => void;
10
+ export declare function addOpacityToColor(color: string, opacity: number): string;
11
+ export declare const getLinkTitle: (href: string) => string;
@@ -0,0 +1,39 @@
1
+ export * from "./fileDownload";
2
+ export * from "./fileHandler";
3
+ export * from "./floating";
4
+ export * from "./migrateMathStrings";
5
+ export * from "./resourceExtractor";
6
+ export * from "./shortcutKey";
7
+ export var formatFileSize = function formatFileSize(bytes) {
8
+ if (bytes === 0) return '0 B';
9
+ var k = 1024;
10
+ var sizes = ['B', 'KB', 'MB', 'GB'];
11
+ var i = Math.floor(Math.log(bytes) / Math.log(k));
12
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
13
+ };
14
+ export var insertNodeAfterPosition = function insertNodeAfterPosition(editor, pos, nodeContent) {
15
+ editor.chain().focus().insertContentAt(pos, nodeContent).run();
16
+ };
17
+ export function addOpacityToColor(color, opacity) {
18
+ var red, green, blue;
19
+ if (color.startsWith("#")) {
20
+ red = parseInt(color.slice(1, 3), 16);
21
+ green = parseInt(color.slice(3, 5), 16);
22
+ blue = parseInt(color.slice(5, 7), 16);
23
+ } else if (color.startsWith("rgb")) {
24
+ var matches = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)/);
25
+ red = parseInt(matches[1], 10);
26
+ green = parseInt(matches[2], 10);
27
+ blue = parseInt(matches[3], 10);
28
+ } else {
29
+ return "";
30
+ }
31
+ var alpha = opacity;
32
+ return "rgba(".concat(red, ", ").concat(green, ", ").concat(blue, ", ").concat(alpha, ")");
33
+ }
34
+ export var getLinkTitle = function getLinkTitle(href) {
35
+ var paths = href.split('/').filter(function (it) {
36
+ return it.trim().length > 0;
37
+ });
38
+ return paths[paths.length - 1];
39
+ };
@@ -0,0 +1,73 @@
1
+ import type { Editor } from '@tiptap/core';
2
+ import type { Transaction } from '@tiptap/pm/state';
3
+ /**
4
+ * Regular expression to match LaTeX math strings wrapped in single dollar signs.
5
+ * This should not catch dollar signs which are not part of a math expression,
6
+ * like those used for currency or other purposes.
7
+ * It ensures that the dollar signs are not preceded or followed by digits,
8
+ * allowing for proper identification of inline math expressions.
9
+ *
10
+ * - `$x^2 + y^2 = z^2$` will match
11
+ * - `This is $inline math$ in text.` will match
12
+ * - `This is $100$ dollars.` will not match (as it is not a math expression)
13
+ * - `This is $x^2 + y^2 = z^2$ and $100$ dollars.` will match both math expressions
14
+ * - `$$\frac{a}{b}$$` will NOT match (block math should be handled separately)
15
+ */
16
+ export declare const mathMigrationRegex: RegExp;
17
+ /**
18
+ * Regular expression to match LaTeX math strings wrapped in double dollar signs.
19
+ * This matches block-level math expressions that should be displayed on their own line.
20
+ *
21
+ * - `$$\frac{a}{b}$$` will match
22
+ * - `$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$` will match
23
+ * - `$$100$$ dollars` will not match (as it is not a math expression)
24
+ */
25
+ export declare const blockMathMigrationRegex: RegExp;
26
+ /**
27
+ * Alternative approach: First find all math patterns, then classify them
28
+ * This is more reliable than trying to use complex regex patterns
29
+ */
30
+ export declare const allMathPatternsRegex: RegExp;
31
+ /**
32
+ * Creates a transaction that migrates existing math strings in the document to new math nodes.
33
+ * This function traverses the document and replaces LaTeX math syntax with proper math nodes,
34
+ * preserving the mathematical content. It handles both inline and block math expressions.
35
+ *
36
+ * Note: Math formulas inside <pre> and <code> tags are ignored to preserve code formatting.
37
+ *
38
+ * @param editor - The editor instance containing the schema and configuration
39
+ * @param tr - The transaction to modify with the migration operations
40
+ * @returns The modified transaction with math string replacements
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const editor = new Editor({ ... })
45
+ * const tr = editor.state.tr
46
+ * const updatedTr = createMathMigrateTransaction(editor, tr)
47
+ * editor.view.dispatch(updatedTr)
48
+ * ```
49
+ */
50
+ export declare function createMathMigrateTransaction(editor: Editor, tr: Transaction): Transaction;
51
+ /**
52
+ * Migrates existing math strings in the editor document to math nodes.
53
+ * This function creates and dispatches a transaction that converts LaTeX math syntax
54
+ * into proper math nodes. It handles both inline math (single dollar signs) and
55
+ * block math (double dollar signs). The migration happens immediately and is not
56
+ * added to the editor's history.
57
+ *
58
+ * Note: Math formulas inside <pre> and <code> tags are ignored to preserve code formatting.
59
+ *
60
+ * @param editor - The editor instance to perform the migration on
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const editor = new Editor({
65
+ * extensions: [Mathematics],
66
+ * content: 'This is inline math: $x^2 + y^2 = z^2$ and block math: $$\frac{a}{b}$$'
67
+ * })
68
+ *
69
+ * // Math strings will be automatically migrated to math nodes
70
+ * migrateMathStrings(editor)
71
+ * ```
72
+ */
73
+ export declare function migrateMathStrings(editor: Editor): void;