@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,15 @@
1
+ import type { NodeType } from '@tiptap/pm/model';
2
+ import { Plugin } from '@tiptap/pm/state';
3
+ type AutolinkOptions = {
4
+ type: NodeType;
5
+ defaultProtocol: string;
6
+ validate: (url: string) => boolean;
7
+ shouldAutoLink: (url: string) => boolean;
8
+ };
9
+ /**
10
+ * This plugin allows you to automatically add links to your editor.
11
+ * @param options The plugin options
12
+ * @returns The plugin instance
13
+ */
14
+ export declare function autolink(options: AutolinkOptions): Plugin;
15
+ export {};
@@ -0,0 +1,162 @@
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 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; }
3
+ 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) { _defineProperty(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; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ import { combineTransactionSteps, findChildrenInRange, getChangedRanges } from '@tiptap/core';
14
+ import { Plugin, PluginKey } from '@tiptap/pm/state';
15
+ import { tokenize } from 'linkifyjs';
16
+ import { UNICODE_WHITESPACE_REGEX, UNICODE_WHITESPACE_REGEX_END } from "./whitespace";
17
+
18
+ /**
19
+ * Check if the provided tokens form a valid link structure, which can either be a single link token
20
+ * or a link token surrounded by parentheses or square brackets.
21
+ *
22
+ * This ensures that only complete and valid text is hyperlinked, preventing cases where a valid
23
+ * top-level domain (TLD) is immediately followed by an invalid character, like a number. For
24
+ * example, with the `find` method from Linkify, entering `example.com1` would result in
25
+ * `example.com` being linked and the trailing `1` left as plain text. By using the `tokenize`
26
+ * method, we can perform more comprehensive validation on the input text.
27
+ */
28
+ function isValidLinkStructure(tokens) {
29
+ if (tokens.length === 1) {
30
+ return tokens[0].isLink;
31
+ }
32
+ if (tokens.length === 3 && tokens[1].isLink) {
33
+ return ['()', '[]'].includes(tokens[0].value + tokens[2].value);
34
+ }
35
+ return false;
36
+ }
37
+ /**
38
+ * This plugin allows you to automatically add links to your editor.
39
+ * @param options The plugin options
40
+ * @returns The plugin instance
41
+ */
42
+ export function autolink(options) {
43
+ return new Plugin({
44
+ key: new PluginKey('autolink'),
45
+ appendTransaction: function appendTransaction(transactions, oldState, newState) {
46
+ /**
47
+ * Does the transaction change the document?
48
+ */
49
+ var docChanges = transactions.some(function (transaction) {
50
+ return transaction.docChanged;
51
+ }) && !oldState.doc.eq(newState.doc);
52
+
53
+ /**
54
+ * Prevent autolink if the transaction is not a document change or if the transaction has the meta `preventAutolink`.
55
+ */
56
+ var preventAutolink = transactions.some(function (transaction) {
57
+ return transaction.getMeta('preventAutolink');
58
+ });
59
+
60
+ /**
61
+ * Prevent autolink if the transaction is not a document change
62
+ * or if the transaction has the meta `preventAutolink`.
63
+ */
64
+ if (!docChanges || preventAutolink) {
65
+ return;
66
+ }
67
+ var tr = newState.tr;
68
+ var transform = combineTransactionSteps(oldState.doc, _toConsumableArray(transactions));
69
+ var changes = getChangedRanges(transform);
70
+ changes.forEach(function (_ref) {
71
+ var newRange = _ref.newRange;
72
+ // Now let’s see if we can add new links.
73
+ var nodesInChangedRanges = findChildrenInRange(newState.doc, newRange, function (node) {
74
+ return node.isTextblock;
75
+ });
76
+ var textBlock;
77
+ var textBeforeWhitespace;
78
+ if (nodesInChangedRanges.length > 1) {
79
+ // Grab the first node within the changed ranges (ex. the first of two paragraphs when hitting enter).
80
+ textBlock = nodesInChangedRanges[0];
81
+ textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, textBlock.pos + textBlock.node.nodeSize, undefined, ' ');
82
+ } else if (nodesInChangedRanges.length) {
83
+ var endText = newState.doc.textBetween(newRange.from, newRange.to, ' ', ' ');
84
+ if (!UNICODE_WHITESPACE_REGEX_END.test(endText)) {
85
+ return;
86
+ }
87
+ textBlock = nodesInChangedRanges[0];
88
+ textBeforeWhitespace = newState.doc.textBetween(textBlock.pos, newRange.to, undefined, ' ');
89
+ }
90
+ if (textBlock && textBeforeWhitespace) {
91
+ var wordsBeforeWhitespace = textBeforeWhitespace.split(UNICODE_WHITESPACE_REGEX).filter(Boolean);
92
+ if (wordsBeforeWhitespace.length <= 0) {
93
+ return false;
94
+ }
95
+ var lastWordBeforeSpace = wordsBeforeWhitespace[wordsBeforeWhitespace.length - 1];
96
+ var lastWordAndBlockOffset = textBlock.pos + textBeforeWhitespace.lastIndexOf(lastWordBeforeSpace);
97
+ if (!lastWordBeforeSpace) {
98
+ return false;
99
+ }
100
+ var linksBeforeSpace = tokenize(lastWordBeforeSpace).map(function (t) {
101
+ return t.toObject(options.defaultProtocol);
102
+ });
103
+ if (!isValidLinkStructure(linksBeforeSpace)) {
104
+ return false;
105
+ }
106
+ linksBeforeSpace.filter(function (link) {
107
+ return link.isLink;
108
+ })
109
+ // Calculate link position.
110
+ .map(function (link) {
111
+ return _objectSpread(_objectSpread({}, link), {}, {
112
+ from: lastWordAndBlockOffset + link.start + 1,
113
+ to: lastWordAndBlockOffset + link.end + 1
114
+ });
115
+ })
116
+ // ignore link inside code node
117
+ .filter(function (link) {
118
+ if (!newState.schema.nodes.code) {
119
+ return true;
120
+ }
121
+ var hasCodeNode = false;
122
+ newState.doc.nodesBetween(link.from, link.to, function (node) {
123
+ if (node.type === newState.schema.nodes.code) {
124
+ hasCodeNode = true;
125
+ return false;
126
+ }
127
+ });
128
+ return !hasCodeNode;
129
+ })
130
+ // validate link
131
+ .filter(function (link) {
132
+ return options.validate(link.value);
133
+ })
134
+ // check whether should autolink
135
+ .filter(function (link) {
136
+ return options.shouldAutoLink(link.value);
137
+ })
138
+ // Add link node.
139
+ .forEach(function (link) {
140
+ var hasLinkNode = false;
141
+ newState.doc.nodesBetween(link.from, link.to, function (node) {
142
+ if (node.type === options.type) {
143
+ hasLinkNode = true;
144
+ return false;
145
+ }
146
+ });
147
+ if (hasLinkNode) {
148
+ return;
149
+ }
150
+ tr.replaceWith(link.from, link.to, options.type.create({
151
+ href: link.href
152
+ }));
153
+ });
154
+ }
155
+ });
156
+ if (!tr.steps.length) {
157
+ return;
158
+ }
159
+ return tr;
160
+ }
161
+ });
162
+ }
@@ -0,0 +1,10 @@
1
+ import type { Editor } from '@tiptap/core';
2
+ import type { NodeType } from '@tiptap/pm/model';
3
+ import { Plugin } from '@tiptap/pm/state';
4
+ type ClickHandlerOptions = {
5
+ type: NodeType;
6
+ editor: Editor;
7
+ enableClickSelection?: boolean;
8
+ };
9
+ export declare function clickHandler(options: ClickHandlerOptions): Plugin;
10
+ export {};
@@ -0,0 +1,46 @@
1
+ import { getAttributes } from '@tiptap/core';
2
+ import { Plugin, PluginKey } from '@tiptap/pm/state';
3
+ export function clickHandler(options) {
4
+ return new Plugin({
5
+ key: new PluginKey('handleClickLink'),
6
+ props: {
7
+ handleClick: function handleClick(view, pos, event) {
8
+ var _link$href, _link, _link$target, _link2;
9
+ if (event.button !== 0) {
10
+ return false;
11
+ }
12
+ if (!view.editable) {
13
+ return false;
14
+ }
15
+ var link = null;
16
+ if (event.target instanceof HTMLAnchorElement) {
17
+ link = event.target;
18
+ } else {
19
+ var a = event.target;
20
+ var els = [];
21
+ while (a.nodeName !== 'DIV') {
22
+ els.push(a);
23
+ a = a.parentNode;
24
+ }
25
+ link = els.find(function (value) {
26
+ return value.nodeName === 'A';
27
+ });
28
+ }
29
+ if (!link) {
30
+ return false;
31
+ }
32
+ var attrs = getAttributes(view.state, options.type.name);
33
+ var href = (_link$href = (_link = link) === null || _link === void 0 ? void 0 : _link.href) !== null && _link$href !== void 0 ? _link$href : attrs.href;
34
+ var target = (_link$target = (_link2 = link) === null || _link2 === void 0 ? void 0 : _link2.target) !== null && _link$target !== void 0 ? _link$target : attrs.target;
35
+ if (options.enableClickSelection) {
36
+ options.editor.commands.selectNodeForward();
37
+ }
38
+ if (link && href) {
39
+ window.open(href, target);
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+ }
45
+ });
46
+ }
@@ -0,0 +1,10 @@
1
+ import type { Editor } from '@tiptap/core';
2
+ import type { NodeType } from '@tiptap/pm/model';
3
+ import { Plugin } from '@tiptap/pm/state';
4
+ type PasteHandlerOptions = {
5
+ editor: Editor;
6
+ defaultProtocol: string;
7
+ type: NodeType;
8
+ };
9
+ export declare function pasteHandler(options: PasteHandlerOptions): Plugin;
10
+ export {};
@@ -0,0 +1,32 @@
1
+ import { Plugin, PluginKey } from '@tiptap/pm/state';
2
+ import { find } from 'linkifyjs';
3
+ export function pasteHandler(options) {
4
+ return new Plugin({
5
+ key: new PluginKey('handlePasteLink'),
6
+ props: {
7
+ handlePaste: function handlePaste(view, event, slice) {
8
+ var state = view.state;
9
+ var selection = state.selection;
10
+ var empty = selection.empty;
11
+ if (empty) {
12
+ return false;
13
+ }
14
+ var textContent = '';
15
+ slice.content.forEach(function (node) {
16
+ textContent += node.textContent;
17
+ });
18
+ var link = find(textContent, {
19
+ defaultProtocol: options.defaultProtocol
20
+ }).find(function (item) {
21
+ return item.isLink && item.value === textContent;
22
+ });
23
+ if (!textContent || !link) {
24
+ return false;
25
+ }
26
+ return options.editor.commands.setNode(options.type, {
27
+ href: link.href
28
+ });
29
+ }
30
+ }
31
+ });
32
+ }
@@ -0,0 +1,4 @@
1
+ export declare const UNICODE_WHITESPACE_PATTERN = "[\0- \u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]";
2
+ export declare const UNICODE_WHITESPACE_REGEX: RegExp;
3
+ export declare const UNICODE_WHITESPACE_REGEX_END: RegExp;
4
+ export declare const UNICODE_WHITESPACE_REGEX_GLOBAL: RegExp;
@@ -0,0 +1,6 @@
1
+ // From DOMPurify
2
+ // https://github.com/cure53/DOMPurify/blob/main/src/regexp.ts
3
+ export var UNICODE_WHITESPACE_PATTERN = "[\0- \xA0\u1680\u180E\u2000-\u2029\u205F\u3000]";
4
+ export var UNICODE_WHITESPACE_REGEX = new RegExp(UNICODE_WHITESPACE_PATTERN);
5
+ export var UNICODE_WHITESPACE_REGEX_END = new RegExp("".concat(UNICODE_WHITESPACE_PATTERN, "$"));
6
+ export var UNICODE_WHITESPACE_REGEX_GLOBAL = new RegExp(UNICODE_WHITESPACE_PATTERN, 'g');
@@ -0,0 +1,162 @@
1
+ import { Node } from '@tiptap/core';
2
+ export interface LinkProtocolOptions {
3
+ /**
4
+ * The protocol scheme to be registered.
5
+ * @default '''
6
+ * @example 'ftp'
7
+ * @example 'git'
8
+ */
9
+ scheme: string;
10
+ /**
11
+ * If enabled, it allows optional slashes after the protocol.
12
+ * @default false
13
+ * @example true
14
+ */
15
+ optionalSlashes?: boolean;
16
+ }
17
+ /**
18
+ * @deprecated The default behavior is now to open links when the editor is not editable.
19
+ */
20
+ type DeprecatedOpenWhenNotEditable = 'whenNotEditable';
21
+ export interface LinkOptions {
22
+ /**
23
+ * If enabled, the extension will automatically add links as you type.
24
+ * @default true
25
+ * @example false
26
+ */
27
+ autolink: boolean;
28
+ /**
29
+ * An array of custom protocols to be registered with linkifyjs.
30
+ * @default []
31
+ * @example ['ftp', 'git']
32
+ */
33
+ protocols: Array<LinkProtocolOptions | string>;
34
+ /**
35
+ * Default protocol to use when no protocol is specified.
36
+ * @default 'http'
37
+ */
38
+ defaultProtocol: string;
39
+ /**
40
+ * If enabled, links will be opened on click.
41
+ * @default true
42
+ * @example false
43
+ */
44
+ openOnClick: boolean | DeprecatedOpenWhenNotEditable;
45
+ /**
46
+ * If enabled, the link will be selected when clicked.
47
+ * @default false
48
+ * @example true
49
+ */
50
+ enableClickSelection: boolean;
51
+ /**
52
+ * Adds a link to the current selection if the pasted content only contains an url.
53
+ * @default true
54
+ * @example false
55
+ */
56
+ linkOnPaste: boolean;
57
+ /**
58
+ * HTML attributes to add to the link element.
59
+ * @default {}
60
+ * @example { class: 'foo' }
61
+ */
62
+ HTMLAttributes: Record<string, any>;
63
+ /**
64
+ * @deprecated Use the `shouldAutoLink` option instead.
65
+ * A validation function that modifies link verification for the auto linker.
66
+ * @param url - The url to be validated.
67
+ * @returns - True if the url is valid, false otherwise.
68
+ */
69
+ validate: (url: string) => boolean;
70
+ /**
71
+ * A validation function which is used for configuring link verification for preventing XSS attacks.
72
+ * Only modify this if you know what you're doing.
73
+ *
74
+ * @returns {boolean} `true` if the URL is valid, `false` otherwise.
75
+ *
76
+ * @example
77
+ * isAllowedUri: (url, { defaultValidate, protocols, defaultProtocol }) => {
78
+ * return url.startsWith('./') || defaultValidate(url)
79
+ * }
80
+ */
81
+ isAllowedUri: (
82
+ /**
83
+ * The URL to be validated.
84
+ */
85
+ url: string, ctx: {
86
+ /**
87
+ * The default validation function.
88
+ */
89
+ defaultValidate: (url: string) => boolean;
90
+ /**
91
+ * An array of allowed protocols for the URL (e.g., "http", "https"). As defined in the `protocols` option.
92
+ */
93
+ protocols: Array<LinkProtocolOptions | string>;
94
+ /**
95
+ * A string that represents the default protocol (e.g., 'http'). As defined in the `defaultProtocol` option.
96
+ */
97
+ defaultProtocol: string;
98
+ }) => boolean;
99
+ /**
100
+ * Determines whether a valid link should be automatically linked in the content.
101
+ *
102
+ * @param {string} url - The URL that has already been validated.
103
+ * @returns {boolean} - True if the link should be auto-linked; false if it should not be auto-linked.
104
+ */
105
+ shouldAutoLink: (url: string) => boolean;
106
+ }
107
+ declare module '@tiptap/core' {
108
+ interface Commands<ReturnType> {
109
+ inlineLink: {
110
+ /**
111
+ * Set a link mark
112
+ * @param attributes The link attributes
113
+ * @example editor.commands.setInlineLink({ href: 'https://tiptap.dev' })
114
+ */
115
+ setInlineLink: (attributes: {
116
+ href: string;
117
+ target?: string | null;
118
+ rel?: string | null;
119
+ class?: string | null;
120
+ title?: string | null;
121
+ type?: string | null;
122
+ }) => ReturnType;
123
+ /**
124
+ * Toggle a link mark
125
+ * @param attributes The link attributes
126
+ * @example editor.commands.toggleInlineLink({ href: 'https://tiptap.dev' })
127
+ */
128
+ toggleInlineLink: (attributes?: {
129
+ href: string;
130
+ target?: string | null;
131
+ rel?: string | null;
132
+ class?: string | null;
133
+ title?: string | null;
134
+ type?: string | null;
135
+ }) => ReturnType;
136
+ /**
137
+ * Unset a link mark
138
+ * @example editor.commands.unsetInlineLink()
139
+ */
140
+ unsetInlineLink: () => ReturnType;
141
+ };
142
+ blockLink: {
143
+ /**
144
+ * Set a block link
145
+ * @param attributes The link attributes
146
+ * @example editor.commands.setBlockLink({ href: 'https://tiptap.dev' })
147
+ */
148
+ setBlockLink: (attributes: {
149
+ href: string;
150
+ target?: string | null;
151
+ rel?: string | null;
152
+ class?: string | null;
153
+ title?: string | null;
154
+ type?: string | null;
155
+ }) => ReturnType;
156
+ };
157
+ }
158
+ }
159
+ export declare function isAllowedUri(uri: string | undefined, protocols?: LinkOptions['protocols']): true | RegExpMatchArray | null;
160
+ export declare const InlineLinkExtension: Node<LinkOptions, any>;
161
+ export declare const BlockLinkExtension: Node<any, any>;
162
+ export {};