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/README.md ADDED
@@ -0,0 +1,225 @@
1
+ <a href="https://bundlephobia.com/package/ai-research-agent" target="_blank" rel="noopener noreferrer">
2
+ <img
3
+ src="https://img.shields.io/bundlephobia/minzip/grab-url?style=flat&label=size"
4
+ alt="npm bundle size "
5
+ />
6
+ </a>
7
+
8
+ ![logo](https://i.imgur.com/EIqHZVO.png)
9
+
10
+
11
+ ## ✨ REASON Editor - Features
12
+
13
+ - **Text Formatting:** Bold, italic, underline, strikethrough, text/highlight colors, font family & size, line height, subscript/superscript, inline code
14
+ - **Block Elements:** Headings (H1-H6), paragraphs, bullet/ordered/task lists, blockquotes, code blocks with syntax highlighting, horizontal rules, callout boxes (info, warning, error, success)
15
+ - **Media & Embeds:** Image/video upload with drag-to-resize, GIF search (Giphy), Twitter/X embeds, iframe embeds, file attachments
16
+ - **Advanced Content:** Tables with full manipulation (add/delete rows/columns, merge cells), multi-column layouts, mathematical equations (KaTeX/LaTeX), diagrams (Excalidraw), flowcharts (Mermaid), collapsible sections
17
+ - **Editor Tools:** Undo/redo, search & replace, code view (HTML toggle), clear formatting, text direction (LTR/RTL), alignment (left/center/right/justify), indent/outdent, drag & drop blocks, slash commands
18
+ - **Input Enhancements:** Emoji picker, markdown paste (auto-converts), @ mentions with suggestions, full keyboard shortcuts
19
+ - **Import/Export:** Import/export Word (.docx), export to PDF
20
+ - **Customization:** Dark/light themes, 8 accent color themes, 6 languages (English, Vietnamese, Chinese, Portuguese, Hungarian, Japanese), customizable upload handlers, extensible with Tiptap extensions
21
+ - **Performance:** Debounced auto-save (300ms), optional real-time collaboration (Yjs/Hocuspocus), tree-shakeable bundle, bubble menus, accessible (Radix UI), responsive design
22
+ - **Quick Stats:** 50+ editor features, 16 insert options, 15 bubble menus, 8 text styling options, 6 languages, 8 color themes
23
+
24
+ ## 🔄 REASON vs. Google Drive & Docs
25
+
26
+ - **🔒 Yours to own and run:** Self-hosted and open source, so your data stays on your servers with no third-party access, no per-user fees or storage caps, and no vendor lock-in.
27
+ - **✅ Matches the Google Docs workflow:** Real-time collaboration (Yjs/Hocuspocus), rich formatting, @ mentions, media, tables/layouts, `.docx` import/export, and auto-save — in any modern browser.
28
+ - **🚀 Goes further for builders:** Native LaTeX/KaTeX math, Excalidraw/Mermaid diagrams, syntax-highlighted code blocks, full theming, and a fully extensible Tiptap architecture you can embed directly in your app.
29
+
30
+ ## 🧩 Editor Views
31
+
32
+ The editor is composed from a Tiptap `editor` instance wrapped in `<RichTextProvider>` — from there you mix in exactly the chrome you need (full toolbar, a few buttons, bubble menus only, an outline, proofing, or the whole file-tree app). The [demo](demo/src/tabs) instantiates six views this way; each is reproduced below.
33
+
34
+ Running `pnpm dev` opens the full organizer app (view 1) directly, with no tab bar. The other five lighter-weight views live behind a second demo entry point at `/alternatives.html`, switchable via its own tab bar — see [Alternative demo views](#alternative-demo-views) below.
35
+
36
+ Every view follows the same shape: create the editor with `useEditor`, wrap it in `<RichTextProvider editor={editor}>`, and render `<EditorContent editor={editor} />` plus whatever UI pieces you import.
37
+
38
+ ### 1. Full app — organizer & file tree
39
+
40
+ The complete document-organizer experience: resizable sidebar, document tabs, right-panel outline, and dialogs. Drop in the pre-assembled shell — no editor wiring required.
41
+
42
+ ```tsx
43
+ import ReasonDocs from 'react-reason-editor/src/editor/ReasonDocs'
44
+ import 'react-reason-editor/src/app-styles/split-pane.css'
45
+
46
+ export function FullApp() {
47
+ return <ReasonDocs />
48
+ }
49
+ ```
50
+
51
+ ### 2. Editor — full toolbar & bubble menus
52
+
53
+ A config-driven editor with the complete `RichTextToolbar` and all `BubbleMenus`. Extensions are built from an `EditorConfig` object so plugins can be toggled at runtime.
54
+
55
+ ```tsx
56
+ import { useEditor, EditorContent } from '@tiptap/react'
57
+ import { RichTextProvider } from 'react-reason-editor'
58
+ import { RichTextToolbar, BubbleMenus } from 'react-reason-editor/editor-views/components'
59
+ import { buildExtensions, loadConfig } from 'react-reason-editor/editor-views/config/editorConfig'
60
+
61
+ export function FullEditor() {
62
+ const config = loadConfig()
63
+ const editor = useEditor({
64
+ content: '<p>Start typing here…</p>',
65
+ extensions: buildExtensions(config),
66
+ })
67
+
68
+ return (
69
+ <RichTextProvider editor={editor!}>
70
+ <RichTextToolbar />
71
+ <EditorContent editor={editor} />
72
+ <BubbleMenus />
73
+ </RichTextProvider>
74
+ )
75
+ }
76
+ ```
77
+
78
+ ### 3. Small toolbar — basics
79
+
80
+ A compact, hand-picked toolbar. Import only the `RichText*` control components you want and lay them out yourself; pair them with the bubble menus for selection formatting.
81
+
82
+ ```tsx
83
+ import { useEditor, EditorContent } from '@tiptap/react'
84
+ import { RichTextProvider } from 'react-reason-editor'
85
+ import { RichTextBubbleText, RichTextBubbleLink } from 'react-reason-editor/bubble'
86
+ import { RichTextUndo, RichTextRedo } from 'react-reason-editor/history'
87
+ import { RichTextBold } from 'react-reason-editor/bold'
88
+ import { RichTextItalic } from 'react-reason-editor/italic'
89
+ import { RichTextHeading } from 'react-reason-editor/heading'
90
+ import { basicExtensions } from './extensions'
91
+
92
+ export function SmallToolbar() {
93
+ const editor = useEditor({ content: '<p>Start typing here…</p>', extensions: basicExtensions })
94
+
95
+ return (
96
+ <RichTextProvider editor={editor!}>
97
+ <div className="toolbar">
98
+ <RichTextUndo />
99
+ <RichTextRedo />
100
+ <RichTextHeading />
101
+ <RichTextBold />
102
+ <RichTextItalic />
103
+ </div>
104
+ <EditorContent editor={editor} />
105
+ <RichTextBubbleText />
106
+ <RichTextBubbleLink />
107
+ </RichTextProvider>
108
+ )
109
+ }
110
+ ```
111
+
112
+ ### 4. Input box — bubble menus only
113
+
114
+ A short-form rich-text input with **no toolbar** — formatting appears in a bubble menu on selection. Ideal for comment/message fields.
115
+
116
+ ```tsx
117
+ import { useEditor, EditorContent } from '@tiptap/react'
118
+ import { RichTextProvider } from 'react-reason-editor'
119
+ import { RichTextBubbleText, RichTextBubbleLink } from 'react-reason-editor/bubble'
120
+ import { basicExtensions } from './extensions'
121
+
122
+ export function InputBox() {
123
+ const editor = useEditor({ content: '', extensions: basicExtensions })
124
+
125
+ return (
126
+ <RichTextProvider editor={editor!}>
127
+ <EditorContent editor={editor} />
128
+ <RichTextBubbleText />
129
+ <RichTextBubbleLink />
130
+ </RichTextProvider>
131
+ )
132
+ }
133
+ ```
134
+
135
+ ### 5. Table of Contents — with outline
136
+
137
+ The editor beside a live outline sidebar. Add Tiptap's `TableOfContents` + `UniqueID` extensions and render the anchors it reports through `onUpdate` as clickable navigation.
138
+
139
+ ```tsx
140
+ import { useEditor, EditorContent } from '@tiptap/react'
141
+ import UniqueID from '@tiptap/extension-unique-id'
142
+ import TableOfContents, { getHierarchicalIndexes } from '@tiptap/extension-table-of-contents'
143
+ import { RichTextProvider } from 'react-reason-editor'
144
+ import { RichTextToolbar, BubbleMenus } from 'react-reason-editor/editor-views/components'
145
+
146
+ export function WithToc() {
147
+ const [toc, setToc] = useState([])
148
+ const editor = useEditor({
149
+ content: '<h1>Title</h1><h2>Section</h2>',
150
+ extensions: [
151
+ /* …base extensions… */
152
+ UniqueID.configure({ types: ['heading'] }),
153
+ TableOfContents.configure({
154
+ getIndex: getHierarchicalIndexes,
155
+ onUpdate: (anchors) => setToc(anchors),
156
+ }),
157
+ ],
158
+ })
159
+
160
+ return (
161
+ <RichTextProvider editor={editor!}>
162
+ <RichTextToolbar />
163
+ <div className="flex">
164
+ <nav>{toc.map((i) => <a key={i.id} href={`#${i.id}`}>{i.textContent}</a>)}</nav>
165
+ <EditorContent editor={editor} />
166
+ </div>
167
+ <BubbleMenus />
168
+ </RichTextProvider>
169
+ )
170
+ }
171
+ ```
172
+
173
+ ### 6. Harper — grammar & spell proofing
174
+
175
+ Inline writing suggestions powered by the [Harper](https://writewithharper.com/) checker. Add the `Harper` extension, surface flagged issues, and mount `<RichTextHarper>` for the hover tooltip.
176
+
177
+ ```tsx
178
+ import { useEditor, EditorContent } from '@tiptap/react'
179
+ import { RichTextProvider } from 'react-reason-editor'
180
+ import { Harper, RichTextHarper, type HarperIssue } from 'react-reason-editor/harper'
181
+
182
+ export function WithHarper() {
183
+ const [issues, setIssues] = useState<HarperIssue[]>([])
184
+ const editor = useEditor({
185
+ content: '<p>This has a mispelled word.</p>',
186
+ extensions: [
187
+ /* …base extensions… */
188
+ Harper.configure({ debounce: 300, onUpdate: setIssues }),
189
+ ],
190
+ immediatelyRender: false,
191
+ })
192
+
193
+ if (!editor) return null
194
+
195
+ return (
196
+ <RichTextProvider editor={editor}>
197
+ <button onClick={() => editor.chain().focus().runProofing().run()}>Check document</button>
198
+ <EditorContent editor={editor} />
199
+ <RichTextHarper editor={editor} />
200
+ </RichTextProvider>
201
+ )
202
+ }
203
+ ```
204
+
205
+ > The runnable versions of all six views live in [`demo/src/tabs`](demo/src/tabs). Shared extension sets and default content are in [`demo/src/tabs/shared.ts`](demo/src/tabs/shared.ts).
206
+
207
+ ### Alternative demo views
208
+
209
+ `pnpm dev` (or the deployed demo site) opens straight into the full organizer app — no tab bar, just [`ReasonDocs`](demo/src/tabs/TabFull.tsx). To try the other five, lighter-weight configurations (editor with full toolbar, small toolbar, input box, table of contents, Harper proofing), open `/alternatives.html` instead:
210
+
211
+ ```
212
+ pnpm dev
213
+ # then visit:
214
+ # http://localhost:5173/ → full app (default)
215
+ # http://localhost:5173/alternatives.html → the other 5 views, switchable via tab bar
216
+ ```
217
+
218
+ The alternatives page is wired up as its own Vite entry (`demo/alternatives.html` → `demo/src/alternatives-main.tsx` → `demo/src/AlternativesApp.tsx`) and is included in the production build alongside the main demo.
219
+
220
+ ## 📚 Resources
221
+
222
+ - **[TipTap Official Documentation](https://tiptap.dev/)** - Core editor framework
223
+ - **[TipTap Extensions](https://tiptap.dev/extensions)** - Available extensions and APIs
224
+ - **[TipTap Collaboration Guide](https://tiptap.dev/collaboration)** - Real-time collaboration setup
225
+ - **[TipTap Community](https://github.com/ueberdosis/tiptap/discussions)** - GitHub discussions and support
@@ -0,0 +1 @@
1
+ const t=require("./rolldown-runtime-BeavJI0R.cjs"),e=require("./dist-Cn_OUKh6.cjs"),r=require("./tooltip-CzY0Diit.cjs"),i=require("./button-CYMsgP3Y.cjs");let c=require("react");c=t.__toESM(c,1);let s=require("@radix-ui/react-slot"),l=require("react/jsx-runtime");var x=c.default.forwardRef(({asChild:t=!1,tooltip:c,...x},h)=>{const n=e.icons[x.icon];return(0,l.jsxs)(r.Tooltip,{children:[(0,l.jsx)(r.TooltipTrigger,{asChild:!0,children:(0,l.jsx)(t?s.Slot:i.Button,{className:"richtext-h-[32px] richtext-overflow-hidden richtext-py-0 richtext-px-1","data-state":x?.dataState?"on":"off",disabled:x?.disabled,ref:h,variant:"ghost",...x,children:(0,l.jsxs)("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[x?.title&&(0,l.jsx)("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:x?.title}),n&&(0,l.jsx)(n,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),c&&(0,l.jsx)(r.TooltipContent,{children:(0,l.jsxs)("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[c&&(0,l.jsx)("div",{children:c}),(0,l.jsx)("div",{className:"richtext-flex",children:!!x?.shortcutKeys?.length&&(0,l.jsx)("span",{children:r.getShortcutKeys(x?.shortcutKeys)})})]})})]})});Object.defineProperty(exports,"ActionMenuButton",{enumerable:!0,get:function(){return x}});
@@ -0,0 +1,2 @@
1
+ import{n as t}from"./dist-CsCFCV4K.js";import{i as e,n as r,o as i,t as c}from"./tooltip-DC3DBc55.js";import{t as h}from"./button-CXcuJkiM.js";import s from"react";import{Slot as a}from"@radix-ui/react-slot";import{jsx as l,jsxs as x}from"react/jsx-runtime";var o=s.forwardRef(({asChild:s=!1,tooltip:o,...n},d)=>{const m=t[n.icon];/* @__PURE__ */
2
+ return x(c,{children:[/* @__PURE__ */l(e,{asChild:!0,children:/* @__PURE__ */l(s?a:h,{className:"richtext-h-[32px] richtext-overflow-hidden richtext-py-0 richtext-px-1","data-state":n?.dataState?"on":"off",disabled:n?.disabled,ref:d,variant:"ghost",...n,children:/* @__PURE__ */x("div",{className:"richtext-flex richtext-h-full richtext-items-center richtext-font-normal",children:[n?.title&&/* @__PURE__ */l("div",{className:"richtext-grow richtext-truncate richtext-text-left richtext-text-sm",children:n?.title}),m&&/* @__PURE__ */l(m,{className:"richtext-ml-1 richtext-size-3 richtext-shrink-0 richtext-text-zinc-500"})]})})}),o&&/* @__PURE__ */l(r,{children:/* @__PURE__ */x("div",{className:"richtext-flex richtext-max-w-24 richtext-flex-col richtext-items-center richtext-text-center",children:[o&&/* @__PURE__ */l("div",{children:o}),/* @__PURE__ */l("div",{className:"richtext-flex",children:!!n?.shortcutKeys?.length&&/* @__PURE__ */l("span",{children:i(n?.shortcutKeys)})})]})})]})});export{o as t};
@@ -0,0 +1,4 @@
1
+ import{i as e,r as t}from"./dist-CsCFCV4K.js";import{n as r}from"./toggle-BXl_NYYh.js";import{n as i}from"./locales-DfkG6-1b.js";import{c as a,l as n,t as o}from"./useButtonProps-DSIajp_B.js";import{a as l,i as s,n as c,r as d}from"./file-aBzFF1LO.js";import{t as h}from"./dom-dataset-D3Nz0h73.js";import{NodeViewWrapper as p,ReactNodeViewRenderer as u}from"@tiptap/react";import{useCallback as m,useEffect as v,useRef as f,useState as g}from"react";import w from"clsx";import{Fragment as x,jsx as y,jsxs as k}from"react/jsx-runtime";import{LucideAudioLines as M,LucideFile as H,LucideImage as T,LucideSheet as C,LucideTableProperties as L,LucideVideo as b}from"lucide-react";import{Node as j,mergeAttributes as A}from"@tiptap/core";var N={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">\n <path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>\n <path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>\n </svg>',word:'<svg\n xmlns="http://www.w3.org/2000/svg"\n width="1em"\n height="1em"\n className="icon"\n viewBox="0 0 1024 1024"\n >\n <path\n fill="currentColor"\n d="M679.253 402.364 618.77 561.015l-60.348-158.651a30.04 30.04 0 0 0-30.447-18.637 29.76 29.76 0 0 0-30.447 18.637l-60.416 158.651-60.416-158.651a30.515 30.515 0 0 0-38.843-17.272 28.945 28.945 0 0 0-17.954 37.547l88.815 233.267c4.369 11.469 15.7 19.115 28.398 19.115a30.31 30.31 0 0 0 28.468-19.115l62.395-163.908 62.396 163.84c4.437 11.605 15.701 19.183 28.4 19.183a30.31 30.31 0 0 0 28.466-19.115l88.747-233.267a28.945 28.945 0 0 0-17.886-37.547 30.447 30.447 0 0 0-38.912 17.272zm219.478 395.605-51.883-29.218c-28.672-16.18-52.224-3.072-52.224 29.082v.273H643.209a29.833 29.833 0 0 0-30.31 29.354c0 16.18 13.584 29.218 30.31 29.218h151.825c1.092 30.516 24.03 43.077 52.224 27.648l51.063-27.989c29.013-15.906 29.15-42.189.41-58.368"\n />\n <path\n fill="currentColor"\n d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"\n />\n </svg>',excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};var z={audio:/* @__PURE__ */y(M,{}),video:/* @__PURE__ */y(b,{}),file:/* @__PURE__ */y(H,{}),image:/* @__PURE__ */y(T,{}),pdf:/* @__PURE__ */y(e,{}),word:/* @__PURE__ */y(t,{}),excel:/* @__PURE__ */y(C,{}),ppt:/* @__PURE__ */y(L,{})};function _(e,t=!1){const r=l(e),i=z[r]||/* @__PURE__ */y(x,{});return t?function(e){const t=N[e],r=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement,i=["svg",Array.from(r.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{})];return Array.from(r.childNodes).forEach(e=>{if(1===e.nodeType){const t=[e.tagName.toLowerCase(),Array.from(e.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{})];e.textContent&&t.push(e.textContent),i.push(t)}}),i}(r):i}var B="_wrap_15oj2_2";function V({editor:e,node:t,updateAttributes:a,deleteNode:o,extension:l}){const h=f(null),u=n(),{hasTrigger:M,fileName:H,fileSize:T,fileExt:C,fileType:L,url:b,error:j}=t.attrs,[A,N]=g(!1),{t:z}=i(),V=l?.options?.upload,E=m(()=>{u&&!b&&h.current.click()},[b,u]),P=m(async e=>{const t=e.target.files&&e.target.files[0];if(!t)return;const r={fileName:d(t.name),fileSize:t.size,fileType:t.type,fileExt:c(t.name)};N(!0);try{const e=await V(t);a({...r,url:e}),N(!1)}catch(j){a({error:`File upload fail: ${j&&j.message}`}),N(!1),h.current.value=""}},[N,a]);v(()=>{b||M||(E(),a({hasTrigger:!0}))},[b,M,E,a]);const S=m(()=>o(),[e]);return u&&!b?/* @__PURE__ */y(p,{children:/* @__PURE__ */k("div",{className:w(B,"render-wrapper"),children:[/* @__PURE__ */y("p",{onClick:E,style:{cursor:"pointer"},children:/* @__PURE__ */y("span",A?{children:z("editor.attachment.uploading")}:{children:z("editor.attachment.please_upload")})}),/* @__PURE__ */y("input",{hidden:!0,onChange:P,ref:h,type:"file"})]})}):b?/* @__PURE__ */y(p,{children:/* @__PURE__ */k("div",{className:w(B,"render-wrapper"),onClick:E,children:[/* @__PURE__ */k("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[
2
+ /* @__PURE__ */y("span",{children:_(L)}),
3
+ /* @__PURE__ */k("span",{children:[H,".",C]}),
4
+ /* @__PURE__ */k("span",{children:["(",s(T),")"]})]}),/* @__PURE__ */y(r,{action:S,icon:"Trash2",tooltip:z("editor.delete")})]})}):"null"!==j?/* @__PURE__ */y(p,{children:/* @__PURE__ */y("div",{className:w(B,"render-wrapper"),onClick:E,children:/* @__PURE__ */y("p",{children:j})})}):/* @__PURE__ */y(x,{})}function E(){const e=o(P.name),{icon:t,tooltip:i,shortcutKeys:n,tooltipOptions:l={},action:s,isActive:c}=e?.componentProps??{},{editorDisabled:d,update:h}=a(c);return e?/* @__PURE__ */y(r,{action:()=>{d||s&&(s(),h())},disabled:d,icon:t,shortcutKeys:n,tooltip:i,tooltipOptions:l}):/* @__PURE__ */y(x,{})}var P=j.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"attachment"},button:({editor:e,t:t})=>({component:r,componentProps:{action:()=>e.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:t("editor.attachment.tooltip")}})}},parseHTML:()=>[{tag:"div[class=attachment]"}],renderHTML({HTMLAttributes:e}){const{url:t="",fileName:r="",fileSize:i="",fileType:a="",fileExt:n=""}=e||{};return["div",A(this.options.HTMLAttributes||{},e||{}),t?["a",{href:t||"#"},["span",{class:"attachment__icon"},_(a,!0)],["span",{class:"attachment__text"},`${r}.${n} (${s(i)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes:()=>({fileName:{default:null,parseHTML:h("filename")},fileSize:{default:null,parseHTML:h("filesize")},fileType:{default:null,parseHTML:h("filetype")},fileExt:{default:null,parseHTML:h("fileext")},url:{default:null,parseHTML:h("url")},hasTrigger:{default:!1,parseHTML:e=>"true"===h("hastrigger")(e)},error:{default:null,parseHTML:h("error")}}),addCommands(){return{setAttachment:(e={})=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView:()=>u(V)});export{E as n,P 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"),r=require("./toggle-CRftKzl0.cjs"),i=require("./locales-Dg9XL0yP.cjs"),a=require("./useButtonProps-D2Hd5DbR.cjs"),s=require("./file-B1Z0XcVJ.cjs"),n=require("./dom-dataset-w2ZYeuXJ.cjs");let o=require("@tiptap/react"),l=require("react"),c=require("clsx");c=e.__toESM(c,1);let d=require("react/jsx-runtime"),u=require("lucide-react"),h=require("@tiptap/core");var p={audio:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-audio-lines"><path d="M2 10v3"/><path d="M6 6v11"/><path d="M10 3v18"/><path d="M14 8v7"/><path d="M18 5v13"/><path d="M22 10v3"/></svg>',video:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"/><rect x="2" y="6" width="14" height="12" rx="2"/></svg>',file:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>',image:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/></svg>',pdf:'<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 32 32">\n <path fill="currentColor" d="M30 18v-2h-6v10h2v-4h3v-2h-3v-2zm-11 8h-4V16h4a3.003 3.003 0 0 1 3 3v4a3.003 3.003 0 0 1-3 3m-2-2h2a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1h-2zm-6-8H6v10h2v-3h3a2.003 2.003 0 0 0 2-2v-3a2 2 0 0 0-2-2m-3 5v-3h3l.001 3z"></path>\n <path fill="currentColor" d="M22 14v-4a.91.91 0 0 0-.3-.7l-7-7A.9.9 0 0 0 14 2H4a2.006 2.006 0 0 0-2 2v24a2 2 0 0 0 2 2h16v-2H4V4h8v6a2.006 2.006 0 0 0 2 2h6v2Zm-8-4V4.4l5.6 5.6Z"></path>\n </svg>',word:'<svg\n xmlns="http://www.w3.org/2000/svg"\n width="1em"\n height="1em"\n className="icon"\n viewBox="0 0 1024 1024"\n >\n <path\n fill="currentColor"\n d="M679.253 402.364 618.77 561.015l-60.348-158.651a30.04 30.04 0 0 0-30.447-18.637 29.76 29.76 0 0 0-30.447 18.637l-60.416 158.651-60.416-158.651a30.515 30.515 0 0 0-38.843-17.272 28.945 28.945 0 0 0-17.954 37.547l88.815 233.267c4.369 11.469 15.7 19.115 28.398 19.115a30.31 30.31 0 0 0 28.468-19.115l62.395-163.908 62.396 163.84c4.437 11.605 15.701 19.183 28.4 19.183a30.31 30.31 0 0 0 28.466-19.115l88.747-233.267a28.945 28.945 0 0 0-17.886-37.547 30.447 30.447 0 0 0-38.912 17.272zm219.478 395.605-51.883-29.218c-28.672-16.18-52.224-3.072-52.224 29.082v.273H643.209a29.833 29.833 0 0 0-30.31 29.354c0 16.18 13.584 29.218 30.31 29.218h151.825c1.092 30.516 24.03 43.077 52.224 27.648l51.063-27.989c29.013-15.906 29.15-42.189.41-58.368"\n />\n <path\n fill="currentColor"\n d="m810.667 913.135-.478.068H201.796c-19.865 0-36.727-11.673-36.727-25.6v-618.36h154.965c51.268 0 92.911-39.39 92.911-87.858v-87.86H810.19c19.797 0 36.522 11.742 36.522 25.669V739.26h61.987V119.262c0-46.421-44.169-84.241-98.51-84.241H328.364l-225.28 194.56v658.09c0 46.285 44.236 84.105 98.713 84.105H810.19c43.759 0 80.554-24.713 93.32-58.573h-92.842zM350.89 94.89v86.562c0 16.11-13.858 29.286-30.925 29.286H216.815L350.959 94.891z"\n />\n </svg>',excel:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sheet"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><line x1="3" x2="21" y1="9" y2="9"/><line x1="3" x2="21" y1="15" y2="15"/><line x1="9" x2="9" y1="9" y2="21"/><line x1="15" x2="15" y1="9" y2="21"/></svg>',ppt:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table-properties"><path d="M15 3v18"/><rect width="18" height="18" x="3" y="3" rx="2"/><path d="M21 9H3"/><path d="M21 15H3"/></svg>'};var x={audio:(0,d.jsx)(u.LucideAudioLines,{}),video:(0,d.jsx)(u.LucideVideo,{}),file:(0,d.jsx)(u.LucideFile,{}),image:(0,d.jsx)(u.LucideImage,{}),pdf:(0,d.jsx)(t.ExportPdf,{}),word:(0,d.jsx)(t.ExportWord,{}),excel:(0,d.jsx)(u.LucideSheet,{}),ppt:(0,d.jsx)(u.LucideTableProperties,{})};function g(e,t=!1){const r=s.normalizeFileType(e),i=x[r]||(0,d.jsx)(d.Fragment,{});return t?function(e){const t=p[e],r=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement,i=["svg",Array.from(r.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{})];return Array.from(r.childNodes).forEach(e=>{if(1===e.nodeType){const t=[e.tagName.toLowerCase(),Array.from(e.attributes).reduce((e,t)=>(e[t.name]=t.value,e),{})];e.textContent&&t.push(e.textContent),i.push(t)}}),i}(r):i}var m="_wrap_15oj2_2";function v({editor:e,node:t,updateAttributes:n,deleteNode:u,extension:h}){const p=(0,l.useRef)(null),x=a.useEditableEditor(),{hasTrigger:v,fileName:w,fileSize:f,fileExt:j,fileType:y,url:k,error:b}=t.attrs,[M,A]=(0,l.useState)(!1),{t:T}=i.useLocale(),H=h?.options?.upload,L=(0,l.useCallback)(()=>{x&&!k&&p.current.click()},[k,x]),C=(0,l.useCallback)(async e=>{const t=e.target.files&&e.target.files[0];if(!t)return;const r={fileName:s.extractFilename(t.name),fileSize:t.size,fileType:t.type,fileExt:s.extractFileExtension(t.name)};A(!0);try{const e=await H(t);n({...r,url:e}),A(!1)}catch(b){n({error:`File upload fail: ${b&&b.message}`}),A(!1),p.current.value=""}},[A,n]);(0,l.useEffect)(()=>{k||v||(L(),n({hasTrigger:!0}))},[k,v,L,n]);const N=(0,l.useCallback)(()=>u(),[e]);return x&&!k?(0,d.jsx)(o.NodeViewWrapper,{children:(0,d.jsxs)("div",{className:(0,c.default)(m,"render-wrapper"),children:[(0,d.jsx)("p",{onClick:L,style:{cursor:"pointer"},children:M?(0,d.jsx)("span",{children:T("editor.attachment.uploading")}):(0,d.jsx)("span",{children:T("editor.attachment.please_upload")})}),(0,d.jsx)("input",{hidden:!0,onChange:C,ref:p,type:"file"})]})}):k?(0,d.jsx)(o.NodeViewWrapper,{children:(0,d.jsxs)("div",{className:(0,c.default)(m,"render-wrapper"),onClick:L,children:[(0,d.jsxs)("div",{className:"richtext-flex richtext-items-center richtext-gap-[4px]",children:[(0,d.jsx)("span",{children:g(y)}),(0,d.jsxs)("span",{children:[w,".",j]}),(0,d.jsxs)("span",{children:["(",s.normalizeFileSize(f),")"]})]}),(0,d.jsx)(r.ActionButton,{action:N,icon:"Trash2",tooltip:T("editor.delete")})]})}):"null"!==b?(0,d.jsx)(o.NodeViewWrapper,{children:(0,d.jsx)("div",{className:(0,c.default)(m,"render-wrapper"),onClick:L,children:(0,d.jsx)("p",{children:b})})}):(0,d.jsx)(d.Fragment,{})}var w=h.Node.create({name:"attachment",content:"",marks:"",group:"block",selectable:!0,atom:!0,draggable:!0,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"attachment"},button:({editor:e,t:t})=>({component:r.ActionButton,componentProps:{action:()=>e.chain().focus().setAttachment().run(),isActive:()=>!1,disabled:!1,icon:"Attachment",tooltip:t("editor.attachment.tooltip")}})}},parseHTML:()=>[{tag:"div[class=attachment]"}],renderHTML({HTMLAttributes:e}){const{url:t="",fileName:r="",fileSize:i="",fileType:a="",fileExt:n=""}=e||{};return["div",(0,h.mergeAttributes)(this.options.HTMLAttributes||{},e||{}),t?["a",{href:t||"#"},["span",{class:"attachment__icon"},g(a,!0)],["span",{class:"attachment__text"},`${r}.${n} (${s.normalizeFileSize(i)})`]]:["div",{class:"attachment__placeholder"}]]},addAttributes:()=>({fileName:{default:null,parseHTML:n.getDatasetAttribute("filename")},fileSize:{default:null,parseHTML:n.getDatasetAttribute("filesize")},fileType:{default:null,parseHTML:n.getDatasetAttribute("filetype")},fileExt:{default:null,parseHTML:n.getDatasetAttribute("fileext")},url:{default:null,parseHTML:n.getDatasetAttribute("url")},hasTrigger:{default:!1,parseHTML:e=>"true"===n.getDatasetAttribute("hastrigger")(e)},error:{default:null,parseHTML:n.getDatasetAttribute("error")}}),addCommands(){return{setAttachment:(e={})=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView:()=>(0,o.ReactNodeViewRenderer)(v)});exports.Attachment=w,exports.RichTextAttachment=function(){const e=a.useButtonProps(w.name),{icon:t,tooltip:i,shortcutKeys:s,tooltipOptions:n={},action:o,isActive:l}=e?.componentProps??{},{editorDisabled:c,update:u}=a.useToggleActive(l);return e?(0,d.jsx)(r.ActionButton,{action:()=>{c||o&&(o(),u())},disabled:c,icon:t,shortcutKeys:s,tooltip:i,tooltipOptions:n}):(0,d.jsx)(d.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as t,t as a}from"./Attachment-DGzsbPZZ.js";export{a as Attachment,t as RichTextAttachment};
@@ -0,0 +1,2 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as o,t as e}from"./useButtonProps-DSIajp_B.js";import{t as n}from"./jsx-runtime-DqgyBF0N.js";import{Fragment as r,jsx as s}from"react/jsx-runtime";import{Node as i,mergeAttributes as a,wrappingInputRule as c}from"@tiptap/core";import{TextSelection as l}from"@tiptap/pm/state";var d=/^\s*>\s$/,u=i.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:t}){/* @__PURE__ */
2
+ return n("blockquote",{...a(this.options.HTMLAttributes,t),children:/* @__PURE__ */n("slot",{})})},parseMarkdown:(t,o)=>{var e;const n=null!=(e=o.parseBlockChildren)?e:o.parseChildren;return o.createNode("blockquote",void 0,n(t.tokens||[]))},renderMarkdown:(t,o)=>{if(!t.content)return"";const e=[];return t.content.forEach((t,n)=>{var r,s;const i=(null!=(s=null==(r=o.renderChild)?void 0:r.call(o,t,n))?s:o.renderChildren([t])).split("\n").map(t=>""===t.trim()?">":`> ${t}`);e.push(i.join("\n"))}),e.join("\n>\n")},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote(),Backspace:()=>((t,o)=>{var e;const{state:n,view:r}=t,{selection:s}=n;if(!s.empty)return!1;const{$from:i}=s;if(0!==i.parentOffset)return!1;const a=i.depth-1;if(a<0)return!1;const c=i.node(a),d=i.index(a);if(0===d)return!1;if(c.type===o)return t.commands.lift(o.name);const u=c.child(d-1);if(u.type!==o||!(null==(e=u.lastChild)?void 0:e.isTextblock))return!1;const p=i.before(),m=p-1-1,{tr:h}=n;return h.delete(p,i.after()).insert(m,i.parent.content),h.setSelection(l.create(h.doc,m)),r.dispatch(h.scrollIntoView()),!0})(this.editor,this.type)}},addInputRules(){return[c({find:d,type:this.type})]}});function p(){const n=e(m.name),{icon:i,tooltip:a,shortcutKeys:c,tooltipOptions:l={},action:d,isActive:u}=n?.componentProps??{},{dataState:p,disabled:h,update:f}=o(u);return n?/* @__PURE__ */s(t,{action:()=>{h||d&&(d(),f())},dataState:p,disabled:h,icon:i,shortcutKeys:c,tooltip:a,tooltipOptions:l}):/* @__PURE__ */s(r,{})}var m=u.extend({addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:o,extension:e})=>({componentProps:{action:()=>t.commands.toggleBlockquote(),isActive:()=>t.isActive("blockquote"),disabled:!t.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:e.options.shortcutKeys??["shift","mod","B"],tooltip:o("editor.blockquote.tooltip")}})}}});export{p 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"),o=require("./jsx-runtime-BLWGWoMZ.cjs");let n=require("react/jsx-runtime"),r=require("@tiptap/core"),i=require("@tiptap/pm/state");var s=/^\s*>\s$/;var c=r.Node.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:t}){return o.h("blockquote",{...(0,r.mergeAttributes)(this.options.HTMLAttributes,t),children:o.h("slot",{})})},parseMarkdown:(t,e)=>{var o;const n=null!=(o=e.parseBlockChildren)?o:e.parseChildren;return e.createNode("blockquote",void 0,n(t.tokens||[]))},renderMarkdown:(t,e)=>{if(!t.content)return"";const o=[];return t.content.forEach((t,n)=>{var r,i;const s=(null!=(i=null==(r=e.renderChild)?void 0:r.call(e,t,n))?i:e.renderChildren([t])).split("\n").map(t=>""===t.trim()?">":`> ${t}`);o.push(s.join("\n"))}),o.join("\n>\n")},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote(),Backspace:()=>((t,e)=>{var o;const{state:n,view:r}=t,{selection:s}=n;if(!s.empty)return!1;const{$from:c}=s;if(0!==c.parentOffset)return!1;const u=c.depth-1;if(u<0)return!1;const l=c.node(u),a=c.index(u);if(0===a)return!1;if(l.type===e)return t.commands.lift(e.name);const d=l.child(a-1);if(d.type!==e||!(null==(o=d.lastChild)?void 0:o.isTextblock))return!1;const p=c.before(),m=p-1-1,{tr:h}=n;return h.delete(p,c.after()).insert(m,c.parent.content),h.setSelection(i.TextSelection.create(h.doc,m)),r.dispatch(h.scrollIntoView()),!0})(this.editor,this.type)}},addInputRules(){return[(0,r.wrappingInputRule)({find:s,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"blockquote"},button:({editor:t,t:e,extension:o})=>({componentProps:{action:()=>t.commands.toggleBlockquote(),isActive:()=>t.isActive("blockquote"),disabled:!t.can().toggleBlockquote(),icon:"TextQuote",shortcutKeys:o.options.shortcutKeys??["shift","mod","B"],tooltip:e("editor.blockquote.tooltip")}})}}});exports.Blockquote=c,exports.RichTextBlockquote=function(){const o=e.useButtonProps(c.name),{icon:r,tooltip:i,shortcutKeys:s,tooltipOptions:u={},action:l,isActive:a}=o?.componentProps??{},{dataState:d,disabled:p,update:m}=e.useToggleActive(a);return o?(0,n.jsx)(t.ActionButton,{action:()=>{p||l&&(l(),m())},dataState:d,disabled:p,icon:r,shortcutKeys:s,tooltip:i,tooltipOptions:u}):(0,n.jsx)(n.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as o,t}from"./Blockquote-CQ6HlDnL.js";export{t as Blockquote,o as RichTextBlockquote};
@@ -0,0 +1,2 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as o,t as e}from"./useButtonProps-DSIajp_B.js";import{t as s}from"./jsx-runtime-DqgyBF0N.js";import{Fragment as n,jsx as r}from"react/jsx-runtime";import{Mark as i,markInputRule as a,markPasteRule as d,mergeAttributes as p}from"@tiptap/core";var l=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,m=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,c=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,u=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,g=i.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>"normal"!==t.style.fontWeight&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){/* @__PURE__ */
2
+ return s("strong",{...p(this.options.HTMLAttributes,t),children:/* @__PURE__ */s("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,o)=>o.applyMark("bold",o.parseInline(t.tokens||[])),markdownOptions:{htmlReopen:{open:"<strong>",close:"</strong>"}},renderMarkdown:(t,o)=>`**${o.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[a({find:l,type:this.type}),a({find:c,type:this.type})]},addPasteRules(){return[d({find:m,type:this.type}),d({find:u,type:this.type})]}});function h(){const s=e(y.name),{icon:i,tooltip:a,shortcutKeys:d,tooltipOptions:p={},action:l,isActive:m}=s?.componentProps??{},{dataState:c,disabled:u,update:g}=o(m);return s?/* @__PURE__ */r(t,{action:()=>{u||l&&(l(),g())},dataState:c,disabled:u,icon:i,shortcutKeys:d,tooltip:a,tooltipOptions:p}):/* @__PURE__ */r(n,{})}var y=g.extend({addOptions(){return{...this.parent?.(),button:({editor:o,t:e,extension:s})=>({component:t,componentProps:{action:()=>o.commands.toggleBold(),isActive:()=>o.isActive("bold"),icon:"Bold",shortcutKeys:s.options.shortcutKeys??["mod","B"],tooltip:e("editor.bold.tooltip")}})}}});export{h as n,y as t};
@@ -0,0 +1 @@
1
+ const t=require("./toggle-CRftKzl0.cjs"),e=require("./useButtonProps-D2Hd5DbR.cjs"),o=require("./jsx-runtime-BLWGWoMZ.cjs");let n=require("react/jsx-runtime"),r=require("@tiptap/core");var s=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,i=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,a=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,d=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g;function l(){const o=e.useButtonProps(u.name),{icon:r,tooltip:s,shortcutKeys:i,tooltipOptions:a={},action:d,isActive:l}=o?.componentProps??{},{dataState:p,disabled:c,update:m}=e.useToggleActive(l);return o?(0,n.jsx)(t.ActionButton,{action:()=>{c||d&&(d(),m())},dataState:p,disabled:c,icon:r,shortcutKeys:i,tooltip:s,tooltipOptions:a}):(0,n.jsx)(n.Fragment,{})}var u=r.Mark.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>"normal"!==t.style.fontWeight&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return o.h("strong",{...(0,r.mergeAttributes)(this.options.HTMLAttributes,t),children:o.h("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),markdownOptions:{htmlReopen:{open:"<strong>",close:"</strong>"}},renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[(0,r.markInputRule)({find:s,type:this.type}),(0,r.markInputRule)({find:a,type:this.type})]},addPasteRules(){return[(0,r.markPasteRule)({find:i,type:this.type}),(0,r.markPasteRule)({find:d,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:e,t:o,extension:n})=>({component:t.ActionButton,componentProps:{action:()=>e.commands.toggleBold(),isActive:()=>e.isActive("bold"),icon:"Bold",shortcutKeys:n.options.shortcutKeys??["mod","B"],tooltip:o("editor.bold.tooltip")}})}}});Object.defineProperty(exports,"Bold",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"RichTextBold",{enumerable:!0,get:function(){return l}});
package/dist/Bold.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./Bold-M6IKTPME.cjs");exports.Bold=e.Bold,exports.RichTextBold=e.RichTextBold;
package/dist/Bold.js ADDED
@@ -0,0 +1 @@
1
+ import{n as o,t as r}from"./Bold-Ciuvp1pM.js";export{r as Bold,o as RichTextBold};
@@ -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"),o=require("./dist-ICzvPVCE.cjs");let i=require("react/jsx-runtime");var s=o.BulletList.extend({addOptions(){return{...this.parent?.(),button:({editor:t,t:e,extension:o})=>({componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList"),disabled:!1,shortcutKeys:o.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:e("editor.bulletlist.tooltip")}})}}});exports.BulletList=s,exports.RichTextBulletList=function(){const o=e.useButtonProps(s.name),{icon:n,tooltip:r,shortcutKeys:l,tooltipOptions:u={},action:c,isActive:a}=o?.componentProps??{},{dataState:p,disabled:d,update:m}=e.useToggleActive(a);return o?(0,i.jsx)(t.ActionButton,{action:()=>{d||c&&(c(),m())},dataState:p,disabled:d,icon:n,shortcutKeys:l,tooltip:r,tooltipOptions:u}):(0,i.jsx)(i.Fragment,{})};
@@ -0,0 +1 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{c as o,t as i}from"./useButtonProps-DSIajp_B.js";import{t as s}from"./dist-BEFKWXG8.js";import{Fragment as e,jsx as n}from"react/jsx-runtime";function r(){const s=i(a.name),{icon:r,tooltip:p,shortcutKeys:c,tooltipOptions:l={},action:d,isActive:m}=s?.componentProps??{},{dataState:u,disabled:b,update:f}=o(m);return s?/* @__PURE__ */n(t,{action:()=>{b||d&&(d(),f())},dataState:u,disabled:b,icon:r,shortcutKeys:c,tooltip:p,tooltipOptions:l}):/* @__PURE__ */n(e,{})}var a=s.extend({addOptions(){return{...this.parent?.(),button:({editor:t,t:o,extension:i})=>({componentProps:{action:()=>t.commands.toggleBulletList(),isActive:()=>t.isActive("bulletList"),disabled:!1,shortcutKeys:i.options.shortcutKeys??["shift","mod","8"],icon:"List",tooltip:o("editor.bulletlist.tooltip")}})}}});export{a as BulletList,r as RichTextBulletList};
@@ -0,0 +1 @@
1
+ const e=require("./rolldown-runtime-BeavJI0R.cjs"),t=require("./dist-Cn_OUKh6.cjs"),r=require("./toggle-CRftKzl0.cjs"),i=require("./locales-Dg9XL0yP.cjs"),a=require("./button-CYMsgP3Y.cjs"),c=require("./dialog-CxZ2oxD2.cjs"),o=require("./input-AvqqajGM.cjs"),l=require("./label-DPSH3PiY.cjs"),n=require("./useButtonProps-D2Hd5DbR.cjs");let s=require("@tiptap/react"),d=require("react"),x=e.__toESM(d,1);d=e.__toESM(d);let h=require("clsx");h=e.__toESM(h,1);let u=require("react/jsx-runtime"),p=require("lucide-react"),f=require("@radix-ui/react-select");f=e.__toESM(f,1);let m=require("@tiptap/core");var b=f.Root,g=f.Value,j=x.forwardRef(({className:e,children:r,...i},a)=>(0,u.jsxs)(f.Trigger,{ref:a,className:t.cn("richtext-flex richtext-h-10 richtext-w-full richtext-items-center richtext-justify-between richtext-rounded-md richtext-border richtext-border-input richtext-bg-background richtext-px-3 richtext-py-2 richtext-text-sm richtext-text-foreground richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus:richtext-outline-none focus:richtext-ring-2 focus:richtext-ring-ring focus:richtext-ring-offset-1 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50 [&>span]:richtext-line-clamp-1",e),...i,children:[r,(0,u.jsx)(f.Icon,{asChild:!0,children:(0,u.jsx)(p.ChevronDown,{className:"richtext-size-4 richtext-opacity-50"})})]}));j.displayName=f.Trigger.displayName;var y=x.forwardRef(({className:e,...r},i)=>(0,u.jsx)(f.ScrollUpButton,{ref:i,className:t.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...r,children:(0,u.jsx)(p.ChevronUp,{className:"richtext-size-4"})}));y.displayName=f.ScrollUpButton.displayName;var v=x.forwardRef(({className:e,...r},i)=>(0,u.jsx)(f.ScrollDownButton,{ref:i,className:t.cn("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...r,children:(0,u.jsx)(p.ChevronDown,{className:"richtext-size-4"})}));v.displayName=f.ScrollDownButton.displayName;var N=x.forwardRef(({className:e,children:r,position:i="popper",...a},c)=>(0,u.jsx)(f.Portal,{children:(0,u.jsxs)(f.Content,{"data-richtext-portal":!0,position:i,ref:c,className:t.cn("richtext-relative richtext-z-50 richtext-max-h-60 richtext-min-w-[8rem] richtext-overflow-hidden richtext-overflow-y-auto richtext-rounded-md richtext-border !richtext-border-border richtext-bg-popover richtext-text-popover-foreground richtext-shadow-md data-[state=open]:richtext-animate-in data-[state=closed]:richtext-animate-out data-[state=closed]:richtext-fade-out-0 data-[state=open]:richtext-fade-in-0 data-[state=closed]:richtext-zoom-out-95 data-[state=open]:richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:richtext-translate-y-1 data-[side=left]:richtext--translate-x-1 data-[side=right]:richtext-translate-x-1 data-[side=top]:richtext--translate-y-1",e),...a,children:[(0,u.jsx)(y,{}),(0,u.jsx)(f.Viewport,{className:t.cn("richtext-p-1","popper"===i&&"richtext-h-[var(--radix-select-trigger-height)] richtext-w-full richtext-min-w-[var(--radix-select-trigger-width)]"),children:r}),(0,u.jsx)(v,{})]})}));N.displayName=f.Content.displayName,x.forwardRef(({className:e,...r},i)=>(0,u.jsx)(f.Label,{className:t.cn("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),ref:i,...r})).displayName=f.Label.displayName;var w=x.forwardRef(({className:e,children:r,...i},a)=>(0,u.jsxs)(f.Item,{ref:a,className:t.cn("richtext-relative richtext-flex richtext-w-full richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-outline-none focus:richtext-bg-accent focus:richtext-text-accent-foreground data-[disabled]:richtext-pointer-events-none data-[disabled]:richtext-opacity-50",e),...i,children:[(0,u.jsx)("span",{className:"richtext-absolute richtext-left-2 richtext-flex richtext-size-3.5 richtext-items-center richtext-justify-center",children:(0,u.jsx)(f.ItemIndicator,{children:(0,u.jsx)(p.Check,{className:"richtext-size-4"})})}),(0,u.jsx)(f.ItemText,{children:r})]}));w.displayName=f.Item.displayName,x.forwardRef(({className:e,...r},i)=>(0,u.jsx)(f.Separator,{className:t.cn("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),ref:i,...r})).displayName=f.Separator.displayName;var C=[{value:"note",label:"Note",icon:p.Info,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:p.Lightbulb,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:p.AlertCircle,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:p.TriangleAlert,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:p.OctagonAlert,color:"#f85149",background:"#f851491f"}];function S({node:e}){const{type:t="note",title:r="",body:i=""}=e.attrs,a=(C.find(e=>e.value===t)||C[0]).icon;return(0,u.jsx)(s.NodeViewWrapper,{children:(0,u.jsxs)("div",{className:(0,h.default)("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":"note"===t,"richtext-bg-[#2386361f] richtext-border-[#238636]":"tip"===t,"richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":"important"===t,"richtext-bg-[#d299221f] richtext-border-[#d29922]":"warning"===t,"richtext-bg-[#f851491f] richtext-border-[#f85149]":"caution"===t}),children:[(0,u.jsxs)("div",{className:(0,h.default)("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":"note"===t,"richtext-text-[#238636]":"tip"===t,"richtext-text-[#ab7df8]":"important"===t,"richtext-text-[#d29922]":"warning"===t,"richtext-text-[#f85149]":"caution"===t}),children:[(0,u.jsx)(a,{className:"richtext-size-5"}),(0,u.jsx)("span",{className:"richtext-font-semibold",children:r})]}),i&&(0,u.jsx)("p",{className:"richtext-pl-[28px]",children:i})]})})}var T=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function A(){const{t:e}=i.useLocale(),t=n.useEditorInstance(),s=n.useButtonProps(L.name),[d,h]=(0,x.useState)(!1),[p,f]=(0,x.useState)("note"),[m,y]=(0,x.useState)(""),[v,C]=(0,x.useState)(""),{icon:S,tooltip:A,shortcutKeys:q,tooltipOptions:I={},isActive:O}=s?.componentProps??{},{dataState:M,disabled:P}=n.useToggleActive(O);return s?(0,u.jsxs)(c.Dialog,{onOpenChange:h,open:d,children:[(0,u.jsx)(c.DialogTrigger,{asChild:!0,children:(0,u.jsx)(r.ActionButton,{action:()=>{P||h(!0)},dataState:M,disabled:P,icon:S,shortcutKeys:q,tooltip:A,tooltipOptions:I})}),(0,u.jsxs)(c.DialogContent,{children:[(0,u.jsx)(c.DialogTitle,{children:e("editor.callout.dialog.title")}),(0,u.jsxs)("div",{className:"richtext-space-y-4 richtext-py-4",children:[(0,u.jsxs)("div",{className:"richtext-space-y-2",children:[(0,u.jsx)(l.Label,{children:e("editor.callout.dialog.type")}),(0,u.jsxs)(b,{onValueChange:f,value:p,children:[(0,u.jsx)(j,{children:(0,u.jsx)(g,{placeholder:e("editor.callout.dialog.type.placeholder")})}),(0,u.jsx)(N,{children:T.map(t=>(0,u.jsx)(w,{value:t.value,children:e(`editor.callout.type.${t.value}`)},t.value))})]})]}),(0,u.jsxs)("div",{className:"richtext-space-y-2",children:[(0,u.jsx)(l.Label,{children:e("editor.callout.dialog.title.label")}),(0,u.jsx)(o.Input,{onChange:e=>y(e.target.value),placeholder:e("editor.callout.dialog.title.placeholder"),value:m})]}),(0,u.jsxs)("div",{className:"richtext-space-y-2",children:[(0,u.jsx)(l.Label,{children:e("editor.callout.dialog.body.label")}),(0,u.jsx)(o.Input,{onChange:e=>C(e.target.value),placeholder:e("editor.callout.dialog.body.placeholder"),value:v})]})]}),(0,u.jsxs)(c.DialogFooter,{children:[(0,u.jsx)(a.Button,{onClick:()=>h(!1),variant:"outline",children:e("editor.callout.dialog.button.cancel")}),(0,u.jsx)(a.Button,{onClick:()=>{t&&(t.chain().focus().setCallout({type:p,title:m,body:v}).run(),h(!1),f("note"),y(""),C(""))},children:e("editor.callout.dialog.button.apply")})]})]})]}):(0,u.jsx)(u.Fragment,{})}function q(e){return t=>t.getAttribute(e)}var L=m.Node.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"callout"},button:({editor:e,t:t})=>({component:r.ActionButton,componentProps:{action:()=>!0,isActive:()=>e.isActive("callout"),disabled:!1,icon:"Callout",tooltip:t("editor.callout.tooltip")}})}},parseHTML:()=>[{tag:"div.callout"}],renderHTML({HTMLAttributes:e}){return["div",(0,m.mergeAttributes)(this.options&&this.options.HTMLAttributes||{},e)]},addAttributes:()=>({type:{default:"",parseHTML:q("type")},title:{default:"",parseHTML:q("title")},body:{default:"",parseHTML:q("body")}}),addCommands(){return{setCallout:e=>({chain:t})=>t().insertContent({type:this.name,attrs:e}).run()}},addNodeView:()=>(0,s.ReactNodeViewRenderer)(S)});Object.defineProperty(exports,"Callout",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"RichTextCallout",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"SelectContent",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"SelectItem",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"SelectTrigger",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"SelectValue",{enumerable:!0,get:function(){return g}});
@@ -0,0 +1,11 @@
1
+ import{o as t}from"./dist-CsCFCV4K.js";import{n as e}from"./toggle-BXl_NYYh.js";import{n as r}from"./locales-DfkG6-1b.js";import{t as i}from"./button-CXcuJkiM.js";import{a,n as c,o,r as l,t as n}from"./dialog-DgdVbRUv.js";import{t as s}from"./input-CMD6LZFr.js";import{t as d}from"./label-Dx1mMx8l.js";import{c as h,d as x,t as p}from"./useButtonProps-DSIajp_B.js";import{NodeViewWrapper as m,ReactNodeViewRenderer as u}from"@tiptap/react";import*as f from"react";import{useState as b}from"react";import g from"clsx";import{Fragment as y,jsx as v,jsxs as N}from"react/jsx-runtime";import{AlertCircle as w,Check as C,ChevronDown as T,ChevronUp as j,Info as A,Lightbulb as L,OctagonAlert as k,TriangleAlert as z}from"lucide-react";import*as I from"@radix-ui/react-select";import{Node as H,mergeAttributes as M}from"@tiptap/core";var R=I.Root,S=I.Value,B=f.forwardRef(({className:e,children:r,...i},a)=>/* @__PURE__ */N(I.Trigger,{ref:a,className:t("richtext-flex richtext-h-10 richtext-w-full richtext-items-center richtext-justify-between richtext-rounded-md richtext-border richtext-border-input richtext-bg-background richtext-px-3 richtext-py-2 richtext-text-sm richtext-text-foreground richtext-ring-offset-background placeholder:richtext-text-muted-foreground focus:richtext-outline-none focus:richtext-ring-2 focus:richtext-ring-ring focus:richtext-ring-offset-1 disabled:richtext-cursor-not-allowed disabled:richtext-opacity-50 [&>span]:richtext-line-clamp-1",e),...i,children:[r,/* @__PURE__ */v(I.Icon,{asChild:!0,children:/* @__PURE__ */v(T,{className:"richtext-size-4 richtext-opacity-50"})})]}));B.displayName=I.Trigger.displayName;var O=f.forwardRef(({className:e,...r},i)=>/* @__PURE__ */v(I.ScrollUpButton,{ref:i,className:t("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...r,children:/* @__PURE__ */v(j,{className:"richtext-size-4"})}));O.displayName=I.ScrollUpButton.displayName;var P=f.forwardRef(({className:e,...r},i)=>/* @__PURE__ */v(I.ScrollDownButton,{ref:i,className:t("richtext-flex richtext-cursor-default richtext-items-center richtext-justify-center richtext-py-1",e),...r,children:/* @__PURE__ */v(T,{className:"richtext-size-4"})}));P.displayName=I.ScrollDownButton.displayName;var V=f.forwardRef(({className:e,children:r,position:i="popper",...a},c)=>/* @__PURE__ */v(I.Portal,{children:/* @__PURE__ */N(I.Content,{"data-richtext-portal":!0,position:i,ref:c,className:t("richtext-relative richtext-z-50 richtext-max-h-60 richtext-min-w-[8rem] richtext-overflow-hidden richtext-overflow-y-auto richtext-rounded-md richtext-border !richtext-border-border richtext-bg-popover richtext-text-popover-foreground richtext-shadow-md data-[state=open]:richtext-animate-in data-[state=closed]:richtext-animate-out data-[state=closed]:richtext-fade-out-0 data-[state=open]:richtext-fade-in-0 data-[state=closed]:richtext-zoom-out-95 data-[state=open]:richtext-zoom-in-95 data-[side=bottom]:richtext-slide-in-from-top-2 data-[side=left]:richtext-slide-in-from-right-2 data-[side=right]:richtext-slide-in-from-left-2 data-[side=top]:richtext-slide-in-from-bottom-2","popper"===i&&"data-[side=bottom]:richtext-translate-y-1 data-[side=left]:richtext--translate-x-1 data-[side=right]:richtext-translate-x-1 data-[side=top]:richtext--translate-y-1",e),...a,children:[
2
+ /* @__PURE__ */v(O,{}),
3
+ /* @__PURE__ */v(I.Viewport,{className:t("richtext-p-1","popper"===i&&"richtext-h-[var(--radix-select-trigger-height)] richtext-w-full richtext-min-w-[var(--radix-select-trigger-width)]"),children:r}),
4
+ /* @__PURE__ */v(P,{})]})}));V.displayName=I.Content.displayName,f.forwardRef(({className:e,...r},i)=>/* @__PURE__ */v(I.Label,{className:t("richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-font-semibold",e),ref:i,...r})).displayName=I.Label.displayName;var D=f.forwardRef(({className:e,children:r,...i},a)=>/* @__PURE__ */N(I.Item,{ref:a,className:t("richtext-relative richtext-flex richtext-w-full richtext-cursor-default richtext-select-none richtext-items-center richtext-rounded-sm richtext-py-1.5 richtext-pl-8 richtext-pr-2 richtext-text-sm richtext-outline-none focus:richtext-bg-accent focus:richtext-text-accent-foreground data-[disabled]:richtext-pointer-events-none data-[disabled]:richtext-opacity-50",e),...i,children:[/* @__PURE__ */v("span",{className:"richtext-absolute richtext-left-2 richtext-flex richtext-size-3.5 richtext-items-center richtext-justify-center",children:/* @__PURE__ */v(I.ItemIndicator,{children:/* @__PURE__ */v(C,{className:"richtext-size-4"})})}),/* @__PURE__ */v(I.ItemText,{children:r})]}));D.displayName=I.Item.displayName,f.forwardRef(({className:e,...r},i)=>/* @__PURE__ */v(I.Separator,{className:t("richtext--mx-1 richtext-my-1 richtext-h-px richtext-bg-muted",e),ref:i,...r})).displayName=I.Separator.displayName;var K=[{value:"note",label:"Note",icon:A,color:"#1f6feb",background:"#1f6feb1f"},{value:"tip",label:"Tip",icon:L,color:"#238636",background:"#2386361f"},{value:"important",label:"Important",icon:w,color:"#ab7df8",background:"#ab7df81f"},{value:"warning",label:"Warning",icon:z,color:"#d29922",background:"#d299221f"},{value:"caution",label:"Caution",icon:k,color:"#f85149",background:"#f851491f"}];function U({node:t}){const{type:e="note",title:r="",body:i=""}=t.attrs,a=(K.find(t=>t.value===e)||K[0]).icon;/* @__PURE__ */
5
+ return v(m,{children:/* @__PURE__ */N("div",{className:g("richtext-relative richtext-my-4 richtext-rounded-lg richtext-border richtext-p-4",{"richtext-bg-[#1f6feb1f] richtext-border-[#1f6feb]":"note"===e,"richtext-bg-[#2386361f] richtext-border-[#238636]":"tip"===e,"richtext-bg-[#ab7df81f] richtext-border-[#ab7df8]":"important"===e,"richtext-bg-[#d299221f] richtext-border-[#d29922]":"warning"===e,"richtext-bg-[#f851491f] richtext-border-[#f85149]":"caution"===e}),children:[/* @__PURE__ */N("div",{className:g("richtext-mb-2 richtext-flex richtext-items-center richtext-gap-2",{"richtext-text-[#1f6feb]":"note"===e,"richtext-text-[#238636]":"tip"===e,"richtext-text-[#ab7df8]":"important"===e,"richtext-text-[#d29922]":"warning"===e,"richtext-text-[#f85149]":"caution"===e}),children:[/* @__PURE__ */v(a,{className:"richtext-size-5"}),/* @__PURE__ */v("span",{className:"richtext-font-semibold",children:r})]}),i&&/* @__PURE__ */v("p",{className:"richtext-pl-[28px]",children:i})]})})}var W=[{value:"note",label:"Note",icon:"Info"},{value:"tip",label:"Tip",icon:"Lightbulb"},{value:"important",label:"Important",icon:"AlertCircle"},{value:"warning",label:"Warning",icon:"TriangleAlert"},{value:"caution",label:"Caution",icon:"OctagonAlert"}];function q(){const{t:t}=r(),m=x(),u=p($.name),[f,g]=b(!1),[w,C]=b("note"),[T,j]=b(""),[A,L]=b(""),{icon:k,tooltip:z,shortcutKeys:I,tooltipOptions:H={},isActive:M}=u?.componentProps??{},{dataState:O,disabled:P}=h(M);return u?/* @__PURE__ */N(n,{onOpenChange:g,open:f,children:[/* @__PURE__ */v(o,{asChild:!0,children:/* @__PURE__ */v(e,{action:()=>{P||g(!0)},dataState:O,disabled:P,icon:k,shortcutKeys:I,tooltip:z,tooltipOptions:H})}),/* @__PURE__ */N(c,{children:[
6
+ /* @__PURE__ */v(a,{children:t("editor.callout.dialog.title")}),
7
+ /* @__PURE__ */N("div",{className:"richtext-space-y-4 richtext-py-4",children:[
8
+ /* @__PURE__ */N("div",{className:"richtext-space-y-2",children:[/* @__PURE__ */v(d,{children:t("editor.callout.dialog.type")}),/* @__PURE__ */N(R,{onValueChange:C,value:w,children:[/* @__PURE__ */v(B,{children:/* @__PURE__ */v(S,{placeholder:t("editor.callout.dialog.type.placeholder")})}),/* @__PURE__ */v(V,{children:W.map(e=>/* @__PURE__ */v(D,{value:e.value,children:t(`editor.callout.type.${e.value}`)},e.value))})]})]}),
9
+ /* @__PURE__ */N("div",{className:"richtext-space-y-2",children:[/* @__PURE__ */v(d,{children:t("editor.callout.dialog.title.label")}),/* @__PURE__ */v(s,{onChange:t=>j(t.target.value),placeholder:t("editor.callout.dialog.title.placeholder"),value:T})]}),
10
+ /* @__PURE__ */N("div",{className:"richtext-space-y-2",children:[/* @__PURE__ */v(d,{children:t("editor.callout.dialog.body.label")}),/* @__PURE__ */v(s,{onChange:t=>L(t.target.value),placeholder:t("editor.callout.dialog.body.placeholder"),value:A})]})]}),
11
+ /* @__PURE__ */N(l,{children:[/* @__PURE__ */v(i,{onClick:()=>g(!1),variant:"outline",children:t("editor.callout.dialog.button.cancel")}),/* @__PURE__ */v(i,{onClick:()=>{m&&(m.chain().focus().setCallout({type:w,title:T,body:A}).run(),g(!1),C("note"),j(""),L(""))},children:t("editor.callout.dialog.button.apply")})]})]})]}):/* @__PURE__ */v(y,{})}function F(t){return e=>e.getAttribute(t)}var $=H.create({name:"callout",group:"block",selectable:!0,atom:!0,draggable:!0,inline:!1,addOptions(){return{...this.parent?.(),HTMLAttributes:{class:"callout"},button:({editor:t,t:r})=>({component:e,componentProps:{action:()=>!0,isActive:()=>t.isActive("callout"),disabled:!1,icon:"Callout",tooltip:r("editor.callout.tooltip")}})}},parseHTML:()=>[{tag:"div.callout"}],renderHTML({HTMLAttributes:t}){return["div",M(this.options&&this.options.HTMLAttributes||{},t)]},addAttributes:()=>({type:{default:"",parseHTML:F("type")},title:{default:"",parseHTML:F("title")},body:{default:"",parseHTML:F("body")}}),addCommands(){return{setCallout:t=>({chain:e})=>e().insertContent({type:this.name,attrs:t}).run()}},addNodeView:()=>u(U)});export{D as a,V as i,q as n,B as o,R as r,S as s,$ as t};
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./Callout-DOHjjQtT.cjs");exports.Callout=e.Callout,exports.RichTextCallout=e.RichTextCallout;
@@ -0,0 +1 @@
1
+ import{n as o,t}from"./Callout-heY7R-Zu.js";export{t as Callout,o as RichTextCallout};
package/dist/Clear.cjs ADDED
@@ -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");var r=require("@tiptap/core").Node.create({name:"clear",addOptions(){return{...this.parent?.(),button:({editor:t,t:e})=>({componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),isActive:()=>t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:e("editor.clear.tooltip")}})}}});exports.Clear=r,exports.RichTextClear=function(){const i=e.useButtonProps(r.name),{icon:n,tooltip:s,shortcutKeys:c,tooltipOptions:a={},action:u,isActive:l}=i?.componentProps??{},{disabled:p}=e.useActive(l);return i?(0,o.jsx)(t.ActionButton,{action:()=>{p||u&&u()},disabled:p,icon:n,shortcutKeys:c,tooltip:s,tooltipOptions:a}):(0,o.jsx)(o.Fragment,{})};
package/dist/Clear.js ADDED
@@ -0,0 +1 @@
1
+ import{n as t}from"./toggle-BXl_NYYh.js";import{s as o,t as r}from"./useButtonProps-DSIajp_B.js";import{Fragment as i,jsx as s}from"react/jsx-runtime";import{Node as e}from"@tiptap/core";function n(){const e=r(a.name),{icon:n,tooltip:c,shortcutKeys:p,tooltipOptions:l={},action:u,isActive:m}=e?.componentProps??{},{disabled:d}=o(m);return e?/* @__PURE__ */s(t,{action:()=>{d||u&&u()},disabled:d,icon:n,shortcutKeys:p,tooltip:c,tooltipOptions:l}):/* @__PURE__ */s(i,{})}var a=e.create({name:"clear",addOptions(){return{...this.parent?.(),button:({editor:t,t:o})=>({componentProps:{action:()=>t.chain().focus().clearNodes().unsetAllMarks().run(),isActive:()=>t.can().chain().focus().clearNodes().unsetAllMarks().run(),icon:"Eraser",tooltip:o("editor.clear.tooltip")}})}}});export{a as Clear,n as RichTextClear};
@@ -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{Mark as d,markInputRule as s,markPasteRule as i,mergeAttributes as a}from"@tiptap/core";var c=t=>{const e=/`([^`]+)`(?!`)$/.exec(t);return e?e.index>0&&"`"===t[e.index-1]?null:{index:e.index,text:e[0],replaceWith:e[1]}:null},p=t=>{const e=/`([^`]+)`(?!`)/g,o=[];let n;for(;null!==(n=e.exec(t));)n.index>0&&"`"===t[n.index-1]||o.push({index:n.index,text:n[0],replaceWith:n[1]});return o};function u(){const d=o(m.name),{icon:s,tooltip:i,shortcutKeys:a,tooltipOptions:c={},action:p,isActive:u}=d?.componentProps??{},{dataState:l,disabled:x,update:h}=e(u);return d?/* @__PURE__ */r(t,{action:()=>{x||p&&(p(),h())},dataState:l,disabled:x,icon:s,shortcutKeys:a,tooltip:i,tooltipOptions:c}):/* @__PURE__ */r(n,{})}var m=d.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:t}){return["code",a(this.options.HTMLAttributes,t),0]},markdownTokenName:"codespan",parseMarkdown:(t,e)=>e.applyMark("code",[{type:"text",text:t.text||""}]),renderMarkdown:(t,e)=>t.content?`\`${e.renderChildren(t.content)}\``:"",addCommands(){return{setCode:()=>({commands:t})=>t.setMark(this.name),toggleCode:()=>({commands:t})=>t.toggleMark(this.name),unsetCode:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[s({find:c,type:this.type})]},addPasteRules(){return[i({find:p,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:t,t:e,extension:o})=>({componentProps:{action:()=>t.commands.toggleCode(),isActive:()=>t.isActive("code"),disabled:!t.can().toggleCode(),icon:"Code",shortcutKeys:o.options.shortcutKeys??["mod","E"],tooltip:e("editor.code.tooltip")}})}}});export{u as n,m as t};
@@ -0,0 +1 @@
1
+ const e=require("./toggle-CRftKzl0.cjs"),t=require("./useButtonProps-D2Hd5DbR.cjs");let o=require("react/jsx-runtime"),n=require("@tiptap/core");var r=e=>{const t=/`([^`]+)`(?!`)$/.exec(e);return t?t.index>0&&"`"===e[t.index-1]?null:{index:t.index,text:t[0],replaceWith:t[1]}:null},d=e=>{const t=/`([^`]+)`(?!`)/g,o=[];let n;for(;null!==(n=t.exec(e));)n.index>0&&"`"===e[n.index-1]||o.push({index:n.index,text:n[0],replaceWith:n[1]});return o};function i(){const n=t.useButtonProps(s.name),{icon:r,tooltip:d,shortcutKeys:i,tooltipOptions:a={},action:c,isActive:u}=n?.componentProps??{},{dataState:p,disabled:l,update:m}=t.useToggleActive(u);return n?(0,o.jsx)(e.ActionButton,{action:()=>{l||c&&(c(),m())},dataState:p,disabled:l,icon:r,shortcutKeys:i,tooltip:d,tooltipOptions:a}):(0,o.jsx)(o.Fragment,{})}var s=n.Mark.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:e}){return["code",(0,n.mergeAttributes)(this.options.HTMLAttributes,e),0]},markdownTokenName:"codespan",parseMarkdown:(e,t)=>t.applyMark("code",[{type:"text",text:e.text||""}]),renderMarkdown:(e,t)=>e.content?`\`${t.renderChildren(e.content)}\``:"",addCommands(){return{setCode:()=>({commands:e})=>e.setMark(this.name),toggleCode:()=>({commands:e})=>e.toggleMark(this.name),unsetCode:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[(0,n.markInputRule)({find:r,type:this.type})]},addPasteRules(){return[(0,n.markPasteRule)({find:d,type:this.type})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:e,t:t,extension:o})=>({componentProps:{action:()=>e.commands.toggleCode(),isActive:()=>e.isActive("code"),disabled:!e.can().toggleCode(),icon:"Code",shortcutKeys:o.options.shortcutKeys??["mod","E"],tooltip:t("editor.code.tooltip")}})}}});Object.defineProperty(exports,"Code",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"RichTextCode",{enumerable:!0,get:function(){return i}});
package/dist/Code.cjs ADDED
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./rolldown-runtime-BeavJI0R.cjs");const e=require("./Code-BsD1D1sK.cjs");exports.Code=e.Code,exports.RichTextCode=e.RichTextCode;
package/dist/Code.js ADDED
@@ -0,0 +1 @@
1
+ import{n as o,t as r}from"./Code-B17BQJf-.js";export{r as Code,o as RichTextCode};
@@ -0,0 +1 @@
1
+ import{o as e,t}from"./rolldown-runtime-Drgf5FY8.js";import{n}from"./toggle-BXl_NYYh.js";import{c as i,t as o}from"./useButtonProps-DSIajp_B.js";import r from"react";import{Fragment as a,jsx as s}from"react/jsx-runtime";import{Node as l,findChildren as c,mergeAttributes as u,textblockTypeInputRule as d}from"@tiptap/core";import{Plugin as g,PluginKey as h,Selection as p,TextSelection as f}from"@tiptap/pm/state";import{Decoration as m,DecorationSet as b}from"@tiptap/pm/view";var x=/^```([a-z]+)?[\s\n]$/,w=/^~~~([a-z]+)?[\s\n]$/,y=l.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,exitOnArrowUp:!0,defaultLanguage:null,enableTabIndentation:!1,tabSize:4,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:e=>{var t;const{languageClassPrefix:n}=this.options;if(!n)return null;const i=[...(null==(t=e.firstElementChild)?void 0:t.classList)||[]].filter(e=>e.startsWith(n)).map(e=>e.replace(n,""))[0];return i||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:e,HTMLAttributes:t}){return["pre",u(this.options.HTMLAttributes,t),["code",{class:e.attrs.language?this.options.languageClassPrefix+e.attrs.language:null},0]]},markdownTokenName:"code",parseMarkdown:(e,t)=>{var n,i;return!1===(null==(n=e.raw)?void 0:n.startsWith("```"))&&!1===(null==(i=e.raw)?void 0:i.startsWith("~~~"))&&"indented"!==e.codeBlockStyle?[]:t.createNode("codeBlock",{language:e.lang||null},e.text?[t.createTextNode(e.text)]:[])},renderMarkdown:(e,t)=>{var n;let i="";const o=(null==(n=e.attrs)?void 0:n.language)||"";return i=e.content?[`\`\`\`${o}`,t.renderChildren(e.content),"```"].join("\n"):`\`\`\`${o}\n\n\`\`\``,i},addCommands(){return{setCodeBlock:e=>({commands:t})=>t.setNode(this.name,e),toggleCodeBlock:e=>({commands:t})=>t.toggleNode(this.name,"paragraph",e)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:e,$anchor:t}=this.editor.state.selection,n=1===t.pos;return!(!e||t.parent.type.name!==this.name)&&(!(!n&&t.parent.textContent.length)&&this.editor.commands.clearNodes())},Tab:({editor:e})=>{var t;if(!this.options.enableTabIndentation)return!1;const n=null!=(t=this.options.tabSize)?t:4,{state:i}=e,{selection:o}=i,{$from:r,empty:a}=o;if(r.parent.type!==this.type)return!1;const s=" ".repeat(n);return a?e.commands.insertContent(s):e.commands.command(({tr:e})=>{const{from:t,to:n}=o,r=i.doc.textBetween(t,n,"\n","\n").split("\n").map(e=>s+e).join("\n");return e.replaceWith(t,n,i.schema.text(r)),!0})},"Shift-Tab":({editor:e})=>{var t;if(!this.options.enableTabIndentation)return!1;const n=null!=(t=this.options.tabSize)?t:4,{state:i}=e,{selection:o}=i,{$from:r,empty:a}=o;return r.parent.type===this.type&&(a?e.commands.command(({tr:e})=>{var t;const{pos:o}=r,a=r.start(),s=r.end(),l=i.doc.textBetween(a,s,"\n","\n").split("\n");let c=0,u=0;const d=o-a;for(let n=0;n<l.length;n+=1){if(u+l[n].length>=d){c=n;break}u+=l[n].length+1}const g=(null==(t=l[c].match(/^ */))?void 0:t[0])||"",h=Math.min(g.length,n);if(0===h)return!0;let p=a;for(let n=0;n<c;n+=1)p+=l[n].length+1;return e.delete(p,p+h),o-p<=h&&e.setSelection(f.create(e.doc,p)),!0}):e.commands.command(({tr:e})=>{const{from:t,to:r}=o,a=i.doc.textBetween(t,r,"\n","\n").split("\n").map(e=>{var t;const i=(null==(t=e.match(/^ */))?void 0:t[0])||"",o=Math.min(i.length,n);return e.slice(o)}).join("\n");return e.replaceWith(t,r,i.schema.text(a)),!0}))},Enter:({editor:e})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:t}=e,{selection:n}=t,{$from:i,empty:o}=n;if(!o||i.parent.type!==this.type)return!1;const r=i.parentOffset===i.parent.nodeSize-2,a=i.parent.textContent.endsWith("\n\n");return!(!r||!a)&&e.chain().command(({tr:e})=>(e.delete(i.pos-2,i.pos),!0)).exitCode().run()},ArrowUp:({editor:e})=>{if(!this.options.exitOnArrowUp)return!1;const{state:t}=e,{selection:n}=t,{$from:i,empty:o}=n;if(!o||i.parent.type!==this.type)return!1;if(0!==i.parentOffset)return!1;const r=i.before();return!(r>0)&&e.commands.insertDefaultBlock({pos:r})},ArrowDown:({editor:e})=>{if(!this.options.exitOnArrowDown)return!1;const{state:t}=e,{selection:n,doc:i}=t,{$from:o,empty:r}=n;if(!r||o.parent.type!==this.type)return!1;if(o.parentOffset!==o.parent.nodeSize-2)return!1;const a=o.after();return void 0!==a&&(i.nodeAt(a)?e.commands.command(({tr:e})=>(e.setSelection(p.near(i.resolve(a))),!0)):e.commands.exitCode())}}},addInputRules(){return[d({find:x,type:this.type,getAttributes:e=>({language:e[1]})}),d({find:w,type:this.type,getAttributes:e=>({language:e[1]})})]},addProseMirrorPlugins(){return[new g({key:new h("codeBlockVSCodeHandler"),props:{handlePaste:(e,t)=>{if(!t.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const n=t.clipboardData.getData("text/plain"),i=t.clipboardData.getData("vscode-editor-data"),o=i?JSON.parse(i):void 0,r=null==o?void 0:o.mode;if(!n||!r)return!1;const{tr:a,schema:s}=e.state,l=s.text(n.replace(/\r\n?/g,"\n"));return a.replaceSelectionWith(this.type.create({language:r},l)),a.selection.$from.parent.type!==this.type&&a.setSelection(f.near(a.doc.resolve(Math.max(0,a.selection.from-2)))),a.setMeta("paste",!0),e.dispatch(a),!0}}})]}}),E=/* @__PURE__ */e(/* @__PURE__ */t((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const i=e[t],o=typeof i;"object"!==o&&"function"!==o||Object.isFrozen(i)||n(i)}),e}var i=class{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function o(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function r(e,...t){const n=Object.create(null);for(const i in e)n[i]=e[i];return t.forEach(function(e){for(const t in e)n[t]=e[t]}),n}var a=e=>!!e.scope,s=class{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=o(e)}openNode(e){if(!a(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){a(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},l=(e={})=>{const t={children:[]};return Object.assign(t,e),t},c=class e{constructor(){this.rootNode=l(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=l({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){"string"!=typeof t&&t.children&&(t.children.every(e=>"string"==typeof e)?t.children=[t.children.join("")]:t.children.forEach(t=>{e._collapse(t)}))}},u=class extends c{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new s(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function d(e){return e?"string"==typeof e?e:e.source:null}function g(e){return f("(?=",e,")")}function h(e){return f("(?:",e,")*")}function p(e){return f("(?:",e,")?")}function f(...e){return e.map(e=>d(e)).join("")}function m(...e){return"("+(function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e).capture?"":"?:")+e.map(e=>d(e)).join("|")+")"}function b(e){return new RegExp(e.toString()+"|").exec("").length-1}var x=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function w(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;const t=n;let i=d(e),o="";for(;i.length>0;){const e=x.exec(i);if(!e){o+=i;break}o+=i.substring(0,e.index),i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?o+="\\"+String(Number(e[1])+t):(o+=e[0],"("===e[0]&&n++)}return o}).map(e=>`(${e})`).join(t)}var y="[a-zA-Z]\\w*",E="[a-zA-Z_]\\w*",v="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",O="\\b(0b[01]+)",S={begin:"\\\\[\\s\\S]",relevance:0},k={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[S]},M={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[S]},A=function(e,t,n={}){const i=r({scope:"comment",begin:e,end:t,contains:[]},n);i.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const o=m("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return i.contains.push({begin:f(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},N=A("//","$"),T=A("/\\*","\\*/"),R=A("#","$"),L={scope:"number",begin:v,relevance:0},j={scope:"number",begin:_,relevance:0},I={scope:"number",begin:O,relevance:0},B={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[S,{begin:/\[/,end:/\]/,relevance:0,contains:[S]}]},C={scope:"title",begin:y,relevance:0},P={scope:"title",begin:E,relevance:0},D=/*#__PURE__*/Object.freeze({__proto__:null,APOS_STRING_MODE:k,BACKSLASH_ESCAPE:S,BINARY_NUMBER_MODE:I,BINARY_NUMBER_RE:O,COMMENT:A,C_BLOCK_COMMENT_MODE:T,C_LINE_COMMENT_MODE:N,C_NUMBER_MODE:j,C_NUMBER_RE:_,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:R,IDENT_RE:y,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},NUMBER_MODE:L,NUMBER_RE:v,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:M,REGEXP_MODE:B,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=f(t,/.*\b/,e.binary,/\b.*/)),r({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:C,UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:P});function H(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function $(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function z(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=H,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function U(e,t){Array.isArray(e.illegal)&&(e.illegal=m(...e.illegal))}function W(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function X(e,t){void 0===e.relevance&&(e.relevance=1)}var G=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=f(n.beforeMatch,g(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},K=["of","and","for","in","not","or","if","then","parent","list","value"];function Z(e,t,n="keyword"){const i=Object.create(null);return"string"==typeof e?o(n,e.split(" ")):Array.isArray(e)?o(n,e):Object.keys(e).forEach(function(n){Object.assign(i,Z(e[n],t,n))}),i;function o(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){const n=t.split("|");i[n[0]]=[e,F(n[0],n[1])]})}}function F(e,t){return t?Number(t):function(e){return K.includes(e.toLowerCase())}(e)?0:1}var V={},J=(e,t)=>{V[`${e}/${t}`]||(V[`${e}/${t}`]=!0)},q=/* @__PURE__ */new Error;function Y(e,t,{key:n}){let i=0;const o=e[n],r={},a={};for(let s=1;s<=t.length;s++)a[s+i]=o[s],r[s+i]=!0,i+=b(t[s-1]);e[n]=a,e[n]._emit=r,e[n]._multi=!0}function Q(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw q;if("object"!=typeof e.beginScope||null===e.beginScope)throw q;Y(e,e.begin,{key:"beginScope"}),e.begin=w(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw q;if("object"!=typeof e.endScope||null===e.endScope)throw q;Y(e,e.end,{key:"endScope"}),e.end=w(e.end,{joinWith:""})}}(e)}function ee(e){function t(t,n){return new RegExp(d(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(w(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex((e,t)=>t>0&&void 0!==e),i=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,i)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=r(e.classNameAliases||{}),function n(o,a){const s=o;if(o.isCompiled)return s;[$,W,Q,G].forEach(e=>e(o,a)),e.compilerExtensions.forEach(e=>e(o,a)),o.__beforeBegin=null,[z,U,X].forEach(e=>e(o,a)),o.isCompiled=!0;let l=null;return"object"==typeof o.keywords&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),l=o.keywords.$pattern,delete o.keywords.$pattern),l=l||/\w+/,o.keywords&&(o.keywords=Z(o.keywords,e.case_insensitive)),s.keywordPatternRe=t(l,!0),a&&(o.begin||(o.begin=/\B|\b/),s.beginRe=t(s.begin),o.end||o.endsWithParent||(o.end=/\B|\b/),o.end&&(s.endRe=t(s.end)),s.terminatorEnd=d(s.end)||"",o.endsWithParent&&a.terminatorEnd&&(s.terminatorEnd+=(o.end?"|":"")+a.terminatorEnd)),o.illegal&&(s.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return r(e,{variants:null},t)}));return e.cachedVariants?e.cachedVariants:te(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?o:e)})),o.contains.forEach(function(e){n(e,s)}),o.starts&&n(o.starts,a),s.matcher=function(e){const t=new i;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(s),s}(e)}function te(e){return!!e&&(e.endsWithParent||te(e.starts))}var ne=class extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}},ie=o,oe=r,re=Symbol("nomatch"),ae=function(e){const t=Object.create(null),o=Object.create(null),r=[];let a=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",l={disableAutodetect:!0,name:"Plain text",contains:[]};let c={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:u};function d(e){return c.noHighlightRe.test(e)}function b(e,t,n){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language):(J("10.7.0","highlight(lang, code, ...args) has been deprecated."),J("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t),void 0===n&&(n=!0);const r={code:i,language:o};k("before:highlight",r);const a=r.result?r.result:x(r.language,r.code,n);return a.code=r.code,k("after:highlight",a),a}function x(e,n,o,r){const l=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!M.keywords)return void N.addText(T);let e=0;M.keywordPatternRe.lastIndex=0;let t=M.keywordPatternRe.exec(T),n="";for(;t;){n+=T.substring(e,t.index);const i=O.case_insensitive?t[0].toLowerCase():t[0],o=u(M,i);if(o){const[e,r]=o;if(N.addText(n),n="",l[i]=(l[i]||0)+1,l[i]<=7&&(R+=r),e.startsWith("_"))n+=t[0];else{const n=O.classNameAliases[e]||e;h(t[0],n)}}else n+=t[0];e=M.keywordPatternRe.lastIndex,t=M.keywordPatternRe.exec(T)}n+=T.substring(e),N.addText(n)}function g(){null!=M.subLanguage?function(){if(""===T)return;let e=null;if("string"==typeof M.subLanguage){if(!t[M.subLanguage])return void N.addText(T);e=x(M.subLanguage,T,!0,A[M.subLanguage]),A[M.subLanguage]=e._top}else e=w(T,M.subLanguage.length?M.subLanguage:null);M.relevance>0&&(R+=e.relevance),N.__addSublanguage(e._emitter,e.language)}():d(),T=""}function h(e,t){""!==e&&(N.startScope(t),N.addText(e),N.endScope())}function p(e,t){let n=1;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue}const i=O.classNameAliases[e[n]]||e[n],o=t[n];i?h(o,i):(T=o,d(),T=""),n++}}function f(e,t){return e.scope&&"string"==typeof e.scope&&N.openNode(O.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(h(T,O.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),T=""):e.beginScope._multi&&(p(e.beginScope,t),T="")),M=Object.create(e,{parent:{value:M}}),M}function m(e,t,n){let o=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(o){if(e["on:end"]){const n=new i(e);e["on:end"](t,n),n.isMatchIgnored&&(o=!1)}if(o){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return m(e.parent,t,n)}function b(e){return 0===M.matcher.regexIndex?(T+=e[0],1):(I=!0,0)}function y(e){const t=e[0],i=n.substring(e.index),o=m(M,e,i);if(!o)return re;const r=M;M.endScope&&M.endScope._wrap?(g(),h(t,M.endScope._wrap)):M.endScope&&M.endScope._multi?(g(),p(M.endScope,e)):r.skip?T+=t:(r.returnEnd||r.excludeEnd||(T+=t),g(),r.excludeEnd&&(T=t));do{M.scope&&N.closeNode(),M.skip||M.subLanguage||(R+=M.relevance),M=M.parent}while(M!==o.parent);return o.starts&&f(o.starts,e),r.returnEnd?0:t.length}let E={};function v(t,r){const s=r&&r[0];if(T+=t,null==s)return g(),0;if("begin"===E.type&&"end"===r.type&&E.index===r.index&&""===s){if(T+=n.slice(r.index,r.index+1),!a){const t=/* @__PURE__ */new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=E.rule,t}return 1}if(E=r,"begin"===r.type)return function(e){const t=e[0],n=e.rule,o=new i(n),r=[n.__beforeBegin,n["on:begin"]];for(const i of r)if(i&&(i(e,o),o.isMatchIgnored))return b(t);return n.skip?T+=t:(n.excludeBegin&&(T+=t),g(),n.returnBegin||n.excludeBegin||(T=t)),f(n,e),n.returnBegin?0:t.length}(r);if("illegal"===r.type&&!o){const e=/* @__PURE__ */new Error('Illegal lexeme "'+s+'" for mode "'+(M.scope||"<unnamed>")+'"');throw e.mode=M,e}if("end"===r.type){const e=y(r);if(e!==re)return e}if("illegal"===r.type&&""===s)return T+="\n",1;if(j>1e5&&j>3*r.index)/* @__PURE__ */throw new Error("potential infinite loop, way more iterations than matches");return T+=s,s.length}const O=_(e);if(!O)throw s.replace("{}",e),new Error('Unknown language: "'+e+'"');const S=ee(O);let k="",M=r||S;const A={},N=new c.__emitter(c);!function(){const e=[];for(let t=M;t!==O;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>N.openNode(e))}();let T="",R=0,L=0,j=0,I=!1;try{if(O.__emitTokens)O.__emitTokens(n,N);else{for(M.matcher.considerAll();;){j++,I?I=!1:M.matcher.considerAll(),M.matcher.lastIndex=L;const e=M.matcher.exec(n);if(!e)break;const t=v(n.substring(L,e.index),e);L=e.index+t}v(n.substring(L))}return N.finalize(),k=N.toHTML(),{language:e,value:k,relevance:R,illegal:!1,_emitter:N,_top:M}}catch(B){if(B.message&&B.message.includes("Illegal"))return{language:e,value:ie(n),illegal:!0,relevance:0,_illegalBy:{message:B.message,index:L,context:n.slice(L-100,L+100),mode:B.mode,resultSoFar:k},_emitter:N};if(a)return{language:e,value:ie(n),illegal:!1,relevance:0,errorRaised:B,_emitter:N,_top:M};throw B}}function w(e,n){n=n||c.languages||Object.keys(t);const i=function(e){const t={value:ie(e),illegal:!1,relevance:0,_top:l,_emitter:new c.__emitter(c)};return t._emitter.addText(e),t}(e),o=n.filter(_).filter(S).map(t=>x(t,e,!1));o.unshift(i);const[r,a]=o.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(_(e.language).supersetOf===t.language)return 1;if(_(t.language).supersetOf===e.language)return-1}return 0}),s=r;return s.secondBest=a,s}function y(e){let t=null;const n=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=c.languageDetectRe.exec(t);if(n){const e=_(n[1]);return e||s.replace("{}",n[1]),e?n[1]:"no-highlight"}return t.split(/\s+/).find(e=>d(e)||_(e))}(e);if(d(n))return;if(k("before:highlightElement",{el:e,language:n}),e.dataset.highlighted)return;if(e.children.length>0&&(c.ignoreUnescapedHTML,c.throwUnescapedHTML))throw new ne("One of your code blocks includes unescaped HTML.",e.innerHTML);t=e;const i=t.textContent,r=n?b(i,{language:n,ignoreIllegals:!0}):w(i);e.innerHTML=r.value,e.dataset.highlighted="yes",function(e,t,n){const i=t&&o[t]||n;e.classList.add("hljs"),e.classList.add(`language-${i}`)}(e,n,r.language),e.result={language:r.language,re:r.relevance,relevance:r.relevance},r.secondBest&&(e.secondBest={language:r.secondBest.language,relevance:r.secondBest.relevance}),k("after:highlightElement",{el:e,result:r,text:i})}let E=!1;function v(){if("loading"===document.readyState)return E||window.addEventListener("DOMContentLoaded",function(){v()},!1),void(E=!0);document.querySelectorAll(c.cssSelector).forEach(y)}function _(e){return e=(e||"").toLowerCase(),t[e]||t[o[e]]}function O(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{o[e.toLowerCase()]=t})}function S(e){const t=_(e);return t&&!t.disableAutodetect}function k(e,t){const n=e;r.forEach(function(e){e[n]&&e[n](t)})}Object.assign(e,{highlight:b,highlightAuto:w,highlightAll:v,highlightElement:y,highlightBlock:function(e){return J("10.7.0","highlightBlock will be removed entirely in v12.0"),J("10.7.0","Please use highlightElement now."),y(e)},configure:function(e){c=oe(c,e)},initHighlighting:()=>{v(),J("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){v(),J("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(n,i){let o=null;try{o=i(e)}catch(r){if("Language definition for '{}' could not be registered.".replace("{}",n),!a)throw r;o=l}o.name||(o.name=n),t[n]=o,o.rawDefinition=i.bind(null,e),o.aliases&&O(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(o))o[t]===e&&delete o[t]},listLanguages:function(){return Object.keys(t)},getLanguage:_,registerAliases:O,autoDetection:S,inherit:oe,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},removePlugin:function(e){const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString="11.11.1",e.regex={concat:f,lookahead:g,either:m,optional:p,anyNumberOfTimes:h};for(const i in D)"object"==typeof D[i]&&n(D[i]);return Object.assign(e,D),e},se=ae({});se.newInstance=()=>ae({}),t.exports=se,se.HighlightJS=se,se.default=se})()).default;function v(e,t=[]){return e.flatMap(e=>{const n=[...t,...e.properties?e.properties.className:[]];return e.children?v(e.children,n):{text:e.value,classes:n}})}function _(e){return e.value||e.children||[]}function O({doc:e,name:t,lowlight:n,defaultLanguage:i}){const o=[];return c(e,e=>e.type.name===t).forEach(e=>{var t;let r=e.pos+1;const a=e.node.attrs.language||i,s=n.listLanguages();var l;v(a&&(s.includes(a)||(l=a,Boolean(E.getLanguage(l)))||(null==(t=n.registered)?void 0:t.call(n,a)))?_(n.highlight(a,e.node.textContent)):_(n.highlightAuto(e.node.textContent))).forEach(e=>{const t=r+e.text.length;if(e.classes.length){const n=m.inline(r,t,{class:e.classes.join(" ")});o.push(n)}r=t})}),b.create(e,o)}function S({name:e,lowlight:t,defaultLanguage:n}){if(!["highlight","highlightAuto","listLanguages"].every(e=>"function"==typeof t[e]))throw Error("You should provide an instance of lowlight to use the code-block-lowlight extension");const i=new g({key:new h("lowlight"),state:{init:(i,{doc:o})=>O({doc:o,name:e,lowlight:t,defaultLanguage:n}),apply:(i,o,r,a)=>{const s=r.selection.$head.parent.type.name,l=a.selection.$head.parent.type.name,u=c(r.doc,t=>t.type.name===e),d=c(a.doc,t=>t.type.name===e);return i.docChanged&&([s,l].includes(e)||d.length!==u.length||i.steps.some(e=>void 0!==e.from&&void 0!==e.to&&u.some(t=>t.pos>=e.from&&t.pos+t.node.nodeSize<=e.to)))?O({doc:i.doc,name:e,lowlight:t,defaultLanguage:n}):o.map(i.mapping,i.doc)}},props:{decorations:e=>i.getState(e)}});return i}function k(){const e=o(M.name),{icon:t,tooltip:r,tooltipOptions:l={},action:c,isActive:u}=e?.componentProps??{},{dataState:d,disabled:g,update:h}=i(u);return e?/* @__PURE__ */s(n,{action:()=>{g||c&&(c(),h())},dataState:d,disabled:g,icon:t,tooltip:r,tooltipOptions:l}):/* @__PURE__ */s(a,{})}var M=y.extend({addOptions(){var e;return{...null==(e=this.parent)?void 0:e.call(this),lowlight:{},languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,exitOnArrowUp:!0,defaultLanguage:null,enableTabIndentation:!1,tabSize:4,HTMLAttributes:{}}},addProseMirrorPlugins(){var e;return[...(null==(e=this.parent)?void 0:e.call(this))||[],S({name:this.name,lowlight:this.options.lowlight,defaultLanguage:this.options.defaultLanguage})]}}).extend({addOptions(){return{...this.parent?.(),button:({editor:e,t:t})=>({componentProps:{action:()=>e.chain().focus().setCodeBlock({language:"plaintext"}).run(),isActive:()=>e.isActive("codeBlock"),disabled:!1,icon:"Code2",tooltip:t("editor.codeblock.tooltip")}})}}});export{k as n,M as t};