react-reason-editor 1.0.24

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 (871) hide show
  1. package/README.md +225 -0
  2. package/dist/ActionMenuButton-BGj7ODjl.cjs +1 -0
  3. package/dist/ActionMenuButton-DHYJFTev.js +2 -0
  4. package/dist/Attachment-DGzsbPZZ.js +4 -0
  5. package/dist/Attachment.cjs +1 -0
  6. package/dist/Attachment.js +1 -0
  7. package/dist/Blockquote-CQ6HlDnL.js +2 -0
  8. package/dist/Blockquote.cjs +1 -0
  9. package/dist/Blockquote.js +1 -0
  10. package/dist/Bold-Ciuvp1pM.js +2 -0
  11. package/dist/Bold-M6IKTPME.cjs +1 -0
  12. package/dist/Bold.cjs +1 -0
  13. package/dist/Bold.js +1 -0
  14. package/dist/BulletList.cjs +1 -0
  15. package/dist/BulletList.js +1 -0
  16. package/dist/Callout-DOHjjQtT.cjs +1 -0
  17. package/dist/Callout-heY7R-Zu.js +11 -0
  18. package/dist/Callout.cjs +1 -0
  19. package/dist/Callout.js +1 -0
  20. package/dist/Clear.cjs +1 -0
  21. package/dist/Clear.js +1 -0
  22. package/dist/Code-B17BQJf-.js +1 -0
  23. package/dist/Code-BsD1D1sK.cjs +1 -0
  24. package/dist/Code.cjs +1 -0
  25. package/dist/Code.js +1 -0
  26. package/dist/CodeBlock-B7Wklup8.js +1 -0
  27. package/dist/CodeBlock-D2OKvGCF.cjs +1 -0
  28. package/dist/CodeBlock.cjs +1 -0
  29. package/dist/CodeBlock.js +1 -0
  30. package/dist/CodeView.cjs +1 -0
  31. package/dist/CodeView.js +1 -0
  32. package/dist/Color-BxzxtvJH.cjs +1 -0
  33. package/dist/Color-VWGwmpsG.js +5 -0
  34. package/dist/Color.cjs +1 -0
  35. package/dist/Color.js +1 -0
  36. package/dist/Column-D4FgAp5K.js +1 -0
  37. package/dist/Column-I4gS_xKw.cjs +1 -0
  38. package/dist/Column.cjs +1 -0
  39. package/dist/Column.js +1 -0
  40. package/dist/Comment-DEtjWTFF.js +14 -0
  41. package/dist/Comment-DaHgAu2h.cjs +1 -0
  42. package/dist/Comment.cjs +1 -0
  43. package/dist/Comment.js +1 -0
  44. package/dist/Drawer-Dunw22Q1.js +63 -0
  45. package/dist/Drawer-DxCO6TBr.cjs +1 -0
  46. package/dist/Drawer.cjs +1 -0
  47. package/dist/Drawer.js +1 -0
  48. package/dist/Drawio-Bx8zt_CW.cjs +1 -0
  49. package/dist/Drawio-eqEGDkwW.js +6 -0
  50. package/dist/Drawio.cjs +1 -0
  51. package/dist/Drawio.js +1 -0
  52. package/dist/Emoji-BU-itkPp.js +12 -0
  53. package/dist/Emoji.cjs +1 -0
  54. package/dist/Emoji.js +1 -0
  55. package/dist/ExportPdf-DPeFg2GG.js +1 -0
  56. package/dist/ExportPdf.cjs +1 -0
  57. package/dist/ExportPdf.js +1 -0
  58. package/dist/ExportWord-TFEb3HXz.js +1 -0
  59. package/dist/ExportWord.cjs +1 -0
  60. package/dist/ExportWord.js +1 -0
  61. package/dist/FontFamily.cjs +1 -0
  62. package/dist/FontFamily.js +2 -0
  63. package/dist/FontSize.cjs +1 -0
  64. package/dist/FontSize.js +8 -0
  65. package/dist/Harper-1cMMY1sx.cjs +1 -0
  66. package/dist/Harper-BMTF3gpj.js +1 -0
  67. package/dist/Harper.cjs +1 -0
  68. package/dist/Harper.js +1 -0
  69. package/dist/Heading-YSJHyWCU.js +2 -0
  70. package/dist/Heading.cjs +1 -0
  71. package/dist/Heading.js +1 -0
  72. package/dist/Highlight-BeqLxfbY.cjs +1 -0
  73. package/dist/Highlight-OkaWwhRk.js +5 -0
  74. package/dist/Highlight.cjs +1 -0
  75. package/dist/Highlight.js +1 -0
  76. package/dist/History-C6yBYB2w.js +1 -0
  77. package/dist/History.cjs +1 -0
  78. package/dist/History.js +1 -0
  79. package/dist/HorizontalRule-kAw8TV0V.js +1 -0
  80. package/dist/HorizontalRule.cjs +1 -0
  81. package/dist/HorizontalRule.js +1 -0
  82. package/dist/Icon-CJJ9AQtR.js +1 -0
  83. package/dist/Icon-DQdA22_-.cjs +1 -0
  84. package/dist/Iframe-B-0W9YYq.js +2 -0
  85. package/dist/Iframe-DS5N9EFx.cjs +1 -0
  86. package/dist/Iframe.cjs +1 -0
  87. package/dist/Iframe.js +1 -0
  88. package/dist/Image.cjs +1 -0
  89. package/dist/Image.js +1 -0
  90. package/dist/ImageCropper-BAWOk69J.cjs +1 -0
  91. package/dist/ImageCropper-Dlz4nJQu.js +11 -0
  92. package/dist/ImageGif-CWfgVc6e.cjs +1 -0
  93. package/dist/ImageGif-D5Qw_Xf-.js +3 -0
  94. package/dist/ImageGif.cjs +1 -0
  95. package/dist/ImageGif.js +1 -0
  96. package/dist/ImportWord-BCcs3dYp.js +1 -0
  97. package/dist/ImportWord.cjs +1 -0
  98. package/dist/ImportWord.js +1 -0
  99. package/dist/Indent-6tc8tB62.cjs +1 -0
  100. package/dist/Indent-DpTPoZMk.js +1 -0
  101. package/dist/Indent.cjs +1 -0
  102. package/dist/Indent.js +1 -0
  103. package/dist/Italic-Brjxxqsi.cjs +1 -0
  104. package/dist/Italic-CZkbT3Dd.js +1 -0
  105. package/dist/Italic.cjs +1 -0
  106. package/dist/Italic.js +1 -0
  107. package/dist/Katex-Bo_vfXrd.js +10 -0
  108. package/dist/Katex-D_vF5gsD.cjs +1 -0
  109. package/dist/Katex.cjs +1 -0
  110. package/dist/Katex.js +1 -0
  111. package/dist/LineHeight.cjs +1 -0
  112. package/dist/LineHeight.js +1 -0
  113. package/dist/Link-C0cNnjXo.js +6 -0
  114. package/dist/Link.cjs +1 -0
  115. package/dist/Link.js +1 -0
  116. package/dist/LinkEditBlock-Or1HIYih.cjs +1 -0
  117. package/dist/MarkdownPaste-C5jQ33SR.js +1 -0
  118. package/dist/MarkdownPaste.cjs +1 -0
  119. package/dist/MarkdownPaste.js +1 -0
  120. package/dist/Mention-DEkbeL04.js +1 -0
  121. package/dist/Mention.cjs +1 -0
  122. package/dist/Mention.js +1 -0
  123. package/dist/Mermaid-BB15qd24.cjs +1 -0
  124. package/dist/Mermaid-DxpFRVu0.js +5 -0
  125. package/dist/Mermaid.cjs +1 -0
  126. package/dist/Mermaid.js +1 -0
  127. package/dist/MoreMark-CXudh2cm.js +3 -0
  128. package/dist/MoreMark.cjs +1 -0
  129. package/dist/MoreMark.js +1 -0
  130. package/dist/OfficePaste-BmPshTAb.js +1 -0
  131. package/dist/OfficePaste-Day0T6Ox.cjs +1 -0
  132. package/dist/OfficePaste.cjs +1 -0
  133. package/dist/OfficePaste.js +1 -0
  134. package/dist/OrderedList.cjs +1 -0
  135. package/dist/OrderedList.js +1 -0
  136. package/dist/Pagination-B8rfYYi_.js +1 -0
  137. package/dist/Pagination-yjRu_qJK.cjs +1 -0
  138. package/dist/Pagination.cjs +1 -0
  139. package/dist/Pagination.js +1 -0
  140. package/dist/SearchAndReplace.cjs +1 -0
  141. package/dist/SearchAndReplace.js +11 -0
  142. package/dist/SlashCommand-8LkH8bHy.js +1 -0
  143. package/dist/SlashCommand.cjs +1 -0
  144. package/dist/SlashCommand.js +1 -0
  145. package/dist/Strike-BsMuOhxs.js +1 -0
  146. package/dist/Strike.cjs +1 -0
  147. package/dist/Strike.js +1 -0
  148. package/dist/Table-B4KNW7Yq.cjs +1 -0
  149. package/dist/Table-C9t-k9Qu.js +3 -0
  150. package/dist/Table.cjs +1 -0
  151. package/dist/Table.js +1 -0
  152. package/dist/TableOfContents.cjs +1 -0
  153. package/dist/TableOfContents.js +1 -0
  154. package/dist/TaskList.cjs +1 -0
  155. package/dist/TaskList.js +1 -0
  156. package/dist/TextAlign-6ElUYI4_.cjs +1 -0
  157. package/dist/TextAlign-C75gn_OM.js +1 -0
  158. package/dist/TextAlign.cjs +1 -0
  159. package/dist/TextAlign.js +1 -0
  160. package/dist/TextDirection.cjs +1 -0
  161. package/dist/TextDirection.js +1 -0
  162. package/dist/TextUnderline-BaV7bhwo.js +1 -0
  163. package/dist/TextUnderline-ofstnQx_.cjs +1 -0
  164. package/dist/TextUnderline.cjs +1 -0
  165. package/dist/TextUnderline.js +1 -0
  166. package/dist/Twitter-D5UNfT-K.js +5 -0
  167. package/dist/Twitter-DyrQT0n4.cjs +1 -0
  168. package/dist/Twitter.cjs +1 -0
  169. package/dist/Twitter.js +1 -0
  170. package/dist/Video-BSH5k6Jd.cjs +1 -0
  171. package/dist/Video-_YlAC2R_.js +5 -0
  172. package/dist/Video.cjs +1 -0
  173. package/dist/Video.js +1 -0
  174. package/dist/WordCount.cjs +1 -0
  175. package/dist/WordCount.js +2 -0
  176. package/dist/app-hooks/use-mobile.d.ts +5 -0
  177. package/dist/app-hooks/useDocumentSync.d.ts +27 -0
  178. package/dist/app-hooks/useLocalStorage.d.ts +11 -0
  179. package/dist/app-theme/theme-dropdown.d.ts +1 -0
  180. package/dist/app-types/document.d.ts +81 -0
  181. package/dist/app-types/fileSource.d.ts +124 -0
  182. package/dist/app-types/team.d.ts +52 -0
  183. package/dist/app-types/toc.d.ts +2 -0
  184. package/dist/app-ui/FileTypeIcon.d.ts +11 -0
  185. package/dist/app-ui/alert-dialog.d.ts +14 -0
  186. package/dist/app-ui/avatar.d.ts +6 -0
  187. package/dist/app-ui/badge.d.ts +13 -0
  188. package/dist/app-ui/breadcrumb.d.ts +15 -0
  189. package/dist/app-ui/button.d.ts +15 -0
  190. package/dist/app-ui/context-menu.d.ts +28 -0
  191. package/dist/app-ui/dialog.d.ts +15 -0
  192. package/dist/app-ui/dropdown-menu.d.ts +25 -0
  193. package/dist/app-ui/input.d.ts +7 -0
  194. package/dist/app-ui/label.d.ts +4 -0
  195. package/dist/app-ui/radio-group.d.ts +5 -0
  196. package/dist/app-ui/scroll-area.d.ts +5 -0
  197. package/dist/app-ui/select.d.ts +13 -0
  198. package/dist/app-ui/separator.d.ts +4 -0
  199. package/dist/app-ui/sheet.d.ts +13 -0
  200. package/dist/app-ui/sidebar.d.ts +70 -0
  201. package/dist/app-ui/skeleton.d.ts +3 -0
  202. package/dist/app-ui/switch.d.ts +4 -0
  203. package/dist/app-ui/tabs.d.ts +7 -0
  204. package/dist/app-ui/textarea.d.ts +7 -0
  205. package/dist/app-ui/tooltip.d.ts +7 -0
  206. package/dist/app-ui/tree.d.ts +19 -0
  207. package/dist/app-ui/visually-hidden.d.ts +6 -0
  208. package/dist/app-utils/file-sources/sources.d.ts +37 -0
  209. package/dist/app-utils/utils.d.ts +1 -0
  210. package/dist/bubble---c27x7L.js +80 -0
  211. package/dist/bubble.cjs +1 -0
  212. package/dist/bubble.d.ts +4 -0
  213. package/dist/bubble.js +1 -0
  214. package/dist/button-CXcuJkiM.js +1 -0
  215. package/dist/button-CYMsgP3Y.cjs +1 -0
  216. package/dist/cdn-loader-D76eUWN7.cjs +1 -0
  217. package/dist/cdn-loader-w67sLKk9.js +1 -0
  218. package/dist/checkbox-BtMvSk4V.cjs +1 -0
  219. package/dist/checkbox-zfuPZBhD.js +1 -0
  220. package/dist/comments/CommentsSidebar.d.ts +14 -0
  221. package/dist/comments/commentMarks.d.ts +40 -0
  222. package/dist/comments/useCommentThreads.d.ts +29 -0
  223. package/dist/components/ActionButton.d.ts +23 -0
  224. package/dist/components/ActionMenuButton.d.ts +28 -0
  225. package/dist/components/Bubble/RichTextBubbleCallout.d.ts +4 -0
  226. package/dist/components/Bubble/RichTextBubbleCodeBlock.d.ts +4 -0
  227. package/dist/components/Bubble/RichTextBubbleColumns.d.ts +4 -0
  228. package/dist/components/Bubble/RichTextBubbleDrawer.d.ts +4 -0
  229. package/dist/components/Bubble/RichTextBubbleDrawio.d.ts +4 -0
  230. package/dist/components/Bubble/RichTextBubbleIframe.d.ts +4 -0
  231. package/dist/components/Bubble/RichTextBubbleKatex.d.ts +2 -0
  232. package/dist/components/Bubble/RichTextBubbleLink.d.ts +6 -0
  233. package/dist/components/Bubble/RichTextBubbleMedia.d.ts +7 -0
  234. package/dist/components/Bubble/RichTextBubbleMenuDragHandle.d.ts +2 -0
  235. package/dist/components/Bubble/RichTextBubbleMermaid.d.ts +4 -0
  236. package/dist/components/Bubble/RichTextBubbleTable.d.ts +8 -0
  237. package/dist/components/Bubble/RichTextBubbleText.d.ts +8 -0
  238. package/dist/components/Bubble/RichTextBubbleTwitter.d.ts +4 -0
  239. package/dist/components/Bubble/formatBubble.d.ts +55 -0
  240. package/dist/components/Bubble/index.d.ts +17 -0
  241. package/dist/components/ColorPicker.d.ts +11 -0
  242. package/dist/components/ReactBus.d.ts +11 -0
  243. package/dist/components/RichTextProvider.d.ts +8 -0
  244. package/dist/components/SizeSetter/SizeSetter.d.ts +16 -0
  245. package/dist/components/SlashDialogTrigger/RenderDialogUploadImage.d.ts +4 -0
  246. package/dist/components/SlashDialogTrigger/RenderDialogUploadVideo.d.ts +4 -0
  247. package/dist/components/SlashDialogTrigger/SlashDialogTrigger.d.ts +6 -0
  248. package/dist/components/ToolbarMenuItem.d.ts +15 -0
  249. package/dist/components/icons/Activity.d.ts +3 -0
  250. package/dist/components/icons/Animas.d.ts +3 -0
  251. package/dist/components/icons/AspectRatio.d.ts +2 -0
  252. package/dist/components/icons/Blockquote.d.ts +2 -0
  253. package/dist/components/icons/CodeView.d.ts +4 -0
  254. package/dist/components/icons/ColumnAddLeft.d.ts +4 -0
  255. package/dist/components/icons/ColumnAddRight.d.ts +4 -0
  256. package/dist/components/icons/DeleteColumn.d.ts +5 -0
  257. package/dist/components/icons/DeleteRow.d.ts +5 -0
  258. package/dist/components/icons/Direction.d.ts +4 -0
  259. package/dist/components/icons/Drawio.d.ts +4 -0
  260. package/dist/components/icons/ExportPdf.d.ts +4 -0
  261. package/dist/components/icons/ExportWord.d.ts +3 -0
  262. package/dist/components/icons/FileWordOutline.d.ts +2 -0
  263. package/dist/components/icons/Flag.d.ts +3 -0
  264. package/dist/components/icons/Food.d.ts +3 -0
  265. package/dist/components/icons/GIfIcon.d.ts +4 -0
  266. package/dist/components/icons/Html.d.ts +4 -0
  267. package/dist/components/icons/Icon.d.ts +8 -0
  268. package/dist/components/icons/IconColorFill.d.ts +8 -0
  269. package/dist/components/icons/IconHighlightFill.d.ts +6 -0
  270. package/dist/components/icons/ImportWord.d.ts +3 -0
  271. package/dist/components/icons/LeftToRight.d.ts +4 -0
  272. package/dist/components/icons/LineHeight.d.ts +2 -0
  273. package/dist/components/icons/MenuDown.d.ts +2 -0
  274. package/dist/components/icons/Mermaid.d.ts +4 -0
  275. package/dist/components/icons/NoFill.d.ts +4 -0
  276. package/dist/components/icons/Object.d.ts +3 -0
  277. package/dist/components/icons/RightToLeft.d.ts +4 -0
  278. package/dist/components/icons/SizeL.d.ts +2 -0
  279. package/dist/components/icons/SizeM.d.ts +2 -0
  280. package/dist/components/icons/SizeS.d.ts +2 -0
  281. package/dist/components/icons/Symbol.d.ts +3 -0
  282. package/dist/components/icons/Travel.d.ts +3 -0
  283. package/dist/components/icons/Twitter.d.ts +4 -0
  284. package/dist/components/icons/icons.d.ts +4 -0
  285. package/dist/components/icons/index.d.ts +15 -0
  286. package/dist/components/index.d.ts +10 -0
  287. package/dist/components/ui/FileTypeIcon.d.ts +11 -0
  288. package/dist/components/ui/alert-dialog.d.ts +14 -0
  289. package/dist/components/ui/avatar.d.ts +6 -0
  290. package/dist/components/ui/badge.d.ts +13 -0
  291. package/dist/components/ui/breadcrumb.d.ts +15 -0
  292. package/dist/components/ui/button.d.ts +11 -0
  293. package/dist/components/ui/card.d.ts +13 -0
  294. package/dist/components/ui/checkbox.d.ts +7 -0
  295. package/dist/components/ui/context-menu.d.ts +28 -0
  296. package/dist/components/ui/dialog.d.ts +22 -0
  297. package/dist/components/ui/dropdown-menu.d.ts +30 -0
  298. package/dist/components/ui/emoji-picker.d.ts +22 -0
  299. package/dist/components/ui/index.d.ts +33 -0
  300. package/dist/components/ui/input.d.ts +8 -0
  301. package/dist/components/ui/label.d.ts +8 -0
  302. package/dist/components/ui/popover.d.ts +9 -0
  303. package/dist/components/ui/radio-group.d.ts +5 -0
  304. package/dist/components/ui/scroll-area.d.ts +5 -0
  305. package/dist/components/ui/select.d.ts +16 -0
  306. package/dist/components/ui/separator.d.ts +7 -0
  307. package/dist/components/ui/sheet.d.ts +13 -0
  308. package/dist/components/ui/sidebar.d.ts +70 -0
  309. package/dist/components/ui/skeleton.d.ts +3 -0
  310. package/dist/components/ui/switch.d.ts +7 -0
  311. package/dist/components/ui/tabs.d.ts +10 -0
  312. package/dist/components/ui/textarea.d.ts +8 -0
  313. package/dist/components/ui/toast.d.ts +18 -0
  314. package/dist/components/ui/toaster.d.ts +4 -0
  315. package/dist/components/ui/toggle.d.ts +15 -0
  316. package/dist/components/ui/tooltip.d.ts +7 -0
  317. package/dist/components/ui/tree.d.ts +19 -0
  318. package/dist/components/ui/use-toast.d.ts +47 -0
  319. package/dist/components/ui/visually-hidden.d.ts +6 -0
  320. package/dist/constants/index.d.ts +50 -0
  321. package/dist/constants/resetCSS.d.ts +4 -0
  322. package/dist/demo/alternatives.html +23 -0
  323. package/dist/demo/assets/BinaryModule-DTTQwokQ-8eah-8sx.js +4 -0
  324. package/dist/demo/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  325. package/dist/demo/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  326. package/dist/demo/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  327. package/dist/demo/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  328. package/dist/demo/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  329. package/dist/demo/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  330. package/dist/demo/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  331. package/dist/demo/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  332. package/dist/demo/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  333. package/dist/demo/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  334. package/dist/demo/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  335. package/dist/demo/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  336. package/dist/demo/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  337. package/dist/demo/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  338. package/dist/demo/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  339. package/dist/demo/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  340. package/dist/demo/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  341. package/dist/demo/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  342. package/dist/demo/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  343. package/dist/demo/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  344. package/dist/demo/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  345. package/dist/demo/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  346. package/dist/demo/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  347. package/dist/demo/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  348. package/dist/demo/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  349. package/dist/demo/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  350. package/dist/demo/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  351. package/dist/demo/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  352. package/dist/demo/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  353. package/dist/demo/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  354. package/dist/demo/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  355. package/dist/demo/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  356. package/dist/demo/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  357. package/dist/demo/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  358. package/dist/demo/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  359. package/dist/demo/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  360. package/dist/demo/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  361. package/dist/demo/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  362. package/dist/demo/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  363. package/dist/demo/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  364. package/dist/demo/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  365. package/dist/demo/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  366. package/dist/demo/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  367. package/dist/demo/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  368. package/dist/demo/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  369. package/dist/demo/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  370. package/dist/demo/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  371. package/dist/demo/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  372. package/dist/demo/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  373. package/dist/demo/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  374. package/dist/demo/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  375. package/dist/demo/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  376. package/dist/demo/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  377. package/dist/demo/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  378. package/dist/demo/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  379. package/dist/demo/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  380. package/dist/demo/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  381. package/dist/demo/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  382. package/dist/demo/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  383. package/dist/demo/assets/abnfDiagram-VRR7QNED-Dfd140vw.js +1 -0
  384. package/dist/demo/assets/alternatives-B9ZaH43Q.js +34 -0
  385. package/dist/demo/assets/arc-DgAnSXoo.js +1 -0
  386. package/dist/demo/assets/architecture-TIHT7OUA-PKWnSAaw.js +1 -0
  387. package/dist/demo/assets/architectureDiagram-ZJ3FMSHR-DKbvCH_5.js +36 -0
  388. package/dist/demo/assets/archiver-web.es-9DdX0ee3.js +1 -0
  389. package/dist/demo/assets/array-BifhSqXX.js +1 -0
  390. package/dist/demo/assets/binary-C5gJtLso.js +1 -0
  391. package/dist/demo/assets/blockDiagram-677ZJIJ3-CG98KmMB.js +132 -0
  392. package/dist/demo/assets/c4Diagram-LMCZKHZV-DMoYN41z.js +10 -0
  393. package/dist/demo/assets/channel-KwEJ8erK.js +1 -0
  394. package/dist/demo/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  395. package/dist/demo/assets/chunk-32BRIVSS-urznovFN.js +1 -0
  396. package/dist/demo/assets/chunk-52WLFC77-CVCkOQ0G.js +10 -0
  397. package/dist/demo/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  398. package/dist/demo/assets/chunk-7BUUIJ7U-Bb538aSH.js +1 -0
  399. package/dist/demo/assets/chunk-C7G6YPKG-3KR4wxr6.js +1 -0
  400. package/dist/demo/assets/chunk-EX3LRPZG-7H4O5zer.js +231 -0
  401. package/dist/demo/assets/chunk-FWX5IMBZ-Cr5hG-Ne.js +2 -0
  402. package/dist/demo/assets/chunk-HOUHSVGY-D-1II34k.js +1 -0
  403. package/dist/demo/assets/chunk-ICXQ74PX-6-sSSj2J.js +2 -0
  404. package/dist/demo/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  405. package/dist/demo/assets/chunk-KEIR6QF5-DEvma7oi.js +161 -0
  406. package/dist/demo/assets/chunk-MOJQB5TN-BI6A8dXC.js +88 -0
  407. package/dist/demo/assets/chunk-OGEWGWER-CbUWwSGR.js +1 -0
  408. package/dist/demo/assets/chunk-PUDLZKDR-DZFGcS0W.js +156 -0
  409. package/dist/demo/assets/chunk-Q4XR5HBZ-DZGKW5Hb.js +70 -0
  410. package/dist/demo/assets/chunk-RYQCIY6F-ngGojZR9.js +1 -0
  411. package/dist/demo/assets/chunk-V7JOEXUC-BHAISEav.js +206 -0
  412. package/dist/demo/assets/chunk-VAUOI2AC-DJJNd7f5.js +1 -0
  413. package/dist/demo/assets/chunk-VR4S4FIN-BohNhf6y.js +1 -0
  414. package/dist/demo/assets/chunk-WYO6CB5R-B4Oap74a.js +127 -0
  415. package/dist/demo/assets/chunk-XXDRQBXY-CazVBYiP.js +1 -0
  416. package/dist/demo/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  417. package/dist/demo/assets/chunk-ZGVPDNZ5-BIzSs0a_.js +62 -0
  418. package/dist/demo/assets/chunk-ZIRB5QZD-BpeS1aZ7.js +32 -0
  419. package/dist/demo/assets/classDiagram-OUVF2IWQ-DHWWAQXA.js +1 -0
  420. package/dist/demo/assets/classDiagram-v2-EOCWNBFH-DHWWAQXA.js +1 -0
  421. package/dist/demo/assets/cose-bilkent-JH36ORCC-BX8lNO9u.js +1 -0
  422. package/dist/demo/assets/cynefin-VYW2F7L2-BgajGb2C.js +1 -0
  423. package/dist/demo/assets/cynefinDiagram-TSTJHNR4-DzhUAZoU.js +62 -0
  424. package/dist/demo/assets/cytoscape.esm-C3UvhD5t.js +321 -0
  425. package/dist/demo/assets/dagre-Do4loULv.js +1 -0
  426. package/dist/demo/assets/dagre-VKFMJZFB-BsopUNng.js +4 -0
  427. package/dist/demo/assets/defaultLocale-BFoDCU3G.js +1 -0
  428. package/dist/demo/assets/diagram-FQU43EPY-CnINkZTL.js +3 -0
  429. package/dist/demo/assets/diagram-G47NLZAW-Dz3Rtzen.js +24 -0
  430. package/dist/demo/assets/diagram-NH7WQ7WH-Be_1UuNu.js +24 -0
  431. package/dist/demo/assets/diagram-OA4YK3LP-CoSIFO2U.js +30 -0
  432. package/dist/demo/assets/diagram-WEI45ONY-BSRZnbDT.js +41 -0
  433. package/dist/demo/assets/dist-Cs1z76FA.js +3464 -0
  434. package/dist/demo/assets/dist-Cz2MTljl.js +1 -0
  435. package/dist/demo/assets/dist-D6vyGdj4.js +1 -0
  436. package/dist/demo/assets/ebnfDiagram-CCIWWBDH-CyNs0RvY.js +1 -0
  437. package/dist/demo/assets/editorConfig-DhK0JFvA.js +1355 -0
  438. package/dist/demo/assets/editorConfig-DsFwDEyj.css +2 -0
  439. package/dist/demo/assets/erDiagram-Q63AITRT-Duw2zQw3.js +85 -0
  440. package/dist/demo/assets/eventmodeling-45OFAUF4-BMPwBTgC.js +1 -0
  441. package/dist/demo/assets/flowDiagram-23GEKE2U-vnvQkbfP.js +1 -0
  442. package/dist/demo/assets/ganttDiagram-NO4QXBWP-BUQaZ9pm.js +292 -0
  443. package/dist/demo/assets/gitGraph-TEB2WS4Q-Bqyr024o.js +1 -0
  444. package/dist/demo/assets/gitGraphDiagram-IHSO6WYX-BHYVHdDB.js +106 -0
  445. package/dist/demo/assets/graphlib-0Qhce9xj.js +1 -0
  446. package/dist/demo/assets/harper_wasm_bg-C0DPov_6.wasm +0 -0
  447. package/dist/demo/assets/html-to-docx.esm-C-vYVLZ6.js +75 -0
  448. package/dist/demo/assets/index-CLlAnStL-Ad588yu1.js +18 -0
  449. package/dist/demo/assets/info-DKCQHKI2-CFeY2ca_.js +1 -0
  450. package/dist/demo/assets/infoDiagram-FWYZ7A6U-DL4MXbtI.js +2 -0
  451. package/dist/demo/assets/init-C-OQMol4.js +1 -0
  452. package/dist/demo/assets/isObject-BNleAbAq.js +1 -0
  453. package/dist/demo/assets/ishikawaDiagram-FXEZZL3T-DmCRB68D.js +70 -0
  454. package/dist/demo/assets/journeyDiagram-5HDEW3XC-CweGyybk.js +139 -0
  455. package/dist/demo/assets/kanban-definition-HUTT4EX6-C66P6IsH.js +89 -0
  456. package/dist/demo/assets/katex-DolUETbr.js +257 -0
  457. package/dist/demo/assets/line-BidjcqCQ.js +1 -0
  458. package/dist/demo/assets/linear-CilxpIUn.js +1 -0
  459. package/dist/demo/assets/main-B9AIVkTk.js +10 -0
  460. package/dist/demo/assets/main-BprCJcmy.css +1 -0
  461. package/dist/demo/assets/map-CD2wglgO.js +1 -0
  462. package/dist/demo/assets/mermaid-parser.core-9KJPT0XG.js +7 -0
  463. package/dist/demo/assets/mermaid.core-laQQcj-T.js +11 -0
  464. package/dist/demo/assets/mindmap-definition-LN4V7U3C-BQN-bZLe.js +96 -0
  465. package/dist/demo/assets/ordinal-DtR4qwUh.js +1 -0
  466. package/dist/demo/assets/packet-7NZHBO7P-DxBPLOYy.js +1 -0
  467. package/dist/demo/assets/path-COt_16Va.js +1 -0
  468. package/dist/demo/assets/pegDiagram-2B236MQR-BpHXi9RG.js +1 -0
  469. package/dist/demo/assets/pie-RZYD4A2V-DrQV2Hpi.js +1 -0
  470. package/dist/demo/assets/pieDiagram-ENE6RG2P-CG5jHfId.js +39 -0
  471. package/dist/demo/assets/quadrantDiagram-ABIIQ3AL-Dcu2-MJ0.js +7 -0
  472. package/dist/demo/assets/radar-I7S5WNFK-tVb61Efp.js +1 -0
  473. package/dist/demo/assets/railroad-3IZDKUUU-DkJtB_j_.js +1 -0
  474. package/dist/demo/assets/railroad-abnf-AHOZXSZD-CfCTKFr3.js +1 -0
  475. package/dist/demo/assets/railroad-ebnf-EBAXGLYW-_v-6l-Ly.js +1 -0
  476. package/dist/demo/assets/railroad-peg-LSFZ7HO6-BBeu0SHC.js +1 -0
  477. package/dist/demo/assets/railroadDiagram-RFXS5EU6-Bv3QCzUt.js +1 -0
  478. package/dist/demo/assets/requirementDiagram-TGXJPOKE-DBRcoYhq.js +84 -0
  479. package/dist/demo/assets/rolldown-runtime-C0FnF6B9.js +1 -0
  480. package/dist/demo/assets/rough.esm-By172zw-.js +1 -0
  481. package/dist/demo/assets/sankeyDiagram-HTMAVEWB-BUvv1AGS.js +40 -0
  482. package/dist/demo/assets/sequenceDiagram-DBY2YBRQ-DF4ltyiE.js +162 -0
  483. package/dist/demo/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
  484. package/dist/demo/assets/src-CllyRBe0.js +1 -0
  485. package/dist/demo/assets/stateDiagram-2N3HPSRC-hdEszuU_.js +1 -0
  486. package/dist/demo/assets/stateDiagram-v2-6OUMAXLB-frodkCZE.js +1 -0
  487. package/dist/demo/assets/swimlanes-5IMT3BWC-BXUPe25m.js +2 -0
  488. package/dist/demo/assets/swimlanesDiagram-G3AALYLV-CN1oenl6.js +8 -0
  489. package/dist/demo/assets/timeline-definition-FHXFAJF6-Dphs5ING.js +120 -0
  490. package/dist/demo/assets/treeView-QDETBFTQ-MqbtC4u9.js +1 -0
  491. package/dist/demo/assets/treemap-6X3UGDF4-BExpaQPn.js +1 -0
  492. package/dist/demo/assets/v4-DDdyfk2q.js +1 -0
  493. package/dist/demo/assets/vennDiagram-L72KCM5P-BKVdTvjh.js +34 -0
  494. package/dist/demo/assets/wardley-OPB4EBWU-e6QJ2uBL.js +1 -0
  495. package/dist/demo/assets/wardleyDiagram-EHGQE667-DCxRFNx3.js +78 -0
  496. package/dist/demo/assets/xychartDiagram-FW5EYKEG-OnzZBgPH.js +7 -0
  497. package/dist/demo/index.html +23 -0
  498. package/dist/dialog-CxZ2oxD2.cjs +1 -0
  499. package/dist/dialog-DgdVbRUv.js +3 -0
  500. package/dist/dialogs/FileManagerModal.d.ts +9 -0
  501. package/dist/dialogs/InviteModal.d.ts +13 -0
  502. package/dist/dialogs/filemanager-data.d.ts +12 -0
  503. package/dist/dist-BEFKWXG8.js +1 -0
  504. package/dist/dist-BZqs5TU5.js +1 -0
  505. package/dist/dist-C5TeAoJ9.cjs +1 -0
  506. package/dist/dist-Cn_OUKh6.cjs +1 -0
  507. package/dist/dist-CsCFCV4K.js +29 -0
  508. package/dist/dist-D0RROJPB.cjs +1 -0
  509. package/dist/dist-GxnWmQlw.cjs +1 -0
  510. package/dist/dist-ICzvPVCE.cjs +1 -0
  511. package/dist/dist-fiA_WbbM.js +1 -0
  512. package/dist/documents/DocumentTree.d.ts +59 -0
  513. package/dist/documents/defaultDocuments.d.ts +7 -0
  514. package/dist/dom-dataset-D3Nz0h73.js +1 -0
  515. package/dist/dom-dataset-w2ZYeuXJ.cjs +1 -0
  516. package/dist/dropdown-menu-CVJhYAPA.cjs +1 -0
  517. package/dist/dropdown-menu-CfGzSpIy.js +2 -0
  518. package/dist/editor/EditorArea.d.ts +42 -0
  519. package/dist/editor/ReasonDocs.d.ts +7 -0
  520. package/dist/editor/ReasonDocsDialogs.d.ts +47 -0
  521. package/dist/editor/RightPanel.d.ts +43 -0
  522. package/dist/editor/TiptapEditorWrapper.d.ts +56 -0
  523. package/dist/editor/useReasonDocsState.d.ts +108 -0
  524. package/dist/editor/useSyncStore.d.ts +16 -0
  525. package/dist/events.constant-BkYOoqSk.cjs +1 -0
  526. package/dist/events.constant-DYciHxmk.js +2 -0
  527. package/dist/extensions/Attachment/Attachment.d.ts +15 -0
  528. package/dist/extensions/Attachment/components/NodeViewAttachment/FileIcon.d.ts +4 -0
  529. package/dist/extensions/Attachment/components/NodeViewAttachment/FileIconString.d.ts +4 -0
  530. package/dist/extensions/Attachment/components/NodeViewAttachment/NodeViewAttachment.d.ts +4 -0
  531. package/dist/extensions/Attachment/components/RichTextAttachment.d.ts +4 -0
  532. package/dist/extensions/Attachment/index.d.ts +4 -0
  533. package/dist/extensions/Blockquote/Blockquote.d.ts +6 -0
  534. package/dist/extensions/Blockquote/components/RichTextBlockquote.d.ts +4 -0
  535. package/dist/extensions/Blockquote/index.d.ts +4 -0
  536. package/dist/extensions/Bold/Bold.d.ts +6 -0
  537. package/dist/extensions/Bold/components/RichTextBold.d.ts +4 -0
  538. package/dist/extensions/Bold/index.d.ts +4 -0
  539. package/dist/extensions/BulletList/BulletList.d.ts +6 -0
  540. package/dist/extensions/BulletList/components/RichTextBulletList.d.ts +4 -0
  541. package/dist/extensions/BulletList/index.d.ts +4 -0
  542. package/dist/extensions/Callout/Callout.d.ts +18 -0
  543. package/dist/extensions/Callout/components/NodeViewCallout/NodeViewCallout.d.ts +4 -0
  544. package/dist/extensions/Callout/components/RichTextCallout.d.ts +4 -0
  545. package/dist/extensions/Callout/index.d.ts +4 -0
  546. package/dist/extensions/Clear/Clear.d.ts +6 -0
  547. package/dist/extensions/Clear/components/RichTextClear.d.ts +4 -0
  548. package/dist/extensions/Clear/index.d.ts +4 -0
  549. package/dist/extensions/Code/Code.d.ts +6 -0
  550. package/dist/extensions/Code/components/RichTextCode.d.ts +4 -0
  551. package/dist/extensions/Code/index.d.ts +4 -0
  552. package/dist/extensions/CodeBlock/CodeBlock.d.ts +6 -0
  553. package/dist/extensions/CodeBlock/components/RichTextCodeBlock.d.ts +2 -0
  554. package/dist/extensions/CodeBlock/index.d.ts +4 -0
  555. package/dist/extensions/CodeView/CodeView.d.ts +17 -0
  556. package/dist/extensions/CodeView/components/RichTextCodeView.d.ts +4 -0
  557. package/dist/extensions/CodeView/index.d.ts +4 -0
  558. package/dist/extensions/Color/Color.d.ts +22 -0
  559. package/dist/extensions/Color/components/RichTextColor.d.ts +4 -0
  560. package/dist/extensions/Color/index.d.ts +4 -0
  561. package/dist/extensions/Column/Column.d.ts +25 -0
  562. package/dist/extensions/Column/components/RichTextColumn.d.ts +4 -0
  563. package/dist/extensions/Column/index.d.ts +4 -0
  564. package/dist/extensions/Comment/Comment.d.ts +41 -0
  565. package/dist/extensions/Comment/components/CommentView.d.ts +17 -0
  566. package/dist/extensions/Comment/index.d.ts +5 -0
  567. package/dist/extensions/Drawer/Drawer.d.ts +15 -0
  568. package/dist/extensions/Drawer/components/ControlDrawer/ControlDrawer.d.ts +3 -0
  569. package/dist/extensions/Drawer/components/ControlDrawer/icon.d.ts +28 -0
  570. package/dist/extensions/Drawer/components/EditDrawerBlock.d.ts +4 -0
  571. package/dist/extensions/Drawer/components/NodeViewDrawer/NodeViewDrawer.d.ts +2 -0
  572. package/dist/extensions/Drawer/components/RichTextDrawer.d.ts +4 -0
  573. package/dist/extensions/Drawer/index.d.ts +4 -0
  574. package/dist/extensions/Drawio/Drawio.d.ts +17 -0
  575. package/dist/extensions/Drawio/components/NodeViewDrawio/NodeViewDrawio.d.ts +3 -0
  576. package/dist/extensions/Drawio/components/RichTextDrawio.d.ts +4 -0
  577. package/dist/extensions/Drawio/index.d.ts +4 -0
  578. package/dist/extensions/Emoji/Emoji.d.ts +5 -0
  579. package/dist/extensions/Emoji/components/EmojiList/EmojiNodeView.d.ts +11 -0
  580. package/dist/extensions/Emoji/components/RichTextEmoji.d.ts +2 -0
  581. package/dist/extensions/Emoji/index.d.ts +4 -0
  582. package/dist/extensions/ExportPdf/ExportPdf.d.ts +21 -0
  583. package/dist/extensions/ExportPdf/components/RichTextExportPdf.d.ts +4 -0
  584. package/dist/extensions/ExportPdf/index.d.ts +4 -0
  585. package/dist/extensions/ExportWord/ExportWord.d.ts +13 -0
  586. package/dist/extensions/ExportWord/components/RichTextExportWord.d.ts +4 -0
  587. package/dist/extensions/ExportWord/index.d.ts +4 -0
  588. package/dist/extensions/FontFamily/FontFamily.d.ts +10 -0
  589. package/dist/extensions/FontFamily/components/RichTextFontFamily.d.ts +15 -0
  590. package/dist/extensions/FontFamily/index.d.ts +4 -0
  591. package/dist/extensions/FontSize/FontSize.d.ts +32 -0
  592. package/dist/extensions/FontSize/components/RichTextFontSize.d.ts +12 -0
  593. package/dist/extensions/FontSize/index.d.ts +4 -0
  594. package/dist/extensions/Harper/Harper.d.ts +73 -0
  595. package/dist/extensions/Harper/components/RichTextHarper.d.ts +15 -0
  596. package/dist/extensions/Harper/index.d.ts +9 -0
  597. package/dist/extensions/Harper/lib/createHarperLinter.d.ts +22 -0
  598. package/dist/extensions/Harper/lib/extractTextWithMap.d.ts +33 -0
  599. package/dist/extensions/Heading/Heading.d.ts +6 -0
  600. package/dist/extensions/Heading/components/RichTextHeading.d.ts +17 -0
  601. package/dist/extensions/Heading/index.d.ts +4 -0
  602. package/dist/extensions/Highlight/Highlight.d.ts +18 -0
  603. package/dist/extensions/Highlight/components/RichTextHighlight.d.ts +2 -0
  604. package/dist/extensions/Highlight/index.d.ts +4 -0
  605. package/dist/extensions/History/History.d.ts +6 -0
  606. package/dist/extensions/History/components/RichTextHistory.d.ts +3 -0
  607. package/dist/extensions/History/index.d.ts +4 -0
  608. package/dist/extensions/HorizontalRule/HorizontalRule.d.ts +6 -0
  609. package/dist/extensions/HorizontalRule/components/RichTextHorizontalRule.d.ts +4 -0
  610. package/dist/extensions/HorizontalRule/index.d.ts +4 -0
  611. package/dist/extensions/Iframe/Iframe.d.ts +16 -0
  612. package/dist/extensions/Iframe/components/IframeNodeView.d.ts +5 -0
  613. package/dist/extensions/Iframe/components/RichTextIframe.d.ts +4 -0
  614. package/dist/extensions/Iframe/index.d.ts +4 -0
  615. package/dist/extensions/Iframe/utils.d.ts +9 -0
  616. package/dist/extensions/Image/Image.d.ts +57 -0
  617. package/dist/extensions/Image/components/ImageCropper.d.ts +2 -0
  618. package/dist/extensions/Image/components/ImageView.d.ts +3 -0
  619. package/dist/extensions/Image/components/RichTextImage.d.ts +4 -0
  620. package/dist/extensions/Image/index.d.ts +4 -0
  621. package/dist/extensions/ImageGif/ImageGif.d.ts +39 -0
  622. package/dist/extensions/ImageGif/components/ImageGifView.d.ts +3 -0
  623. package/dist/extensions/ImageGif/components/RichTextImageGif.d.ts +2 -0
  624. package/dist/extensions/ImageGif/components/services.d.ts +461 -0
  625. package/dist/extensions/ImageGif/index.d.ts +4 -0
  626. package/dist/extensions/ImportWord/ImportWord.d.ts +16 -0
  627. package/dist/extensions/ImportWord/components/RichTextImportWord.d.ts +4 -0
  628. package/dist/extensions/ImportWord/docx-to-html.d.ts +24 -0
  629. package/dist/extensions/ImportWord/index.d.ts +4 -0
  630. package/dist/extensions/Indent/Indent.d.ts +23 -0
  631. package/dist/extensions/Indent/components/RichTextIndent.d.ts +4 -0
  632. package/dist/extensions/Indent/index.d.ts +4 -0
  633. package/dist/extensions/Italic/Italic.d.ts +6 -0
  634. package/dist/extensions/Italic/components/RichTextItalic.d.ts +4 -0
  635. package/dist/extensions/Italic/index.d.ts +4 -0
  636. package/dist/extensions/Katex/Katex.d.ts +17 -0
  637. package/dist/extensions/Katex/components/KatexWrapper.d.ts +4 -0
  638. package/dist/extensions/Katex/components/RichTextKatex.d.ts +4 -0
  639. package/dist/extensions/Katex/index.d.ts +4 -0
  640. package/dist/extensions/LineHeight/LineHeight.d.ts +7 -0
  641. package/dist/extensions/LineHeight/components/RichTextLightHeight.d.ts +4 -0
  642. package/dist/extensions/LineHeight/index.d.ts +4 -0
  643. package/dist/extensions/Link/Link.d.ts +6 -0
  644. package/dist/extensions/Link/components/LinkEditBlock.d.ts +12 -0
  645. package/dist/extensions/Link/components/LinkViewBlock.d.ts +9 -0
  646. package/dist/extensions/Link/components/RichTextLink.d.ts +4 -0
  647. package/dist/extensions/Link/index.d.ts +4 -0
  648. package/dist/extensions/MarkdownPaste/MarkdownPaste.d.ts +5 -0
  649. package/dist/extensions/MarkdownPaste/index.d.ts +4 -0
  650. package/dist/extensions/Mention/Mention.d.ts +3 -0
  651. package/dist/extensions/Mention/components/NodeViewMentionList.d.ts +16 -0
  652. package/dist/extensions/Mention/index.d.ts +4 -0
  653. package/dist/extensions/Mermaid/Mermaid.d.ts +15 -0
  654. package/dist/extensions/Mermaid/components/EditMermaidBlock.d.ts +8 -0
  655. package/dist/extensions/Mermaid/components/NodeViewMermaid/NodeViewMermaid.d.ts +2 -0
  656. package/dist/extensions/Mermaid/components/RichTextMermaid.d.ts +4 -0
  657. package/dist/extensions/Mermaid/index.d.ts +4 -0
  658. package/dist/extensions/MoreMark/MoreMark.d.ts +20 -0
  659. package/dist/extensions/MoreMark/components/RichTextMoreMark.d.ts +14 -0
  660. package/dist/extensions/MoreMark/index.d.ts +4 -0
  661. package/dist/extensions/OfficePaste/OfficePaste.d.ts +7 -0
  662. package/dist/extensions/OfficePaste/index.d.ts +4 -0
  663. package/dist/extensions/OrderedList/OrderedList.d.ts +6 -0
  664. package/dist/extensions/OrderedList/components/RichTextOrderedList.d.ts +4 -0
  665. package/dist/extensions/OrderedList/index.d.ts +4 -0
  666. package/dist/extensions/Pagination/Pagination.d.ts +37 -0
  667. package/dist/extensions/Pagination/components/RichTextPagination.d.ts +4 -0
  668. package/dist/extensions/Pagination/index.d.ts +5 -0
  669. package/dist/extensions/SearchAndReplace/SearchAndReplace.d.ts +36 -0
  670. package/dist/extensions/SearchAndReplace/components/RichTextSearchAndReplace.d.ts +4 -0
  671. package/dist/extensions/SearchAndReplace/index.d.ts +4 -0
  672. package/dist/extensions/SlashCommand/SlashCommand.d.ts +4 -0
  673. package/dist/extensions/SlashCommand/components/SlashCommandList.d.ts +6 -0
  674. package/dist/extensions/SlashCommand/components/SlashCommandNodeView.d.ts +3 -0
  675. package/dist/extensions/SlashCommand/index.d.ts +4 -0
  676. package/dist/extensions/SlashCommand/renderCommandListDefault.d.ts +7 -0
  677. package/dist/extensions/SlashCommand/types.d.ts +20 -0
  678. package/dist/extensions/Strike/Strike.d.ts +6 -0
  679. package/dist/extensions/Strike/components/RichTextStrike.d.ts +4 -0
  680. package/dist/extensions/Strike/index.d.ts +4 -0
  681. package/dist/extensions/Subscript/components/RichTextSubscript.d.ts +4 -0
  682. package/dist/extensions/Superscript/components/RichTextSuperscript.d.ts +4 -0
  683. package/dist/extensions/Table/Table.d.ts +21 -0
  684. package/dist/extensions/Table/TableCellBackground.d.ts +14 -0
  685. package/dist/extensions/Table/components/CreateTablePopover.d.ts +8 -0
  686. package/dist/extensions/Table/components/RichTextTable.d.ts +2 -0
  687. package/dist/extensions/Table/index.d.ts +4 -0
  688. package/dist/extensions/TableOfContents/TableOfContents.d.ts +15 -0
  689. package/dist/extensions/TableOfContents/components/RichTextTableOfContents.d.ts +8 -0
  690. package/dist/extensions/TableOfContents/components/RichTextTableOfContentsPanel.d.ts +19 -0
  691. package/dist/extensions/TableOfContents/index.d.ts +6 -0
  692. package/dist/extensions/TaskList/TaskList.d.ts +11 -0
  693. package/dist/extensions/TaskList/components/RichTextTaskList.d.ts +4 -0
  694. package/dist/extensions/TaskList/index.d.ts +4 -0
  695. package/dist/extensions/TextAlign/TextAlign.d.ts +17 -0
  696. package/dist/extensions/TextAlign/components/RichTextAlign.d.ts +14 -0
  697. package/dist/extensions/TextAlign/index.d.ts +4 -0
  698. package/dist/extensions/TextDirection/TextDirection.d.ts +5 -0
  699. package/dist/extensions/TextDirection/components/RichTextTextDirection.d.ts +15 -0
  700. package/dist/extensions/TextDirection/index.d.ts +4 -0
  701. package/dist/extensions/TextUnderline/TextUnderline.d.ts +6 -0
  702. package/dist/extensions/TextUnderline/components/RichTextUnderline.d.ts +4 -0
  703. package/dist/extensions/TextUnderline/index.d.ts +4 -0
  704. package/dist/extensions/Twitter/Twitter.d.ts +46 -0
  705. package/dist/extensions/Twitter/components/FormEditLinkTwitter.d.ts +9 -0
  706. package/dist/extensions/Twitter/components/NodeViewTweet.d.ts +8 -0
  707. package/dist/extensions/Twitter/components/RichTextTwitter.d.ts +4 -0
  708. package/dist/extensions/Twitter/index.d.ts +4 -0
  709. package/dist/extensions/Video/Video.d.ts +66 -0
  710. package/dist/extensions/Video/components/RichTextVideo.d.ts +4 -0
  711. package/dist/extensions/Video/index.d.ts +4 -0
  712. package/dist/extensions/WordCount/WordCount.d.ts +7 -0
  713. package/dist/extensions/WordCount/components/RichTextWordCount.d.ts +4 -0
  714. package/dist/extensions/WordCount/index.d.ts +4 -0
  715. package/dist/extensions/WordCount/utils/wordCount.d.ts +25 -0
  716. package/dist/extensions/Zoom/components/RichTextZoom.d.ts +2 -0
  717. package/dist/features/ai-rewrite/AIRewriteSuggestion.d.ts +27 -0
  718. package/dist/features/ai-rewrite/rewriteModes.d.ts +37 -0
  719. package/dist/features/settings/Settings.d.ts +11 -0
  720. package/dist/features/settings/sections/AIRewriteModesSection.d.ts +6 -0
  721. package/dist/features/settings/sections/AboutSection.d.ts +1 -0
  722. package/dist/features/settings/sections/AppearanceSection.d.ts +6 -0
  723. package/dist/features/settings/sections/FileSourcesSection.d.ts +6 -0
  724. package/dist/features/settings/sections/StorageSection.d.ts +6 -0
  725. package/dist/features/tags/TagManagementDialog.d.ts +18 -0
  726. package/dist/features/team/TeamManagement.d.ts +13 -0
  727. package/dist/file-B1Z0XcVJ.cjs +1 -0
  728. package/dist/file-aBzFF1LO.js +1 -0
  729. package/dist/file-tree/FileTreeContextMenu.d.ts +18 -0
  730. package/dist/file-tree/documentUtils.d.ts +57 -0
  731. package/dist/file-tree/filetree.d.ts +28 -0
  732. package/dist/file-tree/index.d.ts +8 -0
  733. package/dist/file-tree/useFileTreeOperations.d.ts +27 -0
  734. package/dist/floating-ui.dom-D9FglguG.cjs +1 -0
  735. package/dist/floating-ui.dom-DledU50u.js +1 -0
  736. package/dist/hooks/use-mobile.d.ts +5 -0
  737. package/dist/hooks/useActive.d.ts +24 -0
  738. package/dist/hooks/useAttributes.d.ts +2 -0
  739. package/dist/hooks/useButtonProps.d.ts +4 -0
  740. package/dist/hooks/useCopy.d.ts +8 -0
  741. package/dist/hooks/useExtension.d.ts +4 -0
  742. package/dist/hooks/useLocalStorage.d.ts +13 -0
  743. package/dist/html-to-docx.esm-BSqAFns8.cjs +1 -0
  744. package/dist/html-to-docx.esm-DkztZsL5-DQYdhD3B.cjs +1 -0
  745. package/dist/html-to-docx.esm-DkztZsL5.js +1 -0
  746. package/dist/index.cjs +1 -0
  747. package/dist/index.d.ts +10 -0
  748. package/dist/index.js +1 -0
  749. package/dist/input-AvqqajGM.cjs +1 -0
  750. package/dist/input-CMD6LZFr.js +1 -0
  751. package/dist/isNumber-7Fi2iQVS.js +1 -0
  752. package/dist/isNumber-CmHpmrpR.cjs +1 -0
  753. package/dist/jsx-runtime-BLWGWoMZ.cjs +1 -0
  754. package/dist/jsx-runtime-DqgyBF0N.js +1 -0
  755. package/dist/jszip.min-3Yxv_4wz.cjs +1 -0
  756. package/dist/jszip.min-BUJ6OksG.js +1 -0
  757. package/dist/label-DPSH3PiY.cjs +1 -0
  758. package/dist/label-Dx1mMx8l.js +1 -0
  759. package/dist/layout/Sidebar.d.ts +7 -0
  760. package/dist/layout/sidebar/Sidebar.d.ts +2 -0
  761. package/dist/layout/sidebar/SidebarContent.d.ts +76 -0
  762. package/dist/layout/sidebar/SidebarFooter.d.ts +45 -0
  763. package/dist/layout/sidebar/SidebarToolbar.d.ts +85 -0
  764. package/dist/layout/sidebar/SidebarViewMenu.d.ts +24 -0
  765. package/dist/layout/sidebar/fileSourceUtils.d.ts +2 -0
  766. package/dist/layout/sidebar/index.d.ts +12 -0
  767. package/dist/layout/sidebar/panelOptions.d.ts +29 -0
  768. package/dist/layout/sidebar/types.d.ts +68 -0
  769. package/dist/lib/utils.d.ts +2 -0
  770. package/dist/locale-bundle.cjs +1 -0
  771. package/dist/locale-bundle.d.ts +4 -0
  772. package/dist/locale-bundle.js +1 -0
  773. package/dist/locales/ar.d.ts +201 -0
  774. package/dist/locales/de.d.ts +201 -0
  775. package/dist/locales/en.d.ts +201 -0
  776. package/dist/locales/es.d.ts +201 -0
  777. package/dist/locales/fa.d.ts +201 -0
  778. package/dist/locales/fi.d.ts +201 -0
  779. package/dist/locales/fr.d.ts +201 -0
  780. package/dist/locales/he.d.ts +201 -0
  781. package/dist/locales/hi.d.ts +201 -0
  782. package/dist/locales/hu.d.ts +201 -0
  783. package/dist/locales/index.d.ts +3576 -0
  784. package/dist/locales/it.d.ts +201 -0
  785. package/dist/locales/ja.d.ts +201 -0
  786. package/dist/locales/ko.d.ts +201 -0
  787. package/dist/locales/nl.d.ts +201 -0
  788. package/dist/locales/pt-br.d.ts +201 -0
  789. package/dist/locales/ru.d.ts +201 -0
  790. package/dist/locales/tr.d.ts +201 -0
  791. package/dist/locales/uk.d.ts +201 -0
  792. package/dist/locales/vi.d.ts +201 -0
  793. package/dist/locales/zh-cn.d.ts +201 -0
  794. package/dist/locales-DfkG6-1b.js +1 -0
  795. package/dist/locales-Dg9XL0yP.cjs +1 -0
  796. package/dist/plugins/image-upload.d.ts +13 -0
  797. package/dist/popover-DEGqjF2J.cjs +1 -0
  798. package/dist/popover-DGEv-NbL.js +1 -0
  799. package/dist/reason-docs.cjs +1 -0
  800. package/dist/reason-docs.d.ts +1 -0
  801. package/dist/reason-docs.js +1 -0
  802. package/dist/renderCommandListDefault-CJd5Cd3Q.js +1 -0
  803. package/dist/renderCommandListDefault-CykwYpTX.cjs +1 -0
  804. package/dist/renderNodeView-Bis8Vxth.cjs +1 -0
  805. package/dist/renderNodeView-EV3OWici.js +1 -0
  806. package/dist/rolldown-runtime-BeavJI0R.cjs +1 -0
  807. package/dist/rolldown-runtime-Drgf5FY8-7XpCJKyX.cjs +1 -0
  808. package/dist/rolldown-runtime-Drgf5FY8.js +1 -0
  809. package/dist/search/DynamicIslandTOC.d.ts +14 -0
  810. package/dist/search/OutlineView.d.ts +29 -0
  811. package/dist/search/SearchModal.d.ts +26 -0
  812. package/dist/separator-BHN46aj5.cjs +1 -0
  813. package/dist/separator-CTa6o9S_.js +10 -0
  814. package/dist/shortId-B25DIOpW.cjs +1 -0
  815. package/dist/shortId-COE42cHb.js +1 -0
  816. package/dist/src-C7k3RYxJ.js +646 -0
  817. package/dist/src-DYbBlAjR.cjs +1 -0
  818. package/dist/store/EditorEditableReactive.d.ts +4 -0
  819. package/dist/store/ThemeColorReactive.d.ts +4 -0
  820. package/dist/store/commandList.d.ts +2 -0
  821. package/dist/store/editor.d.ts +21 -0
  822. package/dist/store/store.d.ts +6 -0
  823. package/dist/style.css +5 -0
  824. package/dist/tabs-BovAV0Y3.js +1 -0
  825. package/dist/tabs-CoJRfGS8.cjs +1 -0
  826. package/dist/textarea-BFbGcrSO.cjs +1 -0
  827. package/dist/textarea-uEPOPNqf.js +1 -0
  828. package/dist/theme/theme.d.ts +372 -0
  829. package/dist/theme.cjs +1 -0
  830. package/dist/theme.js +1 -0
  831. package/dist/throttle-BpbN7uB1.js +1 -0
  832. package/dist/throttle-COe5rswR.cjs +1 -0
  833. package/dist/toggle-BXl_NYYh.js +2 -0
  834. package/dist/toggle-CRftKzl0.cjs +1 -0
  835. package/dist/tooltip-CzY0Diit.cjs +1 -0
  836. package/dist/tooltip-DC3DBc55.js +5 -0
  837. package/dist/types.d.ts +223 -0
  838. package/dist/updatePosition-CBT0mUIB.js +1 -0
  839. package/dist/updatePosition-DMu5F8JX.cjs +1 -0
  840. package/dist/useButtonProps-D2Hd5DbR.cjs +1 -0
  841. package/dist/useButtonProps-DSIajp_B.js +1 -0
  842. package/dist/utils/base64.d.ts +5 -0
  843. package/dist/utils/cdn-loader.d.ts +10 -0
  844. package/dist/utils/checkIsVideoUrl.d.ts +4 -0
  845. package/dist/utils/color.d.ts +10 -0
  846. package/dist/utils/columns.d.ts +14 -0
  847. package/dist/utils/customEvents/events.constant.d.ts +9 -0
  848. package/dist/utils/delete-node.d.ts +2 -0
  849. package/dist/utils/dom-dataset.d.ts +31 -0
  850. package/dist/utils/download.d.ts +4 -0
  851. package/dist/utils/dynamicCSS.d.ts +28 -0
  852. package/dist/utils/editor-container-size.d.ts +4 -0
  853. package/dist/utils/file.d.ts +30 -0
  854. package/dist/utils/getRenderContainer.d.ts +3 -0
  855. package/dist/utils/indent.d.ts +14 -0
  856. package/dist/utils/is-mobile.d.ts +22 -0
  857. package/dist/utils/json.d.ts +5 -0
  858. package/dist/utils/lru-cache.d.ts +34 -0
  859. package/dist/utils/mitt.d.ts +24 -0
  860. package/dist/utils/node.d.ts +15 -0
  861. package/dist/utils/pdf.d.ts +3 -0
  862. package/dist/utils/plateform.d.ts +14 -0
  863. package/dist/utils/renderNodeView.d.ts +9 -0
  864. package/dist/utils/shortId.d.ts +4 -0
  865. package/dist/utils/storage.d.ts +7 -0
  866. package/dist/utils/updatePosition.d.ts +4 -0
  867. package/dist/utils/utils.d.ts +20 -0
  868. package/dist/utils/validateFile.d.ts +16 -0
  869. package/dist/which-typed-array-Dj_53908.js +1 -0
  870. package/dist/which-typed-array-MFmINaJW.cjs +1 -0
  871. package/package.json +912 -0
package/dist/Emoji.js ADDED
@@ -0,0 +1 @@
1
+ import{n as o,r,t as s}from"./Emoji-BU-itkPp.js";export{s as EXTENSION_PRIORITY_HIGHEST,o as Emoji,r as RichTextEmoji};
@@ -0,0 +1 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as n,t as e}from"./useButtonProps-DSIajp_B.js";import{Fragment as o,jsx as i}from"react/jsx-runtime";import{Extension as r}from"@tiptap/core";function s(t,n){const e=t.getHTML();return!!e&&(function(t,n){const e=document.createElement("iframe");e.setAttribute("style","position: absolute; width: 0; height: 0; top: 0; left: 0;"),document.body.appendChild(e);const o=e.contentDocument||e.contentWindow?.document;if(!o)return;const{paperSize:i,title:r="React Tiptap Editor",margins:{top:s,right:a,bottom:d,left:p}}=n,c=`\n <!DOCTYPE html>\n <html lang="en">\n <head>\n <title>${r}</title>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <style>\n @media print {\n @page {\n size: ${i};\n margin: ${s} ${a} ${d} ${p}; /* top, right, bottom, left */\n }\n\n body {\n background: none;\n margin: 0;\n padding: 0;\n }\n\n .print-container {\n width: 100%;\n box-sizing: border-box;\n }\n\n .no-print {\n display: none;\n }\n }\n </style>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css">\n </head>\n <body>\n <div class="print-container">\n ${t}\n </div>\n </body>\n </html>\n `;o.open(),o.write(c),o.close(),e.addEventListener("load",()=>{setTimeout(()=>{try{e.contentWindow?.focus(),e.contentWindow?.print()}catch(t){}setTimeout(()=>{document.body.removeChild(e)},100)},50)})}(e,n),!0)}function a(){const r=e(d.name),{icon:s,tooltip:a,shortcutKeys:p,tooltipOptions:c={},action:l,isActive:m}=r?.componentProps??{},{dataState:h,disabled:u,update:b}=n(m);return r?/* @__PURE__ */i(t,{action:()=>{u||l&&(l(),b())},dataState:h,disabled:u,icon:s,shortcutKeys:p,tooltip:a,tooltipOptions:c}):/* @__PURE__ */i(o,{})}var d=r.create({name:"exportPdf",addOptions(){return{...this.parent?.(),paperSize:"Letter",title:"Echo Editor",margins:{top:"0.4in",right:"0.4in",bottom:"0.4in",left:"0.4in"},button:({editor:t,extension:n,t:e})=>({componentProps:{action:()=>{s(t,n.options)},icon:"ExportPdf",tooltip:e("editor.exportPdf.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToPdf:()=>({editor:t})=>s(t,this.options)}}});export{a as n,d as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const t=require("./toggle-CRftKzl0.cjs"),n=require("./useButtonProps-D2Hd5DbR.cjs");let e=require("react/jsx-runtime");function o(t,n){const e=t.getHTML();return!!e&&(function(t,n){const e=document.createElement("iframe");e.setAttribute("style","position: absolute; width: 0; height: 0; top: 0; left: 0;"),document.body.appendChild(e);const o=e.contentDocument||e.contentWindow?.document;if(!o)return;const{paperSize:i,title:r="React Tiptap Editor",margins:{top:s,right:d,bottom:a,left:c}}=n,p=`\n <!DOCTYPE html>\n <html lang="en">\n <head>\n <title>${r}</title>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <style>\n @media print {\n @page {\n size: ${i};\n margin: ${s} ${d} ${a} ${c}; /* top, right, bottom, left */\n }\n\n body {\n background: none;\n margin: 0;\n padding: 0;\n }\n\n .print-container {\n width: 100%;\n box-sizing: border-box;\n }\n\n .no-print {\n display: none;\n }\n }\n </style>\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reactjs-tiptap-editor@latest/lib/style.css">\n </head>\n <body>\n <div class="print-container">\n ${t}\n </div>\n </body>\n </html>\n `;o.open(),o.write(p),o.close(),e.addEventListener("load",()=>{setTimeout(()=>{try{e.contentWindow?.focus(),e.contentWindow?.print()}catch(t){}setTimeout(()=>{document.body.removeChild(e)},100)},50)})}(e,n),!0)}var i=require("@tiptap/core").Extension.create({name:"exportPdf",addOptions(){return{...this.parent?.(),paperSize:"Letter",title:"Echo Editor",margins:{top:"0.4in",right:"0.4in",bottom:"0.4in",left:"0.4in"},button:({editor:t,extension:n,t:e})=>({componentProps:{action:()=>{o(t,n.options)},icon:"ExportPdf",tooltip:e("editor.exportPdf.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands(){return{exportToPdf:()=>({editor:t})=>o(t,this.options)}}});exports.ExportPdf=i,exports.RichTextExportPdf=function(){const o=n.useButtonProps(i.name),{icon:r,tooltip:s,shortcutKeys:d,tooltipOptions:a={},action:c,isActive:p}=o?.componentProps??{},{dataState:l,disabled:u,update:m}=n.useToggleActive(p);return o?(0,e.jsx)(t.ActionButton,{action:()=>{u||c&&(c(),m())},dataState:l,disabled:u,icon:r,shortcutKeys:d,tooltip:s,tooltipOptions:a}):(0,e.jsx)(e.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as o,t as r}from"./ExportPdf-DPeFg2GG.js";export{r as ExportPdf,o as RichTextExportPdf};
@@ -0,0 +1 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as o,t as e}from"./useButtonProps-DSIajp_B.js";import{useState as r}from"react";import{Fragment as n,jsx as a}from"react/jsx-runtime";import{Extension as i}from"@tiptap/core";var s="undefined"!=typeof window;function c(){const i=e(d.name),[s,c]=r(!1),{icon:p,tooltip:m,shortcutKeys:l,tooltipOptions:u={},action:f,isActive:w}=i?.componentProps??{},{dataState:x,disabled:b,update:h}=o(w);return i?/* @__PURE__ */a(t,{action:async()=>{b||s||f&&(c(!0),await f(),h(),c(!1))},dataState:x,disabled:b||s,icon:s?"Loader":p,shortcutKeys:l,tooltip:m,tooltipOptions:u}):/* @__PURE__ */a(n,{})}var d=i.create({name:"exportWord",addOptions(){return{...this.parent?.(),button:({editor:t,t:o})=>({componentProps:{icon:"ExportWord",action:()=>t?.commands.exportToWord(),tooltip:o("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands:()=>({exportToWord:()=>async({editor:t})=>{try{const{default:o}=await import("./html-to-docx.esm-DkztZsL5.js"),e=await o(t.getHTML(),null,{});return function(t,o){if(s){const e=window.URL.createObjectURL(t),r=document.createElement("a");return r.href=e,r.download=o,r.click(),window.URL.revokeObjectURL(e),Promise.resolve()}Promise.resolve()}(new Blob([e]),"richtext-export-document.docx"),!0}catch(o){return!1}}})});export{c as n,d as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const t=require("./toggle-CRftKzl0.cjs"),e=require("./useButtonProps-D2Hd5DbR.cjs");let o=require("react"),r=require("react/jsx-runtime"),n=require("@tiptap/core");var i="undefined"!=typeof window;var s=n.Extension.create({name:"exportWord",addOptions(){return{...this.parent?.(),button:({editor:t,t:e})=>({componentProps:{icon:"ExportWord",action:()=>t?.commands.exportToWord(),tooltip:e("editor.exportWord.tooltip"),isActive:()=>!1,disabled:!1}})}},addCommands:()=>({exportToWord:()=>async({editor:t})=>{try{const{default:e}=await Promise.resolve().then(()=>require("./html-to-docx.esm-BSqAFns8.cjs")),o=await e(t.getHTML(),null,{});return function(t,e){if(i){const o=window.URL.createObjectURL(t),r=document.createElement("a");return r.href=o,r.download=e,r.click(),window.URL.revokeObjectURL(o),Promise.resolve()}Promise.resolve()}(new Blob([o]),"richtext-export-document.docx"),!0}catch(e){return!1}}})});exports.ExportWord=s,exports.RichTextExportWord=function(){const n=e.useButtonProps(s.name),[i,c]=(0,o.useState)(!1),{icon:a,tooltip:d,shortcutKeys:u,tooltipOptions:p={},action:l,isActive:m}=n?.componentProps??{},{dataState:x,disabled:w,update:j}=e.useToggleActive(m);return n?(0,r.jsx)(t.ActionButton,{action:async()=>{w||i||l&&(c(!0),await l(),j(),c(!1))},dataState:x,disabled:w||i,icon:i?"Loader":a,shortcutKeys:u,tooltip:d,tooltipOptions:p}):(0,r.jsx)(r.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as o,t as r}from"./ExportWord-TFEb3HXz.js";export{r as ExportWord,o as RichTextExportWord};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./rolldown-runtime-BeavJI0R.cjs"),e=require("./ActionMenuButton-BGj7ODjl.cjs"),n=require("./locales-Dg9XL0yP.cjs"),i=require("./dropdown-menu-CVJhYAPA.cjs"),o=require("./useButtonProps-D2Hd5DbR.cjs"),r=require("./dist-C5TeAoJ9.cjs");let s=require("react");s=t.__toESM(s,1);let l=require("react/jsx-runtime");var a=r.FontFamily.extend({addOptions(){return{...this.parent?.(),fontFamilyList:n.DEFAULT_FONT_FAMILY_LIST,button({editor:t,extension:e,t:n}){const i=o.ensureNameValueOptions(e?.options?.fontFamilyList||[]),r=i.map(e=>({action:()=>{"Default"!==e.value?t.chain().focus().setFontFamily(e.value).run():t.chain().focus().unsetFontFamily().run()},isActive:()=>t.isActive("textStyle",{fontFamily:e.value})||!1,title:"Default"===e.value?"Inter":e.name,font:"Default"===e.value?"Inter":e.value,default:"Default"===e.value})).sort((t,e)=>t.default?-1:e.default?1:t.title.localeCompare(e.title,void 0,{sensitivity:"base"}));return{componentProps:{tooltip:n("editor.fontFamily.tooltip"),disabled:!1,items:r,isActive:()=>{const t=r?.find(t=>t.isActive());return t&&!t.default?t:{title:"Inter",font:"Inter",isActive:()=>!1,disabled:!1}},icon:"MenuDown",fontFamilyList:i}}}}}});exports.FontFamily=a,exports.RichTextFontFamily=function(){const{t:t}=n.useLocale(),r=o.useButtonProps(a.name),{icon:u,tooltip:c,items:d=[],isActive:m}=r?.componentProps??{},{disabled:f,dataState:x}=o.useActive(m),p=(0,s.useMemo)(()=>x?.font||"Inter",[x]);return r?(0,l.jsxs)(i.DropdownMenu,{children:[(0,l.jsx)(i.DropdownMenuTrigger,{asChild:!0,disabled:f,children:(0,l.jsx)("div",{className:"richtext-w-full",children:(0,l.jsx)(e.ActionMenuButton,{disabled:f,icon:u,title:p,tooltip:c})})}),(0,l.jsxs)(i.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-56 richtext-overflow-y-auto",children:[(0,l.jsx)(i.DropdownMenuLabel,{className:"richtext-text-xs richtext-text-muted-foreground",children:"Font Family"}),d?.map((t,e)=>{const n=t.default?{}:{fontFamily:t.font};return(0,l.jsxs)(s.Fragment,{children:[(0,l.jsx)(i.DropdownMenuCheckboxItem,{checked:p===t.font,onClick:t.action,children:(0,l.jsx)("div",{className:"richtext-truncate",style:n,children:t.title})}),t.default&&(0,l.jsx)(i.DropdownMenuSeparator,{})]},`font-family-${e}`)})]})]}):(0,l.jsx)(l.Fragment,{})};
@@ -0,0 +1,2 @@
1
+ import{t}from"./ActionMenuButton-DHYJFTev.js";import{f as e,n as i}from"./locales-DfkG6-1b.js";import{a as o,f as a,n,r as s,s as r,t as l}from"./dropdown-menu-CfGzSpIy.js";import{r as c,s as m,t as d}from"./useButtonProps-DSIajp_B.js";import{n as u}from"./dist-BZqs5TU5.js";import f,{Fragment as p,useMemo as h}from"react";import{Fragment as v,jsx as x,jsxs as y}from"react/jsx-runtime";function F(){const{t:e}=i(),c=d(b.name),{icon:u,tooltip:f,items:F=[],isActive:A}=c?.componentProps??{},{disabled:j,dataState:w}=m(A),D=h(()=>w?.font||"Inter",[w]);return c?/* @__PURE__ */y(l,{children:[/* @__PURE__ */x(a,{asChild:!0,disabled:j,children:/* @__PURE__ */x("div",{className:"richtext-w-full",children:/* @__PURE__ */x(t,{disabled:j,icon:u,title:D,tooltip:f})})}),/* @__PURE__ */y(s,{className:"richtext-max-h-96 richtext-w-56 richtext-overflow-y-auto",children:[/* @__PURE__ */x(o,{className:"richtext-text-xs richtext-text-muted-foreground",children:"Font Family"}),F?.map((t,e)=>{const i=t.default?{}:{fontFamily:t.font};/* @__PURE__ */
2
+ return y(p,{children:[/* @__PURE__ */x(n,{checked:D===t.font,onClick:t.action,children:/* @__PURE__ */x("div",{className:"richtext-truncate",style:i,children:t.title})}),t.default&&/* @__PURE__ */x(r,{})]},`font-family-${e}`)})]})]}):/* @__PURE__ */x(v,{})}var b=u.extend({addOptions(){return{...this.parent?.(),fontFamilyList:e,button({editor:t,extension:e,t:i}){const o=c(e?.options?.fontFamilyList||[]),a=o.map(e=>({action:()=>{"Default"!==e.value?t.chain().focus().setFontFamily(e.value).run():t.chain().focus().unsetFontFamily().run()},isActive:()=>t.isActive("textStyle",{fontFamily:e.value})||!1,title:"Default"===e.value?"Inter":e.name,font:"Default"===e.value?"Inter":e.value,default:"Default"===e.value})).sort((t,e)=>t.default?-1:e.default?1:t.title.localeCompare(e.title,void 0,{sensitivity:"base"}));return{componentProps:{tooltip:i("editor.fontFamily.tooltip"),disabled:!1,items:a,isActive:()=>{const t=a?.find(t=>t.isActive());return t&&!t.default?t:{title:"Inter",font:"Inter",isActive:()=>!1,disabled:!1}},icon:"MenuDown",fontFamilyList:o}}}}}});export{b as FontFamily,F as RichTextFontFamily};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./ActionMenuButton-BGj7ODjl.cjs"),i=require("./locales-Dg9XL0yP.cjs"),r=require("./dropdown-menu-CVJhYAPA.cjs"),n=require("./useButtonProps-D2Hd5DbR.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("react/jsx-runtime"),a=require("lucide-react");var c=require("@tiptap/core").Extension.create({name:"fontSize",addOptions(){return{...this.parent?.(),types:["textStyle"],fontSizes:i.DEFAULT_FONT_SIZE_LIST,button({editor:e,extension:t,t:i}){const r=n.ensureNameValueOptions(t.options?.fontSizes).map(t=>({title:"Default"===t.value?"16px":String(t.name),isActive:()=>{const{fontSize:i}=e.getAttributes("textStyle");return"Default"===t.value&&(null==i||""===i)||(e.isActive({fontSize:String(t.value)})||!1)},action:()=>{"Default"!==t.value?e.commands.setFontSize(String(t.value)):e.commands.unsetFontSize()},default:"Default"===t.value||!1}));return{componentProps:{editor:e,tooltip:i("editor.fontSize.tooltip"),disabled:!1,items:r,maxHeight:280,icon:"MenuDown",isActive:()=>{const e=(r||[]).find(e=>e.isActive());return e&&!e.default?e:{title:"16px",isActive:()=>!1}}}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:e=>e.style.fontSize.replaceAll(/["']+/g,""),renderHTML:e=>e.fontSize?{style:`font-size: ${e.fontSize}`}:{}}}}]},addCommands:()=>({setFontSize:e=>({chain:t})=>t().setMark("textStyle",{fontSize:e}).run(),unsetFontSize:()=>({chain:e})=>e().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()})});exports.FontSize=c,exports.RichTextFontSize=function(){const{t:e}=i.useLocale(),l=n.useButtonProps(c.name),[u,d]=(0,o.useState)(""),{icon:x,tooltip:p,items:h=[],isActive:m}=l?.componentProps??{},{disabled:S,dataState:f}=n.useActive(m),v=(0,o.useMemo)(()=>(f?.title||"16px").replace("px",""),[f]);return l?(0,s.jsxs)(r.DropdownMenu,{children:[(0,s.jsx)(r.DropdownMenuTrigger,{asChild:!0,disabled:S,children:(0,s.jsx)("div",{className:"richtext-w-12",children:(0,s.jsx)(t.ActionMenuButton,{disabled:S,icon:x,title:v,tooltip:p})})}),(0,s.jsxs)(r.DropdownMenuContent,{className:"richtext-max-h-96 richtext-w-40 richtext-overflow-y-auto",children:[(0,s.jsxs)("div",{className:"richtext-flex richtext-items-center richtext-gap-1 richtext-px-2 richtext-py-2",children:[(0,s.jsx)("button",{onClick:()=>{const e=parseInt(v)||16,t=h.find(t=>t.title===e-1+"px");t?.action&&t.action()},disabled:S,className:"richtext-p-1 richtext-rounded hover:richtext-bg-gray-100 dark:hover:richtext-bg-slate-700 disabled:richtext-opacity-50",children:(0,s.jsx)(a.Minus,{size:14})}),(0,s.jsx)("input",{type:"number",value:u,onChange:e=>d(e.target.value),placeholder:"Custom",className:"richtext-w-12 richtext-px-1.5 richtext-py-1 richtext-text-xs richtext-border richtext-rounded"}),(0,s.jsx)("button",{onClick:()=>{const e=parseInt(v)||16,t=h.find(t=>t.title===`${e+1}px`);t?.action&&t.action()},disabled:S,className:"richtext-p-1 richtext-rounded hover:richtext-bg-gray-100 dark:hover:richtext-bg-slate-700 disabled:richtext-opacity-50",children:(0,s.jsx)(a.Plus,{size:14})})]}),(0,s.jsx)(r.DropdownMenuSeparator,{}),h?.map((e,t)=>{const i=e.title.replace("px","");return(0,s.jsxs)(o.Fragment,{children:[(0,s.jsx)(r.DropdownMenuCheckboxItem,{checked:v===i,onClick:e.action,children:(0,s.jsx)("div",{className:"richtext-ml-1 richtext-h-full",children:i})}),e.default&&(0,s.jsx)(r.DropdownMenuSeparator,{})]},`font-size-${t}`)})]})]}):(0,s.jsx)(s.Fragment,{})};
@@ -0,0 +1,8 @@
1
+ import{t}from"./ActionMenuButton-DHYJFTev.js";import{n as e,p as i}from"./locales-DfkG6-1b.js";import{f as r,n,r as o,s as a,t as s}from"./dropdown-menu-CfGzSpIy.js";import{r as c,s as l,t as d}from"./useButtonProps-DSIajp_B.js";import p,{Fragment as u,useMemo as h,useState as m}from"react";import{Fragment as x,jsx as f,jsxs as S}from"react/jsx-runtime";import{Minus as v,Plus as b}from"lucide-react";import{Extension as z}from"@tiptap/core";function y(){const{t:i}=e(),c=d(g.name),[p,z]=m(""),{icon:y,tooltip:A,items:k=[],isActive:C}=c?.componentProps??{},{disabled:N,dataState:w}=l(C),M=h(()=>(w?.title||"16px").replace("px",""),[w]);if(!c)/* @__PURE__ */return f(x,{});/* @__PURE__ */
2
+ return S(s,{children:[/* @__PURE__ */f(r,{asChild:!0,disabled:N,children:/* @__PURE__ */f("div",{className:"richtext-w-12",children:/* @__PURE__ */f(t,{disabled:N,icon:y,title:M,tooltip:A})})}),/* @__PURE__ */S(o,{className:"richtext-max-h-96 richtext-w-40 richtext-overflow-y-auto",children:[
3
+ /* @__PURE__ */S("div",{className:"richtext-flex richtext-items-center richtext-gap-1 richtext-px-2 richtext-py-2",children:[
4
+ /* @__PURE__ */f("button",{onClick:()=>{const t=parseInt(M)||16,e=k.find(e=>e.title===t-1+"px");e?.action&&e.action()},disabled:N,className:"richtext-p-1 richtext-rounded hover:richtext-bg-gray-100 dark:hover:richtext-bg-slate-700 disabled:richtext-opacity-50",children:/* @__PURE__ */f(v,{size:14})}),
5
+ /* @__PURE__ */f("input",{type:"number",value:p,onChange:t=>z(t.target.value),placeholder:"Custom",className:"richtext-w-12 richtext-px-1.5 richtext-py-1 richtext-text-xs richtext-border richtext-rounded"}),
6
+ /* @__PURE__ */f("button",{onClick:()=>{const t=parseInt(M)||16,e=k.find(e=>e.title===`${t+1}px`);e?.action&&e.action()},disabled:N,className:"richtext-p-1 richtext-rounded hover:richtext-bg-gray-100 dark:hover:richtext-bg-slate-700 disabled:richtext-opacity-50",children:/* @__PURE__ */f(b,{size:14})})]}),
7
+ /* @__PURE__ */f(a,{}),k?.map((t,e)=>{const i=t.title.replace("px","");/* @__PURE__ */
8
+ return S(u,{children:[/* @__PURE__ */f(n,{checked:M===i,onClick:t.action,children:/* @__PURE__ */f("div",{className:"richtext-ml-1 richtext-h-full",children:i})}),t.default&&/* @__PURE__ */f(a,{})]},`font-size-${e}`)})]})]})}var g=z.create({name:"fontSize",addOptions(){return{...this.parent?.(),types:["textStyle"],fontSizes:i,button({editor:t,extension:e,t:i}){const r=c(e.options?.fontSizes).map(e=>({title:"Default"===e.value?"16px":String(e.name),isActive:()=>{const{fontSize:i}=t.getAttributes("textStyle");return"Default"===e.value&&(null==i||""===i)||(t.isActive({fontSize:String(e.value)})||!1)},action:()=>{"Default"!==e.value?t.commands.setFontSize(String(e.value)):t.commands.unsetFontSize()},default:"Default"===e.value||!1}));return{componentProps:{editor:t,tooltip:i("editor.fontSize.tooltip"),disabled:!1,items:r,maxHeight:280,icon:"MenuDown",isActive:()=>{const t=(r||[]).find(t=>t.isActive());return t&&!t.default?t:{title:"16px",isActive:()=>!1}}}}}}},addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:t=>t.style.fontSize.replaceAll(/["']+/g,""),renderHTML:t=>t.fontSize?{style:`font-size: ${t.fontSize}`}:{}}}}]},addCommands:()=>({setFontSize:t=>({chain:e})=>e().setMark("textStyle",{fontSize:t}).run(),unsetFontSize:()=>({chain:t})=>t().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run()})});export{g as FontSize,y as RichTextFontSize};
@@ -0,0 +1 @@
1
+ let e=require("@tiptap/core"),t=require("@tiptap/pm/state"),r=require("@tiptap/pm/view");var n=null;function i(e){return n||(n=async function(e={}){if("undefined"==typeof window)throw new Error("Harper linter can only be created in a browser environment.");const{preferWorker:t=!0,dialect:r="American"}=e,n=await import("harper.js"),{binary:i}=await import("harper.js/binary"),s={binary:i,dialect:n.Dialect[r]},o=()=>new n.LocalLinter(s);let a;if(t&&"undefined"!=typeof Worker)try{a=new n.WorkerLinter(s)}catch{a=o()}else a=o();try{await a.setup()}catch(u){if(!(a instanceof n.WorkerLinter))throw u;a=o(),await a.setup()}return a}(e).catch(e=>{throw n=null,e})),n}function s(e){let t="";const r=[];return e.descendants((e,n)=>{if(e.isTextblock){(()=>{if(0===t.length)return;const e=(r.length>0?r[r.length-1]:0)+1;for(let n=0;n<2;n+=1)r[t.length+n]=e;t+="\n\n"})();const i=n+1;return e.forEach((e,n)=>{if(e.isText&&e.text){const s=e.text;for(let e=0;e<s.length;e+=1)r[t.length+e]=i+n+e;t+=s}}),!1}return!0}),r[t.length]=(r.length>0?r[r.length-1]:0)+1,{text:t,map:r}}function o(e,t,r){if(t<0||r<t||r>=e.length)return null;const n=e[t],i=e[r];return null==n||null==i||i<=n?null:{from:n,to:i}}var a=new t.PluginKey("harper");function u(e,t){return`${t} ${e.toLowerCase().includes("spell")?`${t}-spelling`:`${t}-grammar`}`}function c(e,t){const r=e.find(void 0,void 0,e=>e["data-harper-id"]===t);return 0===r.length?null:{from:r[0].from,to:r[0].to}}function l(e){return a.getState(e)}function p(e,t){const r=l(e);return r?c(r.decorations,t):null}async function d(e,t,n){if(e.isDestroyed)return;const c=n.runToken+=1;if(!n.linter)try{const e={preferWorker:t.preferWorker,dialect:t.dialect};n.linter=await i(e),n.ready=!0}catch(y){return void(n.error=y)}const l=n.linter;if(!l||c!==n.runToken||e.isDestroyed)return;const p=e.state.doc,{text:d,map:f}=s(p);if(!d.trim())return e.view.dispatch(e.state.tr.setMeta(a,{type:"clear"})),n.issues=[],void t.onUpdate?.([]);let g;try{g=await l.lint(d,{language:"plaintext"})}catch(y){return void(n.error=y)}if(c!==n.runToken||e.isDestroyed||e.state.doc!==p)return;const h=new Map,m=[];for(const i of g){const e=i.span(),n=o(f,e.start,e.end);if(!n)continue;const s=`harper-${c}-${m.length}`,a=i.lint_kind(),l=i.suggestions().map(e=>{const t=e.kind(),r=e.get_replacement_text();let n=r;return 1===t?n="Remove":2===t&&(n=`Insert “${r}”`),{kind:t,replacement:r,label:n}});h.set(s,{id:s,kind:i.lint_kind_pretty(),message:i.message(),problemText:i.get_problem_text(),suggestions:l}),m.push(r.Decoration.inline(n.from,n.to,{nodeName:"span",class:u(a,t.issueClass),"data-harper-id":s},{"data-harper-id":s}))}e.view.dispatch(e.state.tr.setMeta(a,{type:"set",decorations:m,issues:h})),n.issues=Array.from(h.values()),t.onUpdate?.(n.issues)}function f(e,t,r){r.timer&&clearTimeout(r.timer),r.timer=setTimeout(()=>{r.timer=null,d(e,t,r)},t.debounce)}var g=e.Extension.create({name:"harper",addOptions:()=>({preferWorker:!0,dialect:"American",debounce:300,autoLint:!0,issueClass:"harper-issue",onUpdate:void 0}),addStorage:()=>({linter:null,ready:!1,error:null,issues:[],timer:null,runToken:0}),onCreate(){this.options.autoLint&&f(this.editor,this.options,this.storage)},onUpdate(){this.options.autoLint&&f(this.editor,this.options,this.storage)},onDestroy(){this.storage.timer&&(clearTimeout(this.storage.timer),this.storage.timer=null)},addCommands(){return{runProofing:()=>({editor:e})=>(d(e,this.options,this.storage),!0),clearProofing:()=>({state:e,dispatch:t})=>(t&&t(e.tr.setMeta(a,{type:"clear"})),this.storage.issues=[],!0),applyHarperSuggestion:(e,t)=>({state:r,dispatch:n,tr:i})=>{const s=l(r);if(!s)return!1;const o=c(s.decorations,e),u=s.issues.get(e);if(!o||!u)return!1;const p=u.suggestions[t];if(!p)return!1;const{from:d,to:f}=o;if(1===p.kind)i.delete(d,f);else if(2===p.kind)i.insertText(p.replacement,f,f);else{if(0!==p.kind)return!1;i.insertText(p.replacement,d,f)}return i.setMeta(a,{type:"remove",id:e}),n&&n(i),!0},ignoreHarperSuggestion:e=>({state:t,dispatch:r})=>{const n=l(t);return!(!n||!n.issues.has(e))&&(r&&r(t.tr.setMeta(a,{type:"remove",id:e})),!0)}}},addProseMirrorPlugins(){return this.options.issueClass,[new t.Plugin({key:a,state:{init:()=>({decorations:r.DecorationSet.empty,issues:new Map}),apply(e,t,n,i){let s=t.decorations,o=t.issues;e.docChanged&&(s=s.map(e.mapping,e.doc));const u=e.getMeta(a);if(u){if("clear"===u.type)return{decorations:r.DecorationSet.empty,issues:new Map};if("set"===u.type)return{decorations:r.DecorationSet.create(i.doc,u.decorations),issues:u.issues};if("remove"===u.type){const e=s.find(void 0,void 0,e=>e["data-harper-id"]===u.id),t=new Map(o);return t.delete(u.id),{decorations:s.remove(e),issues:t}}}return{decorations:s,issues:o}}},props:{attributes:{spellcheck:"false"},decorations(e){return this.getState(e)?.decorations??r.DecorationSet.empty}}})]}});Object.defineProperty(exports,"Harper",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"getHarperIssueRange",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"getHarperState",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"harperPluginKey",{enumerable:!0,get:function(){return a}});
@@ -0,0 +1 @@
1
+ import{Extension as e}from"@tiptap/core";import{Plugin as t,PluginKey as r}from"@tiptap/pm/state";import{Decoration as n,DecorationSet as s}from"@tiptap/pm/view";var i=null;function o(e){return i||(i=async function(e={}){if("undefined"==typeof window)throw new Error("Harper linter can only be created in a browser environment.");const{preferWorker:t=!0,dialect:r="American"}=e,n=await import("harper.js"),{binary:s}=await import("harper.js/binary"),i={binary:s,dialect:n.Dialect[r]},o=()=>new n.LocalLinter(i);let a;if(t&&"undefined"!=typeof Worker)try{a=new n.WorkerLinter(i)}catch{a=o()}else a=o();try{await a.setup()}catch(c){if(!(a instanceof n.WorkerLinter))throw c;a=o(),await a.setup()}return a}(e).catch(e=>{throw i=null,e})),i}function a(e){let t="";const r=[];return e.descendants((e,n)=>{if(e.isTextblock){(()=>{if(0===t.length)return;const e=(r.length>0?r[r.length-1]:0)+1;for(let n=0;n<2;n+=1)r[t.length+n]=e;t+="\n\n"})();const s=n+1;return e.forEach((e,n)=>{if(e.isText&&e.text){const i=e.text;for(let e=0;e<i.length;e+=1)r[t.length+e]=s+n+e;t+=i}}),!1}return!0}),r[t.length]=(r.length>0?r[r.length-1]:0)+1,{text:t,map:r}}function c(e,t,r){if(t<0||r<t||r>=e.length)return null;const n=e[t],s=e[r];return null==n||null==s||s<=n?null:{from:n,to:s}}var u=new r("harper");function l(e,t){return`${t} ${e.toLowerCase().includes("spell")?`${t}-spelling`:`${t}-grammar`}`}function d(e,t){const r=e.find(void 0,void 0,e=>e["data-harper-id"]===t);return 0===r.length?null:{from:r[0].from,to:r[0].to}}function p(e){return u.getState(e)}function f(e,t){const r=p(e);return r?d(r.decorations,t):null}async function m(e,t,r){if(e.isDestroyed)return;const s=r.runToken+=1;if(!r.linter)try{const e={preferWorker:t.preferWorker,dialect:t.dialect};r.linter=await o(e),r.ready=!0}catch(y){return void(r.error=y)}const i=r.linter;if(!i||s!==r.runToken||e.isDestroyed)return;const d=e.state.doc,{text:p,map:f}=a(d);if(!p.trim())return e.view.dispatch(e.state.tr.setMeta(u,{type:"clear"})),r.issues=[],void t.onUpdate?.([]);let m;try{m=await i.lint(p,{language:"plaintext"})}catch(y){return void(r.error=y)}if(s!==r.runToken||e.isDestroyed||e.state.doc!==d)return;const h=/* @__PURE__ */new Map,g=[];for(const o of m){const e=o.span(),r=c(f,e.start,e.end);if(!r)continue;const i=`harper-${s}-${g.length}`,a=o.lint_kind(),u=o.suggestions().map(e=>{const t=e.kind(),r=e.get_replacement_text();let n=r;return 1===t?n="Remove":2===t&&(n=`Insert “${r}”`),{kind:t,replacement:r,label:n}});h.set(i,{id:i,kind:o.lint_kind_pretty(),message:o.message(),problemText:o.get_problem_text(),suggestions:u}),g.push(n.inline(r.from,r.to,{nodeName:"span",class:l(a,t.issueClass),"data-harper-id":i},{"data-harper-id":i}))}e.view.dispatch(e.state.tr.setMeta(u,{type:"set",decorations:g,issues:h})),r.issues=Array.from(h.values()),t.onUpdate?.(r.issues)}function h(e,t,r){r.timer&&clearTimeout(r.timer),r.timer=setTimeout(()=>{r.timer=null,m(e,t,r)},t.debounce)}var g=e.create({name:"harper",addOptions:()=>({preferWorker:!0,dialect:"American",debounce:300,autoLint:!0,issueClass:"harper-issue",onUpdate:void 0}),addStorage:()=>({linter:null,ready:!1,error:null,issues:[],timer:null,runToken:0}),onCreate(){this.options.autoLint&&h(this.editor,this.options,this.storage)},onUpdate(){this.options.autoLint&&h(this.editor,this.options,this.storage)},onDestroy(){this.storage.timer&&(clearTimeout(this.storage.timer),this.storage.timer=null)},addCommands(){return{runProofing:()=>({editor:e})=>(m(e,this.options,this.storage),!0),clearProofing:()=>({state:e,dispatch:t})=>(t&&t(e.tr.setMeta(u,{type:"clear"})),this.storage.issues=[],!0),applyHarperSuggestion:(e,t)=>({state:r,dispatch:n,tr:s})=>{const i=p(r);if(!i)return!1;const o=d(i.decorations,e),a=i.issues.get(e);if(!o||!a)return!1;const c=a.suggestions[t];if(!c)return!1;const{from:l,to:f}=o;if(1===c.kind)s.delete(l,f);else if(2===c.kind)s.insertText(c.replacement,f,f);else{if(0!==c.kind)return!1;s.insertText(c.replacement,l,f)}return s.setMeta(u,{type:"remove",id:e}),n&&n(s),!0},ignoreHarperSuggestion:e=>({state:t,dispatch:r})=>{const n=p(t);return!(!n||!n.issues.has(e))&&(r&&r(t.tr.setMeta(u,{type:"remove",id:e})),!0)}}},addProseMirrorPlugins(){return this.options.issueClass,[new t({key:u,state:{init:()=>({decorations:s.empty,issues:/* @__PURE__ */new Map}),apply(e,t,r,n){let i=t.decorations,o=t.issues;e.docChanged&&(i=i.map(e.mapping,e.doc));const a=e.getMeta(u);if(a){if("clear"===a.type)return{decorations:s.empty,issues:/* @__PURE__ */new Map};if("set"===a.type)return{decorations:s.create(n.doc,a.decorations),issues:a.issues};if("remove"===a.type){const e=i.find(void 0,void 0,e=>e["data-harper-id"]===a.id),t=new Map(o);return t.delete(a.id),{decorations:i.remove(e),issues:t}}}return{decorations:i,issues:o}}},props:{attributes:{spellcheck:"false"},decorations(e){return this.getState(e)?.decorations??s.empty}}})]}});export{u as i,f as n,p as r,g as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./Harper-1cMMY1sx.cjs");exports.Harper=e.Harper,exports.getHarperIssueRange=e.getHarperIssueRange,exports.getHarperState=e.getHarperState,exports.harperPluginKey=e.harperPluginKey;
package/dist/Harper.js ADDED
@@ -0,0 +1 @@
1
+ import{i as r,n as a,r as s,t as o}from"./Harper-BMTF3gpj.js";export{o as Harper,a as getHarperIssueRange,s as getHarperState,r as harperPluginKey};
@@ -0,0 +1,2 @@
1
+ import{o as e}from"./dist-CsCFCV4K.js";import{a as t}from"./tooltip-DC3DBc55.js";import{t as i}from"./ActionMenuButton-DHYJFTev.js";import{h as l,n}from"./locales-DfkG6-1b.js";import{c as s,f as o,n as r,r as a,s as d,t as c}from"./dropdown-menu-CfGzSpIy.js";import{s as p,t as h}from"./useButtonProps-DSIajp_B.js";import m,{Fragment as v,useMemo as g}from"react";import{Fragment as u,jsx as f,jsxs as b}from"react/jsx-runtime";import{Node as x,mergeAttributes as A,textblockTypeInputRule as H}from"@tiptap/core";function M({level:l}={}){const{t:m}=n(),x=h($.name),{icon:A,tooltip:H,isActive:M,items:j=[]}=x?.componentProps??{},{disabled:k,dataState:y}=p(M),N=g(()=>y?.title||m("editor.paragraph.tooltip"),[y]);if(!x)/* @__PURE__ */return f(u,{});if(void 0!==l){const e=j.find(e=>e.level===l);return e?/* @__PURE__ */f("button",{type:"button",disabled:e.disabled,onClick:e.action,className:"richtext-h-[32px] richtext-px-2 richtext-text-sm",children:e.title}):/* @__PURE__ */f(u,{})}/* @__PURE__ */
2
+ return b(c,{children:[/* @__PURE__ */f(o,{asChild:!0,disabled:k,children:/* @__PURE__ */f(i,{disabled:k,icon:A,title:N,tooltip:H})}),/* @__PURE__ */f(a,{className:"richtext-w-full",children:j?.map((i,l)=>/* @__PURE__ */b(v,{children:[/* @__PURE__ */b(r,{checked:N===i.title,onClick:i.action,children:[/* @__PURE__ */f("div",{className:e("richtext-ml-1 richtext-h-full",{"":"Paragraph"===i.level,"heading-1":1===i.level,"heading-2":2===i.level,"heading-3":3===i.level,"heading-4":4===i.level,"heading-5":5===i.level,"heading-6":6===i.level}),children:i.title}),!!i?.shortcutKeys?.length&&/* @__PURE__ */f(s,{className:"richtext-pl-4",children:i?.shortcutKeys?.map(e=>t(e)).join(" ")})]}),"Paragraph"===i.level&&/* @__PURE__ */f(d,{})]},`heading-k-${l}`))})]})}var $=x.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,A(this.options.HTMLAttributes,t),0]},parseMarkdown:(e,t)=>t.createNode("heading",{level:e.depth||1},t.parseInline(e.tokens||[])),renderMarkdown:(e,t)=>{var i;const l=(null==(i=e.attrs)?void 0:i.level)?parseInt(e.attrs.level,10):1,n="#".repeat(l);return e.content?`${n} ${t.renderChildren(e.content)}`:""},addCommands(){return{setHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.setNode(this.name,e),toggleHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>H({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}}).extend({addOptions(){return{...this.parent?.(),levels:l,button({editor:e,extension:t,t:i}){const l=t.options?.levels||[],n=l.map(n=>{const s="Paragraph"===n;return{action:()=>{if(s){const t=l.find(t=>e.isActive("heading",{level:t}));return void(t&&"Paragraph"!==t&&e.commands.toggleHeading({level:t}))}e.commands.toggleHeading({level:n})},isActive:()=>!s&&(e.isActive("heading",{level:n})||!1),disabled:!e.can().toggleHeading({level:n}),title:i(s?"editor.paragraph.tooltip":`editor.heading.h${n}.tooltip`),level:n,shortcutKeys:t.options.shortcutKeys?.[n]??["alt","mod",`${n}`],default:s}}),s=n.filter(e=>e.disabled).length===n.length;return{componentProps:{tooltip:i("editor.heading.tooltip"),disabled:s,items:n,icon:"MenuDown",isActive:()=>{const e=n?.find(e=>e.isActive());return e&&!e.default?e:{title:i("editor.paragraph.tooltip"),level:0,isActive:()=>!1}},levels:l}}}}}});export{M as n,$ as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./dist-Cn_OUKh6.cjs"),i=require("./tooltip-CzY0Diit.cjs"),n=require("./ActionMenuButton-BGj7ODjl.cjs"),l=require("./locales-Dg9XL0yP.cjs"),r=require("./dropdown-menu-CVJhYAPA.cjs"),o=require("./useButtonProps-D2Hd5DbR.cjs");let s=require("react");s=e.__toESM(s,1);let a=require("react/jsx-runtime"),d=require("@tiptap/core");var c=d.Node.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map(e=>({tag:`h${e}`,attrs:{level:e}}))},renderHTML({node:e,HTMLAttributes:t}){return[`h${this.options.levels.includes(e.attrs.level)?e.attrs.level:this.options.levels[0]}`,(0,d.mergeAttributes)(this.options.HTMLAttributes,t),0]},parseMarkdown:(e,t)=>t.createNode("heading",{level:e.depth||1},t.parseInline(e.tokens||[])),renderMarkdown:(e,t)=>{var i;const n=(null==(i=e.attrs)?void 0:i.level)?parseInt(e.attrs.level,10):1,l="#".repeat(n);return e.content?`${l} ${t.renderChildren(e.content)}`:""},addCommands(){return{setHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.setNode(this.name,e),toggleHeading:e=>({commands:t})=>!!this.options.levels.includes(e.level)&&t.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return this.options.levels.reduce((e,t)=>({...e,[`Mod-Alt-${t}`]:()=>this.editor.commands.toggleHeading({level:t})}),{})},addInputRules(){return this.options.levels.map(e=>(0,d.textblockTypeInputRule)({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${e}})\\s$`),type:this.type,getAttributes:{level:e}}))}}).extend({addOptions(){return{...this.parent?.(),levels:l.HEADINGS,button({editor:e,extension:t,t:i}){const n=t.options?.levels||[],l=n.map(l=>{const r="Paragraph"===l;return{action:()=>{if(r){const t=n.find(t=>e.isActive("heading",{level:t}));return void(t&&"Paragraph"!==t&&e.commands.toggleHeading({level:t}))}e.commands.toggleHeading({level:l})},isActive:()=>!r&&(e.isActive("heading",{level:l})||!1),disabled:!e.can().toggleHeading({level:l}),title:i(r?"editor.paragraph.tooltip":`editor.heading.h${l}.tooltip`),level:l,shortcutKeys:t.options.shortcutKeys?.[l]??["alt","mod",`${l}`],default:r}}),r=l.filter(e=>e.disabled).length===l.length;return{componentProps:{tooltip:i("editor.heading.tooltip"),disabled:r,items:l,icon:"MenuDown",isActive:()=>{const e=l?.find(e=>e.isActive());return e&&!e.default?e:{title:i("editor.paragraph.tooltip"),level:0,isActive:()=>!1}},levels:n}}}}}});exports.Heading=c,exports.RichTextHeading=function({level:e}={}){const{t:d}=l.useLocale(),u=o.useButtonProps(c.name),{icon:p,tooltip:h,isActive:g,items:v=[]}=u?.componentProps??{},{disabled:m,dataState:x}=o.useActive(g),b=(0,s.useMemo)(()=>x?.title||d("editor.paragraph.tooltip"),[x]);if(!u)return(0,a.jsx)(a.Fragment,{});if(void 0!==e){const t=v.find(t=>t.level===e);return t?(0,a.jsx)("button",{type:"button",disabled:t.disabled,onClick:t.action,className:"richtext-h-[32px] richtext-px-2 richtext-text-sm",children:t.title}):(0,a.jsx)(a.Fragment,{})}return(0,a.jsxs)(r.DropdownMenu,{children:[(0,a.jsx)(r.DropdownMenuTrigger,{asChild:!0,disabled:m,children:(0,a.jsx)(n.ActionMenuButton,{disabled:m,icon:p,title:b,tooltip:h})}),(0,a.jsx)(r.DropdownMenuContent,{className:"richtext-w-full",children:v?.map((e,n)=>(0,a.jsxs)(s.Fragment,{children:[(0,a.jsxs)(r.DropdownMenuCheckboxItem,{checked:b===e.title,onClick:e.action,children:[(0,a.jsx)("div",{className:t.cn("richtext-ml-1 richtext-h-full",{"":"Paragraph"===e.level,"heading-1":1===e.level,"heading-2":2===e.level,"heading-3":3===e.level,"heading-4":4===e.level,"heading-5":5===e.level,"heading-6":6===e.level}),children:e.title}),!!e?.shortcutKeys?.length&&(0,a.jsx)(r.DropdownMenuShortcut,{className:"richtext-pl-4",children:e?.shortcutKeys?.map(e=>i.getShortcutKey(e)).join(" ")})]}),"Paragraph"===e.level&&(0,a.jsx)(r.DropdownMenuSeparator,{})]},`heading-k-${n}`))})]})};
@@ -0,0 +1 @@
1
+ import{n as a,t as o}from"./Heading-YSJHyWCU.js";export{o as Heading,a as RichTextHeading};
@@ -0,0 +1 @@
1
+ const t=require("./rolldown-runtime-BeavJI0R.cjs"),e=require("./toggle-CRftKzl0.cjs"),r=require("./separator-BHN46aj5.cjs"),i=require("./Icon-DQdA22_-.cjs"),o=require("./useButtonProps-D2Hd5DbR.cjs");let n=require("react");n=t.__toESM(n,1);let s=require("react/jsx-runtime"),l=require("@tiptap/core");var h=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,a=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g;function c({fill:t}){return(0,s.jsx)("svg",{height:"18px",version:"1.1",viewBox:"0 0 256 256",width:"18px",xmlns:"http://www.w3.org/2000/svg",children:(0,s.jsx)("g",{fill:"none",fillRule:"evenodd",stroke:"none",strokeWidth:1,children:(0,s.jsxs)("g",{id:"icon/背景颜色",children:[(0,s.jsx)("g",{fill:"currentColor",children:(0,s.jsxs)("g",{transform:"translate(119.502295, 137.878331) rotate(-135.000000) translate(-119.502295, -137.878331) translate(48.002295, 31.757731)",children:[(0,s.jsx)("path",{d:"M100.946943,60.8084699 L43.7469427,60.8084699 C37.2852111,60.8084699 32.0469427,66.0467383 32.0469427,72.5084699 L32.0469427,118.70847 C32.0469427,125.170201 37.2852111,130.40847 43.7469427,130.40847 L100.946943,130.40847 C107.408674,130.40847 112.646943,125.170201 112.646943,118.70847 L112.646943,72.5084699 C112.646943,66.0467383 107.408674,60.8084699 100.946943,60.8084699 Z M93.646,79.808 L93.646,111.408 L51.046,111.408 L51.046,79.808 L93.646,79.808 Z",fillRule:"nonzero"}),(0,s.jsx)("path",{d:"M87.9366521,16.90916 L87.9194966,68.2000001 C87.9183543,69.4147389 86.9334998,70.399264 85.7187607,70.4 L56.9423078,70.4 C55.7272813,70.4 54.7423078,69.4150264 54.7423078,68.2 L54.7423078,39.4621057 C54.7423078,37.2523513 55.5736632,35.1234748 57.0711706,33.4985176 L76.4832996,12.4342613 C78.9534987,9.75382857 83.1289108,9.5834005 85.8093436,12.0535996 C87.1658473,13.303709 87.9372691,15.0644715 87.9366521,16.90916 Z",fillRule:"evenodd"}),(0,s.jsx)("path",{d:"M131.3,111.241199 L11.7,111.241199 C5.23826843,111.241199 0,116.479467 0,122.941199 L0,200.541199 C0,207.002931 5.23826843,212.241199 11.7,212.241199 L131.3,212.241199 C137.761732,212.241199 143,207.002931 143,200.541199 L143,122.941199 C143,116.479467 137.761732,111.241199 131.3,111.241199 Z M124,130.241 L124,193.241 L19,193.241 L19,130.241 L124,130.241 Z",fillRule:"nonzero"})]})}),(0,s.jsx)("path",{d:"M51,218 L205,218 C211.075132,218 216,222.924868 216,229 C216,235.075132 211.075132,240 205,240 L51,240 C44.9248678,240 40,235.075132 40,229 C40,222.924868 44.9248678,218 51,218 Z",fill:"string"==typeof t?t:"none",id:"矩形"})]})})})}function u(){const t=o.useButtonProps(d.name),{tooltip:l,isActive:h,defaultColor:a,colors:u,action:g,shortcutKeys:p}=t?.componentProps??{},{editorDisabled:m}=o.useActive(h),[f,x]=(0,n.useState)(a);return t?(0,s.jsx)(r.ColorPicker,{colors:u,disabled:m,highlight:!0,onChange:function(t){m||g&&(g?.(t),x(t))},value:f,children:(0,s.jsx)(e.ActionButton,{disabled:m,tooltip:l,shortcutKeys:p,children:(0,s.jsxs)("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-gap-[4px] richtext-text-sm",children:[(0,s.jsx)(c,{fill:f}),(0,s.jsx)(i.IconComponent,{className:"!richtext-h-3 !richtext-w-3 richtext-text-zinc-500",name:"MenuDown"})]})})}):(0,s.jsx)(s.Fragment,{})}var d=l.Mark.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||(0,l.getStyleProperty)(t,"background-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:t}){return["mark",(0,l.mergeAttributes)(this.options.HTMLAttributes,t),0]},renderMarkdown:(t,e)=>`==${e.renderChildren(t)}==`,parseMarkdown:(t,e)=>e.applyMark("highlight",e.parseInline(t.tokens||[])),markdownTokenizer:{name:"highlight",level:"inline",start:t=>t.indexOf("=="),tokenize(t,e,r){const i=/^(==)([^=]+)(==)/.exec(t);if(i){const t=i[2].trim(),e=r.inlineTokens(t);return{type:"highlight",raw:i[0],text:t,tokens:e}}}},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[(0,l.markInputRule)({find:h,type:this.type})]},addPasteRules(){return[(0,l.markPasteRule)({find:a,type:this.type})]}}).extend({addStorage(){return{currentColor:this.options.defaultColor||void 0}},addOptions(){return{...this.parent?.(),multicolor:!0,button:({editor:t,t:e,extension:r})=>({componentProps:{action:e=>{if("string"==typeof e)return t.storage.highlight.currentColor=e,void t.chain().focus().setHighlight({color:e}).run();t.chain().focus().unsetHighlight().run()},isActive:()=>t.isActive("highlight")||!1,disabled:!1,shortcutKeys:r.options.shortcutKeys??["⇧","mod","H"],tooltip:e("editor.highlight.tooltip"),defaultColor:r.options.defaultColor}})}},addKeyboardShortcuts(){return{...this.parent?.(),"Mod-Shift-h":()=>{const t=this.storage.currentColor||this.options.defaultColor;if(!t){const{color:t}=this.editor.getAttributes("highlight");return!!t&&this.editor.chain().focus().unsetHighlight().run()}return this.editor.isActive("highlight",{color:t})?this.editor.chain().focus().unsetHighlight().run():this.editor.chain().focus().setHighlight({color:t}).run()}}}});Object.defineProperty(exports,"Highlight",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"RichTextHighlight",{enumerable:!0,get:function(){return u}});
@@ -0,0 +1,5 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{n as e}from"./separator-CTa6o9S_.js";import{t as r}from"./Icon-CJJ9AQtR.js";import{s as o,t as i}from"./useButtonProps-DSIajp_B.js";import n,{useState as s}from"react";import{Fragment as l,jsx as h,jsxs as a}from"react/jsx-runtime";import{Mark as c,getStyleProperty as d,markInputRule as u,markPasteRule as g,mergeAttributes as p}from"@tiptap/core";var m=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))$/,f=/(?:^|\s)(==(?!\s+==)((?:[^=]+))==(?!\s+==))/g;function C({fill:t}){/* @__PURE__ */
2
+ return h("svg",{height:"18px",version:"1.1",viewBox:"0 0 256 256",width:"18px",xmlns:"http://www.w3.org/2000/svg",children:/* @__PURE__ */h("g",{fill:"none",fillRule:"evenodd",stroke:"none",strokeWidth:1,children:/* @__PURE__ */a("g",{id:"icon/背景颜色",children:[/* @__PURE__ */h("g",{fill:"currentColor",children:/* @__PURE__ */a("g",{transform:"translate(119.502295, 137.878331) rotate(-135.000000) translate(-119.502295, -137.878331) translate(48.002295, 31.757731)",children:[
3
+ /* @__PURE__ */h("path",{d:"M100.946943,60.8084699 L43.7469427,60.8084699 C37.2852111,60.8084699 32.0469427,66.0467383 32.0469427,72.5084699 L32.0469427,118.70847 C32.0469427,125.170201 37.2852111,130.40847 43.7469427,130.40847 L100.946943,130.40847 C107.408674,130.40847 112.646943,125.170201 112.646943,118.70847 L112.646943,72.5084699 C112.646943,66.0467383 107.408674,60.8084699 100.946943,60.8084699 Z M93.646,79.808 L93.646,111.408 L51.046,111.408 L51.046,79.808 L93.646,79.808 Z",fillRule:"nonzero"}),
4
+ /* @__PURE__ */h("path",{d:"M87.9366521,16.90916 L87.9194966,68.2000001 C87.9183543,69.4147389 86.9334998,70.399264 85.7187607,70.4 L56.9423078,70.4 C55.7272813,70.4 54.7423078,69.4150264 54.7423078,68.2 L54.7423078,39.4621057 C54.7423078,37.2523513 55.5736632,35.1234748 57.0711706,33.4985176 L76.4832996,12.4342613 C78.9534987,9.75382857 83.1289108,9.5834005 85.8093436,12.0535996 C87.1658473,13.303709 87.9372691,15.0644715 87.9366521,16.90916 Z",fillRule:"evenodd"}),
5
+ /* @__PURE__ */h("path",{d:"M131.3,111.241199 L11.7,111.241199 C5.23826843,111.241199 0,116.479467 0,122.941199 L0,200.541199 C0,207.002931 5.23826843,212.241199 11.7,212.241199 L131.3,212.241199 C137.761732,212.241199 143,207.002931 143,200.541199 L143,122.941199 C143,116.479467 137.761732,111.241199 131.3,111.241199 Z M124,130.241 L124,193.241 L19,193.241 L19,130.241 L124,130.241 Z",fillRule:"nonzero"})]})}),/* @__PURE__ */h("path",{d:"M51,218 L205,218 C211.075132,218 216,222.924868 216,229 C216,235.075132 211.075132,240 205,240 L51,240 C44.9248678,240 40,235.075132 40,229 C40,222.924868 44.9248678,218 51,218 Z",fill:"string"==typeof t?t:"none",id:"矩形"})]})})})}function L(){const n=i(x.name),{tooltip:c,isActive:d,defaultColor:u,colors:g,action:p,shortcutKeys:m}=n?.componentProps??{},{editorDisabled:f}=o(d),[L,M]=s(u);return n?/* @__PURE__ */h(e,{colors:g,disabled:f,highlight:!0,onChange:function(t){f||p&&(p?.(t),M(t))},value:L,children:/* @__PURE__ */h(t,{disabled:f,tooltip:c,shortcutKeys:m,children:/* @__PURE__ */a("span",{className:"richtext-flex richtext-items-center richtext-justify-center richtext-gap-[4px] richtext-text-sm",children:[/* @__PURE__ */h(C,{fill:L}),/* @__PURE__ */h(r,{className:"!richtext-h-3 !richtext-w-3 richtext-text-zinc-500",name:"MenuDown"})]})})}):/* @__PURE__ */h(l,{})}var x=c.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:t=>t.getAttribute("data-color")||d(t,"background-color")||t.style.backgroundColor,renderHTML:t=>t.color?{"data-color":t.color,style:`background-color: ${t.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:t}){return["mark",p(this.options.HTMLAttributes,t),0]},renderMarkdown:(t,e)=>`==${e.renderChildren(t)}==`,parseMarkdown:(t,e)=>e.applyMark("highlight",e.parseInline(t.tokens||[])),markdownTokenizer:{name:"highlight",level:"inline",start:t=>t.indexOf("=="),tokenize(t,e,r){const o=/^(==)([^=]+)(==)/.exec(t);if(o){const t=o[2].trim(),e=r.inlineTokens(t);return{type:"highlight",raw:o[0],text:t,tokens:e}}}},addCommands(){return{setHighlight:t=>({commands:e})=>e.setMark(this.name,t),toggleHighlight:t=>({commands:e})=>e.toggleMark(this.name,t),unsetHighlight:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[u({find:m,type:this.type})]},addPasteRules(){return[g({find:f,type:this.type})]}}).extend({addStorage(){return{currentColor:this.options.defaultColor||void 0}},addOptions(){return{...this.parent?.(),multicolor:!0,button:({editor:t,t:e,extension:r})=>({componentProps:{action:e=>{if("string"==typeof e)return t.storage.highlight.currentColor=e,void t.chain().focus().setHighlight({color:e}).run();t.chain().focus().unsetHighlight().run()},isActive:()=>t.isActive("highlight")||!1,disabled:!1,shortcutKeys:r.options.shortcutKeys??["⇧","mod","H"],tooltip:e("editor.highlight.tooltip"),defaultColor:r.options.defaultColor}})}},addKeyboardShortcuts(){return{...this.parent?.(),"Mod-Shift-h":()=>{const t=this.storage.currentColor||this.options.defaultColor;if(!t){const{color:t}=this.editor.getAttributes("highlight");return!!t&&this.editor.chain().focus().unsetHighlight().run()}return this.editor.isActive("highlight",{color:t})?this.editor.chain().focus().unsetHighlight().run():this.editor.chain().focus().setHighlight({color:t}).run()}}}});export{L as n,x as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const i=require("./Highlight-BeqLxfbY.cjs");exports.Highlight=i.Highlight,exports.RichTextHighlight=i.RichTextHighlight;
@@ -0,0 +1 @@
1
+ import{n as t,t as i}from"./Highlight-OkaWwhRk.js";export{i as Highlight,t as RichTextHighlight};
@@ -0,0 +1 @@
1
+ import{n as t}from"./dist-CsCFCV4K.js";import{n as o}from"./toggle-BXl_NYYh.js";import{s as e,t as n}from"./useButtonProps-DSIajp_B.js";import r from"react";import{Fragment as s,jsx as i}from"react/jsx-runtime";import{Extension as a,callOrReturn as d,getChangedRanges as c,getExtensionField as p,isNodeEmpty as l,isNodeSelection as u}from"@tiptap/core";import{Plugin as h,PluginKey as m}from"@tiptap/pm/state";import{dropCursor as f}from"@tiptap/pm/dropcursor";import{Decoration as y,DecorationSet as g}from"@tiptap/pm/view";import{gapCursor as w}from"@tiptap/pm/gapcursor";import{history as A,redo as b,undo as C}from"@tiptap/pm/history";a.create({name:"characterCount",addOptions:()=>({limit:null,autoTrim:!0,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(t=>""!==t).length}),addStorage:()=>({characters:()=>0,words:()=>0}),onBeforeCreate(){this.storage.characters=t=>{const o=(null==t?void 0:t.node)||this.editor.state.doc;if("textSize"===((null==t?void 0:t.mode)||this.options.mode)){const t=o.textBetween(0,o.content.size,void 0," ");return this.options.textCounter(t)}return o.nodeSize},this.storage.words=t=>{const o=(null==t?void 0:t.node)||this.editor.state.doc,e=o.textBetween(0,o.content.size," "," ");return this.options.wordCounter(e)}},addProseMirrorPlugins(){let t=!1;return[new h({key:new m("characterCount"),appendTransaction:(o,e,n)=>{if(t)return;const r=this.options.limit,s=this.options.autoTrim;if(null==r||0===r||!1===s)return void(t=!0);const i=this.storage.characters({node:n.doc});if(i>r){const o=0,e=i-r,s=n.tr.deleteRange(o,e);return t=!0,s}t=!0},filterTransaction:(t,o)=>{const e=this.options.limit;if(!t.docChanged||0===e||null==e)return!0;const n=this.storage.characters({node:o.doc}),r=this.storage.characters({node:t.doc});if(r<=e)return!0;if(n>e&&r>e&&r<=n)return!0;if(n>e&&r>e&&r>n)return!1;if(!t.getMeta("paste"))return!1;const s=t.selection.$head.pos,i=s-(r-e),a=s;return t.deleteRange(i,a),!(this.storage.characters({node:t.doc})>e)}})]}});var v=a.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[f(this.options)]}}),M=(a.create({name:"focus",addOptions:()=>({className:"has-focus",mode:"all"}),addProseMirrorPlugins(){return[new h({key:new m("focus"),props:{decorations:({doc:t,selection:o})=>{const{isEditable:e,isFocused:n}=this.editor,{anchor:r}=o,s=[];if(!e||!n)return g.create(t,[]);let i=0;"deepest"===this.options.mode&&t.descendants((t,o)=>{if(!t.isText)return r>=o&&r<=o+t.nodeSize-1&&void(i+=1)});let a=0;return t.descendants((t,o)=>!t.isText&&(r>=o&&r<=o+t.nodeSize-1&&(a+=1,"deepest"===this.options.mode&&i-a>0||"shallowest"===this.options.mode&&a>1?"deepest"===this.options.mode:void s.push(y.node(o,o+t.nodeSize,{class:this.options.className}))))),g.create(t,s)}}})]}}),a.create({name:"gapCursor",addProseMirrorPlugins:()=>[w()],extendNodeSchema(t){var o;const e={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:null!=(o=d(p(t,"allowGapCursor",e)))?o:null}}})),z="placeholder",S=new m("tiptap__placeholder");function O(t){const{editor:o,placeholder:e,dataAttribute:n,pos:r,node:s,isEmptyDoc:i,hasAnchor:a,classes:{emptyNode:d,emptyEditor:c}}=t,p=[d];return i&&p.push(c),y.node(r,r+s.nodeSize,{class:p.join(" "),[n]:"function"==typeof e?e({editor:o,node:s,pos:r,hasAnchor:a}):e})}function E(t,o){return"function"==typeof t?t(o):t}function P({editor:t,options:o,dataAttribute:e,doc:n,selection:r,from:s,to:i}){const{anchor:a}=r,d=[],c=t.isEmpty;return n.nodesBetween(s,i,(n,r)=>{const s=a>=r&&a<=r+n.nodeSize,i=!n.isLeaf&&l(n);return n.type.isTextblock?(!s&&o.showOnlyCurrent||!i||d.push(O({editor:t,isEmptyDoc:c,dataAttribute:e,hasAnchor:s,placeholder:o.placeholder,classes:{emptyEditor:o.emptyEditorClass,emptyNode:E(o.emptyNodeClass,{editor:t,node:n,pos:r,hasAnchor:s})},node:n,pos:r})),o.includeChildren):o.includeChildren}),d}function x({editor:t,options:o,dataAttribute:e,doc:n,selection:r}){if(!t.isEditable&&o.showOnlyWhenEditable)return null;const{anchor:s}=r,i=[],a=t.isEmpty;if(o.showOnlyCurrent&&!o.includeChildren){const r=n.resolve(s),d=r.depth>0?r.node(1):r.nodeAfter,c=r.depth>0?r.before(1):s;if(d&&d.type.isTextblock&&l(d)){const n=s>=c&&s<=c+d.nodeSize;i.push(O({editor:t,isEmptyDoc:a,dataAttribute:e,hasAnchor:n,placeholder:o.placeholder,classes:{emptyEditor:o.emptyEditorClass,emptyNode:E(o.emptyNodeClass,{editor:t,node:d,pos:c,hasAnchor:n})},node:d,pos:c}))}}else i.push(...P({editor:t,options:o,dataAttribute:e,doc:n,selection:r,from:0,to:n.content.size}));return g.create(n,i)}function N(t,o){var e;const n=t.resolve(o);if(0===n.depth){const t=null!=(e=n.nodeAfter)?e:n.nodeBefore;if(!t)return{from:o,to:o};const r=n.nodeAfter?o:o-t.nodeSize;return{from:r,to:r+t.nodeSize}}const r=n.before(1);return{from:r,to:r+n.node(1).nodeSize}}function T(t,o){return{from:Math.max(0,o.from-1),to:Math.min(t.content.size,o.to-1)}}function K(t,o){const e=function(t,o,e){const n=[];return t.forEach((t,r)=>{const s=r,i=s+t.nodeSize;s+1<e&&i+1>o&&n.push({from:s,to:i})}),n}(t,o.from,o.to);return e.push(T(t,N(t,o.from))),o.to>o.from?e.push(T(t,N(t,Math.min(o.to,t.content.size+1)-1))):o.from<t.content.size+1&&e.push(T(t,N(t,Math.min(o.from+1,t.content.size)))),e}function k(t,o,e){const n=[];if(t.docChanged){const o=c(t);for(const t of o)n.push(...K(e.doc,t.newRange))}return t.selectionSet&&(n.push(T(e.doc,N(e.doc,t.mapping.map(o.selection.anchor)))),n.push(T(e.doc,N(e.doc,e.selection.anchor)))),function(t){if(0===t.length)return[];const o=[...t].sort((t,o)=>t.from-o.from),e=[{...o[0]}];for(let n=1;n<o.length;n+=1){const t=e[e.length-1],r=o[n];r.from<=t.to?t.to=Math.max(t.to,r.to):e.push({...r})}return e}(n)}function D(t,o,e){const n=Math.max(0,Math.min(t,e.content.size));return{from:n,to:Math.max(n,Math.min(o,e.content.size))}}function j({editor:t,options:o,dataAttribute:e}){return{init(n,r){const s=x({editor:t,options:o,dataAttribute:e,doc:r.doc,selection:r.selection});return null!=s?s:g.empty},apply:(n,r,s,i)=>n.docChanged||n.selectionSet?function({decorations:t,ranges:o,editor:e,options:n,dataAttribute:r,doc:s,selection:i}){let a=t;for(const d of o){const{from:t,to:o}=D(d.from,d.to,s),c=a.find(t,o).filter(e=>e.from>=t&&e.to<=o);c.length&&(a=a.remove(c));const p=P({editor:e,options:n,dataAttribute:r,doc:s,selection:i,from:t,to:o});p.length&&(a=a.add(s,p))}return a}({decorations:r.map(n.mapping,n.doc),ranges:k(n,s,i),editor:t,options:o,dataAttribute:e,doc:i.doc,selection:i.selection}):r}}function B({editor:t,options:o}){const e=o.dataAttribute?`data-${n=o.dataAttribute,n.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9-]/g,"").replace(/^[0-9-]+/,"").replace(/^-+/,"").toLowerCase()}`:`data-${z}`;var n;const r=o.showOnlyCurrent&&!o.includeChildren;return new h({key:S,...r?{}:{state:j({editor:t,options:o,dataAttribute:e})},props:{decorations:r?({doc:n,selection:r})=>x({editor:t,options:o,dataAttribute:e,doc:n,selection:r}):e=>{var n;return o.showOnlyWhenEditable&&!t.isEditable?g.empty:null!=(n=S.getState(e))?n:g.empty}}})}var R=a.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",dataAttribute:z,placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[B({editor:this.editor,options:this.options})]}});function F(t,o){return!t.selection.empty&&!u(t.selection)&&o.isEditable}a.create({name:"selection",addOptions:()=>({className:"selection"}),addProseMirrorPlugins(){const{editor:t,options:o}=this;return[new h({key:new m("selection"),props:{decorations:e=>function(t,o){return F(t,o)&&!o.isFocused&&!o.view.dragging}(e,t)?g.create(e.doc,[y.inline(e.selection.from,e.selection.to,{class:o.className})]):null,handleDOMEvents:{blur(o){return!!F(o.state,t)&&(null==(e=window.getSelection())||e.removeAllRanges(),!1);var e},focus:o=>!!F(o.state,t)&&(requestAnimationFrame(()=>{!t.isDestroyed&&o.hasFocus()&&function(t){t.focus()}(o)}),!1)}}})]}});function G({types:t,node:o}){return o&&Array.isArray(t)&&t.includes(o.type)||(null==o?void 0:o.type)===t}var W=a.create({name:"trailingNode",addOptions:()=>({node:void 0,notAfter:[]}),addProseMirrorPlugins(){var t;const o=new m(this.name),e=this.options.node||(null==(t=this.editor.schema.topNodeType.contentMatch.defaultType)?void 0:t.name)||"paragraph",n=Object.entries(this.editor.schema.nodes).map(([,t])=>t).filter(t=>(this.options.notAfter||[]).concat(e).includes(t.name));return[new h({key:o,appendTransaction:(t,n,r)=>{const{doc:s,tr:i,schema:a}=r,d=o.getState(r),c=s.content.size,p=a.nodes[e];if(!t.some(t=>t.getMeta("skipTrailingNode"))&&d)return i.insert(c,p.create())},state:{init:(t,o)=>!G({node:o.tr.doc.lastChild,types:n}),apply:(t,o)=>{if(!t.docChanged)return o;if(t.getMeta("__uniqueIDTransaction"))return o;return!G({node:t.doc.lastChild,types:n})}}})]}});function _(){const r=n(Z.name),{icon:a,tooltip:d,shortcutKeys:c,tooltipOptions:p={},action:l,isActive:u}=r?.componentProps?.undo??{},{disabled:h}=e(u),m=t[a];return r&&m?/* @__PURE__ */i(o,{action:()=>{h||l&&l()},disabled:h,icon:a,shortcutKeys:c,tooltip:d,tooltipOptions:p}):/* @__PURE__ */i(s,{})}function q(){const t=n(Z.name),{icon:r,tooltip:a,shortcutKeys:d,tooltipOptions:c={},action:p,isActive:l}=t?.componentProps?.redo??{},{disabled:u}=e(l);return t?/* @__PURE__ */i(o,{action:()=>{u||p&&p()},disabled:u,icon:r,shortcutKeys:d,tooltip:a,tooltipOptions:c}):/* @__PURE__ */i(s,{})}var Z=a.create({name:"undoRedo",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:t,dispatch:o})=>C(t,o),redo:()=>({state:t,dispatch:o})=>b(t,o)}),addProseMirrorPlugins(){return[A(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}).extend({addOptions(){return{...this.parent?.(),depth:100,newGroupDelay:500,button:({editor:t,t:o,extension:e})=>({componentProps:{undo:{action:()=>{t.chain().focus().undo().run()},shortcutKeys:e.options.shortcutKeys?.[0]??["mod","Z"],isActive:()=>t.can().undo(),icon:"Undo2",tooltip:o("editor.undo.tooltip")},redo:{action:()=>{t.chain().focus().redo().run()},shortcutKeys:e.options.shortcutKeys?.[1]??["shift","mod","Z"],isActive:()=>t.can().redo(),icon:"Redo2",tooltip:o("editor.redo.tooltip")}}})}}});export{M as a,v as i,q as n,R as o,_ as r,W as s,Z as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./dist-Cn_OUKh6.cjs"),e=require("./toggle-CRftKzl0.cjs"),i=require("./useButtonProps-D2Hd5DbR.cjs"),n=require("./dist-D0RROJPB.cjs");let s=require("react");s=o.__toESM(s,1);let r=require("react/jsx-runtime");var c=n.UndoRedo.extend({addOptions(){return{...this.parent?.(),depth:100,newGroupDelay:500,button:({editor:o,t:t,extension:e})=>({componentProps:{undo:{action:()=>{o.chain().focus().undo().run()},shortcutKeys:e.options.shortcutKeys?.[0]??["mod","Z"],isActive:()=>o.can().undo(),icon:"Undo2",tooltip:t("editor.undo.tooltip")},redo:{action:()=>{o.chain().focus().redo().run()},shortcutKeys:e.options.shortcutKeys?.[1]??["shift","mod","Z"],isActive:()=>o.can().redo(),icon:"Redo2",tooltip:t("editor.redo.tooltip")}}})}}});exports.History=c,exports.RichTextRedo=function(){const o=i.useButtonProps(c.name),{icon:t,tooltip:n,shortcutKeys:s,tooltipOptions:u={},action:d,isActive:p}=o?.componentProps?.redo??{},{disabled:a}=i.useActive(p);return o?(0,r.jsx)(e.ActionButton,{action:()=>{a||d&&d()},disabled:a,icon:t,shortcutKeys:s,tooltip:n,tooltipOptions:u}):(0,r.jsx)(r.Fragment,{})},exports.RichTextUndo=function(){const o=i.useButtonProps(c.name),{icon:n,tooltip:s,shortcutKeys:u,tooltipOptions:d={},action:p,isActive:a}=o?.componentProps?.undo??{},{disabled:l}=i.useActive(a),h=t.icons[n];return o&&h?(0,r.jsx)(e.ActionButton,{action:()=>{l||p&&p()},disabled:l,icon:n,shortcutKeys:u,tooltip:s,tooltipOptions:d}):(0,r.jsx)(r.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as r,r as s,t}from"./History-C6yBYB2w.js";export{t as History,r as RichTextRedo,s as RichTextUndo};
@@ -0,0 +1 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as e,t as o}from"./useButtonProps-DSIajp_B.js";import{Fragment as n,jsx as r}from"react/jsx-runtime";import{Node as s,canInsertNode as i,isNodeSelection as a,mergeAttributes as d,nodeInputRule as c}from"@tiptap/core";import{NodeSelection as p,TextSelection as l}from"@tiptap/pm/state";function u(){const s=o(m.name),{icon:i,tooltip:a,shortcutKeys:d,tooltipOptions:c={},action:p,isActive:l}=s?.componentProps??{},{dataState:u,disabled:h,update:f}=e(l);return s?/* @__PURE__ */r(t,{action:()=>{h||p&&(p(),f())},dataState:u,disabled:h,icon:i,shortcutKeys:d,tooltip:a,tooltipOptions:c}):/* @__PURE__ */r(n,{})}var m=s.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{},nextNodeType:"paragraph"}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:t}){return["hr",d(this.options.HTMLAttributes,t)]},markdownTokenName:"hr",parseMarkdown:(t,e)=>e.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!i(e,e.schema.nodes[this.name]))return!1;const{selection:o}=e,{$to:n}=o,r=t();return a(o)?r.insertContentAt(n.pos,{type:this.name}):r.insertContent({type:this.name}),r.command(({state:t,tr:e,dispatch:o})=>{if(o){const{$to:o}=e.selection,n=o.end();if(o.nodeAfter)o.nodeAfter.isTextblock?e.setSelection(l.create(e.doc,o.pos+1)):o.nodeAfter.isBlock?e.setSelection(p.create(e.doc,o.pos)):e.setSelection(l.create(e.doc,o.pos));else{const r=t.schema.nodes[this.options.nextNodeType]||o.parent.type.contentMatch.defaultType,s=null==r?void 0:r.create();s&&(e.insert(n,s),e.setSelection(l.create(e.doc,n+1)))}e.scrollIntoView()}return!0}).run()}}},addInputRules(){return[c({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:e,t:o,extension:n})=>({component:t,componentProps:{action:()=>e.commands.setHorizontalRule(),disabled:!e.can().setHorizontalRule(),icon:"Minus",shortcutKeys:n.options.shortcutKeys??["mod","alt","S"],tooltip:o("editor.horizontalrule.tooltip")}})}},addKeyboardShortcuts(){return{"Mod-Alt-s":()=>this.editor.commands.setHorizontalRule()}},renderHTML(){return["div",d(this.options.HTMLAttributes,{"data-type":this.name}),["hr"]]}});export{u as n,m as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const t=require("./toggle-CRftKzl0.cjs"),e=require("./useButtonProps-D2Hd5DbR.cjs");let o=require("react/jsx-runtime"),n=require("@tiptap/core"),r=require("@tiptap/pm/state");var s=n.Node.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{},nextNodeType:"paragraph"}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:t}){return["hr",(0,n.mergeAttributes)(this.options.HTMLAttributes,t)]},markdownTokenName:"hr",parseMarkdown:(t,e)=>e.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!(0,n.canInsertNode)(e,e.schema.nodes[this.name]))return!1;const{selection:o}=e,{$to:s}=o,i=t();return(0,n.isNodeSelection)(o)?i.insertContentAt(s.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({state:t,tr:e,dispatch:o})=>{if(o){const{$to:o}=e.selection,n=o.end();if(o.nodeAfter)o.nodeAfter.isTextblock?e.setSelection(r.TextSelection.create(e.doc,o.pos+1)):o.nodeAfter.isBlock?e.setSelection(r.NodeSelection.create(e.doc,o.pos)):e.setSelection(r.TextSelection.create(e.doc,o.pos));else{const s=t.schema.nodes[this.options.nextNodeType]||o.parent.type.contentMatch.defaultType,i=null==s?void 0:s.create();i&&(e.insert(n,i),e.setSelection(r.TextSelection.create(e.doc,n+1)))}e.scrollIntoView()}return!0}).run()}}},addInputRules(){return[(0,n.nodeInputRule)({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:e,t:o,extension:n})=>({component:t.ActionButton,componentProps:{action:()=>e.commands.setHorizontalRule(),disabled:!e.can().setHorizontalRule(),icon:"Minus",shortcutKeys:n.options.shortcutKeys??["mod","alt","S"],tooltip:o("editor.horizontalrule.tooltip")}})}},addKeyboardShortcuts(){return{"Mod-Alt-s":()=>this.editor.commands.setHorizontalRule()}},renderHTML(){return["div",(0,n.mergeAttributes)(this.options.HTMLAttributes,{"data-type":this.name}),["hr"]]}});exports.HorizontalRule=s,exports.RichTextHorizontalRule=function(){const n=e.useButtonProps(s.name),{icon:r,tooltip:i,shortcutKeys:a,tooltipOptions:c={},action:d,isActive:l}=n?.componentProps??{},{dataState:u,disabled:p,update:h}=e.useToggleActive(l);return n?(0,o.jsx)(t.ActionButton,{action:()=>{p||d&&(d(),h())},dataState:u,disabled:p,icon:r,shortcutKeys:a,tooltip:i,tooltipOptions:c}):(0,o.jsx)(o.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as o,t as r}from"./HorizontalRule-kAw8TV0V.js";export{r as HorizontalRule,o as RichTextHorizontalRule};
@@ -0,0 +1 @@
1
+ import{n as t}from"./dist-CsCFCV4K.js";import r from"react";import{jsx as o}from"react/jsx-runtime";function c(r){const c=t[r.name];return c?/* @__PURE__ */o(c,{onClick:r?.onClick,className:`richtext-h-4 richtext-w-4 ${r?.className||""}`}):null}export{c as t};
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BeavJI0R.cjs"),r=require("./dist-Cn_OUKh6.cjs");let t=require("react");t=e.__toESM(t,1);let n=require("react/jsx-runtime");function c(e){const t=r.icons[e.name];return t?(0,n.jsx)(t,{onClick:e?.onClick,className:`richtext-h-4 richtext-w-4 ${e?.className||""}`}):null}Object.defineProperty(exports,"IconComponent",{enumerable:!0,get:function(){return c}});
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./toggle-BXl_NYYh.js";import{t}from"./button-CXcuJkiM.js";import{t as r}from"./input-CMD6LZFr.js";import{c as i,l as a,t as n}from"./useButtonProps-DSIajp_B.js";import{t as s}from"./dom-dataset-D3Nz0h73.js";import{NodeViewWrapper as o,ReactNodeViewRenderer as c}from"@tiptap/react";import{useCallback as l,useState as u}from"react";import m from"clsx";import{Fragment as p,jsx as d,jsxs as h}from"react/jsx-runtime";import{Node as f,mergeAttributes as w,nodeInputRule as b}from"@tiptap/core";import{Resizable as g}from"re-resizable";var v={youtube:{example:"https://www.youtube.com/watch?v=I4sMhHbHYXM",src:"https://www.youtube.com/embed/I4sMhHbHYXM",srcPrefix:"https://www.youtube.com/embed",linkRule:[/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\s/]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[&?]v=)|youtu\.be\/)([\w-]{11})/]},youku:{example:"https://v.youku.com/v_show/id_XNDM0NDM4MTcy.html?spm=a2h0c.8166622.PhoneSokuUgc_4.dtitle",src:"https://player.youku.com/embed/XNDM0NDM4MTcy",srcPrefix:"https://player.youku.com/embed",linkRule:[String.raw`v.youku.com\/v_show\/id_\w+\=*`],idRule:String.raw`id_\w+\=*`},bilibili:{example:"https://www.bilibili.com/video/BV1EJ411u7DN",src:"https://player.bilibili.com/player.html?bvid=BV1EJ411u7DN",srcPrefix:"https://player.bilibili.com/player.html?bvid",linkRule:[String.raw`www.bilibili.com\/video\/\w+`]},qqvideo:{example:"https://v.qq.com/x/cover/mzc0020006aw1mn/u0033nvzb5v.html",src:"https://v.qq.com/txp/iframe/player.html?vid=u0033nvzb5v",srcPrefix:"https://v.qq.com/txp/iframe/player.html?vid",linkRule:[String.raw`v.qq.com\/x\/cover\/\w+\/\w+`]},amap:{example:"https://ditu.amap.com/",src:"https://www.amap.com/place/B000A45467",srcPrefix:"",linkRule:[String.raw`\.amap\.com`]},baidu_map:{example:"https://j.map.baidu.com/15/fo",src:"https://j.map.baidu.com/15/fo",srcPrefix:"",linkRule:[String.raw`map\.baidu\.com`]},modao:{example:"https://free.modao.cc/app/2cd26580a6717a147454df7470e7ec464093cba3/embed/v2#screen=sk71k6d1dfxulzx",src:"https://free.modao.cc/app/6UkpAxcGE3nPz52GLqhnOZgC7MATBSy/embed/v2",srcPrefix:"",linkRule:[String.raw`https:\/\/\w+.modao.cc\/app\/\w+\/embed\/v2`],tips:"Modao > More > Share > Embed > COPY"},lanhu:{example:"https://lanhuapp.com/link/#/invite?sid=evP7L",src:"https://lanhuapp.com/url/evP7L",srcPrefix:"",linkRule:[String.raw`https:\/\/lanhuapp.com\/url\/\w+`],tips:"Lanhu > Project > Share > Copy Link"},figma:{example:"https://www.figma.com/file/aS9uSgPXoNpaPkzbjNcK8v/Demo?node-id=0%3A1",src:"https://www.figma.com/file/aS9uSgPXoNpaPkzbjNcK8v/Demo?node-id=0%3A1",srcPrefix:"https://www.figma.com/embed?embed_host=share&url",linkRule:[String.raw`https:\/\/www.figma.com\/file\/\w+`]},canva:{example:"https://www.canva.cn/design/DAD61-t29UI/view",src:"https://www.canva.cn/design/DAD61-t29UI/view",srcPrefix:"",linkRule:[String.raw`https:\/\/www.canva.cn\/design\/.+\/view`]},processon:{example:"https://www.processon.com/embed/5ea99d8607912948b0e6fe78",src:"https://www.processon.com/embed/5ea99d8607912948b0e6fe78",srcPrefix:"",linkRule:[String.raw`https:\/\/www.processon.com\/embed\/\w+`]},codepen:{example:"https://codepen.io/mekery/embed/YzyrKOJ",src:"https://codepen.io/mekery/embed/YzyrKOJ",srcPrefix:"",linkRule:[String.raw`https:\/\/codepen.io\/.+\/embed\/\w+`]},jinshuju:{example:"https://jinshuju.net/f/q9YvVf",src:"https://jinshuju.net/f/q9YvVf",srcPrefix:"",linkRule:[String.raw`https:\/\/jinshuju.net\/f\/\w+`]},iframe:{example:"https://v.youku.com/v_show/id_XNDM0NDM4MTcy.html",src:"https://player.youku.com/embed/XNDM0NDM4MTcy",srcPrefix:"",linkRule:[".+"]},googlemaps:{example:"https://goo.gl/maps/8Ys8b4K1ZJY2",src:"https://www.google.com/maps/embed?pb=https://goo.gl/maps/8Ys8b4K1ZJY2",srcPrefix:"",linkRule:[String.raw`https:\/\/goo.gl\/maps\/\w+`]}};function x(e){let t={validLink:!1,validId:!1,matchedUrl:"",originalLink:e,src:""};const r=function(e){let t="iframe";return(e.includes?.("youtube")||e.includes?.("youtu.be"))&&(t="youtube"),e.includes("youku")&&(t="youku"),e.includes("bilibili")&&(t="bilibili"),e.includes("qq")&&(t="qqvideo"),e.includes("amap")&&(t="amap"),e.includes("map.baidu")&&(t="baidu_map"),(e.includes("google.com/maps")||e.includes("maps.app.goo.gl"))&&(t="googlemaps"),e.includes("modao")&&(t="modao"),e.includes("lanhuapp")&&(t="lanhu"),e.includes("figma")&&(t="figma"),e.includes("canva")&&(t="canva"),e.includes("processon")&&(t="processon"),e.includes("codepen")&&(t="codepen"),e.includes("jinshuju")&&(t="jinshuju"),e.includes("iframe")&&(t="iframe"),t}(e);if(t=function(e,t,r){if("googlemaps"===e)return r.validLink=!0,r.matchedUrl=t,r;const i=v[e].linkRule;for(const a of i){const i=new RegExp(a),n=t.match(i);if(n&&n.length>0)return r.validLink=!0,r.matchedUrl="youtube"===e?n[1]:n[0],r}return r}(r,e,t),!t.validLink)return t;switch(r){case"youtube":return function(e){const t=v.youtube,r=e.matchedUrl;e.validLink=!0;const i=r.split("="),a=i.length;if(a>0){const r=i[a-1];e.src=`${t.srcPrefix}/${r}`,e.validId=!0}return e}(t);case"youku":return function(e){const t=v.youku,r=e.matchedUrl,i=t.idRule,a=new RegExp(i),n=r.match(a);if(n&&n.length>0){const r=n[0].slice(3);e.validId=!0,e.src=`${t.srcPrefix}/${r}`}else e.validId=!1;return e}(t);case"bilibili":return function(e){const t=v.bilibili,r=e.matchedUrl.split("/"),i=r.length;if(i>0){const a=r[i-1];e.src=`${t.srcPrefix}=${a}`,e.validId=!0}return e}(t);case"qqvideo":return function(e){const t=v.qqvideo,r=e.matchedUrl.split("/"),i=r.length;if(i>0){const a=r[i-1];e.src=`${t.srcPrefix}=${a}`,e.validId=!0}return e}(t);case"amap":case"baidu_map":return function(e,t){return t.src=e,t.validId=!0,t}(e,t);case"googlemaps":return function(e,t){return t.src=e,t.validId=!0,t.originalLink=e,t}(e,t);case"modao":case"lanhu":return function(e){return e.src=e.matchedUrl,e.validId=!0,e.originalLink=e.src,e}(t);case"figma":return function(e){return e.src=`${v.figma.srcPrefix}=${encodeURIComponent(e.matchedUrl)}`,e.validId=!0,e.originalLink=e.matchedUrl,e}(t);case"canva":return function(e,t){return t.src=`${t.matchedUrl}?embed`,t.validId=!0,t.originalLink=e,t}(e,t);case"processon":case"iframe":return function(e,t){return t.src=`${t.matchedUrl}`,t.validId=!0,t.originalLink=e,t}(e,t);case"codepen":return function(e){return e.src=`${e.matchedUrl}`,e.validId=!0,e.originalLink=e.src,e}(t);case"jinshuju":return function(e,t){return t.src=`${t.matchedUrl}?background=white&banner=show&embedded=true`,t.validId=!0,t.originalLink=e,t}(e,t);default:return e}}var k="_wrap_5y04w_1",y="_innerWrap_5y04w_15";function P({editor:e,node:i,updateAttributes:n}){const s=a(),{src:c,width:p,height:f}=i.attrs,[w,b]=u("");const v=l(e=>{n({width:e.width,height:e.height})},[n]);/* @__PURE__ */
2
+ return h(o,{children:[!c&&/* @__PURE__ */h("div",{className:"richtext-mx-auto richtext-my-[12px] richtext-flex richtext-max-w-[600px] richtext-items-center richtext-justify-center richtext-gap-[10px] richtext-rounded-[12px] richtext-border richtext-border-solid richtext-border-border richtext-p-[10px]",children:[/* @__PURE__ */d(r,{autoFocus:!0,className:"richtext-flex-1",onInput:e=>b(e.target.value),placeholder:"Enter link",type:"url",value:w}),/* @__PURE__ */d(t,{className:"richtext-w-[60px]",onClick:function(){if(!w)return;const t=x(w);e.chain().updateAttributes(M.name,{src:t?.src||w}).setNodeSelection(e.state.selection.from).focus().run()},children:"OK"})]}),c&&/* @__PURE__ */d(g,{size:{width:Number.parseInt(p),height:Number.parseInt(f)},onResizeStop:(e,t,r,i)=>{v({width:Number.parseInt(p)+i.width,height:Number.parseInt(f)+i.height})},children:/* @__PURE__ */d("div",{className:m(k,"render-wrapper"),children:/* @__PURE__ */d("div",{className:y,style:{pointerEvents:s?"none":"auto"},children:/* @__PURE__ */d("iframe",{className:"richtext-my-[12px]",src:c})})})})]})}function I(){const t=n(M.name),{icon:r,tooltip:a,shortcutKeys:s,tooltipOptions:o={},action:c,isActive:l}=t?.componentProps??{},{editorDisabled:u,update:m}=i(l);return t?/* @__PURE__ */d(e,{action:()=>{u||c&&(c(),m())},disabled:u,icon:r,shortcutKeys:s,tooltip:a,tooltipOptions:o}):/* @__PURE__ */d(p,{})}var M=f.create({name:"iframe",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"iframe"},button:({editor:e,extension:t,t:r})=>({componentProps:{action:t=>e.commands.setIframe(t),upload:t.options.upload,icon:"Iframe",tooltip:r("editor.iframe.tooltip")}})}},addAttributes(){return{width:{default:600,parseHTML:s("width")},height:{default:300,parseHTML:s("height")},src:{default:null,parseHTML:s("src")},defaultShowPicker:{default:!1},frameborder:{default:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen}}},parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:e}){return["iframe",w(this.options.HTMLAttributes,e)]},addCommands(){return{setIframe:e=>({tr:t,commands:r,chain:i})=>{if(t.selection?.node?.type?.name==this.name)return r.updateAttributes(this.name,e);const a=e||{url:""};return i().insertContent({type:this.name,attrs:a}).run()}}},addInputRules(){return[b({find:/^\$iframe\$$/,type:this.type,getAttributes:()=>({width:"100%"})})]},addNodeView:()=>c(P)});export{I as n,x as r,M as t};
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./toggle-CRftKzl0.cjs"),r=require("./button-CYMsgP3Y.cjs"),i=require("./input-AvqqajGM.cjs"),n=require("./useButtonProps-D2Hd5DbR.cjs"),a=require("./dom-dataset-w2ZYeuXJ.cjs");let s=require("@tiptap/react"),c=require("react"),o=require("clsx");o=e.__toESM(o,1);let u=require("react/jsx-runtime"),l=require("@tiptap/core"),d=require("re-resizable");var p={youtube:{example:"https://www.youtube.com/watch?v=I4sMhHbHYXM",src:"https://www.youtube.com/embed/I4sMhHbHYXM",srcPrefix:"https://www.youtube.com/embed",linkRule:[/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\s/]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[&?]v=)|youtu\.be\/)([\w-]{11})/]},youku:{example:"https://v.youku.com/v_show/id_XNDM0NDM4MTcy.html?spm=a2h0c.8166622.PhoneSokuUgc_4.dtitle",src:"https://player.youku.com/embed/XNDM0NDM4MTcy",srcPrefix:"https://player.youku.com/embed",linkRule:[String.raw`v.youku.com\/v_show\/id_\w+\=*`],idRule:String.raw`id_\w+\=*`},bilibili:{example:"https://www.bilibili.com/video/BV1EJ411u7DN",src:"https://player.bilibili.com/player.html?bvid=BV1EJ411u7DN",srcPrefix:"https://player.bilibili.com/player.html?bvid",linkRule:[String.raw`www.bilibili.com\/video\/\w+`]},qqvideo:{example:"https://v.qq.com/x/cover/mzc0020006aw1mn/u0033nvzb5v.html",src:"https://v.qq.com/txp/iframe/player.html?vid=u0033nvzb5v",srcPrefix:"https://v.qq.com/txp/iframe/player.html?vid",linkRule:[String.raw`v.qq.com\/x\/cover\/\w+\/\w+`]},amap:{example:"https://ditu.amap.com/",src:"https://www.amap.com/place/B000A45467",srcPrefix:"",linkRule:[String.raw`\.amap\.com`]},baidu_map:{example:"https://j.map.baidu.com/15/fo",src:"https://j.map.baidu.com/15/fo",srcPrefix:"",linkRule:[String.raw`map\.baidu\.com`]},modao:{example:"https://free.modao.cc/app/2cd26580a6717a147454df7470e7ec464093cba3/embed/v2#screen=sk71k6d1dfxulzx",src:"https://free.modao.cc/app/6UkpAxcGE3nPz52GLqhnOZgC7MATBSy/embed/v2",srcPrefix:"",linkRule:[String.raw`https:\/\/\w+.modao.cc\/app\/\w+\/embed\/v2`],tips:"Modao > More > Share > Embed > COPY"},lanhu:{example:"https://lanhuapp.com/link/#/invite?sid=evP7L",src:"https://lanhuapp.com/url/evP7L",srcPrefix:"",linkRule:[String.raw`https:\/\/lanhuapp.com\/url\/\w+`],tips:"Lanhu > Project > Share > Copy Link"},figma:{example:"https://www.figma.com/file/aS9uSgPXoNpaPkzbjNcK8v/Demo?node-id=0%3A1",src:"https://www.figma.com/file/aS9uSgPXoNpaPkzbjNcK8v/Demo?node-id=0%3A1",srcPrefix:"https://www.figma.com/embed?embed_host=share&url",linkRule:[String.raw`https:\/\/www.figma.com\/file\/\w+`]},canva:{example:"https://www.canva.cn/design/DAD61-t29UI/view",src:"https://www.canva.cn/design/DAD61-t29UI/view",srcPrefix:"",linkRule:[String.raw`https:\/\/www.canva.cn\/design\/.+\/view`]},processon:{example:"https://www.processon.com/embed/5ea99d8607912948b0e6fe78",src:"https://www.processon.com/embed/5ea99d8607912948b0e6fe78",srcPrefix:"",linkRule:[String.raw`https:\/\/www.processon.com\/embed\/\w+`]},codepen:{example:"https://codepen.io/mekery/embed/YzyrKOJ",src:"https://codepen.io/mekery/embed/YzyrKOJ",srcPrefix:"",linkRule:[String.raw`https:\/\/codepen.io\/.+\/embed\/\w+`]},jinshuju:{example:"https://jinshuju.net/f/q9YvVf",src:"https://jinshuju.net/f/q9YvVf",srcPrefix:"",linkRule:[String.raw`https:\/\/jinshuju.net\/f\/\w+`]},iframe:{example:"https://v.youku.com/v_show/id_XNDM0NDM4MTcy.html",src:"https://player.youku.com/embed/XNDM0NDM4MTcy",srcPrefix:"",linkRule:[".+"]},googlemaps:{example:"https://goo.gl/maps/8Ys8b4K1ZJY2",src:"https://www.google.com/maps/embed?pb=https://goo.gl/maps/8Ys8b4K1ZJY2",srcPrefix:"",linkRule:[String.raw`https:\/\/goo.gl\/maps\/\w+`]}};function m(e){let t={validLink:!1,validId:!1,matchedUrl:"",originalLink:e,src:""};const r=function(e){let t="iframe";return(e.includes?.("youtube")||e.includes?.("youtu.be"))&&(t="youtube"),e.includes("youku")&&(t="youku"),e.includes("bilibili")&&(t="bilibili"),e.includes("qq")&&(t="qqvideo"),e.includes("amap")&&(t="amap"),e.includes("map.baidu")&&(t="baidu_map"),(e.includes("google.com/maps")||e.includes("maps.app.goo.gl"))&&(t="googlemaps"),e.includes("modao")&&(t="modao"),e.includes("lanhuapp")&&(t="lanhu"),e.includes("figma")&&(t="figma"),e.includes("canva")&&(t="canva"),e.includes("processon")&&(t="processon"),e.includes("codepen")&&(t="codepen"),e.includes("jinshuju")&&(t="jinshuju"),e.includes("iframe")&&(t="iframe"),t}(e);if(t=function(e,t,r){if("googlemaps"===e)return r.validLink=!0,r.matchedUrl=t,r;const i=p[e].linkRule;for(const n of i){const i=new RegExp(n),a=t.match(i);if(a&&a.length>0)return r.validLink=!0,r.matchedUrl="youtube"===e?a[1]:a[0],r}return r}(r,e,t),!t.validLink)return t;switch(r){case"youtube":return function(e){const t=p.youtube,r=e.matchedUrl;e.validLink=!0;const i=r.split("="),n=i.length;if(n>0){const r=i[n-1];e.src=`${t.srcPrefix}/${r}`,e.validId=!0}return e}(t);case"youku":return function(e){const t=p.youku,r=e.matchedUrl,i=t.idRule,n=new RegExp(i),a=r.match(n);if(a&&a.length>0){const r=a[0].slice(3);e.validId=!0,e.src=`${t.srcPrefix}/${r}`}else e.validId=!1;return e}(t);case"bilibili":return function(e){const t=p.bilibili,r=e.matchedUrl.split("/"),i=r.length;if(i>0){const n=r[i-1];e.src=`${t.srcPrefix}=${n}`,e.validId=!0}return e}(t);case"qqvideo":return function(e){const t=p.qqvideo,r=e.matchedUrl.split("/"),i=r.length;if(i>0){const n=r[i-1];e.src=`${t.srcPrefix}=${n}`,e.validId=!0}return e}(t);case"amap":case"baidu_map":return function(e,t){return t.src=e,t.validId=!0,t}(e,t);case"googlemaps":return function(e,t){return t.src=e,t.validId=!0,t.originalLink=e,t}(e,t);case"modao":case"lanhu":return function(e){return e.src=e.matchedUrl,e.validId=!0,e.originalLink=e.src,e}(t);case"figma":return function(e){return e.src=`${p.figma.srcPrefix}=${encodeURIComponent(e.matchedUrl)}`,e.validId=!0,e.originalLink=e.matchedUrl,e}(t);case"canva":return function(e,t){return t.src=`${t.matchedUrl}?embed`,t.validId=!0,t.originalLink=e,t}(e,t);case"processon":case"iframe":return function(e,t){return t.src=`${t.matchedUrl}`,t.validId=!0,t.originalLink=e,t}(e,t);case"codepen":return function(e){return e.src=`${e.matchedUrl}`,e.validId=!0,e.originalLink=e.src,e}(t);case"jinshuju":return function(e,t){return t.src=`${t.matchedUrl}?background=white&banner=show&embedded=true`,t.validId=!0,t.originalLink=e,t}(e,t);default:return e}}var h="_wrap_5y04w_1",w="_innerWrap_5y04w_15";function f({editor:e,node:t,updateAttributes:a}){const l=n.useEditableEditor(),{src:p,width:f,height:b}=t.attrs,[x,v]=(0,c.useState)("");const y=(0,c.useCallback)(e=>{a({width:e.width,height:e.height})},[a]);return(0,u.jsxs)(s.NodeViewWrapper,{children:[!p&&(0,u.jsxs)("div",{className:"richtext-mx-auto richtext-my-[12px] richtext-flex richtext-max-w-[600px] richtext-items-center richtext-justify-center richtext-gap-[10px] richtext-rounded-[12px] richtext-border richtext-border-solid richtext-border-border richtext-p-[10px]",children:[(0,u.jsx)(i.Input,{autoFocus:!0,className:"richtext-flex-1",onInput:e=>v(e.target.value),placeholder:"Enter link",type:"url",value:x}),(0,u.jsx)(r.Button,{className:"richtext-w-[60px]",onClick:function(){if(!x)return;const t=m(x);e.chain().updateAttributes(g.name,{src:t?.src||x}).setNodeSelection(e.state.selection.from).focus().run()},children:"OK"})]}),p&&(0,u.jsx)(d.Resizable,{size:{width:Number.parseInt(f),height:Number.parseInt(b)},onResizeStop:(e,t,r,i)=>{y({width:Number.parseInt(f)+i.width,height:Number.parseInt(b)+i.height})},children:(0,u.jsx)("div",{className:(0,o.default)(h,"render-wrapper"),children:(0,u.jsx)("div",{className:w,style:{pointerEvents:l?"none":"auto"},children:(0,u.jsx)("iframe",{className:"richtext-my-[12px]",src:p})})})})]})}function b(){const e=n.useButtonProps(g.name),{icon:r,tooltip:i,shortcutKeys:a,tooltipOptions:s={},action:c,isActive:o}=e?.componentProps??{},{editorDisabled:l,update:d}=n.useToggleActive(o);return e?(0,u.jsx)(t.ActionButton,{action:()=>{l||c&&(c(),d())},disabled:l,icon:r,shortcutKeys:a,tooltip:i,tooltipOptions:s}):(0,u.jsx)(u.Fragment,{})}var g=l.Node.create({name:"iframe",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"iframe"},button:({editor:e,extension:t,t:r})=>({componentProps:{action:t=>e.commands.setIframe(t),upload:t.options.upload,icon:"Iframe",tooltip:r("editor.iframe.tooltip")}})}},addAttributes(){return{width:{default:600,parseHTML:a.getDatasetAttribute("width")},height:{default:300,parseHTML:a.getDatasetAttribute("height")},src:{default:null,parseHTML:a.getDatasetAttribute("src")},defaultShowPicker:{default:!1},frameborder:{default:0},allowfullscreen:{default:this.options.allowFullscreen,parseHTML:()=>this.options.allowFullscreen}}},parseHTML:()=>[{tag:"iframe"}],renderHTML({HTMLAttributes:e}){return["iframe",(0,l.mergeAttributes)(this.options.HTMLAttributes,e)]},addCommands(){return{setIframe:e=>({tr:t,commands:r,chain:i})=>{if(t.selection?.node?.type?.name==this.name)return r.updateAttributes(this.name,e);const n=e||{url:""};return i().insertContent({type:this.name,attrs:n}).run()}}},addInputRules(){return[(0,l.nodeInputRule)({find:/^\$iframe\$$/,type:this.type,getAttributes:()=>({width:"100%"})})]},addNodeView:()=>(0,s.ReactNodeViewRenderer)(f)});Object.defineProperty(exports,"Iframe",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"RichTextIframe",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"getServiceSrc",{enumerable:!0,get:function(){return m}});
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./Iframe-DS5N9EFx.cjs");exports.Iframe=e.Iframe,exports.RichTextIframe=e.RichTextIframe;
package/dist/Iframe.js ADDED
@@ -0,0 +1 @@
1
+ import{n as r,t as a}from"./Iframe-B-0W9YYq.js";export{a as Iframe,r as RichTextIframe};
package/dist/Image.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./ImageCropper-BAWOk69J.cjs");exports.DEFAULT_OPTIONS=e.DEFAULT_OPTIONS,exports.Image=e.Image,exports.RichTextImage=e.RichTextImage;
package/dist/Image.js ADDED
@@ -0,0 +1 @@
1
+ import{i as r,n as a,r as m}from"./ImageCropper-Dlz4nJQu.js";export{a as DEFAULT_OPTIONS,m as Image,r as RichTextImage};
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./toggle-CRftKzl0.cjs"),i=require("./locales-Dg9XL0yP.cjs"),a=require("./Icon-DQdA22_-.cjs"),r=require("./button-CYMsgP3Y.cjs"),n=require("./checkbox-BtMvSk4V.cjs"),s=require("./dialog-CxZ2oxD2.cjs"),o=require("./input-AvqqajGM.cjs"),l=require("./label-DPSH3PiY.cjs"),c=require("./tabs-CoJRfGS8.cjs"),u=require("./throttle-COe5rswR.cjs"),d=require("./isNumber-CmHpmrpR.cjs"),m=require("./useButtonProps-D2Hd5DbR.cjs"),g=require("./file-B1Z0XcVJ.cjs");let p=require("@tiptap/react"),h=require("react"),f=e.__toESM(h,1);h=e.__toESM(h);let x=require("react/jsx-runtime"),b=require("react-image-crop");b=e.__toESM(b,1);let j=require("@tiptap/core");var v=0;var y=new Map;function w(e){if(y.has(e))return;const t=setTimeout(()=>{y.delete(e),S({type:"REMOVE_TOAST",toastId:e})},1e6);y.set(e,t)}var A=[],I={toasts:[]};function S(e){I=function(e,t){switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{const{toastId:i}=t;return i?w(i):e.toasts.forEach(e=>{w(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===i||void 0===i?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}}(I,e),A.forEach(e=>{e(I)})}function T({...e}){const t=(v=(v+1)%Number.MAX_SAFE_INTEGER).toString(),i=()=>S({type:"DISMISS_TOAST",toastId:t});return S({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||i()}}}),{id:t,dismiss:i,update:e=>S({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function C(){const[e,t]=f.useState(I);return f.useEffect(()=>(A.push(t),()=>{const e=A.indexOf(t);e>-1&&A.splice(e,1)}),[e]),{...e,toast:T,dismiss:e=>S({type:"DISMISS_TOAST",toastId:e})}}var E="tl",M="tr",N="bl",_="br";function L(e){const[t,a]=(0,f.useState)({width:i.IMAGE_MAX_SIZE,height:i.IMAGE_MAX_SIZE}),[r,n]=(0,f.useState)({width:0,height:0}),[s]=(0,f.useState)([E,M,N,_]),[o,l]=(0,f.useState)(!1),[c,m]=(0,f.useState)({x:0,y:0,w:0,h:0,dir:""}),{align:g,inline:h}=e.node.attrs,b=h&&("left"===g||"right"===g),j=(0,f.useMemo)(()=>{const{src:t,alt:i,width:a,height:r,flipX:n,flipY:s}=e.node.attrs,o=d.isNumber(a)?`${a}px`:a,l=d.isNumber(r)?`${r}px`:r,c=[];n&&c.push("rotateX(180deg)"),s&&c.push("rotateY(180deg)");return{src:t||void 0,alt:i||void 0,style:{width:o||void 0,height:l||void 0,transform:c.join(" ")||"none",...b?{float:g}:{}}}},[e?.node?.attrs]),v=(0,f.useMemo)(()=>{const{style:{width:e}}=j;return{width:"100%"===e?e:void 0}},[j]);function y(){const{editor:t,getPos:i}=e;t.commands.setNodeSelection(i())}const w=(0,f.useCallback)(u.throttle(()=>{const{editor:t}=e,{width:i}=getComputedStyle(t.view.dom);a(e=>({...e,width:Number.parseInt(i,10)}))},16),[e?.editor]);const A=(0,f.useCallback)(u.throttle(i=>{if(i.preventDefault(),i.stopPropagation(),!o)return;const{x:a,w:r,dir:n}=c,s=(i.clientX-a)*(/l/.test(n)?-1:1),l=d.clamp(r+s,20,t.width);e.updateAttributes({width:l,height:null})},16),[o,c,t,e.updateAttributes]),I=(0,f.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o&&(m({x:0,y:0,w:0,h:0,dir:""}),l(!1),y())},[o,y]),S=(0,f.useCallback)(()=>{document?.addEventListener("mousemove",A,!0),document?.addEventListener("mouseup",I,!0)},[A,I]),T=(0,f.useCallback)(()=>{document?.removeEventListener("mousemove",A,!0),document?.removeEventListener("mouseup",I,!0)},[A,I]);(0,f.useEffect)(()=>(o?S():T(),()=>{T()}),[o,S,T]);const C=(0,f.useMemo)(()=>new ResizeObserver(()=>w()),[w]);return(0,f.useEffect)(()=>(C.observe(e.editor.view.dom),()=>{C.disconnect()}),[e.editor.view.dom,C]),(0,x.jsx)(p.NodeViewWrapper,{as:h?"span":"div",className:"image-view",style:{float:b?g:void 0,margin:b?"left"===g?"1em 1em 1em 0":"1em 0 1em 1em":void 0,display:h?"inline":"block",textAlign:b?void 0:g,width:j.style?.width??"auto",...b?{}:v},children:(0,x.jsxs)("div",{"data-drag-handle":!0,draggable:"true",style:v,className:`image-view__body ${e?.selected?"image-view__body--focused":""} ${o?"image-view__body--resizing":""}`,children:[(0,x.jsx)("img",{alt:j.alt,className:"image-view__body__image block",height:"auto",onClick:y,onLoad:function(e){n({width:e.target.width,height:e.target.height})},src:j.src,style:j.style}),e?.editor.view.editable&&(e?.selected||o)&&(0,x.jsx)("div",{className:"image-resizer",children:s?.map(i=>(0,x.jsx)("span",{className:`image-resizer__handler image-resizer__handler--${i}`,onMouseDown:a=>function(i,a){i.preventDefault(),i.stopPropagation();const n=r.width,s=n/r.height;let o=Number(e.node.attrs.width),c=Number(e.node.attrs.height);const u=t.width;o&&!c?(o=o>u?u:o,c=Math.round(o/s)):c&&!o?(o=Math.round(c*s),o=o>u?u:o):o||c?o=o>u?u:o:(o=n>u?u:n,c=Math.round(o/s)),l(!0),m({x:i.clientX,y:i.clientY,w:o,h:c,dir:a})}(a,i)},`image-dir-${i}`))})]})})}function D(e,t){const{acceptMimes:i,maxSize:a,t:r,toast:n}=t,s=[];return(Array.isArray(e)?e:Object.values(e)).forEach(e=>{if(function(e,t){if(!t||0===t.length)return!0;const i=e.type,a=e.name.toLowerCase(),r=a.split(".").pop();if(!r)return!1;const n=i||{heif:"image/heif",heic:"image/heic",dng:"image/x-adobe-dng",cr2:"image/x-canon-cr2",nef:"image/x-nikon-nef",arw:"image/x-sony-arw",raf:"image/x-fuji-raf",orf:"image/x-olympus-orf"}[r];return t.some(e=>{if(e.startsWith("."))return a.endsWith(e);if(e.endsWith("/*")){const t=e.split("/")[0];return n?.startsWith(t+"/")}return n===e})}(e,i)){if(e.size>a){const i=(a/1024/1024).toFixed(2);return void(t.onError?t.onError({type:"size",message:r("editor.upload.fileSizeTooBig",{fileName:e.name,size:i}),file:e}):n({variant:"default",title:r("editor.upload.fileSizeTooBig",{fileName:e.name,size:i})}))}s.push(e)}else t.onError?t.onError({type:"type",message:r("editor.upload.fileTypeNotSupported",{fileName:e.name}),file:e}):n({variant:"default",title:r("editor.upload.fileTypeNotSupported",{fileName:e.name})})}),s}function O(){const{t:e}=i.useLocale(),{toast:u}=C(),d=m.useEditorInstance(),g=m.useButtonProps(q.name),{icon:p,tooltip:h}=g?.componentProps??{},{editorDisabled:b}=m.useToggleActive(),[j,v]=(0,f.useState)(!1),[y,w]=(0,f.useState)(!1),A=m.useExtension(q.name),[I,S]=(0,f.useState)(""),[T,E]=(0,f.useState)(""),M=(0,f.useRef)(null),N=A?.options.defaultInline||!1,[_,L]=(0,f.useState)(N),O=(0,f.useMemo)(()=>A?.options||k,[A]);return g?(0,x.jsxs)(s.Dialog,{onOpenChange:v,open:j,children:[(0,x.jsx)(s.DialogTrigger,{asChild:!0,children:(0,x.jsx)(t.ActionButton,{disabled:b,icon:p,tooltip:h,action:()=>{b||v(!0)}})}),(0,x.jsxs)(s.DialogContent,{children:[(0,x.jsx)(s.DialogTitle,{children:e("editor.image.dialog.title")}),(0,x.jsxs)(c.Tabs,{activationMode:"manual",defaultValue:"both"===O.resourceImage||"upload"===O.resourceImage?"upload":"link",children:["both"===O.resourceImage&&(0,x.jsxs)(c.TabsList,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[(0,x.jsx)(c.TabsTrigger,{value:"upload",children:e("editor.image.dialog.tab.upload")}),(0,x.jsx)(c.TabsTrigger,{value:"link",children:e("editor.image.dialog.tab.url")})]}),(0,x.jsxs)("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-[4px]",children:[(0,x.jsx)(n.Checkbox,{checked:_,onCheckedChange:e=>{L(e)}}),(0,x.jsx)(l.Label,{children:e("editor.link.dialog.inline")})]}),O.enableAlt&&(0,x.jsxs)("div",{className:"richtext-my-[10px]",children:[(0,x.jsx)(l.Label,{className:"mb-[6px]",children:e("editor.imageUpload.alt")}),(0,x.jsx)(o.Input,{onChange:e=>E(e.target.value),required:!0,type:"text",value:T})]}),(0,x.jsxs)(c.TabsContent,{value:"upload",children:[(0,x.jsxs)("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[(0,x.jsx)(r.Button,{className:"richtext-mt-1 richtext-w-full",disabled:y,onClick:function(e){e.preventDefault(),M.current?.click()},size:"sm",children:y?(0,x.jsxs)(x.Fragment,{children:[e("editor.imageUpload.uploading"),(0,x.jsx)(a.IconComponent,{className:"richtext-ml-1 richtext-animate-spin",name:"Loader"})]}):e("editor.image.dialog.tab.upload")}),(0,x.jsx)(P,{alt:T,disabled:y,editor:d,imageInline:_,onClose:()=>{E("")}})]}),(0,x.jsx)("input",{accept:O?.acceptMimes?.join(",")||"image/*",multiple:O.multiple,onChange:async function(t){const i=t?.target?.files;if(!d||d.isDestroyed||0===i.length||y)return void(t.target.value="");const a=D(i,{acceptMimes:O?.acceptMimes,maxSize:O?.maxSize,t:e,toast:u,onError:O.onError});if(a.length<=0)t.target.value="";else{w(!0);try{if(O?.multiple){const e=a.map(async e=>{let t="";return t=O.upload?await O.upload(e):URL.createObjectURL(e),t});(await Promise.all(e)).forEach(e=>{d.chain().focus().setImageInline({src:e,inline:_,alt:T}).run()})}else{const e=a[0];let t="";t=O.upload?await O.upload(e):URL.createObjectURL(e),d.chain().focus().setImageInline({src:t,inline:_,alt:T}).run()}v(!1),E(""),L(N)}catch(r){O.onError?O.onError({type:"upload",message:e("editor.upload.error")}):u({variant:"destructive",title:e("editor.upload.error")})}finally{w(!1),t.target.value=""}}},ref:M,style:{display:"none"},type:"file"})]}),(0,x.jsx)(c.TabsContent,{value:"link",children:(0,x.jsx)("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation(),d.chain().focus().setImageInline({src:I,inline:_,alt:T}).run(),v(!1),L(N),S(""),E("")},children:(0,x.jsxs)("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[(0,x.jsx)(o.Input,{autoFocus:!0,onChange:e=>S(e.target.value),placeholder:e("editor.image.dialog.placeholder"),required:!0,type:"url",value:I}),(0,x.jsx)(r.Button,{type:"submit",children:e("editor.image.dialog.button.apply")})]})})})]})]})]}):(0,x.jsx)(x.Fragment,{})}var k={acceptMimes:["image/jpeg","image/gif","image/png","image/jpg"],maxSize:5242880,multiple:!0,resourceImage:"both",defaultInline:!1,enableAlt:!0},q=u.index_default.extend({group:"inline",inline:!0,defining:!0,draggable:!0,selectable:!0,addOptions(){return{...k,...this.parent?.(),upload:()=>Promise.reject("Image Upload Function"),button:({editor:e,extension:t,t:i})=>({componentProps:{action:()=>!0,upload:t.options.upload,disabled:!e.can().setImage?.({}),icon:"ImageUp",tooltip:i("editor.image.tooltip")}})}},addAttributes(){return{...this.parent?.(),flipX:{default:!1},flipY:{default:!1},width:{default:null,parseHTML:e=>{const t=e.style.width||e.getAttribute("width")||null;return t?Number.parseInt(t,10):null},renderHTML:e=>({width:e.width})},align:{default:"center",parseHTML:e=>e.getAttribute("align"),renderHTML:e=>({align:e.align})},inline:{default:!1,parseHTML:e=>Boolean(e.getAttribute("inline")),renderHTML:e=>({inline:e.inline})},alt:{default:"",parseHTML:e=>e.getAttribute("alt"),renderHTML:e=>({alt:e.alt})}}},addNodeView:()=>(0,p.ReactNodeViewRenderer)(L),addCommands(){return{...this.parent?.(),setImageInline:e=>({commands:t})=>t.insertContent({type:this.name,attrs:{...e,inline:e.inline??this.options.defaultInline}}),updateImage:e=>({commands:t})=>t.updateAttributes(this.name,e),setAlignImage:e=>({commands:t})=>t.updateAttributes(this.name,{align:e})}},renderHTML({HTMLAttributes:e}){const{flipX:t,flipY:i,align:a,inline:r}=e,n=r&&("left"===a||"right"===a),s=`${n?`float: ${a};`:""}${n?"left"===a?"margin: 1em 1em 1em 0;":"margin: 1em 0 1em 1em;":""}${t||i?`transform: rotateX(${t?"180":"0"}deg) rotateY(${i?"180":"0"}deg);`:""}`;return[r?"span":"div",{style:n?"":`text-align: ${a};`,class:"image"},["img",(0,j.mergeAttributes)({height:"auto",style:s},this.options.HTMLAttributes,e)]]},parseHTML:()=>[{tag:"span.image img",getAttrs:e=>{const t=e?.parentElement,i=e?.getAttribute("width"),a=e?.getAttribute("flipx")||!1,r=e?.getAttribute("flipy")||!1;return{src:e?.getAttribute("src"),alt:e?.getAttribute("alt"),caption:e?.getAttribute("caption"),width:i?Number.parseInt(i,10):null,align:e?.getAttribute("align")||t?.style?.textAlign||null,inline:e?.getAttribute("inline")||!1,flipX:"true"===a,flipY:"true"===r}}},{tag:"div[class=image]",getAttrs:e=>{const t=e.querySelector("img"),i=t?.getAttribute("width"),a=t?.getAttribute("flipx")||!1,r=t?.getAttribute("flipy")||!1;return{src:t?.getAttribute("src"),alt:t?.getAttribute("alt"),caption:t?.getAttribute("caption"),width:i?Number.parseInt(i,10):null,align:t?.getAttribute("align")||e.style.textAlign||null,inline:t?.getAttribute("inline")||!1,flipX:"true"===a,flipY:"true"===r}}},{tag:'img[src]:not([src^="data:"])'}]});function P({editor:e,imageInline:t,onClose:n,disabled:o,alt:l}){const{t:c}=i.useLocale(),{toast:u}=C(),[d,p]=(0,f.useState)(!1),[h,j]=(0,f.useState)(!1),v=f.default.useRef(null),[y,w]=f.default.useState(),[A,I]=f.default.useState(""),S=(0,f.useRef)(null),[T,E]=(0,f.useState)({src:"",file:null}),M=m.useExtension(q.name),N=(0,f.useMemo)(()=>M?.options??{},[M]);function _(e){if(v.current&&e.width&&e.height){const t=function(e,t){const i=document.createElement("canvas"),a=e.naturalWidth/e.width,r=e.naturalHeight/e.height;i.width=t.width*a,i.height=t.height*r;const n=i.getContext("2d");n&&(n.imageSmoothingEnabled=!1,n.drawImage(e,t.x*a,t.y*r,t.width*a,t.height*r,0,0,t.width*a,t.height*r));return i.toDataURL("image/png",1)}(v.current,e);I(t)}}const L=f.default.useCallback(async()=>{if(!h){j(!0);try{const i=g.dataURLtoFile(A,T?.file?.name||"image.png");let a="";a=N.upload?await N.upload(i):URL.createObjectURL(i),e.chain().focus().setImageInline({src:a,inline:t,alt:l}).run(),p(!1),E({src:"",file:null}),O(),n()}catch(i){}finally{j(!1)}}},[A,e,t,h,n,T?.file?.name,N]);const O=()=>{S.current&&(S.current.value="")};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(r.Button,{className:"richtext-mt-1 richtext-w-full",disabled:o,onClick:function(e){e.preventDefault(),S.current?.click()},size:"sm",children:c("editor.image.dialog.tab.uploadCrop")}),(0,x.jsxs)(s.Dialog,{open:d,onOpenChange:e=>{p(e),e||(E({src:"",file:null}),O())},children:[(0,x.jsx)(s.DialogTrigger,{}),(0,x.jsxs)(s.DialogContent,{children:[(0,x.jsx)(s.DialogTitle,{children:c("editor.image.dialog.tab.uploadCrop")}),(0,x.jsx)("div",{children:T.src&&(0,x.jsx)(b.default,{className:"richtext-w-full",crop:y,onChange:e=>w(e),onComplete:e=>_(e),children:(0,x.jsx)("img",{alt:"Crop me",ref:v,src:T.src})})}),(0,x.jsxs)(s.DialogFooter,{children:[(0,x.jsxs)(r.Button,{disabled:h,onClick:()=>{p(!1),E({src:"",file:null}),O()},children:[c("editor.imageUpload.cancel"),(0,x.jsx)(a.IconComponent,{className:"richtext-ml-1",name:"Trash2"})]}),(0,x.jsx)(r.Button,{className:"richtext-w-fit",disabled:h||!y,onClick:L,children:h?(0,x.jsxs)(x.Fragment,{children:[c("editor.imageUpload.uploading"),(0,x.jsx)(a.IconComponent,{className:"richtext-ml-1 richtext-animate-spin",name:"Loader"})]}):(0,x.jsxs)(x.Fragment,{children:[c("editor.imageUpload.crop"),(0,x.jsx)(a.IconComponent,{className:"richtext-ml-1",name:"Crop"})]})})]})]})]}),(0,x.jsx)("input",{accept:N?.acceptMimes?.join(",")||"image/*",multiple:!1,onChange:async t=>{const i=t?.target?.files;if(!e||e.isDestroyed||0===i.length)return void(t.target.value="");const a=D(i,{acceptMimes:N?.acceptMimes,maxSize:N?.maxSize,t:c,toast:u,onError:N.onError});if(a.length<=0)return void(t.target.value="");const r=a[0],n=await g.readImageAsBase64(r);p(!0),E({src:n.src,file:r})},ref:S,style:{display:"none"},type:"file"})]})}Object.defineProperty(exports,"DEFAULT_OPTIONS",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"Image",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"ImageCropper",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"RichTextImage",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"useToast",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"validateFiles",{enumerable:!0,get:function(){return D}});
@@ -0,0 +1,11 @@
1
+ import{n as e}from"./toggle-BXl_NYYh.js";import{g as t,n as i}from"./locales-DfkG6-1b.js";import{t as a}from"./Icon-CJJ9AQtR.js";import{t as r}from"./button-CXcuJkiM.js";import{t as n}from"./checkbox-zfuPZBhD.js";import{a as o,n as l,o as s,r as d,t as c}from"./dialog-DgdVbRUv.js";import{t as m}from"./input-CMD6LZFr.js";import{t as u}from"./label-Dx1mMx8l.js";import{i as p,n as g,r as h,t as f}from"./tabs-BovAV0Y3.js";import{o as b,t as v}from"./throttle-BpbN7uB1.js";import{n as x,t as y}from"./isNumber-7Fi2iQVS.js";import{c as w,d as A,o as I,t as T}from"./useButtonProps-DSIajp_B.js";import{o as S,t as N}from"./file-aBzFF1LO.js";import{NodeViewWrapper as M,ReactNodeViewRenderer as E}from"@tiptap/react";import*as C from"react";import L,{useCallback as j,useEffect as _,useMemo as O,useRef as D,useState as k}from"react";import{Fragment as z,jsx as U,jsxs as H}from"react/jsx-runtime";import $ from"react-image-crop";import{mergeAttributes as P}from"@tiptap/core";var R=0;var X=/* @__PURE__ */new Map;function Y(e){if(X.has(e))return;const t=setTimeout(()=>{X.delete(e),q({type:"REMOVE_TOAST",toastId:e})},1e6);X.set(e,t)}var F=[],W={toasts:[]};function q(e){W=function(e,t){switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{const{toastId:i}=t;return i?Y(i):e.toasts.forEach(e=>{Y(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===i||void 0===i?{...e,open:!1}:e)}}case"REMOVE_TOAST":return void 0===t.toastId?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}}(W,e),F.forEach(e=>{e(W)})}function B({...e}){const t=(R=(R+1)%Number.MAX_SAFE_INTEGER).toString(),i=()=>q({type:"DISMISS_TOAST",toastId:t});return q({type:"ADD_TOAST",toast:{...e,id:t,open:!0,onOpenChange:e=>{e||i()}}}),{id:t,dismiss:i,update:e=>q({type:"UPDATE_TOAST",toast:{...e,id:t}})}}function V(){const[e,t]=C.useState(W);return C.useEffect(()=>(F.push(t),()=>{const e=F.indexOf(t);e>-1&&F.splice(e,1)}),[e]),{...e,toast:B,dismiss:e=>q({type:"DISMISS_TOAST",toastId:e})}}var G="tl",J="tr",K="bl",Q="br";function Z(e){const[i,a]=k({width:t,height:t}),[r,n]=k({width:0,height:0}),[o]=k([G,J,K,Q]),[l,s]=k(!1),[d,c]=k({x:0,y:0,w:0,h:0,dir:""}),{align:m,inline:u}=e.node.attrs,p=u&&("left"===m||"right"===m),g=O(()=>{const{src:t,alt:i,width:a,height:r,flipX:n,flipY:o}=e.node.attrs,l=y(a)?`${a}px`:a,s=y(r)?`${r}px`:r,d=[];n&&d.push("rotateX(180deg)"),o&&d.push("rotateY(180deg)");return{src:t||void 0,alt:i||void 0,style:{width:l||void 0,height:s||void 0,transform:d.join(" ")||"none",...p?{float:m}:{}}}},[e?.node?.attrs]),h=O(()=>{const{style:{width:e}}=g;return{width:"100%"===e?e:void 0}},[g]);function f(){const{editor:t,getPos:i}=e;t.commands.setNodeSelection(i())}const b=j(v(()=>{const{editor:t}=e,{width:i}=getComputedStyle(t.view.dom);a(e=>({...e,width:Number.parseInt(i,10)}))},16),[e?.editor]);const w=j(v(t=>{if(t.preventDefault(),t.stopPropagation(),!l)return;const{x:a,w:r,dir:n}=d,o=(t.clientX-a)*(/l/.test(n)?-1:1),s=x(r+o,20,i.width);e.updateAttributes({width:s,height:null})},16),[l,d,i,e.updateAttributes]),A=j(e=>{e.preventDefault(),e.stopPropagation(),l&&(c({x:0,y:0,w:0,h:0,dir:""}),s(!1),f())},[l,f]),I=j(()=>{document?.addEventListener("mousemove",w,!0),document?.addEventListener("mouseup",A,!0)},[w,A]),T=j(()=>{document?.removeEventListener("mousemove",w,!0),document?.removeEventListener("mouseup",A,!0)},[w,A]);_(()=>(l?I():T(),()=>{T()}),[l,I,T]);const S=O(()=>new ResizeObserver(()=>b()),[b]);return _(()=>(S.observe(e.editor.view.dom),()=>{S.disconnect()}),[e.editor.view.dom,S]),/* @__PURE__ */U(M,{as:u?"span":"div",className:"image-view",style:{float:p?m:void 0,margin:p?"left"===m?"1em 1em 1em 0":"1em 0 1em 1em":void 0,display:u?"inline":"block",textAlign:p?void 0:m,width:g.style?.width??"auto",...p?{}:h},children:/* @__PURE__ */H("div",{"data-drag-handle":!0,draggable:"true",style:h,className:`image-view__body ${e?.selected?"image-view__body--focused":""} ${l?"image-view__body--resizing":""}`,children:[/* @__PURE__ */U("img",{alt:g.alt,className:"image-view__body__image block",height:"auto",onClick:f,onLoad:function(e){n({width:e.target.width,height:e.target.height})},src:g.src,style:g.style}),e?.editor.view.editable&&(e?.selected||l)&&/* @__PURE__ */U("div",{className:"image-resizer",children:o?.map(t=>/* @__PURE__ */U("span",{className:`image-resizer__handler image-resizer__handler--${t}`,onMouseDown:a=>function(t,a){t.preventDefault(),t.stopPropagation();const n=r.width,o=n/r.height;let l=Number(e.node.attrs.width),d=Number(e.node.attrs.height);const m=i.width;l&&!d?(l=l>m?m:l,d=Math.round(l/o)):d&&!l?(l=Math.round(d*o),l=l>m?m:l):l||d?l=l>m?m:l:(l=n>m?m:n,d=Math.round(l/o)),s(!0),c({x:t.clientX,y:t.clientY,w:l,h:d,dir:a})}(a,t)},`image-dir-${t}`))})]})})}function ee(e,t){const{acceptMimes:i,maxSize:a,t:r,toast:n}=t,o=[];return(Array.isArray(e)?e:Object.values(e)).forEach(e=>{if(function(e,t){if(!t||0===t.length)return!0;const i=e.type,a=e.name.toLowerCase(),r=a.split(".").pop();if(!r)return!1;const n=i||{heif:"image/heif",heic:"image/heic",dng:"image/x-adobe-dng",cr2:"image/x-canon-cr2",nef:"image/x-nikon-nef",arw:"image/x-sony-arw",raf:"image/x-fuji-raf",orf:"image/x-olympus-orf"}[r];return t.some(e=>{if(e.startsWith("."))return a.endsWith(e);if(e.endsWith("/*")){const t=e.split("/")[0];return n?.startsWith(t+"/")}return n===e})}(e,i)){if(e.size>a){const i=(a/1024/1024).toFixed(2);return void(t.onError?t.onError({type:"size",message:r("editor.upload.fileSizeTooBig",{fileName:e.name,size:i}),file:e}):n({variant:"default",title:r("editor.upload.fileSizeTooBig",{fileName:e.name,size:i})}))}o.push(e)}else t.onError?t.onError({type:"type",message:r("editor.upload.fileTypeNotSupported",{fileName:e.name}),file:e}):n({variant:"default",title:r("editor.upload.fileTypeNotSupported",{fileName:e.name})})}),o}function te(){const{t:t}=i(),{toast:d}=V(),b=A(),v=T(ae.name),{icon:x,tooltip:y}=v?.componentProps??{},{editorDisabled:S}=w(),[N,M]=k(!1),[E,C]=k(!1),L=I(ae.name),[j,_]=k(""),[$,P]=k(""),R=D(null),X=L?.options.defaultInline||!1,[Y,F]=k(X),W=O(()=>L?.options||ie,[L]);return v?/* @__PURE__ */H(c,{onOpenChange:M,open:N,children:[/* @__PURE__ */U(s,{asChild:!0,children:/* @__PURE__ */U(e,{disabled:S,icon:x,tooltip:y,action:()=>{S||M(!0)}})}),/* @__PURE__ */H(l,{children:[/* @__PURE__ */U(o,{children:t("editor.image.dialog.title")}),/* @__PURE__ */H(f,{activationMode:"manual",defaultValue:"both"===W.resourceImage||"upload"===W.resourceImage?"upload":"link",children:["both"===W.resourceImage&&/* @__PURE__ */H(h,{className:"richtext-grid richtext-w-full richtext-grid-cols-2",children:[/* @__PURE__ */U(p,{value:"upload",children:t("editor.image.dialog.tab.upload")}),/* @__PURE__ */U(p,{value:"link",children:t("editor.image.dialog.tab.url")})]}),
2
+ /* @__PURE__ */H("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-[4px]",children:[/* @__PURE__ */U(n,{checked:Y,onCheckedChange:e=>{F(e)}}),/* @__PURE__ */U(u,{children:t("editor.link.dialog.inline")})]}),W.enableAlt&&/* @__PURE__ */H("div",{className:"richtext-my-[10px]",children:[/* @__PURE__ */U(u,{className:"mb-[6px]",children:t("editor.imageUpload.alt")}),/* @__PURE__ */U(m,{onChange:e=>P(e.target.value),required:!0,type:"text",value:$})]}),
3
+ /* @__PURE__ */H(g,{value:"upload",children:[/* @__PURE__ */H("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[/* @__PURE__ */U(r,{className:"richtext-mt-1 richtext-w-full",disabled:E,onClick:function(e){e.preventDefault(),R.current?.click()},size:"sm",children:E?/* @__PURE__ */H(z,{children:[t("editor.imageUpload.uploading"),/* @__PURE__ */U(a,{className:"richtext-ml-1 richtext-animate-spin",name:"Loader"})]}):t("editor.image.dialog.tab.upload")}),/* @__PURE__ */U(re,{alt:$,disabled:E,editor:b,imageInline:Y,onClose:()=>{P("")}})]}),/* @__PURE__ */U("input",{accept:W?.acceptMimes?.join(",")||"image/*",multiple:W.multiple,onChange:async function(e){const i=e?.target?.files;if(!b||b.isDestroyed||0===i.length||E)return void(e.target.value="");const a=ee(i,{acceptMimes:W?.acceptMimes,maxSize:W?.maxSize,t:t,toast:d,onError:W.onError});if(a.length<=0)e.target.value="";else{C(!0);try{if(W?.multiple){const e=a.map(async e=>{let t="";return t=W.upload?await W.upload(e):URL.createObjectURL(e),t});(await Promise.all(e)).forEach(e=>{b.chain().focus().setImageInline({src:e,inline:Y,alt:$}).run()})}else{const e=a[0];let t="";t=W.upload?await W.upload(e):URL.createObjectURL(e),b.chain().focus().setImageInline({src:t,inline:Y,alt:$}).run()}M(!1),P(""),F(X)}catch(r){W.onError?W.onError({type:"upload",message:t("editor.upload.error")}):d({variant:"destructive",title:t("editor.upload.error")})}finally{C(!1),e.target.value=""}}},ref:R,style:{display:"none"},type:"file"})]}),
4
+ /* @__PURE__ */U(g,{value:"link",children:/* @__PURE__ */U("form",{onSubmit:function(e){e.preventDefault(),e.stopPropagation(),b.chain().focus().setImageInline({src:j,inline:Y,alt:$}).run(),M(!1),F(X),_(""),P("")},children:/* @__PURE__ */H("div",{className:"richtext-flex richtext-items-center richtext-gap-2",children:[/* @__PURE__ */U(m,{autoFocus:!0,onChange:e=>_(e.target.value),placeholder:t("editor.image.dialog.placeholder"),required:!0,type:"url",value:j}),/* @__PURE__ */U(r,{type:"submit",children:t("editor.image.dialog.button.apply")})]})})})]})]})]}):/* @__PURE__ */U(z,{})}var ie={acceptMimes:["image/jpeg","image/gif","image/png","image/jpg"],maxSize:5242880,multiple:!0,resourceImage:"both",defaultInline:!1,enableAlt:!0},ae=b.extend({group:"inline",inline:!0,defining:!0,draggable:!0,selectable:!0,addOptions(){return{...ie,...this.parent?.(),upload:()=>Promise.reject("Image Upload Function"),button:({editor:e,extension:t,t:i})=>({componentProps:{action:()=>!0,upload:t.options.upload,disabled:!e.can().setImage?.({}),icon:"ImageUp",tooltip:i("editor.image.tooltip")}})}},addAttributes(){return{...this.parent?.(),flipX:{default:!1},flipY:{default:!1},width:{default:null,parseHTML:e=>{const t=e.style.width||e.getAttribute("width")||null;return t?Number.parseInt(t,10):null},renderHTML:e=>({width:e.width})},align:{default:"center",parseHTML:e=>e.getAttribute("align"),renderHTML:e=>({align:e.align})},inline:{default:!1,parseHTML:e=>Boolean(e.getAttribute("inline")),renderHTML:e=>({inline:e.inline})},alt:{default:"",parseHTML:e=>e.getAttribute("alt"),renderHTML:e=>({alt:e.alt})}}},addNodeView:()=>E(Z),addCommands(){return{...this.parent?.(),setImageInline:e=>({commands:t})=>t.insertContent({type:this.name,attrs:{...e,inline:e.inline??this.options.defaultInline}}),updateImage:e=>({commands:t})=>t.updateAttributes(this.name,e),setAlignImage:e=>({commands:t})=>t.updateAttributes(this.name,{align:e})}},renderHTML({HTMLAttributes:e}){const{flipX:t,flipY:i,align:a,inline:r}=e,n=r&&("left"===a||"right"===a);return[r?"span":"div",{style:n?"":`text-align: ${a};`,class:"image"},["img",P({height:"auto",style:`${n?`float: ${a};`:""}${n?"left"===a?"margin: 1em 1em 1em 0;":"margin: 1em 0 1em 1em;":""}${t||i?`transform: rotateX(${t?"180":"0"}deg) rotateY(${i?"180":"0"}deg);`:""}`},this.options.HTMLAttributes,e)]]},parseHTML:()=>[{tag:"span.image img",getAttrs:e=>{const t=e?.parentElement,i=e?.getAttribute("width"),a=e?.getAttribute("flipx")||!1,r=e?.getAttribute("flipy")||!1;return{src:e?.getAttribute("src"),alt:e?.getAttribute("alt"),caption:e?.getAttribute("caption"),width:i?Number.parseInt(i,10):null,align:e?.getAttribute("align")||t?.style?.textAlign||null,inline:e?.getAttribute("inline")||!1,flipX:"true"===a,flipY:"true"===r}}},{tag:"div[class=image]",getAttrs:e=>{const t=e.querySelector("img"),i=t?.getAttribute("width"),a=t?.getAttribute("flipx")||!1,r=t?.getAttribute("flipy")||!1;return{src:t?.getAttribute("src"),alt:t?.getAttribute("alt"),caption:t?.getAttribute("caption"),width:i?Number.parseInt(i,10):null,align:t?.getAttribute("align")||e.style.textAlign||null,inline:t?.getAttribute("inline")||!1,flipX:"true"===a,flipY:"true"===r}}},{tag:'img[src]:not([src^="data:"])'}]});function re({editor:e,imageInline:t,onClose:n,disabled:m,alt:u}){const{t:p}=i(),{toast:g}=V(),[h,f]=k(!1),[b,v]=k(!1),x=L.useRef(null),[y,w]=L.useState(),[A,T]=L.useState(""),M=D(null),[E,C]=k({src:"",file:null}),j=I(ae.name),_=O(()=>j?.options??{},[j]);function P(e){if(x.current&&e.width&&e.height){const t=function(e,t){const i=document.createElement("canvas"),a=e.naturalWidth/e.width,r=e.naturalHeight/e.height;i.width=t.width*a,i.height=t.height*r;const n=i.getContext("2d");n&&(n.imageSmoothingEnabled=!1,n.drawImage(e,t.x*a,t.y*r,t.width*a,t.height*r,0,0,t.width*a,t.height*r));return i.toDataURL("image/png",1)}(x.current,e);T(t)}}const R=L.useCallback(async()=>{if(!b){v(!0);try{const i=N(A,E?.file?.name||"image.png");let a="";a=_.upload?await _.upload(i):URL.createObjectURL(i),e.chain().focus().setImageInline({src:a,inline:t,alt:u}).run(),f(!1),C({src:"",file:null}),X(),n()}catch(i){}finally{v(!1)}}},[A,e,t,b,n,E?.file?.name,_]);const X=()=>{M.current&&(M.current.value="")};/* @__PURE__ */
5
+ return H(z,{children:[
6
+ /* @__PURE__ */U(r,{className:"richtext-mt-1 richtext-w-full",disabled:m,onClick:function(e){e.preventDefault(),M.current?.click()},size:"sm",children:p("editor.image.dialog.tab.uploadCrop")}),
7
+ /* @__PURE__ */H(c,{open:h,onOpenChange:e=>{f(e),e||(C({src:"",file:null}),X())},children:[/* @__PURE__ */U(s,{}),/* @__PURE__ */H(l,{children:[
8
+ /* @__PURE__ */U(o,{children:p("editor.image.dialog.tab.uploadCrop")}),
9
+ /* @__PURE__ */U("div",{children:E.src&&/* @__PURE__ */U($,{className:"richtext-w-full",crop:y,onChange:e=>w(e),onComplete:e=>P(e),children:/* @__PURE__ */U("img",{alt:"Crop me",ref:x,src:E.src})})}),
10
+ /* @__PURE__ */H(d,{children:[/* @__PURE__ */H(r,{disabled:b,onClick:()=>{f(!1),C({src:"",file:null}),X()},children:[p("editor.imageUpload.cancel"),/* @__PURE__ */U(a,{className:"richtext-ml-1",name:"Trash2"})]}),/* @__PURE__ */U(r,{className:"richtext-w-fit",disabled:b||!y,onClick:R,children:/* @__PURE__ */H(z,b?{children:[p("editor.imageUpload.uploading"),/* @__PURE__ */U(a,{className:"richtext-ml-1 richtext-animate-spin",name:"Loader"})]}:{children:[p("editor.imageUpload.crop"),/* @__PURE__ */U(a,{className:"richtext-ml-1",name:"Crop"})]})})]})]})]}),
11
+ /* @__PURE__ */U("input",{accept:_?.acceptMimes?.join(",")||"image/*",multiple:!1,onChange:async t=>{const i=t?.target?.files;if(!e||e.isDestroyed||0===i.length)return void(t.target.value="");const a=ee(i,{acceptMimes:_?.acceptMimes,maxSize:_?.maxSize,t:p,toast:g,onError:_.onError});if(a.length<=0)return void(t.target.value="");const r=a[0],n=await S(r);f(!0),C({src:n.src,file:r})},ref:M,style:{display:"none"},type:"file"})]})}export{ee as a,te as i,ie as n,V as o,ae as r,re as t};
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./toggle-CRftKzl0.cjs"),i=require("./locales-Dg9XL0yP.cjs"),r=require("./input-AvqqajGM.cjs"),a=require("./popover-DEGqjF2J.cjs"),s=require("./throttle-COe5rswR.cjs"),n=require("./isNumber-CmHpmrpR.cjs"),o=require("./useButtonProps-D2Hd5DbR.cjs");let d=require("@tiptap/react"),c=require("react");c=e.__toESM(c,1);let l=require("react/jsx-runtime"),u=require("@tiptap/core"),h=require("grab-url");h=e.__toESM(h,1);var g="tl",m="tr",p="bl",f="br";function w(e){const[t,r]=(0,c.useState)({width:i.IMAGE_MAX_SIZE,height:i.IMAGE_MAX_SIZE}),[a,o]=(0,c.useState)({width:0,height:0}),[u]=(0,c.useState)([g,m,p,f]),[h,w]=(0,c.useState)(!1),[v,b]=(0,c.useState)({x:0,y:0,w:0,h:0,dir:""}),{align:x}=e.node.attrs,y=(0,c.useMemo)(()=>{const{src:t,alt:i,width:r,height:a}=e.node.attrs;return{src:t||void 0,alt:i||void 0,style:{width:(n.isNumber(r)?`${r}px`:r)||void 0,height:(n.isNumber(a)?`${a}px`:a)||void 0}}},[e?.node?.attrs]),_=(0,c.useMemo)(()=>{const{style:{width:e}}=y;return{width:"100%"===e?e:void 0}},[y]);function j(){const{editor:t,getPos:i}=e;t.commands.setNodeSelection(i())}const A=(0,c.useCallback)(s.throttle(()=>{const{editor:t}=e,{width:i}=getComputedStyle(t.view.dom);r(e=>({...e,width:Number.parseInt(i,10)}))},16),[e?.editor]);const I=(0,c.useCallback)(s.throttle(i=>{if(i.preventDefault(),i.stopPropagation(),!h)return;const{x:r,w:a,dir:s}=v,o=(i.clientX-r)*(/l/.test(s)?-1:1),d=n.clamp(a+o,20,t.width);e.updateAttributes({width:d,height:null})},16),[h,v,t,e.updateAttributes]),N=(0,c.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),h&&(b({x:0,y:0,w:0,h:0,dir:""}),w(!1),j())},[h,j]),M=(0,c.useCallback)(()=>{document?.addEventListener("mousemove",I,!0),document?.addEventListener("mouseup",N,!0)},[I,N]),q=(0,c.useCallback)(()=>{document?.removeEventListener("mousemove",I,!0),document?.removeEventListener("mouseup",N,!0)},[I,N]);(0,c.useEffect)(()=>(h?M():q(),()=>{q()}),[h,M,q]);const k=(0,c.useMemo)(()=>new ResizeObserver(()=>A()),[A]);return(0,c.useEffect)(()=>(k.observe(e.editor.view.dom),()=>{k.disconnect()}),[e.editor.view.dom,k]),(0,l.jsx)(d.NodeViewWrapper,{className:"image-view",style:{..._,width:"100%",textAlign:x},children:(0,l.jsxs)("div",{"data-drag-handle":!0,draggable:"true",style:_,className:`image-view__body ${e?.selected?"image-view__body--focused":""} ${h?"image-view__body--resizing":""}`,children:[(0,l.jsx)("img",{alt:y.alt,className:"image-view__body__image block",height:"auto",onClick:j,onLoad:function(e){o({width:e.target.width,height:e.target.height})},src:y.src,style:y.style}),e?.editor.view.editable&&(e?.selected||h)&&(0,l.jsx)("div",{className:"image-resizer",children:u?.map(i=>(0,l.jsx)("span",{className:`image-resizer__handler image-resizer__handler--${i}`,onMouseDown:r=>function(i,r){i.preventDefault(),i.stopPropagation();const s=a.width,n=s/a.height;let o=Number(e.node.attrs.width),d=Number(e.node.attrs.height);const c=t.width;o&&!d?(o=o>c?c:o,d=Math.round(o/n)):d&&!o?(o=Math.round(d*n),o=o>c?c:o):o||d?o=o>c?c:o:(o=s>c?c:s,d=Math.round(o/n)),w(!0),b({x:i.clientX,y:i.clientY,w:o,h:d,dir:r})}(r,i)},`image-dir-${i}`))})]})})}function v(e,t){return{searchTrending:async()=>t?"giphy"===e?async function(e){return(await(0,h.default)(`https://api.giphy.com/v1/gifs/trending?q=&limit=15&api_key=${e}`)).data?.data?.map(e=>({id:e?.id,src:e?.images.original?.url,width:+e?.images.original?.width,height:+e?.images.original?.width}))}(t):"tenor"===e?async function(e){const t=(await(0,h.default)(`https://tenor.googleapis.com/v2/trending_terms?key=${e}&limit=10`)).data;return(await(0,h.default)(`https://tenor.googleapis.com/v2/search?key=${e}&q=${t?.results?.[0]}&limit=15`)).data?.results?.map(e=>({id:e?.id,src:e?.media_formats?.gif?.url,width:e?.media_formats?.gif?.dims?.[0],height:e?.media_formats?.gif?.dims?.[1]}))}(t):[]:[],searchWord:async i=>t?"giphy"===e?async function(e,t){return(await(0,h.default)(`https://api.giphy.com/v1/gifs/search?q=${e}&limit=15&api_key=${t}`)).data?.data?.map(e=>({id:e?.id,src:e?.images.original?.url,width:+e?.images.original?.width,height:+e?.images.original?.width}))}(i,t):"tenor"===e?async function(e,t){return(await(0,h.default)(`https://tenor.googleapis.com/v2/search?key=${t}&q=${e}&limit=15`)).data?.results?.map(e=>({id:e?.id,src:e?.media_formats?.gif?.url,width:e?.media_formats?.gif?.dims?.[0],height:e?.media_formats?.gif?.dims?.[1]}))}(i,t):[]:[]}}function b({selectImage:e,apiKey:t,provider:i,children:n}){const[d,u]=(0,c.useState)(!1),[h,g]=(0,c.useState)([]),{editorDisabled:m}=o.useToggleActive(),p=(0,c.useRef)(null),{searchTrending:f,searchWord:w}=v(i,t);(0,c.useEffect)(()=>{(async()=>{const e=await f();g(e)})()},[]);const b=(0,c.useCallback)(s.debounce(async e=>{if(!e.target.value){const e=await f();return void g(e)}const t=await w(e.target.value);g(t)},350),[]);return(0,l.jsxs)(a.Popover,{modal:!0,onOpenChange:u,open:d,children:[(0,l.jsx)(a.PopoverTrigger,{asChild:!0,disabled:m,children:n}),(0,l.jsx)(a.PopoverContent,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:t?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{className:"richtext-mb-[10px] richtext-w-full",children:(0,l.jsx)(r.Input,{onChange:b,placeholder:"Search GIF",ref:p,type:"text"})}),(0,l.jsx)("div",{className:"richtext-max-h-[280px] !richtext-max-w-[400px] richtext-overflow-y-auto",children:(0,l.jsx)("div",{className:"richtext-grid richtext-grid-cols-2 richtext-gap-1",children:h?.length?h?.map(t=>(0,l.jsx)("img",{alt:"",className:"richtext-cursor-pointer richtext-object-contain richtext-text-center",src:t.src,onClick:()=>{e(t.src),u(!1)}},t.id)):(0,l.jsx)("p",{children:"No GIFs found"})})})]}):(0,l.jsx)("div",{children:(0,l.jsx)("p",{children:"Missing Giphy API Key"})})})]})}function x(){const{action:e,icon:i,tooltip:r,apiKey:a,provider:s}=o.useButtonProps(y.name)?.componentProps??{},{editorDisabled:n}=o.useToggleActive();return(0,l.jsx)(b,{apiKey:a,provider:s,selectImage:t=>{n||e&&e(t)},children:(0,l.jsx)(t.ActionButton,{disabled:n,icon:i,tooltip:r})})}var y=s.index_default.extend({name:"imageGif",addOptions(){return{...this.parent?.(),inline:!1,content:"",marks:"",group:"block",API_KEY:"",provider:"giphy",draggable:!1,selectable:!0,atom:!0,button:({editor:e,extension:t,t:i})=>{const r=t?.options?.provider||"",a=t?.options?.API_KEY||"";return{componentProps:{action:t=>{e.chain().focus().setImageGif({src:t}).run()},isActive:()=>!1,disabled:!1,icon:"GifIcon",tooltip:i("editor.imageGif.tooltip"),apiKey:a,provider:r}}}}},addAttributes(){return{...this.parent?.(),width:{default:null,parseHTML:e=>{const t=e.style.width||e.getAttribute("width")||"10";return void 0===t?null:Number.parseInt(`${t}`,10)},renderHTML:e=>({width:e.width})},align:{default:"center",parseHTML:e=>e.getAttribute("align"),renderHTML:e=>({align:e.align})}}},addNodeView:()=>(0,d.ReactNodeViewRenderer)(w),addCommands(){return{...this.parent?.(),setImageGif:e=>({commands:t})=>t.insertContent({type:this.name,attrs:e}),updateImageGif:e=>({commands:t})=>t.updateAttributes(this.name,e),setAlignImageGif:e=>({commands:t})=>t.updateAttributes(this.name,{align:e})}},renderHTML({HTMLAttributes:e}){const{align:t}=e;return["div",{style:t?`text-align: ${t};`:"",class:"imageGIf"},["img",(0,u.mergeAttributes)({height:"auto"},this.options.HTMLAttributes,e)]]},parseHTML:()=>[{tag:"div[class=imageGIf]",getAttrs:e=>{const t=e.querySelector("img"),i=t?.getAttribute("width");return{src:t?.getAttribute("src"),alt:t?.getAttribute("alt"),title:t?.getAttribute("title"),width:i?Number.parseInt(i,10):null,align:t?.getAttribute("align")||e.style.textAlign||null}}}]});Object.defineProperty(exports,"ImageGif",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"RichTextImageGif",{enumerable:!0,get:function(){return x}});
@@ -0,0 +1,3 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{g as e}from"./locales-DfkG6-1b.js";import{t as i}from"./input-CMD6LZFr.js";import{n as r,r as a,t as n}from"./popover-DGEv-NbL.js";import{n as s,o,t as d}from"./throttle-BpbN7uB1.js";import{n as c,t as l}from"./isNumber-7Fi2iQVS.js";import{c as m,t as h}from"./useButtonProps-DSIajp_B.js";import{NodeViewWrapper as g,ReactNodeViewRenderer as p}from"@tiptap/react";import u,{useCallback as f,useEffect as w,useMemo as v,useRef as y,useState as b}from"react";import{Fragment as x,jsx as _,jsxs as A}from"react/jsx-runtime";import{mergeAttributes as N}from"@tiptap/core";import I from"grab-url";var $="tl",L="tr",M="bl",G="br";function k(t){const[i,r]=b({width:e,height:e}),[a,n]=b({width:0,height:0}),[s]=b([$,L,M,G]),[o,m]=b(!1),[h,p]=b({x:0,y:0,w:0,h:0,dir:""}),{align:u}=t.node.attrs,y=v(()=>{const{src:e,alt:i,width:r,height:a}=t.node.attrs;return{src:e||void 0,alt:i||void 0,style:{width:(l(r)?`${r}px`:r)||void 0,height:(l(a)?`${a}px`:a)||void 0}}},[t?.node?.attrs]),x=v(()=>{const{style:{width:t}}=y;return{width:"100%"===t?t:void 0}},[y]);function N(){const{editor:e,getPos:i}=t;e.commands.setNodeSelection(i())}const I=f(d(()=>{const{editor:e}=t,{width:i}=getComputedStyle(e.view.dom);r(t=>({...t,width:Number.parseInt(i,10)}))},16),[t?.editor]);const k=f(d(e=>{if(e.preventDefault(),e.stopPropagation(),!o)return;const{x:r,w:a,dir:n}=h,s=(e.clientX-r)*(/l/.test(n)?-1:1),d=c(a+s,20,i.width);t.updateAttributes({width:d,height:null})},16),[o,h,i,t.updateAttributes]),P=f(t=>{t.preventDefault(),t.stopPropagation(),o&&(p({x:0,y:0,w:0,h:0,dir:""}),m(!1),N())},[o,N]),T=f(()=>{document?.addEventListener("mousemove",k,!0),document?.addEventListener("mouseup",P,!0)},[k,P]),j=f(()=>{document?.removeEventListener("mousemove",k,!0),document?.removeEventListener("mouseup",P,!0)},[k,P]);w(()=>(o?T():j(),()=>{j()}),[o,T,j]);const C=v(()=>new ResizeObserver(()=>I()),[I]);return w(()=>(C.observe(t.editor.view.dom),()=>{C.disconnect()}),[t.editor.view.dom,C]),/* @__PURE__ */_(g,{className:"image-view",style:{...x,width:"100%",textAlign:u},children:/* @__PURE__ */A("div",{"data-drag-handle":!0,draggable:"true",style:x,className:`image-view__body ${t?.selected?"image-view__body--focused":""} ${o?"image-view__body--resizing":""}`,children:[/* @__PURE__ */_("img",{alt:y.alt,className:"image-view__body__image block",height:"auto",onClick:N,onLoad:function(t){n({width:t.target.width,height:t.target.height})},src:y.src,style:y.style}),t?.editor.view.editable&&(t?.selected||o)&&/* @__PURE__ */_("div",{className:"image-resizer",children:s?.map(e=>/* @__PURE__ */_("span",{className:`image-resizer__handler image-resizer__handler--${e}`,onMouseDown:r=>function(e,r){e.preventDefault(),e.stopPropagation();const n=a.width,s=n/a.height;let o=Number(t.node.attrs.width),d=Number(t.node.attrs.height);const c=i.width;o&&!d?(o=o>c?c:o,d=Math.round(o/s)):d&&!o?(o=Math.round(d*s),o=o>c?c:o):o||d?o=o>c?c:o:(o=n>c?c:n,d=Math.round(o/s)),m(!0),p({x:e.clientX,y:e.clientY,w:o,h:d,dir:r})}(r,e)},`image-dir-${e}`))})]})})}function P(t,e){return{searchTrending:async()=>e?"giphy"===t?async function(t){return(await I(`https://api.giphy.com/v1/gifs/trending?q=&limit=15&api_key=${t}`)).data?.data?.map(t=>({id:t?.id,src:t?.images.original?.url,width:+t?.images.original?.width,height:+t?.images.original?.width}))}(e):"tenor"===t?async function(t){const e=(await I(`https://tenor.googleapis.com/v2/trending_terms?key=${t}&limit=10`)).data;return(await I(`https://tenor.googleapis.com/v2/search?key=${t}&q=${e?.results?.[0]}&limit=15`)).data?.results?.map(t=>({id:t?.id,src:t?.media_formats?.gif?.url,width:t?.media_formats?.gif?.dims?.[0],height:t?.media_formats?.gif?.dims?.[1]}))}(e):[]:[],searchWord:async i=>e?"giphy"===t?async function(t,e){return(await I(`https://api.giphy.com/v1/gifs/search?q=${t}&limit=15&api_key=${e}`)).data?.data?.map(t=>({id:t?.id,src:t?.images.original?.url,width:+t?.images.original?.width,height:+t?.images.original?.width}))}(i,e):"tenor"===t?async function(t,e){return(await I(`https://tenor.googleapis.com/v2/search?key=${e}&q=${t}&limit=15`)).data?.results?.map(t=>({id:t?.id,src:t?.media_formats?.gif?.url,width:t?.media_formats?.gif?.dims?.[0],height:t?.media_formats?.gif?.dims?.[1]}))}(i,e):[]:[]}}function T({selectImage:t,apiKey:e,provider:o,children:d}){const[c,l]=b(!1),[h,g]=b([]),{editorDisabled:p}=m(),u=y(null),{searchTrending:v,searchWord:N}=P(o,e);w(()=>{(async()=>{const t=await v();g(t)})()},[]);const I=f(s(async t=>{if(!t.target.value){const t=await v();return void g(t)}const e=await N(t.target.value);g(e)},350),[]);/* @__PURE__ */
2
+ return A(n,{modal:!0,onOpenChange:l,open:c,children:[/* @__PURE__ */_(a,{asChild:!0,disabled:p,children:d}),/* @__PURE__ */_(r,{align:"start",className:"richtext-size-full richtext-p-2",hideWhenDetached:!0,side:"bottom",children:e?/* @__PURE__ */A(x,{children:[/* @__PURE__ */_("div",{className:"richtext-mb-[10px] richtext-w-full",children:/* @__PURE__ */_(i,{onChange:I,placeholder:"Search GIF",ref:u,type:"text"})}),/* @__PURE__ */_("div",{className:"richtext-max-h-[280px] !richtext-max-w-[400px] richtext-overflow-y-auto",children:/* @__PURE__ */_("div",{className:"richtext-grid richtext-grid-cols-2 richtext-gap-1",children:h?.length?h?.map(e=>/* @__PURE__ */_("img",{alt:"",className:"richtext-cursor-pointer richtext-object-contain richtext-text-center",src:e.src,onClick:()=>{t(e.src),l(!1)}},e.id)):/* @__PURE__ */_("p",{children:"No GIFs found"})})})]}):/* @__PURE__ */_("div",{children:/* @__PURE__ */_("p",{children:"Missing Giphy API Key"})})})]})}function j(){const{action:e,icon:i,tooltip:r,apiKey:a,provider:n}=h(C.name)?.componentProps??{},{editorDisabled:s}=m();/* @__PURE__ */
3
+ return _(T,{apiKey:a,provider:n,selectImage:t=>{s||e&&e(t)},children:/* @__PURE__ */_(t,{disabled:s,icon:i,tooltip:r})})}var C=o.extend({name:"imageGif",addOptions(){return{...this.parent?.(),inline:!1,content:"",marks:"",group:"block",API_KEY:"",provider:"giphy",draggable:!1,selectable:!0,atom:!0,button:({editor:t,extension:e,t:i})=>{const r=e?.options?.provider||"",a=e?.options?.API_KEY||"";return{componentProps:{action:e=>{t.chain().focus().setImageGif({src:e}).run()},isActive:()=>!1,disabled:!1,icon:"GifIcon",tooltip:i("editor.imageGif.tooltip"),apiKey:a,provider:r}}}}},addAttributes(){return{...this.parent?.(),width:{default:null,parseHTML:t=>{const e=t.style.width||t.getAttribute("width")||"10";return void 0===e?null:Number.parseInt(`${e}`,10)},renderHTML:t=>({width:t.width})},align:{default:"center",parseHTML:t=>t.getAttribute("align"),renderHTML:t=>({align:t.align})}}},addNodeView:()=>p(k),addCommands(){return{...this.parent?.(),setImageGif:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t}),updateImageGif:t=>({commands:e})=>e.updateAttributes(this.name,t),setAlignImageGif:t=>({commands:e})=>e.updateAttributes(this.name,{align:t})}},renderHTML({HTMLAttributes:t}){const{align:e}=t;return["div",{style:e?`text-align: ${e};`:"",class:"imageGIf"},["img",N({height:"auto"},this.options.HTMLAttributes,t)]]},parseHTML:()=>[{tag:"div[class=imageGIf]",getAttrs:t=>{const e=t.querySelector("img"),i=e?.getAttribute("width");return{src:e?.getAttribute("src"),alt:e?.getAttribute("alt"),title:e?.getAttribute("title"),width:i?Number.parseInt(i,10):null,align:e?.getAttribute("align")||t.style.textAlign||null}}}]});export{j as n,C as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./ImageGif-CWfgVc6e.cjs");exports.ImageGif=e.ImageGif,exports.RichTextImageGif=e.RichTextImageGif;
@@ -0,0 +1 @@
1
+ import{n as a,t as m}from"./ImageGif-D5Qw_Xf-.js";export{m as ImageGif,a as RichTextImageGif};