reactjs-tiptap-editor 0.4.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/lib/ActionMenuButton-BKOg7hkq.js +38 -0
  2. package/lib/ActionMenuButton-DLQyd_gx.cjs +1 -0
  3. package/lib/Attachment.cjs +2 -2
  4. package/lib/Attachment.d.cts +32 -44
  5. package/lib/Attachment.d.ts +32 -44
  6. package/lib/Attachment.js +129 -99
  7. package/lib/Blockquote.cjs +3 -3
  8. package/lib/Blockquote.d.cts +32 -44
  9. package/lib/Blockquote.d.ts +32 -44
  10. package/lib/Blockquote.js +50 -22
  11. package/lib/Bold.cjs +1 -1
  12. package/lib/Bold.d.cts +32 -44
  13. package/lib/Bold.d.ts +32 -44
  14. package/lib/Bold.js +48 -20
  15. package/lib/BulletList.cjs +1 -1
  16. package/lib/BulletList.d.cts +32 -44
  17. package/lib/BulletList.d.ts +32 -44
  18. package/lib/BulletList.js +38 -9
  19. package/lib/Clear.cjs +1 -1
  20. package/lib/Clear.d.cts +32 -44
  21. package/lib/Clear.d.ts +32 -44
  22. package/lib/Clear.js +32 -6
  23. package/lib/Code.cjs +1 -1
  24. package/lib/Code.d.cts +32 -44
  25. package/lib/Code.d.ts +32 -44
  26. package/lib/Code.js +53 -25
  27. package/lib/CodeBlock.cjs +35 -35
  28. package/lib/CodeBlock.d.cts +32 -44
  29. package/lib/CodeBlock.d.ts +32 -44
  30. package/lib/CodeBlock.js +605 -590
  31. package/lib/CodeView.cjs +1 -1
  32. package/lib/CodeView.d.cts +33 -45
  33. package/lib/CodeView.d.ts +33 -45
  34. package/lib/CodeView.js +49 -21
  35. package/lib/Color.cjs +1 -1
  36. package/lib/Color.d.cts +36 -44
  37. package/lib/Color.d.ts +36 -44
  38. package/lib/Color.js +123 -79
  39. package/lib/Column.cjs +1 -0
  40. package/lib/{Document.d.cts → Column.d.cts} +38 -47
  41. package/lib/{Document.d.ts → Column.d.ts} +38 -47
  42. package/lib/Column.js +217 -0
  43. package/lib/{Drawer-CaAfmqNo.js → Drawer-DZ5jvmrX.js} +404 -394
  44. package/lib/Drawer-SRhwOc6T.cjs +1 -0
  45. package/lib/Drawer.cjs +1 -1
  46. package/lib/Drawer.d.cts +32 -44
  47. package/lib/Drawer.d.ts +32 -44
  48. package/lib/Drawer.js +6 -5
  49. package/lib/Emoji.cjs +1 -1
  50. package/lib/Emoji.d.cts +32 -49
  51. package/lib/Emoji.d.ts +32 -49
  52. package/lib/Emoji.js +377 -392
  53. package/lib/Excalidraw-DwBRXEtC.js +345 -0
  54. package/lib/Excalidraw-ZN3DQvDC.cjs +1 -0
  55. package/lib/Excalidraw.cjs +1 -1
  56. package/lib/Excalidraw.d.cts +32 -44
  57. package/lib/Excalidraw.d.ts +32 -44
  58. package/lib/Excalidraw.js +6 -4
  59. package/lib/ExportPdf.cjs +5 -5
  60. package/lib/ExportPdf.d.cts +32 -44
  61. package/lib/ExportPdf.d.ts +32 -44
  62. package/lib/ExportPdf.js +60 -32
  63. package/lib/ExportWord.cjs +1 -1
  64. package/lib/ExportWord.d.cts +33 -45
  65. package/lib/ExportWord.d.ts +33 -45
  66. package/lib/ExportWord.js +84 -21
  67. package/lib/FontFamily.cjs +1 -1
  68. package/lib/FontFamily.d.cts +46 -47
  69. package/lib/FontFamily.d.ts +46 -47
  70. package/lib/FontFamily.js +72 -74
  71. package/lib/FontSize.cjs +1 -1
  72. package/lib/FontSize.d.cts +43 -47
  73. package/lib/FontSize.d.ts +43 -47
  74. package/lib/FontSize.js +72 -64
  75. package/lib/Heading.cjs +1 -1
  76. package/lib/Heading.d.cts +46 -44
  77. package/lib/Heading.d.ts +46 -44
  78. package/lib/Heading.js +91 -73
  79. package/lib/Highlight.cjs +1 -1
  80. package/lib/Highlight.d.cts +36 -44
  81. package/lib/Highlight.d.ts +36 -44
  82. package/lib/Highlight.js +152 -21
  83. package/lib/History.cjs +1 -1
  84. package/lib/History.d.cts +34 -44
  85. package/lib/History.d.ts +34 -44
  86. package/lib/History.js +976 -53
  87. package/lib/HorizontalRule.cjs +1 -1
  88. package/lib/HorizontalRule.d.cts +32 -44
  89. package/lib/HorizontalRule.d.ts +32 -44
  90. package/lib/HorizontalRule.js +97 -17
  91. package/lib/Icon-DUpv2cI6.cjs +1 -0
  92. package/lib/Icon-jKs8Hr6p.js +11 -0
  93. package/lib/Iframe-CmXkEqOd.js +431 -0
  94. package/lib/Iframe-Cvca2G7X.cjs +1 -0
  95. package/lib/Iframe.cjs +1 -1
  96. package/lib/Iframe.d.cts +31 -50
  97. package/lib/Iframe.d.ts +31 -50
  98. package/lib/Iframe.js +6 -4
  99. package/lib/Image.cjs +1 -1
  100. package/lib/Image.d.cts +32 -45
  101. package/lib/Image.d.ts +32 -45
  102. package/lib/Image.js +848 -5
  103. package/lib/ImageGif.cjs +1 -1
  104. package/lib/ImageGif.d.cts +33 -47
  105. package/lib/ImageGif.d.ts +33 -47
  106. package/lib/ImageGif.js +424 -5
  107. package/lib/ImportWord.cjs +48 -48
  108. package/lib/ImportWord.d.cts +33 -45
  109. package/lib/ImportWord.d.ts +33 -45
  110. package/lib/ImportWord.js +2596 -2588
  111. package/lib/Indent.cjs +1 -1
  112. package/lib/Indent.d.cts +32 -44
  113. package/lib/Indent.d.ts +32 -44
  114. package/lib/Indent.js +97 -27
  115. package/lib/Italic.cjs +1 -1
  116. package/lib/Italic.d.cts +32 -44
  117. package/lib/Italic.d.ts +32 -44
  118. package/lib/Italic.js +47 -19
  119. package/lib/Katex-DsYXsjSS.js +2740 -0
  120. package/lib/Katex-XfrNne6U.cjs +4 -0
  121. package/lib/Katex.cjs +1 -1
  122. package/lib/Katex.d.cts +32 -44
  123. package/lib/Katex.d.ts +32 -44
  124. package/lib/Katex.js +5 -196
  125. package/lib/LineHeight.cjs +1 -1
  126. package/lib/LineHeight.d.cts +34 -50
  127. package/lib/LineHeight.d.ts +34 -50
  128. package/lib/LineHeight.js +71 -112
  129. package/lib/Link.cjs +1 -1
  130. package/lib/Link.d.cts +33 -47
  131. package/lib/Link.d.ts +33 -47
  132. package/lib/Link.js +3 -3
  133. package/lib/LinkEditBlock-BZenZq-Z.cjs +5 -0
  134. package/lib/LinkEditBlock-CB8yIffE.js +1241 -0
  135. package/lib/Mention.cjs +1 -1
  136. package/lib/Mention.d.cts +29 -44
  137. package/lib/Mention.d.ts +29 -44
  138. package/lib/Mention.js +112 -124
  139. package/lib/Mermaid.cjs +2 -2
  140. package/lib/Mermaid.d.cts +32 -44
  141. package/lib/Mermaid.d.ts +32 -44
  142. package/lib/Mermaid.js +177 -165
  143. package/lib/MoreMark.cjs +1 -1
  144. package/lib/MoreMark.d.cts +47 -46
  145. package/lib/MoreMark.d.ts +47 -46
  146. package/lib/MoreMark.js +125 -55
  147. package/lib/OrderedList.cjs +1 -1
  148. package/lib/OrderedList.d.cts +32 -44
  149. package/lib/OrderedList.d.ts +32 -44
  150. package/lib/OrderedList.js +37 -9
  151. package/lib/SearchAndReplace.cjs +1 -1
  152. package/lib/SearchAndReplace.d.cts +32 -47
  153. package/lib/SearchAndReplace.d.ts +32 -47
  154. package/lib/SearchAndReplace.js +221 -197
  155. package/lib/SlashCommand.cjs +1 -1
  156. package/lib/SlashCommand.d.cts +44 -51
  157. package/lib/SlashCommand.d.ts +44 -51
  158. package/lib/SlashCommand.js +235 -249
  159. package/lib/Strike.cjs +1 -1
  160. package/lib/Strike.d.cts +32 -44
  161. package/lib/Strike.d.ts +32 -44
  162. package/lib/Strike.js +39 -11
  163. package/lib/Table-B1j1Ebmh.cjs +9 -0
  164. package/lib/Table-Db8TcQX8.js +1984 -0
  165. package/lib/Table.cjs +1 -9
  166. package/lib/Table.d.cts +33 -47
  167. package/lib/Table.d.ts +33 -47
  168. package/lib/Table.js +3 -558
  169. package/lib/TaskList.cjs +1 -1
  170. package/lib/TaskList.d.cts +32 -44
  171. package/lib/TaskList.d.ts +32 -44
  172. package/lib/TaskList.js +38 -10
  173. package/lib/TextAlign.cjs +1 -1
  174. package/lib/TextAlign.d.cts +45 -44
  175. package/lib/TextAlign.d.ts +45 -44
  176. package/lib/TextAlign.js +108 -101
  177. package/lib/TextDirection.cjs +1 -1
  178. package/lib/TextDirection.d.cts +61 -44
  179. package/lib/TextDirection.d.ts +61 -44
  180. package/lib/TextDirection.js +105 -112
  181. package/lib/TextUnderline.cjs +1 -1
  182. package/lib/TextUnderline.d.cts +32 -44
  183. package/lib/TextUnderline.d.ts +32 -44
  184. package/lib/TextUnderline.js +46 -18
  185. package/lib/{Twitter-BFULyqdR.js → Twitter-CXmmjz9R.js} +536 -498
  186. package/lib/Twitter-CtVTIWJW.cjs +1 -0
  187. package/lib/Twitter.cjs +1 -1
  188. package/lib/Twitter.d.cts +32 -44
  189. package/lib/Twitter.d.ts +32 -44
  190. package/lib/Twitter.js +5 -4
  191. package/lib/Video.cjs +1 -1
  192. package/lib/Video.d.cts +32 -44
  193. package/lib/Video.d.ts +32 -44
  194. package/lib/Video.js +261 -4
  195. package/lib/_commonjsHelpers-BItOPCY9.js +28 -0
  196. package/lib/_commonjsHelpers-BTDuMlIz.cjs +1 -0
  197. package/lib/bubble.cjs +2 -0
  198. package/lib/{bubble-extra.d.cts → bubble.d.cts} +58 -59
  199. package/lib/{bubble-extra.d.ts → bubble.d.ts} +58 -59
  200. package/lib/bubble.js +1925 -0
  201. package/lib/button-B12K7BJ4.cjs +1 -0
  202. package/lib/button-DXMsXUEn.js +43 -0
  203. package/lib/clsx-C11secjj.cjs +1 -0
  204. package/lib/clsx-OuTLNxxd.js +16 -0
  205. package/lib/delete-node-CosiBes5.cjs +1 -0
  206. package/lib/delete-node-IyVmiRbI.js +22 -0
  207. package/lib/dialog-CaCS-W5S.cjs +1 -0
  208. package/lib/dialog-PtQivpHS.js +100 -0
  209. package/lib/dom-dataset-BqoJhJXt.cjs +1 -0
  210. package/lib/dom-dataset-CIEeltF6.js +47 -0
  211. package/lib/dropdown-menu-BPp2Z_U-.js +136 -0
  212. package/lib/dropdown-menu-CdSm4emp.cjs +1 -0
  213. package/lib/file-BLas99n7.js +43 -0
  214. package/lib/file-i7e4nQY2.cjs +1 -0
  215. package/lib/floating-ui.dom-U1vPFQ5f.js +1151 -0
  216. package/lib/floating-ui.dom-VCrc58uF.cjs +1 -0
  217. package/lib/icons-Cllpys39.js +362 -0
  218. package/lib/icons-CqHjeW5T.cjs +1 -0
  219. package/lib/index-BH4bc3jN.cjs +33 -0
  220. package/lib/index-BPfVXs5_.js +2380 -0
  221. package/lib/index-Bnmd0WvY.js +1631 -0
  222. package/lib/{index-Ch6dBBad.js → index-CBce_TWY.js} +40 -42
  223. package/lib/{index-5iBZLua9.cjs → index-D-5U8dY8.cjs} +8 -8
  224. package/lib/{index-ByurDDMv.js → index-D2TUfKkC.js} +2 -2
  225. package/lib/index-DV5kbgRU.cjs +1 -0
  226. package/lib/{index-LmrOdnen.js → index-DYkucCoF.js} +396 -495
  227. package/lib/index-Dfmm6FTT.cjs +1 -0
  228. package/lib/index-DnWWK9F_.js +6374 -0
  229. package/lib/index-DzcKxutn.js +632 -0
  230. package/lib/index-DzvuNTxo.cjs +4 -0
  231. package/lib/{index-BeCTd5v2.cjs → index-N--9MohJ.cjs} +1 -1
  232. package/lib/index-RfTlOzIr.cjs +22 -0
  233. package/lib/index.cjs +132 -1
  234. package/lib/index.d.cts +34 -285
  235. package/lib/index.d.ts +34 -285
  236. package/lib/index.js +243 -2
  237. package/lib/input-_ECRfn3Y.cjs +1 -0
  238. package/lib/input-wJ9PDEzZ.js +21 -0
  239. package/lib/isNumber-ClPupm7P.cjs +1 -0
  240. package/lib/isNumber-fpLGS0AZ.js +15 -0
  241. package/lib/label-BkgAe7IY.cjs +1 -0
  242. package/lib/label-CGdLYWv7.js +19 -0
  243. package/lib/locale-bundle.cjs +1 -1
  244. package/lib/locale-bundle.d.cts +5410 -62
  245. package/lib/locale-bundle.d.ts +5410 -62
  246. package/lib/locale-bundle.js +9 -7
  247. package/lib/popover-BgmUNMHj.cjs +1 -0
  248. package/lib/popover-CAuEW0Mr.js +23 -0
  249. package/lib/separator-CuBW_w98.js +328 -0
  250. package/lib/separator-DRIrVZ2N.cjs +1 -0
  251. package/lib/store-DX599H5W.js +10 -0
  252. package/lib/store-WStcMOiW.cjs +1 -0
  253. package/lib/style.css +1 -1
  254. package/lib/switch-CnLJ7Y-b.cjs +1 -0
  255. package/lib/switch-Coix_FA1.js +27 -0
  256. package/lib/tabs-B5mVSN1I.js +46 -0
  257. package/lib/tabs-BoLCMcCI.cjs +1 -0
  258. package/lib/textarea-B-6zTKQz.cjs +1 -0
  259. package/lib/{textarea-aPtytkDx.js → textarea-DUUM1jZd.js} +1 -1
  260. package/lib/theme-B7aAsK_T.js +15 -0
  261. package/lib/theme-D8_cxGqB.cjs +1 -0
  262. package/lib/throttle-CdwDrFpn.js +249 -0
  263. package/lib/throttle-qX7Yjtsg.cjs +1 -0
  264. package/lib/toggle-Cdp4IT2U.js +85 -0
  265. package/lib/toggle-D41PzQLJ.cjs +1 -0
  266. package/lib/tooltip-BuEiE96N.cjs +1 -0
  267. package/lib/tooltip-CopwsU8q.js +23 -0
  268. package/lib/updatePosition-8Sdem5jb.cjs +1 -0
  269. package/lib/updatePosition-BPmcE0YD.js +215 -0
  270. package/lib/use-toast-Bz3QCOtE.cjs +1 -0
  271. package/lib/use-toast-Crf7-q5H.js +98 -0
  272. package/lib/useButtonProps-BsEd4zYM.js +141 -0
  273. package/lib/useButtonProps-C6Vpn190.cjs +1 -0
  274. package/package.json +22 -105
  275. package/lib/ActionMenuButton-CYdM1xx5.cjs +0 -1
  276. package/lib/ActionMenuButton-DKRF6oa0.js +0 -33
  277. package/lib/BaseKit.cjs +0 -3
  278. package/lib/BaseKit.d.cts +0 -481
  279. package/lib/BaseKit.d.ts +0 -481
  280. package/lib/BaseKit.js +0 -132
  281. package/lib/Document.cjs +0 -1
  282. package/lib/Document.js +0 -9
  283. package/lib/Drawer-CdvCMSzN.cjs +0 -1
  284. package/lib/Excalidraw-BbMQhNvs.cjs +0 -1
  285. package/lib/Excalidraw-CVWz2Vyn.js +0 -290
  286. package/lib/FormatPainter.cjs +0 -1
  287. package/lib/FormatPainter.d.cts +0 -372
  288. package/lib/FormatPainter.d.ts +0 -372
  289. package/lib/FormatPainter.js +0 -76
  290. package/lib/ListItem.cjs +0 -1
  291. package/lib/ListItem.d.cts +0 -290
  292. package/lib/ListItem.d.ts +0 -290
  293. package/lib/ListItem.js +0 -7
  294. package/lib/MultiColumn.cjs +0 -1
  295. package/lib/MultiColumn.d.cts +0 -294
  296. package/lib/MultiColumn.d.ts +0 -294
  297. package/lib/MultiColumn.js +0 -8
  298. package/lib/RichTextEditor-CxvwGvQG.cjs +0 -142
  299. package/lib/RichTextEditor-DGcKEUGr.js +0 -22166
  300. package/lib/Selection.cjs +0 -1
  301. package/lib/Selection.d.cts +0 -289
  302. package/lib/Selection.d.ts +0 -289
  303. package/lib/Selection.js +0 -25
  304. package/lib/SubAndSuperScript.cjs +0 -1
  305. package/lib/SubAndSuperScript.d.cts +0 -377
  306. package/lib/SubAndSuperScript.d.ts +0 -377
  307. package/lib/SubAndSuperScript.js +0 -43
  308. package/lib/TableOfContent.cjs +0 -1
  309. package/lib/TableOfContent.d.cts +0 -291
  310. package/lib/TableOfContent.d.ts +0 -291
  311. package/lib/TableOfContent.js +0 -185
  312. package/lib/TextBubble.cjs +0 -1
  313. package/lib/TextBubble.d.cts +0 -362
  314. package/lib/TextBubble.d.ts +0 -362
  315. package/lib/TextBubble.js +0 -133
  316. package/lib/TrailingNode.cjs +0 -1
  317. package/lib/TrailingNode.d.cts +0 -297
  318. package/lib/TrailingNode.d.ts +0 -297
  319. package/lib/TrailingNode.js +0 -41
  320. package/lib/Twitter-Cutpkh3h.cjs +0 -1
  321. package/lib/bubble-extra.cjs +0 -2
  322. package/lib/bubble-extra.js +0 -631
  323. package/lib/dom-dataset-_6-diIRQ.cjs +0 -33
  324. package/lib/dom-dataset-lYeH6gfI.js +0 -2361
  325. package/lib/index-6D1J-A-o.cjs +0 -1
  326. package/lib/index-B96Cclrj.cjs +0 -3
  327. package/lib/index-BBz7Nmv9.js +0 -55
  328. package/lib/index-CUogRI7j.cjs +0 -1
  329. package/lib/index-DF2Lp4HZ.cjs +0 -100
  330. package/lib/index-D_L6n8O8.js +0 -76
  331. package/lib/index-Dbvi-Bvh.cjs +0 -1
  332. package/lib/index-DpCrt7xs.cjs +0 -1
  333. package/lib/index-DsAX1Vq8.cjs +0 -1
  334. package/lib/index-Dy4DlW9o.js +0 -12
  335. package/lib/index-J3jHHZ4d.js +0 -200
  336. package/lib/index-VvXaaKe3.js +0 -898
  337. package/lib/index-kbO3iWqL.js +0 -13432
  338. package/lib/textarea-DFo_aXnj.cjs +0 -1
package/lib/Mention.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./dom-dataset-_6-diIRQ.cjs"),c=require("./index-DF2Lp4HZ.cjs"),p=require("./index-DpCrt7xs.cjs"),g=require("react/jsx-runtime"),m=require("react"),y=require("scroll-into-view-if-needed");function v({editor:e,overrideSuggestionOptions:r,extensionName:n,char:t="@"}){const i=new c.PluginKey;return{editor:e,char:t,pluginKey:i,command:({editor:o,range:a,props:d})=>{var u,s,l;const f=o.view.state.selection.$to.nodeAfter;((u=f==null?void 0:f.text)==null?void 0:u.startsWith(" "))&&(a.to+=1),o.chain().focus().insertContentAt(a,[{type:n,attrs:{...d,mentionSuggestionChar:t}},{type:"text",text:" "}]).run(),(l=(s=o.view.dom.ownerDocument.defaultView)==null?void 0:s.getSelection())==null||l.collapseToEnd()},allow:({state:o,range:a})=>{const d=o.doc.resolve(a.from),u=o.schema.nodes[n];return!!d.parent.type.contentMatch.matchType(u)},...r}}function b(e){return(e.options.suggestions.length?e.options.suggestions:[e.options.suggestion]).map(r=>v({editor:e.editor,overrideSuggestionOptions:r,extensionName:e.name,char:r.char}))}function x(e,r){const n=b(e),t=n.find(i=>i.char===r);return t||(n.length?n[0]:null)}var w=c.Node3.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({node:e,suggestion:r}){var n,t;return`${(n=r==null?void 0:r.char)!=null?n:"@"}${(t=e.attrs.label)!=null?t:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:e,node:r,suggestion:n}){var t,i;return["span",c.mergeAttributes(this.HTMLAttributes,e.HTMLAttributes),`${(t=n==null?void 0:n.char)!=null?t:"@"}${(i=r.attrs.label)!=null?i:r.attrs.id}`]},suggestions:[],suggestion:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>e.id?{"data-id":e.id}:{}},label:{default:null,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>e.label?{"data-label":e.label}:{}},mentionSuggestionChar:{default:"@",parseHTML:e=>e.getAttribute("data-mention-suggestion-char"),renderHTML:e=>({"data-mention-suggestion-char":e.mentionSuggestionChar})}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:e,HTMLAttributes:r}){const n=x(this,e.attrs.mentionSuggestionChar);if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,r),this.options.renderLabel({options:this.options,node:e,suggestion:n})];const t={...this.options};t.HTMLAttributes=c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,r);const i=this.options.renderHTML({options:t,node:e,suggestion:n});return typeof i=="string"?["span",c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,r),i]:i},...c.createInlineMarkdownSpec({nodeName:"mention",name:"@",selfClosing:!0,allowedAttributes:["id","label"]}),renderText({node:e}){const r={options:this.options,node:e,suggestion:x(this,e.attrs.mentionSuggestionChar)};return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel(r)):this.options.renderText(r)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:r})=>{let n=!1;const{selection:t}=r,{empty:i,anchor:o}=t;if(!i)return!1;let a=new c.Node,d=0;return r.doc.nodesBetween(o-1,o,(u,s)=>{if(u.type.name===this.name)return n=!0,a=u,d=s,!1}),n&&e.insertText(this.options.deleteTriggerWithBackspace?"":a.attrs.mentionSuggestionChar,d,d+a.nodeSize),n})}},addProseMirrorPlugins(){return b(this).map(p.Suggestion)}}),M=w;const T=m.forwardRef((e,r)=>{const n=m.useRef(null),[t,i]=m.useState(0),o=s=>{const l=e.items[s];l&&(e.command({id:l,label:l}),e!=null&&e.onClose&&(e==null||e.onClose()))},a=()=>{i((t+e.items.length-1)%e.items.length)},d=()=>{i((t+1)%e.items.length)},u=()=>{o(t)};return m.useEffect(()=>i(0),[e.items]),m.useEffect(()=>{if(Number.isNaN(t+1))return;const s=n.current.querySelector(`span:nth-of-type(${t+1})`);s&&y(s,{behavior:"smooth",scrollMode:"if-needed"})},[t]),m.useImperativeHandle(r,()=>({onKeyDown:({event:s})=>s.key==="ArrowUp"?(a(),!0):s.key==="ArrowDown"?(d(),!0):s.key==="Enter"?(u(),!0):!1})),g.jsx("div",{className:" !richtext-max-h-[320px] !richtext-w-[160px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-[hsl(var(--richtext-border))] richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",children:g.jsx("div",{ref:n,children:e.items.length>0?e.items.map((s,l)=>g.jsx("span",{className:h.clsx("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm !richtext-text-neutral-800 !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent dark:!richtext-text-neutral-200",{"bg-item-active":l===t}),onClick:()=>o(l),children:s},l)):g.jsx("div",{className:h.clsx("itemUserEmpty"),children:"Empty"})})})}),L=[{id:"1",name:"John Doe"},{id:"2",name:"Jane Doe"},{id:"3",name:"Alice"},{id:"4",name:"Bob"}],S=M.extend({addAttributes(){return{id:{default:"",parseHTML:h.getDatasetAttribute("id")},label:{default:"",parseHTML:h.getDatasetAttribute("label")}}}}).configure({HTMLAttributes:{class:"mention"},suggestion:{items:async({query:e})=>L.map(n=>n.name).filter(n=>n.toLowerCase().startsWith(e.toLowerCase())),render:()=>{let e;function r(t){if(!e||!e.element)return;const i={getBoundingClientRect(){return t}};h.computePosition(i,e.element,{placement:"bottom-start"}).then(o=>{Object.assign(e.element.style,{left:`${o.x}px`,top:`${o.y}px`,position:o.strategy==="fixed"?"fixed":"absolute"})})}const n=()=>{e&&(document.body.contains(e.element)&&document.body.removeChild(e.element),e.destroy())};return{onStart:t=>{n(),e=new h.ReactRenderer(T,{props:{...t,onClose:n},editor:t.editor}),document.body.appendChild(e.element),r(t.clientRect())},onUpdate(t){e.updateProps(t),r(t.clientRect())},onKeyDown(t){var i;return t.event.key==="Escape"?(document.body.removeChild(e.element),e.destroy(),!0):(i=e.ref)==null?void 0:i.onKeyDown(t)}}}}});exports.Mention=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-RfTlOzIr.cjs"),v=require("@tiptap/pm/model"),g=require("./updatePosition-8Sdem5jb.cjs"),w=require("@tiptap/pm/state"),M=require("./index-BH4bc3jN.cjs"),m=require("react/jsx-runtime"),h=require("react"),x=require("./clsx-C11secjj.cjs"),T=require("scroll-into-view-if-needed"),p=require("./dom-dataset-BqoJhJXt.cjs");function L({editor:e,overrideSuggestionOptions:t,extensionName:r,char:n="@"}){const i=new w.PluginKey;return{editor:e,char:n,pluginKey:i,command:({editor:s,range:a,props:l})=>{var d,o,u;const f=s.view.state.selection.$to.nodeAfter;((d=f==null?void 0:f.text)==null?void 0:d.startsWith(" "))&&(a.to+=1),s.chain().focus().insertContentAt(a,[{type:r,attrs:{...l,mentionSuggestionChar:n}},{type:"text",text:" "}]).run(),(u=(o=s.view.dom.ownerDocument.defaultView)==null?void 0:o.getSelection())==null||u.collapseToEnd()},allow:({state:s,range:a})=>{const l=s.doc.resolve(a.from),d=s.schema.nodes[r];return!!l.parent.type.contentMatch.matchType(d)},...t}}function y(e){return(e.options.suggestions.length?e.options.suggestions:[e.options.suggestion]).map(t=>L({editor:e.editor,overrideSuggestionOptions:t,extensionName:e.name,char:t.char}))}function b(e,t){const r=y(e),n=r.find(i=>i.char===t);return n||(r.length?r[0]:null)}var S=c.Node3.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({node:e,suggestion:t}){var r,n;return`${(r=t==null?void 0:t.char)!=null?r:"@"}${(n=e.attrs.label)!=null?n:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:e,node:t,suggestion:r}){var n,i;return["span",c.mergeAttributes(this.HTMLAttributes,e.HTMLAttributes),`${(n=r==null?void 0:r.char)!=null?n:"@"}${(i=t.attrs.label)!=null?i:t.attrs.id}`]},suggestions:[],suggestion:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addAttributes(){return{id:{default:null,parseHTML:e=>e.getAttribute("data-id"),renderHTML:e=>e.id?{"data-id":e.id}:{}},label:{default:null,parseHTML:e=>e.getAttribute("data-label"),renderHTML:e=>e.label?{"data-label":e.label}:{}},mentionSuggestionChar:{default:"@",parseHTML:e=>e.getAttribute("data-mention-suggestion-char"),renderHTML:e=>({"data-mention-suggestion-char":e.mentionSuggestionChar})}}},parseHTML(){return[{tag:`span[data-type="${this.name}"]`}]},renderHTML({node:e,HTMLAttributes:t}){const r=b(this,e.attrs.mentionSuggestionChar);if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),this.options.renderLabel({options:this.options,node:e,suggestion:r})];const n={...this.options};n.HTMLAttributes=c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t);const i=this.options.renderHTML({options:n,node:e,suggestion:r});return typeof i=="string"?["span",c.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),i]:i},...c.createInlineMarkdownSpec({nodeName:"mention",name:"@",selfClosing:!0,allowedAttributes:["id","label",{name:"mentionSuggestionChar",skipIfDefault:"@"}],parseAttributes:e=>{const t={},r=/(\w+)=(?:"([^"]*)"|'([^']*)')/g;let n=r.exec(e);for(;n!==null;){const[,i,s,a]=n,l=s??a;t[i==="char"?"mentionSuggestionChar":i]=l,n=r.exec(e)}return t},serializeAttributes:e=>Object.entries(e).filter(([,t])=>t!=null).map(([t,r])=>`${t==="mentionSuggestionChar"?"char":t}="${r}"`).join(" ")}),renderText({node:e}){const t={options:this.options,node:e,suggestion:b(this,e.attrs.mentionSuggestionChar)};return this.options.renderLabel!==void 0?(console.warn("renderLabel is deprecated use renderText and renderHTML instead"),this.options.renderLabel(t)):this.options.renderText(t)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let r=!1;const{selection:n}=t,{empty:i,anchor:s}=n;if(!i)return!1;let a=new v.Node,l=0;return t.doc.nodesBetween(s-1,s,(d,o)=>{if(d.type.name===this.name)return r=!0,a=d,l=o,!1}),r&&e.insertText(this.options.deleteTriggerWithBackspace?"":a.attrs.mentionSuggestionChar,l,l+a.nodeSize),r})}},addProseMirrorPlugins(){return y(this).map(g.Suggestion)}}),A=S;const H=h.forwardRef((e,t)=>{const r=h.useRef(null),[n,i]=h.useState(0),s=o=>{const u=e.items[o];u&&e.command({id:u,label:u})},a=()=>{i((n+e.items.length-1)%e.items.length)},l=()=>{i((n+1)%e.items.length)},d=()=>{s(n)};return h.useEffect(()=>i(0),[e.items]),h.useEffect(()=>{if(Number.isNaN(n+1))return;const o=r.current.querySelector(`span:nth-of-type(${n+1})`);o&&T(o,{behavior:"smooth",scrollMode:"if-needed"})},[n]),h.useImperativeHandle(t,()=>({onKeyDown:({event:o})=>o.key==="ArrowUp"?(a(),!0):o.key==="ArrowDown"?(l(),!0):o.key==="Enter"?(d(),!0):!1})),m.jsx("div",{className:" !richtext-max-h-[320px] !richtext-w-[160px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-[hsl(var(--richtext-border))] richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",children:m.jsx("div",{ref:r,children:e.items.length>0?e.items.map((o,u)=>m.jsx("span",{className:x.clsx("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm !richtext-text-neutral-800 !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent dark:!richtext-text-neutral-200",{"bg-item-active":u===n}),onClick:()=>s(u),children:o},u)):m.jsx("div",{className:x.clsx("itemUserEmpty"),children:"Empty"})})})}),C=[{id:"1",name:"John Doe"},{id:"2",name:"Jane Doe"},{id:"3",name:"Alice"},{id:"4",name:"Bob"}],$=A.extend({addAttributes(){return{id:{default:"",parseHTML:p.getDatasetAttribute("id")},label:{default:"",parseHTML:p.getDatasetAttribute("label")}}}}).configure({HTMLAttributes:{class:"mention"},suggestion:{items:async({query:e})=>C.map(r=>r.name).filter(r=>r.toLowerCase().startsWith(e.toLowerCase())),render:()=>{let e;return{onStart:t=>{t.clientRect&&(e=new M.ReactRenderer(H,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),g.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&g.updatePosition(t.editor,e.element)},onKeyDown(t){var r;return t.event.key==="Escape"?(e.destroy(),e.element.remove(),!0):(r=e.ref)==null?void 0:r.onKeyDown(t)},onExit(){e.destroy(),e.element.remove()}}}}});exports.Mention=$;
package/lib/Mention.d.cts CHANGED
@@ -37,11 +37,22 @@ declare module '@tiptap/core' {
37
37
  }
38
38
 
39
39
 
40
+ declare module '@tiptap/core' {
41
+ interface Storage {
42
+ color: ColorStorage;
43
+ }
44
+ }
45
+
46
+
40
47
  declare module '@tiptap/core' {
41
48
  interface Commands<ReturnType> {
42
- drawer: {
43
- setDrawer: (options: any, replace?: any) => ReturnType;
44
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
49
+ columns: {
50
+ insertColumns: (attrs?: {
51
+ cols: number;
52
+ }) => ReturnType;
53
+ addColBefore: () => ReturnType;
54
+ addColAfter: () => ReturnType;
55
+ deleteCol: () => ReturnType;
45
56
  };
46
57
  }
47
58
  }
@@ -49,8 +60,9 @@ declare module '@tiptap/core' {
49
60
 
50
61
  declare module '@tiptap/core' {
51
62
  interface Commands<ReturnType> {
52
- excalidraw: {
53
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
63
+ drawer: {
64
+ setDrawer: (options: any, replace?: any) => ReturnType;
65
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
54
66
  };
55
67
  }
56
68
  }
@@ -68,7 +80,16 @@ declare module '@tiptap/core' {
68
80
  declare module '@tiptap/core' {
69
81
  interface Commands<ReturnType> {
70
82
  exportWord: {
71
- exportToWord: () => ReturnType;
83
+ exportToWord: (docState: any) => ReturnType;
84
+ };
85
+ }
86
+ }
87
+
88
+
89
+ declare module '@tiptap/core' {
90
+ interface Commands<ReturnType> {
91
+ excalidraw: {
92
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
72
93
  };
73
94
  }
74
95
  }
@@ -93,10 +114,8 @@ declare module '@tiptap/core' {
93
114
 
94
115
 
95
116
  declare module '@tiptap/core' {
96
- interface Commands<ReturnType> {
97
- painter: {
98
- setPainter: (marks: Mark[]) => ReturnType;
99
- };
117
+ interface Storage {
118
+ highlight: HighlightStorage;
100
119
  }
101
120
  }
102
121
 
@@ -181,16 +200,6 @@ declare module '@tiptap/core' {
181
200
  }
182
201
 
183
202
 
184
- declare module '@tiptap/core' {
185
- interface Commands<ReturnType> {
186
- lineHeight: {
187
- setLineHeight: (lineHeight: string) => ReturnType;
188
- unsetLineHeight: () => ReturnType;
189
- };
190
- }
191
- }
192
-
193
-
194
203
  declare module '@tiptap/core' {
195
204
  interface Commands<ReturnType> {
196
205
  mermaid: {
@@ -201,20 +210,6 @@ declare module '@tiptap/core' {
201
210
  }
202
211
 
203
212
 
204
- declare module '@tiptap/core' {
205
- interface Commands<ReturnType> {
206
- columns: {
207
- insertColumns: (attrs?: {
208
- cols: number;
209
- }) => ReturnType;
210
- addColBefore: () => ReturnType;
211
- addColAfter: () => ReturnType;
212
- deleteCol: () => ReturnType;
213
- };
214
- }
215
- }
216
-
217
-
218
213
  declare module '@tiptap/core' {
219
214
  interface Commands<ReturnType> {
220
215
  search: {
@@ -238,16 +233,6 @@ declare module '@tiptap/core' {
238
233
  }
239
234
 
240
235
 
241
- declare module '@tiptap/core' {
242
- interface Commands<ReturnType> {
243
- tableOfContents: {
244
- setTableOfContents: () => ReturnType;
245
- removeTableOfContents: () => ReturnType;
246
- };
247
- }
248
- }
249
-
250
-
251
236
  declare module '@tiptap/core' {
252
237
  interface Commands<ReturnType> {
253
238
  twitter: {
package/lib/Mention.d.ts CHANGED
@@ -37,11 +37,22 @@ declare module '@tiptap/core' {
37
37
  }
38
38
 
39
39
 
40
+ declare module '@tiptap/core' {
41
+ interface Storage {
42
+ color: ColorStorage;
43
+ }
44
+ }
45
+
46
+
40
47
  declare module '@tiptap/core' {
41
48
  interface Commands<ReturnType> {
42
- drawer: {
43
- setDrawer: (options: any, replace?: any) => ReturnType;
44
- setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
49
+ columns: {
50
+ insertColumns: (attrs?: {
51
+ cols: number;
52
+ }) => ReturnType;
53
+ addColBefore: () => ReturnType;
54
+ addColAfter: () => ReturnType;
55
+ deleteCol: () => ReturnType;
45
56
  };
46
57
  }
47
58
  }
@@ -49,8 +60,9 @@ declare module '@tiptap/core' {
49
60
 
50
61
  declare module '@tiptap/core' {
51
62
  interface Commands<ReturnType> {
52
- excalidraw: {
53
- setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
63
+ drawer: {
64
+ setDrawer: (options: any, replace?: any) => ReturnType;
65
+ setAlignImageDrawer: (align: 'left' | 'center' | 'right') => ReturnType;
54
66
  };
55
67
  }
56
68
  }
@@ -68,7 +80,16 @@ declare module '@tiptap/core' {
68
80
  declare module '@tiptap/core' {
69
81
  interface Commands<ReturnType> {
70
82
  exportWord: {
71
- exportToWord: () => ReturnType;
83
+ exportToWord: (docState: any) => ReturnType;
84
+ };
85
+ }
86
+ }
87
+
88
+
89
+ declare module '@tiptap/core' {
90
+ interface Commands<ReturnType> {
91
+ excalidraw: {
92
+ setExcalidraw: (attrs?: IExcalidrawAttrs) => ReturnType;
72
93
  };
73
94
  }
74
95
  }
@@ -93,10 +114,8 @@ declare module '@tiptap/core' {
93
114
 
94
115
 
95
116
  declare module '@tiptap/core' {
96
- interface Commands<ReturnType> {
97
- painter: {
98
- setPainter: (marks: Mark[]) => ReturnType;
99
- };
117
+ interface Storage {
118
+ highlight: HighlightStorage;
100
119
  }
101
120
  }
102
121
 
@@ -181,16 +200,6 @@ declare module '@tiptap/core' {
181
200
  }
182
201
 
183
202
 
184
- declare module '@tiptap/core' {
185
- interface Commands<ReturnType> {
186
- lineHeight: {
187
- setLineHeight: (lineHeight: string) => ReturnType;
188
- unsetLineHeight: () => ReturnType;
189
- };
190
- }
191
- }
192
-
193
-
194
203
  declare module '@tiptap/core' {
195
204
  interface Commands<ReturnType> {
196
205
  mermaid: {
@@ -201,20 +210,6 @@ declare module '@tiptap/core' {
201
210
  }
202
211
 
203
212
 
204
- declare module '@tiptap/core' {
205
- interface Commands<ReturnType> {
206
- columns: {
207
- insertColumns: (attrs?: {
208
- cols: number;
209
- }) => ReturnType;
210
- addColBefore: () => ReturnType;
211
- addColAfter: () => ReturnType;
212
- deleteCol: () => ReturnType;
213
- };
214
- }
215
- }
216
-
217
-
218
213
  declare module '@tiptap/core' {
219
214
  interface Commands<ReturnType> {
220
215
  search: {
@@ -238,16 +233,6 @@ declare module '@tiptap/core' {
238
233
  }
239
234
 
240
235
 
241
- declare module '@tiptap/core' {
242
- interface Commands<ReturnType> {
243
- tableOfContents: {
244
- setTableOfContents: () => ReturnType;
245
- removeTableOfContents: () => ReturnType;
246
- };
247
- }
248
- }
249
-
250
-
251
236
  declare module '@tiptap/core' {
252
237
  interface Commands<ReturnType> {
253
238
  twitter: {
package/lib/Mention.js CHANGED
@@ -1,73 +1,77 @@
1
- import { c as g, g as f, a as y, b as v } from "./dom-dataset-lYeH6gfI.js";
2
- import { N as w, s as T, u as L, m as u, a as M } from "./index-kbO3iWqL.js";
3
- import { S as H } from "./index-J3jHHZ4d.js";
1
+ import { N as w, y as v, m as c } from "./index-DnWWK9F_.js";
2
+ import { Node as T } from "@tiptap/pm/model";
3
+ import { S as L, u as g } from "./updatePosition-BPmcE0YD.js";
4
+ import { PluginKey as M } from "@tiptap/pm/state";
5
+ import { a as S } from "./index-DzcKxutn.js";
4
6
  import { jsx as m } from "react/jsx-runtime";
5
- import { forwardRef as S, useRef as C, useState as A, useEffect as x, useImperativeHandle as N } from "react";
7
+ import { forwardRef as H, useRef as A, useState as C, useEffect as f, useImperativeHandle as N } from "react";
8
+ import { c as p } from "./clsx-OuTLNxxd.js";
6
9
  import $ from "scroll-into-view-if-needed";
10
+ import { g as x } from "./dom-dataset-CIEeltF6.js";
7
11
  function k({
8
12
  editor: e,
9
- overrideSuggestionOptions: r,
10
- extensionName: n,
11
- char: t = "@"
13
+ overrideSuggestionOptions: t,
14
+ extensionName: r,
15
+ char: n = "@"
12
16
  }) {
13
17
  const i = new M();
14
18
  return {
15
19
  editor: e,
16
- char: t,
20
+ char: n,
17
21
  pluginKey: i,
18
- command: ({ editor: o, range: a, props: d }) => {
19
- var c, s, l;
20
- const h = o.view.state.selection.$to.nodeAfter;
21
- ((c = h == null ? void 0 : h.text) == null ? void 0 : c.startsWith(" ")) && (a.to += 1), o.chain().focus().insertContentAt(a, [
22
+ command: ({ editor: s, range: a, props: l }) => {
23
+ var u, o, d;
24
+ const h = s.view.state.selection.$to.nodeAfter;
25
+ ((u = h == null ? void 0 : h.text) == null ? void 0 : u.startsWith(" ")) && (a.to += 1), s.chain().focus().insertContentAt(a, [
22
26
  {
23
- type: n,
24
- attrs: { ...d, mentionSuggestionChar: t }
27
+ type: r,
28
+ attrs: { ...l, mentionSuggestionChar: n }
25
29
  },
26
30
  {
27
31
  type: "text",
28
32
  text: " "
29
33
  }
30
- ]).run(), (l = (s = o.view.dom.ownerDocument.defaultView) == null ? void 0 : s.getSelection()) == null || l.collapseToEnd();
34
+ ]).run(), (d = (o = s.view.dom.ownerDocument.defaultView) == null ? void 0 : o.getSelection()) == null || d.collapseToEnd();
31
35
  },
32
- allow: ({ state: o, range: a }) => {
33
- const d = o.doc.resolve(a.from), c = o.schema.nodes[n];
34
- return !!d.parent.type.contentMatch.matchType(c);
36
+ allow: ({ state: s, range: a }) => {
37
+ const l = s.doc.resolve(a.from), u = s.schema.nodes[r];
38
+ return !!l.parent.type.contentMatch.matchType(u);
35
39
  },
36
- ...r
40
+ ...t
37
41
  };
38
42
  }
39
- function b(e) {
43
+ function y(e) {
40
44
  return (e.options.suggestions.length ? e.options.suggestions : [e.options.suggestion]).map(
41
- (r) => k({
45
+ (t) => k({
42
46
  // @ts-ignore `editor` can be `undefined` when converting the document to HTML with the HTML utility
43
47
  editor: e.editor,
44
- overrideSuggestionOptions: r,
48
+ overrideSuggestionOptions: t,
45
49
  extensionName: e.name,
46
- char: r.char
50
+ char: t.char
47
51
  })
48
52
  );
49
53
  }
50
- function p(e, r) {
51
- const n = b(e), t = n.find((i) => i.char === r);
52
- return t || (n.length ? n[0] : null);
54
+ function b(e, t) {
55
+ const r = y(e), n = r.find((i) => i.char === t);
56
+ return n || (r.length ? r[0] : null);
53
57
  }
54
- var E = w.create({
58
+ var D = w.create({
55
59
  name: "mention",
56
60
  priority: 101,
57
61
  addOptions() {
58
62
  return {
59
63
  HTMLAttributes: {},
60
- renderText({ node: e, suggestion: r }) {
61
- var n, t;
62
- return `${(n = r == null ? void 0 : r.char) != null ? n : "@"}${(t = e.attrs.label) != null ? t : e.attrs.id}`;
64
+ renderText({ node: e, suggestion: t }) {
65
+ var r, n;
66
+ return `${(r = t == null ? void 0 : t.char) != null ? r : "@"}${(n = e.attrs.label) != null ? n : e.attrs.id}`;
63
67
  },
64
68
  deleteTriggerWithBackspace: !1,
65
- renderHTML({ options: e, node: r, suggestion: n }) {
66
- var t, i;
69
+ renderHTML({ options: e, node: t, suggestion: r }) {
70
+ var n, i;
67
71
  return [
68
72
  "span",
69
- u(this.HTMLAttributes, e.HTMLAttributes),
70
- `${(t = n == null ? void 0 : n.char) != null ? t : "@"}${(i = r.attrs.label) != null ? i : r.attrs.id}`
73
+ c(this.HTMLAttributes, e.HTMLAttributes),
74
+ `${(n = r == null ? void 0 : r.char) != null ? n : "@"}${(i = t.attrs.label) != null ? i : t.attrs.id}`
71
75
  ];
72
76
  },
73
77
  suggestions: [],
@@ -111,96 +115,106 @@ var E = w.create({
111
115
  }
112
116
  ];
113
117
  },
114
- renderHTML({ node: e, HTMLAttributes: r }) {
115
- const n = p(this, e.attrs.mentionSuggestionChar);
118
+ renderHTML({ node: e, HTMLAttributes: t }) {
119
+ const r = b(this, e.attrs.mentionSuggestionChar);
116
120
  if (this.options.renderLabel !== void 0)
117
121
  return console.warn("renderLabel is deprecated use renderText and renderHTML instead"), [
118
122
  "span",
119
- u({ "data-type": this.name }, this.options.HTMLAttributes, r),
123
+ c({ "data-type": this.name }, this.options.HTMLAttributes, t),
120
124
  this.options.renderLabel({
121
125
  options: this.options,
122
126
  node: e,
123
- suggestion: n
127
+ suggestion: r
124
128
  })
125
129
  ];
126
- const t = { ...this.options };
127
- t.HTMLAttributes = u(
130
+ const n = { ...this.options };
131
+ n.HTMLAttributes = c(
128
132
  { "data-type": this.name },
129
133
  this.options.HTMLAttributes,
130
- r
134
+ t
131
135
  );
132
136
  const i = this.options.renderHTML({
133
- options: t,
137
+ options: n,
134
138
  node: e,
135
- suggestion: n
139
+ suggestion: r
136
140
  });
137
- return typeof i == "string" ? ["span", u({ "data-type": this.name }, this.options.HTMLAttributes, r), i] : i;
141
+ return typeof i == "string" ? ["span", c({ "data-type": this.name }, this.options.HTMLAttributes, t), i] : i;
138
142
  },
139
- ...T({
143
+ ...v({
140
144
  nodeName: "mention",
141
145
  name: "@",
142
146
  selfClosing: !0,
143
- allowedAttributes: ["id", "label"]
147
+ allowedAttributes: ["id", "label", { name: "mentionSuggestionChar", skipIfDefault: "@" }],
148
+ parseAttributes: (e) => {
149
+ const t = {}, r = /(\w+)=(?:"([^"]*)"|'([^']*)')/g;
150
+ let n = r.exec(e);
151
+ for (; n !== null; ) {
152
+ const [, i, s, a] = n, l = s ?? a;
153
+ t[i === "char" ? "mentionSuggestionChar" : i] = l, n = r.exec(e);
154
+ }
155
+ return t;
156
+ },
157
+ serializeAttributes: (e) => Object.entries(e).filter(([, t]) => t != null).map(([t, r]) => `${t === "mentionSuggestionChar" ? "char" : t}="${r}"`).join(" ")
144
158
  }),
145
159
  renderText({ node: e }) {
146
- const r = {
160
+ const t = {
147
161
  options: this.options,
148
162
  node: e,
149
- suggestion: p(this, e.attrs.mentionSuggestionChar)
163
+ suggestion: b(this, e.attrs.mentionSuggestionChar)
150
164
  };
151
- return this.options.renderLabel !== void 0 ? (console.warn("renderLabel is deprecated use renderText and renderHTML instead"), this.options.renderLabel(r)) : this.options.renderText(r);
165
+ return this.options.renderLabel !== void 0 ? (console.warn("renderLabel is deprecated use renderText and renderHTML instead"), this.options.renderLabel(t)) : this.options.renderText(t);
152
166
  },
153
167
  addKeyboardShortcuts() {
154
168
  return {
155
- Backspace: () => this.editor.commands.command(({ tr: e, state: r }) => {
156
- let n = !1;
157
- const { selection: t } = r, { empty: i, anchor: o } = t;
169
+ Backspace: () => this.editor.commands.command(({ tr: e, state: t }) => {
170
+ let r = !1;
171
+ const { selection: n } = t, { empty: i, anchor: s } = n;
158
172
  if (!i)
159
173
  return !1;
160
- let a = new L(), d = 0;
161
- return r.doc.nodesBetween(o - 1, o, (c, s) => {
162
- if (c.type.name === this.name)
163
- return n = !0, a = c, d = s, !1;
164
- }), n && e.insertText(
174
+ let a = new T(), l = 0;
175
+ return t.doc.nodesBetween(s - 1, s, (u, o) => {
176
+ if (u.type.name === this.name)
177
+ return r = !0, a = u, l = o, !1;
178
+ }), r && e.insertText(
165
179
  this.options.deleteTriggerWithBackspace ? "" : a.attrs.mentionSuggestionChar,
166
- d,
167
- d + a.nodeSize
168
- ), n;
180
+ l,
181
+ l + a.nodeSize
182
+ ), r;
169
183
  })
170
184
  };
171
185
  },
172
186
  addProseMirrorPlugins() {
173
- return b(this).map(H);
187
+ return y(this).map(L);
174
188
  }
175
- }), _ = E;
176
- const D = S((e, r) => {
177
- const n = C(null), [t, i] = A(0), o = (s) => {
178
- const l = e.items[s];
179
- l && (e.command({ id: l, label: l }), e != null && e.onClose && (e == null || e.onClose()));
189
+ }), K = D;
190
+ const _ = H((e, t) => {
191
+ const r = A(null), [n, i] = C(0), s = (o) => {
192
+ const d = e.items[o];
193
+ d && e.command({ id: d, label: d });
180
194
  }, a = () => {
181
- i((t + e.items.length - 1) % e.items.length);
182
- }, d = () => {
183
- i((t + 1) % e.items.length);
184
- }, c = () => {
185
- o(t);
195
+ i((n + e.items.length - 1) % e.items.length);
196
+ }, l = () => {
197
+ i((n + 1) % e.items.length);
198
+ }, u = () => {
199
+ s(n);
186
200
  };
187
- return x(() => i(0), [e.items]), x(() => {
188
- if (Number.isNaN(t + 1))
201
+ return f(() => i(0), [e.items]), f(() => {
202
+ if (Number.isNaN(n + 1))
189
203
  return;
190
- const s = n.current.querySelector(`span:nth-of-type(${t + 1})`);
191
- s && $(s, { behavior: "smooth", scrollMode: "if-needed" });
192
- }, [t]), N(r, () => ({
193
- onKeyDown: ({ event: s }) => s.key === "ArrowUp" ? (a(), !0) : s.key === "ArrowDown" ? (d(), !0) : s.key === "Enter" ? (c(), !0) : !1
194
- })), /* @__PURE__ */ m("div", { className: " !richtext-max-h-[320px] !richtext-w-[160px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-[hsl(var(--richtext-border))] richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none", children: /* @__PURE__ */ m("div", { ref: n, children: e.items.length > 0 ? e.items.map((s, l) => /* @__PURE__ */ m(
204
+ const o = r.current.querySelector(`span:nth-of-type(${n + 1})`);
205
+ o && $(o, { behavior: "smooth", scrollMode: "if-needed" });
206
+ }, [n]), N(t, () => ({
207
+ onKeyDown: ({ event: o }) => o.key === "ArrowUp" ? (a(), !0) : o.key === "ArrowDown" ? (l(), !0) : o.key === "Enter" ? (u(), !0) : !1
208
+ })), /* @__PURE__ */ m("div", { className: " !richtext-max-h-[320px] !richtext-w-[160px] richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-[hsl(var(--richtext-border))] richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none", children: /* @__PURE__ */ m("div", { ref: r, children: e.items.length > 0 ? e.items.map((o, d) => /* @__PURE__ */ m(
195
209
  "span",
196
210
  {
197
- className: g("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm !richtext-text-neutral-800 !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent dark:!richtext-text-neutral-200", { "bg-item-active": l === t }),
198
- onClick: () => o(l),
199
- children: s
211
+ className: p("richtext-flex richtext-w-full richtext-items-center richtext-gap-3 richtext-rounded-sm !richtext-border-none !richtext-bg-transparent richtext-px-2 richtext-py-1.5 richtext-text-left richtext-text-sm !richtext-text-neutral-800 !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent dark:!richtext-text-neutral-200", { "bg-item-active": d === n }),
212
+ onClick: () => s(d),
213
+ children: o
200
214
  },
201
- l
202
- )) : /* @__PURE__ */ m("div", { className: g("itemUserEmpty"), children: "Empty" }) }) });
203
- }), R = [
215
+ d
216
+ )) : /* @__PURE__ */ m("div", { className: p("itemUserEmpty"), children: "Empty" }) }) });
217
+ }), E = [
204
218
  {
205
219
  id: "1",
206
220
  name: "John Doe"
@@ -217,16 +231,16 @@ const D = S((e, r) => {
217
231
  id: "4",
218
232
  name: "Bob"
219
233
  }
220
- ], V = /* @__PURE__ */ _.extend({
234
+ ], Q = /* @__PURE__ */ K.extend({
221
235
  addAttributes() {
222
236
  return {
223
237
  id: {
224
238
  default: "",
225
- parseHTML: f("id")
239
+ parseHTML: x("id")
226
240
  },
227
241
  label: {
228
242
  default: "",
229
- parseHTML: f("label")
243
+ parseHTML: x("label")
230
244
  }
231
245
  };
232
246
  }
@@ -235,56 +249,30 @@ const D = S((e, r) => {
235
249
  class: "mention"
236
250
  },
237
251
  suggestion: {
238
- items: async ({ query: e }) => R.map((n) => n.name).filter((n) => n.toLowerCase().startsWith(e.toLowerCase())),
252
+ items: async ({ query: e }) => E.map((r) => r.name).filter((r) => r.toLowerCase().startsWith(e.toLowerCase())),
239
253
  render: () => {
240
254
  let e;
241
- function r(t) {
242
- if (!e || !e.element)
243
- return;
244
- v({
245
- getBoundingClientRect() {
246
- return t;
247
- }
248
- }, e.element, {
249
- placement: "bottom-start"
250
- }).then((o) => {
251
- Object.assign(e.element.style, {
252
- left: `${o.x}px`,
253
- top: `${o.y}px`,
254
- position: o.strategy === "fixed" ? "fixed" : "absolute"
255
- });
256
- });
257
- }
258
- const n = () => {
259
- e && (document.body.contains(e.element) && document.body.removeChild(e.element), e.destroy());
260
- };
261
255
  return {
262
256
  onStart: (t) => {
263
- n(), e = new y(D, {
264
- props: {
265
- ...t,
266
- onClose: n
267
- },
257
+ t.clientRect && (e = new S(_, {
258
+ props: t,
268
259
  editor: t.editor
269
- }), document.body.appendChild(e.element), r(t.clientRect());
260
+ }), e.element.style.position = "absolute", document.body.appendChild(e.element), g(t.editor, e.element));
270
261
  },
271
262
  onUpdate(t) {
272
- e.updateProps(t), r(t.clientRect());
263
+ e.updateProps(t), t.clientRect && g(t.editor, e.element);
273
264
  },
274
265
  onKeyDown(t) {
275
- var i;
276
- return t.event.key === "Escape" ? (document.body.removeChild(e.element), e.destroy(), !0) : (i = e.ref) == null ? void 0 : i.onKeyDown(t);
266
+ var r;
267
+ return t.event.key === "Escape" ? (e.destroy(), e.element.remove(), !0) : (r = e.ref) == null ? void 0 : r.onKeyDown(t);
268
+ },
269
+ onExit() {
270
+ e.destroy(), e.element.remove();
277
271
  }
278
- // onExit() {
279
- // if (document.body.contains(component.element)) {
280
- // document.body.removeChild(component.element);
281
- // }
282
- // component.destroy();
283
- // },
284
272
  };
285
273
  }
286
274
  }
287
275
  });
288
276
  export {
289
- V as Mention
277
+ Q as Mention
290
278
  };