reactjs-tiptap-editor 1.0.9 → 1.0.11

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 (159) hide show
  1. package/lib/{ActionMenuButton-CmDopTWt.cjs → ActionMenuButton-BLlse5KO.cjs} +1 -1
  2. package/lib/{ActionMenuButton-C4aNFFa8.js → ActionMenuButton-DTXFBdGX.js} +2 -2
  3. package/lib/Attachment.cjs +1 -1
  4. package/lib/Attachment.js +7 -7
  5. package/lib/Blockquote.cjs +1 -1
  6. package/lib/Blockquote.js +3 -3
  7. package/lib/Bold.cjs +1 -1
  8. package/lib/Bold.js +6 -6
  9. package/lib/BulletList.cjs +1 -1
  10. package/lib/BulletList.js +3 -3
  11. package/lib/Clear.cjs +1 -1
  12. package/lib/Clear.js +3 -3
  13. package/lib/Code.cjs +1 -1
  14. package/lib/Code.js +6 -6
  15. package/lib/CodeBlock.cjs +1 -1
  16. package/lib/CodeBlock.js +4 -4
  17. package/lib/CodeView.cjs +1 -1
  18. package/lib/CodeView.js +3 -3
  19. package/lib/Color.cjs +1 -1
  20. package/lib/Color.js +5 -5
  21. package/lib/Column.cjs +1 -1
  22. package/lib/Column.js +8 -8
  23. package/lib/{Drawer-DG0gPU_U.js → Drawer-D0yQ0wR7.js} +6 -6
  24. package/lib/{Drawer-CTr2snNd.cjs → Drawer-kv6BU_6O.cjs} +1 -1
  25. package/lib/Drawer.cjs +1 -1
  26. package/lib/Drawer.js +3 -3
  27. package/lib/Emoji.cjs +1 -1
  28. package/lib/Emoji.js +8 -7
  29. package/lib/{Excalidraw-DtezFdjR.cjs → Excalidraw-B82ThkJA.cjs} +1 -1
  30. package/lib/{Excalidraw-DpgdxOsc.js → Excalidraw-CO4IRHmG.js} +7 -7
  31. package/lib/Excalidraw.cjs +1 -1
  32. package/lib/Excalidraw.js +2 -2
  33. package/lib/ExportPdf.cjs +1 -1
  34. package/lib/ExportPdf.js +3 -3
  35. package/lib/ExportWord.cjs +1 -1
  36. package/lib/ExportWord.js +3 -3
  37. package/lib/FontFamily.cjs +1 -1
  38. package/lib/FontFamily.js +5 -5
  39. package/lib/FontSize.cjs +1 -1
  40. package/lib/FontSize.js +5 -5
  41. package/lib/Heading.cjs +1 -1
  42. package/lib/Heading.js +5 -5
  43. package/lib/Highlight.cjs +1 -1
  44. package/lib/Highlight.js +5 -5
  45. package/lib/History.cjs +1 -1
  46. package/lib/History.js +4 -4
  47. package/lib/HorizontalRule.cjs +1 -1
  48. package/lib/HorizontalRule.js +3 -3
  49. package/lib/{Icon-C_buGjWy.js → Icon-DRuJhcHK.js} +1 -1
  50. package/lib/{Icon-b6HQAURz.cjs → Icon-DXePECFW.cjs} +1 -1
  51. package/lib/{Iframe-CUrXCDxj.cjs → Iframe-03dn9wcM.cjs} +1 -1
  52. package/lib/{Iframe-De88TYvj.js → Iframe-BEO28NPs.js} +8 -8
  53. package/lib/Iframe.cjs +1 -1
  54. package/lib/Iframe.js +2 -2
  55. package/lib/Image.cjs +1 -1
  56. package/lib/Image.js +13 -13
  57. package/lib/ImageGif.cjs +1 -1
  58. package/lib/ImageGif.js +14 -14
  59. package/lib/ImportWord.cjs +1 -1
  60. package/lib/ImportWord.js +3 -3
  61. package/lib/{Indent-Bensb2nf.js → Indent-CXurBbOr.js} +5 -5
  62. package/lib/{Indent-D_KtZNHW.cjs → Indent-Cqjdn3Jt.cjs} +1 -1
  63. package/lib/Indent.cjs +1 -1
  64. package/lib/Indent.js +2 -2
  65. package/lib/Italic.cjs +1 -1
  66. package/lib/Italic.js +3 -3
  67. package/lib/{Katex-C0dtqznb.js → Katex-Bvj469K1.js} +7 -7
  68. package/lib/{Katex-NqelWRoi.cjs → Katex-DdWTV5NJ.cjs} +1 -1
  69. package/lib/Katex.cjs +1 -1
  70. package/lib/Katex.js +2 -2
  71. package/lib/LineHeight.cjs +1 -1
  72. package/lib/LineHeight.js +5 -5
  73. package/lib/Link.cjs +1 -1
  74. package/lib/Link.js +2 -2
  75. package/lib/{LinkEditBlock-BSZ-vgNB.cjs → LinkEditBlock-8ePAZ-G1.cjs} +1 -1
  76. package/lib/{LinkEditBlock-Bv12sKvW.js → LinkEditBlock-DjXUEubR.js} +32 -32
  77. package/lib/Mention.cjs +1 -1
  78. package/lib/Mention.js +23 -22
  79. package/lib/Mermaid.cjs +1 -1
  80. package/lib/Mermaid.js +26 -26
  81. package/lib/MoreMark.cjs +1 -1
  82. package/lib/MoreMark.js +5 -5
  83. package/lib/OrderedList.cjs +1 -1
  84. package/lib/OrderedList.js +3 -3
  85. package/lib/SearchAndReplace.cjs +1 -1
  86. package/lib/SearchAndReplace.js +9 -9
  87. package/lib/SlashCommand.cjs +1 -1
  88. package/lib/SlashCommand.js +39 -266
  89. package/lib/SlashCommandNodeView-Bl_gwZJB.cjs +1 -0
  90. package/lib/SlashCommandNodeView-CcqL8ymb.js +254 -0
  91. package/lib/Strike.cjs +1 -1
  92. package/lib/Strike.js +3 -3
  93. package/lib/{Table-D9ckv6Tb.js → Table-9Y0Cg8Ab.js} +5 -5
  94. package/lib/{Table-cy1mUM2X.cjs → Table-DBGjezZK.cjs} +1 -1
  95. package/lib/Table.cjs +1 -1
  96. package/lib/Table.js +1 -1
  97. package/lib/TaskList.cjs +1 -1
  98. package/lib/TaskList.js +3 -3
  99. package/lib/TextAlign.cjs +1 -1
  100. package/lib/TextAlign.js +5 -5
  101. package/lib/TextDirection.cjs +1 -1
  102. package/lib/TextDirection.js +5 -5
  103. package/lib/TextUnderline.cjs +1 -1
  104. package/lib/TextUnderline.js +3 -3
  105. package/lib/{Twitter-Bvs3sW8F.cjs → Twitter-Cnvt7GBg.cjs} +1 -1
  106. package/lib/{Twitter-KUvyySA0.js → Twitter-DWwd0vHR.js} +46 -46
  107. package/lib/Twitter.cjs +1 -1
  108. package/lib/Twitter.js +2 -2
  109. package/lib/Video.cjs +1 -1
  110. package/lib/Video.js +7 -7
  111. package/lib/bubble.cjs +4 -4
  112. package/lib/bubble.js +1659 -1567
  113. package/lib/{button-U6XpZt2X.cjs → button-BW5bDPz_.cjs} +1 -1
  114. package/lib/{button-D8SI-g7p.js → button-RnHbJfd-.js} +1 -1
  115. package/lib/{checkbox-xrY2c5yo.js → checkbox-CLSoR1Qj.js} +1 -1
  116. package/lib/{checkbox-DaIBNthL.cjs → checkbox-CTEN0q4y.cjs} +1 -1
  117. package/lib/{dialog-DgnnVCfv.cjs → dialog-CMC9hsCo.cjs} +1 -1
  118. package/lib/{dialog-DjnkASYP.js → dialog-D_HCtKvc.js} +1 -1
  119. package/lib/{dropdown-menu-bI14Gyw4.js → dropdown-menu-66q7Ofc5.js} +3 -2
  120. package/lib/dropdown-menu-DKSAS-w_.cjs +1 -0
  121. package/lib/extensions/SlashCommand/types.d.ts +1 -0
  122. package/lib/index-9A6-kVBM.js +1351 -0
  123. package/lib/{index-4pRt5Vqu.js → index-C3zg3DPB.js} +442 -403
  124. package/lib/index-C838s-or.cjs +8 -0
  125. package/lib/index-Cv9Z6dyV.cjs +1 -0
  126. package/lib/{index-EKFybgpP.js → index-DKt5wfAc.js} +1 -1
  127. package/lib/{index-BimeTI7q.js → index-DRHrDScg.js} +1 -1
  128. package/lib/{index-BQ6ZdLsu.js → index-DmPwbBqm.js} +1 -1
  129. package/lib/{index-CbIQPoF6.js → index-sVScpCFG.js} +20 -20
  130. package/lib/index.cjs +1 -1
  131. package/lib/index.js +5 -5
  132. package/lib/{input-C5zU49Q1.js → input-CvyMYMZG.js} +1 -1
  133. package/lib/{input-BtDj0NeF.cjs → input-D555880-.cjs} +1 -1
  134. package/lib/{isNumber-8HKEgTkA.js → isNumber-DF0fU3ob.js} +1 -1
  135. package/lib/{label-BEUVs-IA.js → label-DsOYPjAo.js} +1 -1
  136. package/lib/{label-C8BonzOY.cjs → label-E6jF3Xud.cjs} +1 -1
  137. package/lib/{popover-CPY5lMCj.js → popover-B7ec5-u2.js} +1 -1
  138. package/lib/{popover-DjL0De8d.cjs → popover-BSzR_R01.cjs} +1 -1
  139. package/lib/{separator-BlIlS7LP.js → separator-JaTTqb3J.js} +4 -4
  140. package/lib/{separator-BzMkiI_c.cjs → separator-PGnA-6Hr.cjs} +1 -1
  141. package/lib/{store-D_GvIPxo.js → store-Cf7tFiiI.js} +1 -1
  142. package/lib/{store-BSCjQxMK.cjs → store-oDk-lTPM.cjs} +1 -1
  143. package/lib/style.css +1 -1
  144. package/lib/{tabs-CHy82_rs.cjs → tabs-BTwiZkWd.cjs} +1 -1
  145. package/lib/{tabs-tQpXIzfV.js → tabs-CWr9HYaM.js} +1 -1
  146. package/lib/{textarea-CMDYVXYo.js → textarea-BdeLXbp8.js} +1 -1
  147. package/lib/{textarea-B-qfanCT.cjs → textarea-Yetl_PZi.cjs} +1 -1
  148. package/lib/{throttle-BIkZV3Y_.js → throttle-DsowOft0.js} +1 -1
  149. package/lib/updatePosition-Bbd8ETMv.js +16 -0
  150. package/lib/updatePosition-M2IyqkI1.cjs +1 -0
  151. package/lib/{useButtonProps-BqBGuqoP.cjs → useButtonProps-DfnJiJLV.cjs} +1 -1
  152. package/lib/{useButtonProps-DTngjZge.js → useButtonProps-cMoicZgd.js} +14 -14
  153. package/package.json +1 -1
  154. package/lib/dropdown-menu-BvVMltdB.cjs +0 -1
  155. package/lib/floating-ui.dom-U1vPFQ5f.js +0 -1151
  156. package/lib/floating-ui.dom-VCrc58uF.cjs +0 -1
  157. package/lib/index-DvvMf6Wu.cjs +0 -7
  158. package/lib/updatePosition-GLTrgcib.js +0 -215
  159. package/lib/updatePosition-u2mTh3mG.cjs +0 -1
package/lib/Mention.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./index-BBNITgNi.cjs"),v=require("@tiptap/pm/model"),p=require("./updatePosition-u2mTh3mG.cjs"),w=require("@tiptap/pm/state"),m=require("react/jsx-runtime"),h=require("react"),T=require("scroll-into-view-if-needed");function M({editor:e,overrideSuggestionOptions:t,extensionName:n,char:r="@"}){const o=new w.PluginKey;return{editor:e,char:r,pluginKey:o,command:({editor:s,range:a,props:l})=>{var c,i,d;const g=s.view.state.selection.$to.nodeAfter;((c=g==null?void 0:g.text)==null?void 0:c.startsWith(" "))&&(a.to+=1),s.chain().focus().insertContentAt(a,[{type:n,attrs:{...l,mentionSuggestionChar:r}},{type:"text",text:" "}]).run(),(d=(i=s.view.dom.ownerDocument.defaultView)==null?void 0:i.getSelection())==null||d.collapseToEnd()},allow:({state:s,range:a})=>{const l=s.doc.resolve(a.from),c=s.schema.nodes[n];return!!l.parent.type.contentMatch.matchType(c)},...t}}function y(e){return(e.options.suggestions.length?e.options.suggestions:[e.options.suggestion]).map(t=>M({editor:e.editor,overrideSuggestionOptions:t,extensionName:e.name,char:t.char}))}function x(e,t){const n=y(e),r=n.find(o=>o.char===t);return r||(n.length?n[0]:null)}var L=u.Node3.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({node:e,suggestion:t}){var n,r;return`${(n=t==null?void 0:t.char)!=null?n:"@"}${(r=e.attrs.label)!=null?r:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:e,node:t,suggestion:n}){var r,o;return["span",u.mergeAttributes(this.HTMLAttributes,e.HTMLAttributes),`${(r=n==null?void 0:n.char)!=null?r:"@"}${(o=t.attrs.label)!=null?o: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 n=x(this,e.attrs.mentionSuggestionChar);if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",u.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),this.options.renderLabel({options:this.options,node:e,suggestion:n})];const r={...this.options};r.HTMLAttributes=u.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t);const o=this.options.renderHTML({options:r,node:e,suggestion:n});return typeof o=="string"?["span",u.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),o]:o},...u.createInlineMarkdownSpec({nodeName:"mention",name:"@",selfClosing:!0,allowedAttributes:["id","label",{name:"mentionSuggestionChar",skipIfDefault:"@"}],parseAttributes:e=>{const t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g;let r=n.exec(e);for(;r!==null;){const[,o,s,a]=r,l=s??a;t[o==="char"?"mentionSuggestionChar":o]=l,r=n.exec(e)}return t},serializeAttributes:e=>Object.entries(e).filter(([,t])=>t!=null).map(([t,n])=>`${t==="mentionSuggestionChar"?"char":t}="${n}"`).join(" ")}),renderText({node:e}){const t={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(t)):this.options.renderText(t)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let n=!1;const{selection:r}=t,{empty:o,anchor:s}=r;if(!o)return!1;let a=new v.Node,l=0;return t.doc.nodesBetween(s-1,s,(c,i)=>{if(c.type.name===this.name)return n=!0,a=c,l=i,!1}),n&&e.insertText(this.options.deleteTriggerWithBackspace?"":a.attrs.mentionSuggestionChar,l,l+a.nodeSize),n})}},addProseMirrorPlugins(){return y(this).map(p.Suggestion)}}),S=L;const A=h.forwardRef((e,t)=>{const n=h.useRef(null),[r,o]=h.useState(0),s=i=>{const d=e.items[i];d&&e.command(d)},a=()=>{o((r+e.items.length-1)%e.items.length)},l=()=>{o((r+1)%e.items.length)},c=()=>{s(r)};return h.useEffect(()=>o(0),[e.items]),h.useEffect(()=>{if(Number.isNaN(r+1))return;const i=n.current.querySelector(`span:nth-of-type(${r+1})`);i&&T(i,{behavior:"smooth",scrollMode:"if-needed"})},[r]),h.useImperativeHandle(t,()=>({onKeyDown:({event:i})=>i.key==="ArrowUp"?(a(),!0):i.key==="ArrowDown"?(l(),!0):i.key==="Enter"?(c(),!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-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none","data-richtext-portal":!0,ref:n,children:m.jsx("div",{children:e.items.length>0?e.items.map((i,d)=>{var g;return m.jsxs("span",{className:u.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-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent ",{"bg-item-active":d===r}),onClick:f=>{f.preventDefault(),s(d)},children:[((g=i==null?void 0:i.avatar)==null?void 0:g.src)&&m.jsx("img",{alt:i.label,className:"richtext-size-5 richtext-rounded-full",src:i.avatar.src}),i==null?void 0:i.label]},`mention-item-${i.id}`)}):m.jsx("div",{className:u.clsx("itemUserEmpty, richtext-text-foreground"),children:"Empty"})})})});function b(){let e;return{onStart:t=>{t.clientRect&&(e=new u.ReactRenderer(A,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),p.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&p.updatePosition(t.editor,e.element)},onKeyDown(t){var n;return t.event.key==="Escape"?(e.destroy(),e.element.remove(),!0):(n=e.ref)==null?void 0:n.onKeyDown(t)},onExit(){e.destroy(),e.element.remove()}}}const H=u.Extension.create({name:"richTextMentionWrapper",addExtensions(){var t,n,r,o;const e={...this.options};return(t=this.options)!=null&&t.suggestion&&(e.suggestion={render:b,...this.options.suggestion}),(r=(n=this.options)==null?void 0:n.suggestions)!=null&&r.length&&(e.suggestions=(o=this.options.suggestions)==null?void 0:o.map(s=>({render:b,...s}))),[S.configure({HTMLAttributes:{class:"mention"},...e})]}});exports.Mention=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./index-BBNITgNi.cjs"),v=require("@tiptap/pm/model"),w=require("./index-Cv9Z6dyV.cjs"),T=require("@tiptap/pm/state"),m=require("react/jsx-runtime"),h=require("react"),M=require("scroll-into-view-if-needed"),f=require("./updatePosition-M2IyqkI1.cjs");function L({editor:e,overrideSuggestionOptions:t,extensionName:n,char:r="@"}){const o=new T.PluginKey;return{editor:e,char:r,pluginKey:o,command:({editor:s,range:a,props:u})=>{var c,i,d;const g=s.view.state.selection.$to.nodeAfter;((c=g==null?void 0:g.text)==null?void 0:c.startsWith(" "))&&(a.to+=1),s.chain().focus().insertContentAt(a,[{type:n,attrs:{...u,mentionSuggestionChar:r}},{type:"text",text:" "}]).run(),(d=(i=s.view.dom.ownerDocument.defaultView)==null?void 0:i.getSelection())==null||d.collapseToEnd()},allow:({state:s,range:a})=>{const u=s.doc.resolve(a.from),c=s.schema.nodes[n];return!!u.parent.type.contentMatch.matchType(c)},...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 x(e,t){const n=y(e),r=n.find(o=>o.char===t);return r||(n.length?n[0]:null)}var S=l.Node3.create({name:"mention",priority:101,addOptions(){return{HTMLAttributes:{},renderText({node:e,suggestion:t}){var n,r;return`${(n=t==null?void 0:t.char)!=null?n:"@"}${(r=e.attrs.label)!=null?r:e.attrs.id}`},deleteTriggerWithBackspace:!1,renderHTML({options:e,node:t,suggestion:n}){var r,o;return["span",l.mergeAttributes(this.HTMLAttributes,e.HTMLAttributes),`${(r=n==null?void 0:n.char)!=null?r:"@"}${(o=t.attrs.label)!=null?o: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 n=x(this,e.attrs.mentionSuggestionChar);if(this.options.renderLabel!==void 0)return console.warn("renderLabel is deprecated use renderText and renderHTML instead"),["span",l.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),this.options.renderLabel({options:this.options,node:e,suggestion:n})];const r={...this.options};r.HTMLAttributes=l.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t);const o=this.options.renderHTML({options:r,node:e,suggestion:n});return typeof o=="string"?["span",l.mergeAttributes({"data-type":this.name},this.options.HTMLAttributes,t),o]:o},...l.createInlineMarkdownSpec({nodeName:"mention",name:"@",selfClosing:!0,allowedAttributes:["id","label",{name:"mentionSuggestionChar",skipIfDefault:"@"}],parseAttributes:e=>{const t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g;let r=n.exec(e);for(;r!==null;){const[,o,s,a]=r,u=s??a;t[o==="char"?"mentionSuggestionChar":o]=u,r=n.exec(e)}return t},serializeAttributes:e=>Object.entries(e).filter(([,t])=>t!=null).map(([t,n])=>`${t==="mentionSuggestionChar"?"char":t}="${n}"`).join(" ")}),renderText({node:e}){const t={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(t)):this.options.renderText(t)},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let n=!1;const{selection:r}=t,{empty:o,anchor:s}=r;if(!o)return!1;let a=new v.Node,u=0;return t.doc.nodesBetween(s-1,s,(c,i)=>{if(c.type.name===this.name)return n=!0,a=c,u=i,!1}),n&&e.insertText(this.options.deleteTriggerWithBackspace?"":a.attrs.mentionSuggestionChar,u,u+a.nodeSize),n})}},addProseMirrorPlugins(){return y(this).map(w.Suggestion)}}),A=S;const H=h.forwardRef((e,t)=>{const n=h.useRef(null),[r,o]=h.useState(0),s=i=>{const d=e.items[i];d&&e.command(d)},a=()=>{o((r+e.items.length-1)%e.items.length)},u=()=>{o((r+1)%e.items.length)},c=()=>{s(r)};return h.useEffect(()=>o(0),[e.items]),h.useEffect(()=>{if(Number.isNaN(r+1))return;const i=n.current.querySelector(`span:nth-of-type(${r+1})`);i&&M(i,{behavior:"smooth",scrollMode:"if-needed"})},[r]),h.useImperativeHandle(t,()=>({onKeyDown:({event:i})=>i.key==="ArrowUp"?(a(),!0):i.key==="ArrowDown"?(u(),!0):i.key==="Enter"?(c(),!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-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none","data-richtext-portal":!0,ref:n,children:m.jsx("div",{children:e.items.length>0?e.items.map((i,d)=>{var g;return m.jsxs("span",{className:l.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-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent ",{"bg-item-active":d===r}),onClick:p=>{p.preventDefault(),s(d)},children:[((g=i==null?void 0:i.avatar)==null?void 0:g.src)&&m.jsx("img",{alt:i.label,className:"richtext-size-5 richtext-rounded-full",src:i.avatar.src}),i==null?void 0:i.label]},`mention-item-${i.id}`)}):m.jsx("div",{className:l.clsx("itemUserEmpty, richtext-text-foreground"),children:"Empty"})})})});function b(){let e;return{onStart:t=>{t.clientRect&&(e=new l.ReactRenderer(H,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),f.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&f.updatePosition(t.editor,e.element)},onKeyDown(t){var n;return t.event.key==="Escape"?(e.destroy(),e.element.remove(),!0):(n=e.ref)==null?void 0:n.onKeyDown(t)},onExit(){e.destroy(),e.element.remove()}}}const C=l.Extension.create({name:"richTextMentionWrapper",addExtensions(){var t,n,r,o;const e={...this.options};return(t=this.options)!=null&&t.suggestion&&(e.suggestion={render:b,...this.options.suggestion}),(r=(n=this.options)==null?void 0:n.suggestions)!=null&&r.length&&(e.suggestions=(o=this.options.suggestions)==null?void 0:o.map(s=>({render:b,...s}))),[A.configure({HTMLAttributes:{class:"mention"},...e})]}});exports.Mention=C;
package/lib/Mention.js CHANGED
@@ -1,11 +1,12 @@
1
- import { N as w, B as T, m as h, C as p, E as M, G as L } from "./index-CbIQPoF6.js";
1
+ import { N as w, B as T, m as h, C as p, E as M, R as L } from "./index-sVScpCFG.js";
2
2
  import { Node as S } from "@tiptap/pm/model";
3
- import { S as H, u as f } from "./updatePosition-GLTrgcib.js";
3
+ import { S as H } from "./index-9A6-kVBM.js";
4
4
  import { PluginKey as A } from "@tiptap/pm/state";
5
- import { jsx as g, jsxs as C } from "react/jsx-runtime";
6
- import { forwardRef as N, useRef as $, useState as k, useEffect as x, useImperativeHandle as E } from "react";
5
+ import { jsx as m, jsxs as C } from "react/jsx-runtime";
6
+ import { forwardRef as N, useRef as $, useState as k, useEffect as f, useImperativeHandle as E } from "react";
7
7
  import K from "scroll-into-view-if-needed";
8
- function _({
8
+ import { u as x } from "./updatePosition-Bbd8ETMv.js";
9
+ function R({
9
10
  editor: e,
10
11
  overrideSuggestionOptions: t,
11
12
  extensionName: n,
@@ -39,7 +40,7 @@ function _({
39
40
  }
40
41
  function y(e) {
41
42
  return (e.options.suggestions.length ? e.options.suggestions : [e.options.suggestion]).map(
42
- (t) => _({
43
+ (t) => R({
43
44
  // @ts-ignore `editor` can be `undefined` when converting the document to HTML with the HTML utility
44
45
  editor: e.editor,
45
46
  overrideSuggestionOptions: t,
@@ -52,7 +53,7 @@ function b(e, t) {
52
53
  const n = y(e), r = n.find((o) => o.char === t);
53
54
  return r || (n.length ? n[0] : null);
54
55
  }
55
- var D = w.create({
56
+ var _ = w.create({
56
57
  name: "mention",
57
58
  priority: 101,
58
59
  addOptions() {
@@ -183,8 +184,8 @@ var D = w.create({
183
184
  addProseMirrorPlugins() {
184
185
  return y(this).map(H);
185
186
  }
186
- }), I = D;
187
- const R = N((e, t) => {
187
+ }), D = _;
188
+ const I = N((e, t) => {
188
189
  const n = $(null), [r, o] = k(0), s = (i) => {
189
190
  const d = e.items[i];
190
191
  d && e.command(d);
@@ -195,30 +196,30 @@ const R = N((e, t) => {
195
196
  }, u = () => {
196
197
  s(r);
197
198
  };
198
- return x(() => o(0), [e.items]), x(() => {
199
+ return f(() => o(0), [e.items]), f(() => {
199
200
  if (Number.isNaN(r + 1))
200
201
  return;
201
202
  const i = n.current.querySelector(`span:nth-of-type(${r + 1})`);
202
203
  i && K(i, { behavior: "smooth", scrollMode: "if-needed" });
203
204
  }, [r]), E(t, () => ({
204
205
  onKeyDown: ({ event: i }) => i.key === "ArrowUp" ? (a(), !0) : i.key === "ArrowDown" ? (l(), !0) : i.key === "Enter" ? (u(), !0) : !1
205
- })), /* @__PURE__ */ g(
206
+ })), /* @__PURE__ */ m(
206
207
  "div",
207
208
  {
208
209
  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-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none",
209
210
  "data-richtext-portal": !0,
210
211
  ref: n,
211
- children: /* @__PURE__ */ g("div", { children: e.items.length > 0 ? e.items.map((i, d) => {
212
+ children: /* @__PURE__ */ m("div", { children: e.items.length > 0 ? e.items.map((i, d) => {
212
213
  var c;
213
214
  return /* @__PURE__ */ C(
214
215
  "span",
215
216
  {
216
217
  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-foreground !richtext-outline-none richtext-transition-colors hover:!richtext-bg-accent ", { "bg-item-active": d === r }),
217
- onClick: (m) => {
218
- m.preventDefault(), s(d);
218
+ onClick: (g) => {
219
+ g.preventDefault(), s(d);
219
220
  },
220
221
  children: [
221
- ((c = i == null ? void 0 : i.avatar) == null ? void 0 : c.src) && /* @__PURE__ */ g(
222
+ ((c = i == null ? void 0 : i.avatar) == null ? void 0 : c.src) && /* @__PURE__ */ m(
222
223
  "img",
223
224
  {
224
225
  alt: i.label,
@@ -231,7 +232,7 @@ const R = N((e, t) => {
231
232
  },
232
233
  `mention-item-${i.id}`
233
234
  );
234
- }) : /* @__PURE__ */ g("div", { className: p("itemUserEmpty, richtext-text-foreground"), children: "Empty" }) })
235
+ }) : /* @__PURE__ */ m("div", { className: p("itemUserEmpty, richtext-text-foreground"), children: "Empty" }) })
235
236
  }
236
237
  );
237
238
  });
@@ -239,13 +240,13 @@ function v() {
239
240
  let e;
240
241
  return {
241
242
  onStart: (t) => {
242
- t.clientRect && (e = new L(R, {
243
+ t.clientRect && (e = new L(I, {
243
244
  props: t,
244
245
  editor: t.editor
245
- }), e.element.style.position = "absolute", document.body.appendChild(e.element), f(t.editor, e.element));
246
+ }), e.element.style.position = "absolute", document.body.appendChild(e.element), x(t.editor, e.element));
246
247
  },
247
248
  onUpdate(t) {
248
- e.updateProps(t), t.clientRect && f(t.editor, e.element);
249
+ e.updateProps(t), t.clientRect && x(t.editor, e.element);
249
250
  },
250
251
  onKeyDown(t) {
251
252
  var n;
@@ -256,7 +257,7 @@ function v() {
256
257
  }
257
258
  };
258
259
  }
259
- const V = /* @__PURE__ */ M.create({
260
+ const Q = /* @__PURE__ */ M.create({
260
261
  name: "richTextMentionWrapper",
261
262
  addExtensions() {
262
263
  var t, n, r, o;
@@ -269,7 +270,7 @@ const V = /* @__PURE__ */ M.create({
269
270
  }), (r = (n = this.options) == null ? void 0 : n.suggestions) != null && r.length && (e.suggestions = (o = this.options.suggestions) == null ? void 0 : o.map((s) => ({
270
271
  render: v,
271
272
  ...s
272
- }))), [I.configure({
273
+ }))), [D.configure({
273
274
  HTMLAttributes: {
274
275
  class: "mention"
275
276
  },
@@ -278,5 +279,5 @@ const V = /* @__PURE__ */ M.create({
278
279
  }
279
280
  });
280
281
  export {
281
- V as Mention
282
+ Q as Mention
282
283
  };
package/lib/Mermaid.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var X=Object.create;var G=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var K=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of Z(e))!J.call(t,l)&&l!==r&&G(t,l,{get:()=>e[l],enumerable:!(a=U(e,l))||a.enumerable});return t};var Q=(t,e,r)=>(r=t!=null?X(Y(t)):{},K(e||!t||!t.__esModule?G(r,"default",{value:t,enumerable:!0}):r,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("./index-BBNITgNi.cjs"),$=require("./throttle-BM3Bmbf_.cjs"),o=require("react/jsx-runtime"),s=require("react"),F=require("./shortId-Bfj8TyNr.cjs"),ee=require("./index-DvvMf6Wu.cjs"),E=require("./dialog-DgnnVCfv.cjs"),te=require("./textarea-B-qfanCT.cjs"),L=require("./index-FSRjMsxW.cjs"),z=require("./useButtonProps-BqBGuqoP.cjs"),re=require("./file-i7e4nQY2.cjs"),ie=require("./button-U6XpZt2X.cjs"),se=`graph TB
1
+ "use strict";var X=Object.create;var G=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var Z=Object.getOwnPropertyNames;var Y=Object.getPrototypeOf,J=Object.prototype.hasOwnProperty;var K=(t,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of Z(e))!J.call(t,l)&&l!==r&&G(t,l,{get:()=>e[l],enumerable:!(a=U(e,l))||a.enumerable});return t};var Q=(t,e,r)=>(r=t!=null?X(Y(t)):{},K(e||!t||!t.__esModule?G(r,"default",{value:t,enumerable:!0}):r,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("./index-BBNITgNi.cjs"),$=require("./throttle-BM3Bmbf_.cjs"),o=require("react/jsx-runtime"),s=require("react"),F=require("./shortId-Bfj8TyNr.cjs"),ee=require("./index-C838s-or.cjs"),E=require("./dialog-CMC9hsCo.cjs"),te=require("./textarea-Yetl_PZi.cjs"),L=require("./index-FSRjMsxW.cjs"),z=require("./useButtonProps-DfnJiJLV.cjs"),re=require("./file-i7e4nQY2.cjs"),ie=require("./button-BW5bDPz_.cjs"),se=`graph TB
2
2
  a-->b`;function ae(){const t=z.useEditorInstance(),e=z.useButtonProps(W.name),{tooltipOptions:r={},isActive:a=void 0,upload:l}=(e==null?void 0:e.componentProps)??{},{editorDisabled:T}=z.useToggleActive(a),[d,C]=s.useState(se),[q,y]=s.useState(""),[c,_]=s.useState(!1),S=s.useRef(null),[h,k]=s.useState(null),[f,O]=s.useState(!0),D=s.useCallback(u=>{u&&import("mermaid").then(g=>{k(g.default)}).finally(()=>O(!1))},[]),I=async u=>{try{const{svg:g}=await h.render("mermaid-svg",u);y(g)}catch{y("")}},R=()=>{h.initialize({darkMode:!1,startOnLoad:!1,fontSize:12,theme:"base"}),I(d)};s.useEffect(()=>{!f&&h&&c&&R()},[h,c]),s.useEffect(()=>{!f&&h&&c&&I(d)},[h&&d]);const P=async()=>{if(d!==""){if(d){const u=S.current.querySelector("svg"),{width:g,height:j}=u.getBoundingClientRect(),A=`mermaid-${F.shortId()}.svg`;let b=F.i(u.outerHTML);if(l){const i=re.dataURLtoFile(b,A);b=await l(i)}t==null||t.chain().focus().setMermaid({type:"mermaid",src:b,alt:encodeURIComponent(d),width:g,height:j},!!d).run()}_(!1)}};return o.jsxs(E.Dialog,{onOpenChange:_,open:c,children:[o.jsx(E.DialogTrigger,{asChild:!0,children:o.jsx(ee.ActionButton,{disabled:T,icon:"Mermaid",tooltip:"Mermaid",tooltipOptions:r,action:()=>{T||_(!0)}})}),o.jsxs(E.DialogContent,{className:"richtext-z-[99999] !richtext-max-w-[1300px]",children:[o.jsx(E.DialogTitle,{children:"Mermaid"}),o.jsx("div",{ref:D,style:{height:"100%",border:"1px solid hsl(var(--border))"},children:f?o.jsx("p",{children:"Loading..."}):o.jsx(o.Fragment,{children:o.jsxs("div",{className:"richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]",children:[o.jsx(te.Textarea,{autoFocus:!0,className:"richtext-flex-1",onChange:u=>C(u.target.value),placeholder:"Text",required:!0,rows:10,value:d,style:{color:"hsl(var(--foreground))"}}),o.jsx("div",{className:"richtext-flex richtext-flex-1 richtext-items-center richtext-justify-center richtext-rounded-[10px] richtext-p-[10px]",dangerouslySetInnerHTML:{__html:q},ref:S,style:{height:"100%",borderWidth:1,minHeight:500,background:"#fff"}})]})})}),o.jsx(E.DialogFooter,{children:o.jsx(ie.Button,{disabled:!h,onClick:P,type:"button",children:"Save changes"})})]})]})}const H={TOP_LEFT:"tl",TOP_RIGHT:"tr",BOTTOM_LEFT:"bl",BOTTOM_RIGHT:"br"};function ne({editor:t,node:e,updateAttributes:r,getPos:a,selected:l}){const[T,d]=s.useState({width:L.IMAGE_MAX_SIZE,height:L.IMAGE_MAX_SIZE}),[C,q]=s.useState({width:0,height:0}),[y]=s.useState([H.TOP_LEFT,H.TOP_RIGHT,H.BOTTOM_LEFT,H.BOTTOM_RIGHT]),[c,_]=s.useState(!1),[S,h]=s.useState({x:0,y:0,w:0,h:0,dir:""}),{align:k}=e==null?void 0:e.attrs,f=s.useMemo(()=>{const{src:i,alt:p,width:x,height:v}=e==null?void 0:e.attrs,w=N.isNumber(x)?`${x}px`:x,n=N.isNumber(v)?`${v}px`:v;return{src:i||void 0,alt:p||void 0,style:{width:w||void 0,height:n||void 0}}},[e==null?void 0:e.attrs]),O=s.useMemo(()=>{const{style:{width:i}}=f;return{width:i==="100%"?i:void 0}},[f]);function D(i){q({width:i.target.width,height:i.target.height})}function I(){t.commands.setNodeSelection(a())}const R=s.useCallback($.throttle(()=>{const{width:i}=getComputedStyle(t.view.dom);d(p=>({...p,width:Number.parseInt(i,10)}))},L.IMAGE_THROTTLE_WAIT_TIME),[t]);function P(i,p){i.preventDefault(),i.stopPropagation();const x=C.width,v=C.height,w=x/v;let n=Number(e.attrs.width),M=Number(e.attrs.height);const m=T.width;n&&!M?(n=n>m?m:n,M=Math.round(n/w)):M&&!n?(n=Math.round(M*w),n=n>m?m:n):!n&&!M?(n=x>m?m:x,M=Math.round(n/w)):n=n>m?m:n,_(!0),h({x:i.clientX,y:i.clientY,w:n,h:M,dir:p})}const u=s.useCallback($.throttle(i=>{if(i.preventDefault(),i.stopPropagation(),!c)return;const{x:p,w:x,dir:v}=S,w=(i.clientX-p)*(/l/.test(v)?-1:1),{width:n,height:M}=e==null?void 0:e.attrs,m=n/M,B=z.clamp(x+w,L.IMAGE_MIN_SIZE,T.width),V=Math.round(B/m);r({width:B,height:V})},L.IMAGE_THROTTLE_WAIT_TIME),[c,S,T,r,e==null?void 0:e.attrs]),g=s.useCallback(i=>{i.preventDefault(),i.stopPropagation(),c&&(h({x:0,y:0,w:0,h:0,dir:""}),_(!1),I())},[c,I]),j=s.useCallback(()=>{document==null||document.addEventListener("mousemove",u,!0),document==null||document.addEventListener("mouseup",g,!0)},[u,g]),A=s.useCallback(()=>{document==null||document.removeEventListener("mousemove",u,!0),document==null||document.removeEventListener("mouseup",g,!0)},[u,g]);s.useEffect(()=>(c?j():A(),()=>{A()}),[c,j,A]);const b=s.useMemo(()=>new ResizeObserver(()=>R()),[R]);return s.useEffect(()=>(b.observe(t.view.dom),()=>{b.disconnect()}),[t.view.dom,b]),o.jsx(N.NodeViewWrapper,{className:"image-view",style:{...O,width:"100%",textAlign:k},children:o.jsxs("div",{"data-drag-handle":!0,draggable:"true",style:{...O,background:"#fff"},className:`image-view__body ${l?"image-view__body--focused":""} ${c?"image-view__body--resizing":""}`,children:[o.jsx("img",{alt:f.alt,className:"image-view__body__image block",height:"auto",onClick:I,onLoad:D,src:f.src,style:f.style}),t.view.editable&&(l||c)&&o.jsx("div",{className:"image-resizer",children:y==null?void 0:y.map(i=>o.jsx("span",{className:`image-resizer__handler image-resizer__handler--${i}`,onMouseDown:p=>P(p,i)},`image-dir-${i}`))})]})})}const W=$.index_default.extend({name:"mermaid",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),inline:!1,content:"",marks:"",group:"block",draggable:!1,selectable:!0,atom:!0,HTMLAttributes:{class:"mermaid"},button:({editor:e,t:r,extension:a})=>{var l;return{componentProps:{action:()=>!0,isActive:()=>!1,disabled:!1,editor:e,icon:"Mermaid",tooltip:r("editor.mermaid.tooltip"),upload:(l=a==null?void 0:a.options)==null?void 0:l.upload}}}}},addAttributes(){var t;return{...(t=this.parent)==null?void 0:t.call(this),width:{default:null,parseHTML:e=>{const r=e.querySelector("img"),a=r==null?void 0:r.getAttribute("width");return a?Number.parseInt(a,10):320},renderHTML:e=>({width:e.width})},height:{default:null,parseHTML:e=>{const r=e.querySelector("img"),a=r==null?void 0:r.getAttribute("height");return a?Number.parseInt(a,10):212},renderHTML:e=>({height:e.height})},align:{default:"center",parseHTML:e=>e.getAttribute("align"),renderHTML:e=>({align:e.align})}}},addNodeView(){return N.ReactNodeViewRenderer(ne)},addCommands(){return{setMermaid:(t,e)=>({commands:r,editor:a})=>e?r.insertContent({type:this.name,attrs:t}):r.insertContentAt(a.state.selection.anchor,{type:this.name,attrs:t}),setAlignImageMermaid:t=>({commands:e})=>e.updateAttributes(this.name,{align:t})}},renderHTML({HTMLAttributes:t}){const{align:e}=t;return["div",{style:e?`text-align: ${e};`:"",class:"imageMermaid"},["img",N.mergeAttributes(this.options.HTMLAttributes,t)]]},parseHTML(){return[{tag:"div[class=imageMermaid]",getAttrs:t=>{const e=t.querySelector("img"),r=e==null?void 0:e.getAttribute("width"),a=e==null?void 0:e.getAttribute("height");return{src:e==null?void 0:e.getAttribute("src"),alt:e==null?void 0:e.getAttribute("alt"),width:r?Number.parseInt(r,10):null,height:a?Number.parseInt(a,10):null,align:(e==null?void 0:e.getAttribute("align"))||t.style.textAlign||null}}}]}});exports.Mermaid=W;exports.RichTextMermaid=ae;
package/lib/Mermaid.js CHANGED
@@ -1,15 +1,15 @@
1
- import { s as U, u as G, m as X, R as Z } from "./index-CbIQPoF6.js";
2
- import { a as q, c as Y } from "./throttle-BIkZV3Y_.js";
3
- import { jsxs as C, jsx as n, Fragment as J } from "react/jsx-runtime";
4
- import { useState as m, useRef as K, useCallback as A, useEffect as H, useMemo as P } from "react";
1
+ import { q as U, s as G, m as X, u as Z } from "./index-sVScpCFG.js";
2
+ import { a as q, c as Y } from "./throttle-DsowOft0.js";
3
+ import { jsxs as H, jsx as n, Fragment as J } from "react/jsx-runtime";
4
+ import { useState as m, useRef as K, useCallback as A, useEffect as R, useMemo as P } from "react";
5
5
  import { s as Q, i as tt } from "./shortId-WJVkrvml.js";
6
- import { A as et } from "./index-4pRt5Vqu.js";
7
- import { D as rt, a as it, b as at, c as st, d as nt } from "./dialog-DjnkASYP.js";
8
- import { T as ot } from "./textarea-CMDYVXYo.js";
6
+ import { A as et } from "./index-C3zg3DPB.js";
7
+ import { D as rt, a as it, b as at, c as st, d as nt } from "./dialog-D_HCtKvc.js";
8
+ import { T as ot } from "./textarea-BdeLXbp8.js";
9
9
  import { I as V, j as W, k as lt } from "./index-0OnGZkVF.js";
10
- import { c as ct, u as dt, a as ut, f as ht } from "./useButtonProps-DTngjZge.js";
10
+ import { c as ct, u as dt, a as ut, f as ht } from "./useButtonProps-cMoicZgd.js";
11
11
  import { d as mt } from "./file-BLas99n7.js";
12
- import { B as gt } from "./button-D8SI-g7p.js";
12
+ import { B as gt } from "./button-RnHbJfd-.js";
13
13
  const pt = `graph TB
14
14
  a-->b`;
15
15
  function Ot() {
@@ -40,11 +40,11 @@ function Ot() {
40
40
  theme: "base"
41
41
  }), I(c);
42
42
  };
43
- return H(() => {
43
+ return R(() => {
44
44
  !g && d && o && E();
45
- }, [d, o]), H(() => {
45
+ }, [d, o]), R(() => {
46
46
  !g && d && o && I(c);
47
- }, [d && c]), /* @__PURE__ */ C(
47
+ }, [d && c]), /* @__PURE__ */ H(
48
48
  rt,
49
49
  {
50
50
  onOpenChange: _,
@@ -62,14 +62,14 @@ function Ot() {
62
62
  }
63
63
  }
64
64
  ) }),
65
- /* @__PURE__ */ C(at, { className: "richtext-z-[99999] !richtext-max-w-[1300px]", children: [
65
+ /* @__PURE__ */ H(at, { className: "richtext-z-[99999] !richtext-max-w-[1300px]", children: [
66
66
  /* @__PURE__ */ n(st, { children: "Mermaid" }),
67
67
  /* @__PURE__ */ n(
68
68
  "div",
69
69
  {
70
70
  ref: B,
71
71
  style: { height: "100%", border: "1px solid hsl(var(--border))" },
72
- children: g ? /* @__PURE__ */ n("p", { children: "Loading..." }) : /* @__PURE__ */ n(J, { children: /* @__PURE__ */ C("div", { className: "richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]", children: [
72
+ children: g ? /* @__PURE__ */ n("p", { children: "Loading..." }) : /* @__PURE__ */ n(J, { children: /* @__PURE__ */ H("div", { className: "richtext-flex richtext-gap-[10px] richtext-rounded-[10px] richtext-p-[10px]", children: [
73
73
  /* @__PURE__ */ n(
74
74
  ot,
75
75
  {
@@ -104,7 +104,7 @@ function Ot() {
104
104
  onClick: async () => {
105
105
  if (c !== "") {
106
106
  if (c) {
107
- const l = L.current.querySelector("svg"), { width: u, height: R } = l.getBoundingClientRect(), N = `mermaid-${Q()}.svg`;
107
+ const l = L.current.querySelector("svg"), { width: u, height: z } = l.getBoundingClientRect(), N = `mermaid-${Q()}.svg`;
108
108
  let M = tt(l.outerHTML);
109
109
  if (w) {
110
110
  const r = mt(M, N);
@@ -116,7 +116,7 @@ function Ot() {
116
116
  src: M,
117
117
  alt: encodeURIComponent(c),
118
118
  width: u,
119
- height: R
119
+ height: z
120
120
  },
121
121
  !!c
122
122
  ).run();
@@ -133,7 +133,7 @@ function Ot() {
133
133
  }
134
134
  );
135
135
  }
136
- const z = {
136
+ const C = {
137
137
  TOP_LEFT: "tl",
138
138
  TOP_RIGHT: "tr",
139
139
  BOTTOM_LEFT: "bl",
@@ -147,10 +147,10 @@ function ft({ editor: e, node: t, updateAttributes: i, getPos: s, selected: w })
147
147
  width: 0,
148
148
  height: 0
149
149
  }), [y] = m([
150
- z.TOP_LEFT,
151
- z.TOP_RIGHT,
152
- z.BOTTOM_LEFT,
153
- z.BOTTOM_RIGHT
150
+ C.TOP_LEFT,
151
+ C.TOP_RIGHT,
152
+ C.BOTTOM_LEFT,
153
+ C.BOTTOM_RIGHT
154
154
  ]), [o, _] = m(!1), [L, d] = m({
155
155
  x: 0,
156
156
  y: 0,
@@ -227,23 +227,23 @@ function ft({ editor: e, node: t, updateAttributes: i, getPos: s, selected: w })
227
227
  }), _(!1), I());
228
228
  },
229
229
  [o, I]
230
- ), R = A(() => {
230
+ ), z = A(() => {
231
231
  document == null || document.addEventListener("mousemove", l, !0), document == null || document.addEventListener("mouseup", u, !0);
232
232
  }, [l, u]), N = A(() => {
233
233
  document == null || document.removeEventListener("mousemove", l, !0), document == null || document.removeEventListener("mouseup", u, !0);
234
234
  }, [l, u]);
235
- H(() => (o ? R() : N(), () => {
235
+ R(() => (o ? z() : N(), () => {
236
236
  N();
237
- }), [o, R, N]);
237
+ }), [o, z, N]);
238
238
  const M = P(() => new ResizeObserver(() => E()), [E]);
239
- return H(() => (M.observe(e.view.dom), () => {
239
+ return R(() => (M.observe(e.view.dom), () => {
240
240
  M.disconnect();
241
241
  }), [e.view.dom, M]), /* @__PURE__ */ n(
242
242
  U,
243
243
  {
244
244
  className: "image-view",
245
245
  style: { ...O, width: "100%", textAlign: k },
246
- children: /* @__PURE__ */ C(
246
+ children: /* @__PURE__ */ H(
247
247
  "div",
248
248
  {
249
249
  "data-drag-handle": !0,
package/lib/MoreMark.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-BBNITgNi.cjs"),r=require("react/jsx-runtime"),x=require("react"),h=require("./index-DvvMf6Wu.cjs"),b=require("./useButtonProps-BqBGuqoP.cjs"),p=require("./dropdown-menu-BvVMltdB.cjs"),f=require("./Icon-b6HQAURz.cjs");var S=c.Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(t){return t!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sub",c.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setSubscript:()=>({commands:t})=>t.setMark(this.name),toggleSubscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSubscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),k=c.Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(t){return t!=="super"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sup",c.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setSuperscript:()=>({commands:t})=>t.setMark(this.name),toggleSuperscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSuperscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}});function A(){const t=b.useButtonProps(m.name),{icon:s=void 0,tooltip:n=void 0,items:i=[],isActive:l=void 0}=(t==null?void 0:t.componentProps)??{},{disabled:u,dataState:o}=b.useActive(l),d=x.useMemo(()=>(o==null?void 0:o.title)||"",[o]);return t?r.jsxs(p.DropdownMenu,{children:[r.jsx(p.DropdownMenuTrigger,{asChild:!0,disabled:u,children:r.jsx(h.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:u,icon:s,tooltip:n,children:r.jsx(h.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),r.jsx(p.DropdownMenuContent,{className:"w-full",children:i==null?void 0:i.map((e,a)=>r.jsxs(p.DropdownMenuCheckboxItem,{checked:d===e.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:e.action,children:[r.jsx(f.IconComponent,{name:e==null?void 0:e.icon}),r.jsx("span",{className:"richtext-ml-1",children:e.title}),!!(e!=null&&e.shortcutKeys)&&r.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:h.getShortcutKeys(e.shortcutKeys)})]},`more-mark-${a}`))})]}):r.jsx(r.Fragment,{})}const m=c.Extension.create({name:"moreMark",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button({editor:s,extension:n,t:i}){var a,g;const l=n.options.subscript,u=n.options.superscript,o={action:()=>s.commands.toggleSubscript(),isActive:()=>s.isActive("subscript")||!1,disabled:!s.can().toggleSubscript(),icon:"Subscript",title:i("editor.subscript.tooltip"),shortcutKeys:((a=n.options.shortcutKeys)==null?void 0:a[0])??["mod","."]},d={action:()=>s.commands.toggleSuperscript(),isActive:()=>s.isActive("superscript")||!1,disabled:!s.can().toggleSuperscript(),icon:"Superscript",title:i("editor.superscript.tooltip"),shortcutKeys:((g=n.options.shortcutKeys)==null?void 0:g[1])??["mod",","]},e=[];return l!==!1&&e.push(o),u!==!1&&e.push(d),{componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!s.isEditable,items:e,isActive:()=>e==null?void 0:e.find(M=>M.isActive())}}}}},addExtensions(){const t=[];return this.options.subscript!==!1&&t.push(S.configure(this.options.subscript)),this.options.superscript!==!1&&t.push(k.configure(this.options.superscript)),t}});exports.MoreMark=m;exports.RichTextMoreMark=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./index-BBNITgNi.cjs"),r=require("react/jsx-runtime"),x=require("react"),h=require("./index-C838s-or.cjs"),b=require("./useButtonProps-DfnJiJLV.cjs"),p=require("./dropdown-menu-DKSAS-w_.cjs"),f=require("./Icon-DXePECFW.cjs");var S=c.Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(t){return t!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sub",c.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setSubscript:()=>({commands:t})=>t.setMark(this.name),toggleSubscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSubscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),k=c.Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(t){return t!=="super"?!1:null}}]},renderHTML({HTMLAttributes:t}){return["sup",c.mergeAttributes(this.options.HTMLAttributes,t),0]},addCommands(){return{setSuperscript:()=>({commands:t})=>t.setMark(this.name),toggleSuperscript:()=>({commands:t})=>t.toggleMark(this.name),unsetSuperscript:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}});function A(){const t=b.useButtonProps(m.name),{icon:s=void 0,tooltip:n=void 0,items:i=[],isActive:l=void 0}=(t==null?void 0:t.componentProps)??{},{disabled:u,dataState:o}=b.useActive(l),d=x.useMemo(()=>(o==null?void 0:o.title)||"",[o]);return t?r.jsxs(p.DropdownMenu,{children:[r.jsx(p.DropdownMenuTrigger,{asChild:!0,disabled:u,children:r.jsx(h.ActionButton,{customClass:"!richtext-w-12 richtext-h-12",disabled:u,icon:s,tooltip:n,children:r.jsx(h.MenuDown,{className:"richtext-size-3 richtext-text-gray-500"})})}),r.jsx(p.DropdownMenuContent,{className:"w-full",children:i==null?void 0:i.map((e,a)=>r.jsxs(p.DropdownMenuCheckboxItem,{checked:d===e.title,className:"richtext-flex richtext-items-center richtext-gap-3",onClick:e.action,children:[r.jsx(f.IconComponent,{name:e==null?void 0:e.icon}),r.jsx("span",{className:"richtext-ml-1",children:e.title}),!!(e!=null&&e.shortcutKeys)&&r.jsx("span",{className:"richtext-ml-auto richtext-text-xs richtext-tracking-widest richtext-opacity-60",children:h.getShortcutKeys(e.shortcutKeys)})]},`more-mark-${a}`))})]}):r.jsx(r.Fragment,{})}const m=c.Extension.create({name:"moreMark",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button({editor:s,extension:n,t:i}){var a,g;const l=n.options.subscript,u=n.options.superscript,o={action:()=>s.commands.toggleSubscript(),isActive:()=>s.isActive("subscript")||!1,disabled:!s.can().toggleSubscript(),icon:"Subscript",title:i("editor.subscript.tooltip"),shortcutKeys:((a=n.options.shortcutKeys)==null?void 0:a[0])??["mod","."]},d={action:()=>s.commands.toggleSuperscript(),isActive:()=>s.isActive("superscript")||!1,disabled:!s.can().toggleSuperscript(),icon:"Superscript",title:i("editor.superscript.tooltip"),shortcutKeys:((g=n.options.shortcutKeys)==null?void 0:g[1])??["mod",","]},e=[];return l!==!1&&e.push(o),u!==!1&&e.push(d),{componentProps:{icon:"Type",tooltip:i("editor.moremark"),disabled:!s.isEditable,items:e,isActive:()=>e==null?void 0:e.find(M=>M.isActive())}}}}},addExtensions(){const t=[];return this.options.subscript!==!1&&t.push(S.configure(this.options.subscript)),this.options.superscript!==!1&&t.push(k.configure(this.options.superscript)),t}});exports.MoreMark=m;exports.RichTextMoreMark=A;
package/lib/MoreMark.js CHANGED
@@ -1,10 +1,10 @@
1
- import { M as h, m, E as b } from "./index-CbIQPoF6.js";
1
+ import { M as h, m, E as b } from "./index-sVScpCFG.js";
2
2
  import { jsx as e, Fragment as f, jsxs as d } from "react/jsx-runtime";
3
3
  import { useMemo as M } from "react";
4
- import { A as x, M as A, g as S } from "./index-4pRt5Vqu.js";
5
- import { u as k, b as v } from "./useButtonProps-DTngjZge.js";
6
- import { D as y, a as T, b as K, c as w } from "./dropdown-menu-bI14Gyw4.js";
7
- import { I as C } from "./Icon-C_buGjWy.js";
4
+ import { A as x, M as A, g as S } from "./index-C3zg3DPB.js";
5
+ import { u as k, b as v } from "./useButtonProps-cMoicZgd.js";
6
+ import { D as y, a as T, b as K, c as w } from "./dropdown-menu-66q7Ofc5.js";
7
+ import { I as C } from "./Icon-DRuJhcHK.js";
8
8
  var H = h.create({
9
9
  name: "subscript",
10
10
  addOptions() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index-CApXPpjF.cjs"),r=require("react/jsx-runtime"),m=require("./index-DvvMf6Wu.cjs");require("react");const d=require("./useButtonProps-BqBGuqoP.cjs");function x(){const t=d.useButtonProps(c.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:i=void 0,tooltipOptions:u={},action:s=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:p,disabled:n,update:l}=d.useToggleActive(a),v=()=>{n||s&&(s(),l())};return t?r.jsx(m.ActionButton,{action:v,dataState:p,disabled:n,icon:e,shortcutKeys:i,tooltip:o,tooltipOptions:u}):r.jsx(r.Fragment,{})}const c=O.OrderedList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:o,extension:i})=>({componentProps:{action:()=>e.commands.toggleOrderedList(),isActive:()=>e.isActive("orderedList"),disabled:!1,icon:"ListOrdered",shortcutKeys:i.options.shortcutKeys??["mod","shift","7"],tooltip:o("editor.orderedlist.tooltip")}})}}});exports.OrderedList=c;exports.RichTextOrderedList=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("./index-CApXPpjF.cjs"),r=require("react/jsx-runtime"),m=require("./index-C838s-or.cjs");require("react");const d=require("./useButtonProps-DfnJiJLV.cjs");function x(){const t=d.useButtonProps(c.name),{icon:e=void 0,tooltip:o=void 0,shortcutKeys:i=void 0,tooltipOptions:u={},action:s=void 0,isActive:a=void 0}=(t==null?void 0:t.componentProps)??{},{dataState:p,disabled:n,update:l}=d.useToggleActive(a),v=()=>{n||s&&(s(),l())};return t?r.jsx(m.ActionButton,{action:v,dataState:p,disabled:n,icon:e,shortcutKeys:i,tooltip:o,tooltipOptions:u}):r.jsx(r.Fragment,{})}const c=O.OrderedList.extend({addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),button:({editor:e,t:o,extension:i})=>({componentProps:{action:()=>e.commands.toggleOrderedList(),isActive:()=>e.isActive("orderedList"),disabled:!1,icon:"ListOrdered",shortcutKeys:i.options.shortcutKeys??["mod","shift","7"],tooltip:o("editor.orderedlist.tooltip")}})}}});exports.OrderedList=c;exports.RichTextOrderedList=x;
@@ -1,8 +1,8 @@
1
- import { O as u } from "./index-BimeTI7q.js";
1
+ import { O as u } from "./index-DRHrDScg.js";
2
2
  import { jsx as n, Fragment as f } from "react/jsx-runtime";
3
- import { A as l } from "./index-4pRt5Vqu.js";
3
+ import { A as l } from "./index-C3zg3DPB.js";
4
4
  import "react";
5
- import { u as v, a as O } from "./useButtonProps-DTngjZge.js";
5
+ import { u as v, a as O } from "./useButtonProps-cMoicZgd.js";
6
6
  function K() {
7
7
  const t = v(A.name), {
8
8
  icon: o = void 0,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("./index-BBNITgNi.cjs"),F=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),f=require("react"),Z=require("./index-DvvMf6Wu.cjs"),k=require("./useButtonProps-BqBGuqoP.cjs"),_=require("./index-FSRjMsxW.cjs"),$=require("./popover-DjL0De8d.cjs"),B=require("./label-C8BonzOY.cjs"),M=require("./input-BtDj0NeF.cjs"),j=require("./button-U6XpZt2X.cjs"),V=require("./Icon-b6HQAURz.cjs"),ee=require("./checkbox-DaIBNthL.cjs");function te(){const{t}=_.useLocale(),e=k.useEditorInstance(),s=k.useButtonProps(W.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:x=void 0,isActive:h=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=k.useActive(h),[g,d]=f.useState(!1),[p,A]=f.useState(""),[T,N]=f.useState(""),[I,H]=f.useState(!1),[U,E]=f.useState(""),w=()=>{var r,l,R,m;E(`${((l=(r=e==null?void 0:e.storage)==null?void 0:r.searchAndReplace)==null?void 0:l.resultIndex)+1}/${(m=(R=e==null?void 0:e.storage)==null?void 0:R.searchAndReplace)==null?void 0:m.results.length}`)};f.useEffect(()=>{e&&w()},[e]);const z=()=>{i||x&&x()},y=(r=!1)=>{var l,R,m,v,S,D,q,O;e&&(r&&((R=(l=e==null?void 0:e.commands)==null?void 0:l.resetIndex)==null||R.call(l)),(v=(m=e==null?void 0:e.commands)==null?void 0:m.setSearchTerm)==null||v.call(m,p),(D=(S=e==null?void 0:e.commands)==null?void 0:S.setReplaceTerm)==null||D.call(S,T),(O=(q=e==null?void 0:e.commands)==null?void 0:q.setCaseSensitive)==null||O.call(q,I),w())},P=()=>{var v,S;if(!e)return;const{results:r,resultIndex:l}=e.storage.searchAndReplace,R=r[l];if(!R)return;(S=(v=e==null?void 0:e.commands)==null?void 0:v.setTextSelection)==null||S.call(v,R);const{node:m}=e.view.domAtPos(e.state.selection.anchor);m instanceof HTMLElement&&m.scrollIntoView({behavior:"smooth",block:"center"}),w()};f.useEffect(()=>{p.trim()||L(),p.trim()&&y(!0)},[p]),f.useEffect(()=>{T.trim()&&y()},[T]),f.useEffect(()=>{y(!0)},[I]);const G=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replace)==null||l.call(r),P()},J=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.nextSearchResult)==null||l.call(r),P()},Q=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.previousSearchResult)==null||l.call(r),P()},L=()=>{var r,l;A(""),N(""),(l=(r=e==null?void 0:e.commands)==null?void 0:r.resetIndex)==null||l.call(r),w()},X=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replaceAll)==null||l.call(r),E("0/0")};return s?a.jsxs($.Popover,{onOpenChange:d,open:g,children:[a.jsx($.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(Z.ActionButton,{action:z,disabled:i,icon:n,shortcutKeys:o,tooltip:u,tooltipOptions:c})}),a.jsxs($.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[a.jsx(B.Label,{children:t("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:U})]}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:[a.jsx(M.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>A(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:Q,children:a.jsx(V.IconComponent,{name:"ChevronUp"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:J,children:a.jsx(V.IconComponent,{name:"ChevronDown"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:L,children:"Clear"})]}),a.jsx(B.Label,{className:"richtext-mb-[6px]",children:t("editor.replace.dialog.text")}),a.jsx("div",{className:"richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:a.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:a.jsx(M.Input,{className:"richtext-w-80",onChange:r=>N(r.target.value),placeholder:"Text",required:!0,type:"text",value:T})})}),a.jsxs("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1",children:[a.jsx(ee.Checkbox,{checked:I,onCheckedChange:r=>{H(r),e.commands.setCaseSensitive(r)}}),a.jsx(B.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(j.Button,{className:"richtext-flex-1",onClick:G,children:t("editor.replace.dialog.text")}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:X,children:t("editor.replaceAll.dialog.text")})]})]})]}):a.jsx(a.Fragment,{})}const C=(t,e)=>e(t.tr);function se(t,e,s){return RegExp(e?t.replace(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`):t,s?"gu":"gui")}function re(t,e,s,n){const u=[],o=[];let c=[],x=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((h,i)=>{h.isText?c[x]?c[x]={text:c[x].text+h.text,pos:c[x].pos}:c[x]={text:`${h.text}`,pos:i}:x+=1}),c=c.filter(Boolean);for(const h of c){const{text:i,pos:g}=h,d=Array.from(i.matchAll(e)).filter(([p])=>p.trim());for(const p of d){if(p[0]==="")break;p.index!==void 0&&o.push({from:g+p.index,to:g+p.index+p[0].length})}}for(const[h,i]of o.entries()){const g=h===n?`${s} ${s}-current`:s,d=b.Decoration.inline(i.from,i.to,{class:g});u.push(d)}return{decorationsToReturn:b.DecorationSet.create(t,u),results:o}}function K(t,e,{state:s,dispatch:n}){if(!e[0])return;const{from:o,to:c}=e[0];n&&n(s.tr.insertText(t,o,c))}function ne(t,e,s,n){const u=e+1;if(!n[u])return null;const{from:o,to:c}=n[e],x=c-o-t.length+s,{from:h,to:i}=n[u];return n[u]={to:i-x,from:h-x},[x,n]}function ce(t,e,{tr:s,dispatch:n}){let u=0,o=e.slice();if(o.length!==0){for(let c=0;c<o.length;c+=1){const{from:x,to:h}=o[c];s.insertText(t,x,h);const i=ne(t,c,u,o);i&&(u=i[0],o=i[1])}n(s)}}const W=Y.Extension.create({name:"searchAndReplace",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),searchTerm:"",replaceTerm:"",results:[],searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!0,onChange:()=>{},button:({editor:e,t:s})=>({componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:s("editor.searchAndReplace.tooltip"),isActive:()=>!0,editor:e}})}},addStorage(){return{searchTerm:"",replaceTerm:"",results:[],lastSearchTerm:"",caseSensitive:!1,lastCaseSensitive:!1,resultIndex:0,lastResultIndex:0}},addCommands(){return{setSearchTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.searchTerm=t,C(s,n),!1),setReplaceTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.replaceTerm=t,C(s,n),!1),setCaseSensitive:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.caseSensitive=t,C(s,n),!1),resetIndex:()=>({editor:t,state:e,dispatch:s})=>(t.storage.searchAndReplace.resultIndex=0,C(e,s),!1),nextSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s+1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=0,!1},previousSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s-1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=e.length-1,!1},replace:()=>({editor:t,state:e,dispatch:s})=>{const{replaceTerm:n,results:u,resultIndex:o}=t.storage.searchAndReplace,c=u[o];return c?(K(n,[c],{state:e,dispatch:s}),t.storage.searchAndReplace.results.splice(o,1)):(K(n,u,{state:e,dispatch:s}),t.storage.searchAndReplace.results.shift()),C(e,s),!1},replaceAll:()=>({editor:t,tr:e,state:s,dispatch:n})=>{const{replaceTerm:u,results:o}=t.storage.searchAndReplace;return ce(u,o,{tr:e,dispatch:n}),t.storage.searchAndReplace.resultIndex=0,t.storage.searchAndReplace.results=[],C(s,n),!1}}},addProseMirrorPlugins(){const t=this.editor,{searchResultClass:e,disableRegex:s}=this.options,n=c=>t.storage.searchAndReplace.lastSearchTerm=c,u=c=>t.storage.searchAndReplace.lastCaseSensitive=c,o=c=>t.storage.searchAndReplace.lastResultIndex=c;return[new F.Plugin({key:new F.PluginKey(`richtextCustomPlugin${this.name}`),state:{init:()=>b.DecorationSet.empty,apply({doc:c,docChanged:x},h){const{searchTerm:i,lastSearchTerm:g,caseSensitive:d,lastCaseSensitive:p,resultIndex:A,lastResultIndex:T}=t.storage.searchAndReplace;if(!x&&g===i&&p===d&&T===A)return h;if(n(i),u(d),o(A),!i)return t.storage.searchAndReplace.results=[],b.DecorationSet.empty;const{decorationsToReturn:N,results:I}=re(c,se(i,s,d),e,A);return t.storage.searchAndReplace.results=I,N}},props:{decorations(c){return this.getState(c)}}})]}});exports.RichTextSearchAndReplace=te;exports.SearchAndReplace=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("./index-BBNITgNi.cjs"),F=require("@tiptap/pm/state"),b=require("@tiptap/pm/view"),a=require("react/jsx-runtime"),f=require("react"),Z=require("./index-C838s-or.cjs"),k=require("./useButtonProps-DfnJiJLV.cjs"),_=require("./index-FSRjMsxW.cjs"),$=require("./popover-BSzR_R01.cjs"),B=require("./label-E6jF3Xud.cjs"),M=require("./input-D555880-.cjs"),j=require("./button-BW5bDPz_.cjs"),V=require("./Icon-DXePECFW.cjs"),ee=require("./checkbox-CTEN0q4y.cjs");function te(){const{t}=_.useLocale(),e=k.useEditorInstance(),s=k.useButtonProps(W.name),{icon:n=void 0,tooltip:u=void 0,shortcutKeys:o=void 0,tooltipOptions:c={},action:x=void 0,isActive:h=void 0}=(s==null?void 0:s.componentProps)??{},{disabled:i}=k.useActive(h),[g,d]=f.useState(!1),[p,A]=f.useState(""),[T,N]=f.useState(""),[I,H]=f.useState(!1),[U,E]=f.useState(""),w=()=>{var r,l,R,m;E(`${((l=(r=e==null?void 0:e.storage)==null?void 0:r.searchAndReplace)==null?void 0:l.resultIndex)+1}/${(m=(R=e==null?void 0:e.storage)==null?void 0:R.searchAndReplace)==null?void 0:m.results.length}`)};f.useEffect(()=>{e&&w()},[e]);const z=()=>{i||x&&x()},y=(r=!1)=>{var l,R,m,v,S,D,q,O;e&&(r&&((R=(l=e==null?void 0:e.commands)==null?void 0:l.resetIndex)==null||R.call(l)),(v=(m=e==null?void 0:e.commands)==null?void 0:m.setSearchTerm)==null||v.call(m,p),(D=(S=e==null?void 0:e.commands)==null?void 0:S.setReplaceTerm)==null||D.call(S,T),(O=(q=e==null?void 0:e.commands)==null?void 0:q.setCaseSensitive)==null||O.call(q,I),w())},P=()=>{var v,S;if(!e)return;const{results:r,resultIndex:l}=e.storage.searchAndReplace,R=r[l];if(!R)return;(S=(v=e==null?void 0:e.commands)==null?void 0:v.setTextSelection)==null||S.call(v,R);const{node:m}=e.view.domAtPos(e.state.selection.anchor);m instanceof HTMLElement&&m.scrollIntoView({behavior:"smooth",block:"center"}),w()};f.useEffect(()=>{p.trim()||L(),p.trim()&&y(!0)},[p]),f.useEffect(()=>{T.trim()&&y()},[T]),f.useEffect(()=>{y(!0)},[I]);const G=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replace)==null||l.call(r),P()},J=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.nextSearchResult)==null||l.call(r),P()},Q=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.previousSearchResult)==null||l.call(r),P()},L=()=>{var r,l;A(""),N(""),(l=(r=e==null?void 0:e.commands)==null?void 0:r.resetIndex)==null||l.call(r),w()},X=()=>{var r,l;(l=(r=e==null?void 0:e.commands)==null?void 0:r.replaceAll)==null||l.call(r),E("0/0")};return s?a.jsxs($.Popover,{onOpenChange:d,open:g,children:[a.jsx($.PopoverTrigger,{asChild:!0,disabled:i,children:a.jsx(Z.ActionButton,{action:z,disabled:i,icon:n,shortcutKeys:o,tooltip:u,tooltipOptions:c})}),a.jsxs($.PopoverContent,{align:"start",className:"richtext-w-full",hideWhenDetached:!0,side:"bottom",children:[a.jsxs("div",{className:"richtext-mb-[6px] richtext-flex richtext-items-center richtext-justify-between",children:[a.jsx(B.Label,{children:t("editor.search.dialog.text")}),a.jsx("span",{className:"richtext-font-semibold",children:U})]}),a.jsxs("div",{className:"richtext-mb-[10px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:[a.jsx(M.Input,{autoFocus:!0,className:"richtext-w-full",onChange:r=>A(r.target.value),placeholder:"Text",required:!0,type:"text",value:p}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:Q,children:a.jsx(V.IconComponent,{name:"ChevronUp"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:J,children:a.jsx(V.IconComponent,{name:"ChevronDown"})}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:L,children:"Clear"})]}),a.jsx(B.Label,{className:"richtext-mb-[6px]",children:t("editor.replace.dialog.text")}),a.jsx("div",{className:"richtext-mb-[5px] richtext-flex richtext-w-full richtext-max-w-sm richtext-items-center richtext-gap-1.5",children:a.jsx("div",{className:"richtext-relative richtext-w-full richtext-max-w-sm richtext-items-center",children:a.jsx(M.Input,{className:"richtext-w-80",onChange:r=>N(r.target.value),placeholder:"Text",required:!0,type:"text",value:T})})}),a.jsxs("div",{className:"richtext-my-[10px] richtext-flex richtext-items-center richtext-gap-1",children:[a.jsx(ee.Checkbox,{checked:I,onCheckedChange:r=>{H(r),e.commands.setCaseSensitive(r)}}),a.jsx(B.Label,{children:t("editor.replace.caseSensitive")})]}),a.jsxs("div",{className:"richtext-flex richtext-items-center richtext-gap-[10px]",children:[a.jsx(j.Button,{className:"richtext-flex-1",onClick:G,children:t("editor.replace.dialog.text")}),a.jsx(j.Button,{className:"richtext-flex-1",onClick:X,children:t("editor.replaceAll.dialog.text")})]})]})]}):a.jsx(a.Fragment,{})}const C=(t,e)=>e(t.tr);function se(t,e,s){return RegExp(e?t.replace(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`):t,s?"gu":"gui")}function re(t,e,s,n){const u=[],o=[];let c=[],x=0;if(!e)return{decorationsToReturn:b.DecorationSet.empty,results:[]};t==null||t.descendants((h,i)=>{h.isText?c[x]?c[x]={text:c[x].text+h.text,pos:c[x].pos}:c[x]={text:`${h.text}`,pos:i}:x+=1}),c=c.filter(Boolean);for(const h of c){const{text:i,pos:g}=h,d=Array.from(i.matchAll(e)).filter(([p])=>p.trim());for(const p of d){if(p[0]==="")break;p.index!==void 0&&o.push({from:g+p.index,to:g+p.index+p[0].length})}}for(const[h,i]of o.entries()){const g=h===n?`${s} ${s}-current`:s,d=b.Decoration.inline(i.from,i.to,{class:g});u.push(d)}return{decorationsToReturn:b.DecorationSet.create(t,u),results:o}}function K(t,e,{state:s,dispatch:n}){if(!e[0])return;const{from:o,to:c}=e[0];n&&n(s.tr.insertText(t,o,c))}function ne(t,e,s,n){const u=e+1;if(!n[u])return null;const{from:o,to:c}=n[e],x=c-o-t.length+s,{from:h,to:i}=n[u];return n[u]={to:i-x,from:h-x},[x,n]}function ce(t,e,{tr:s,dispatch:n}){let u=0,o=e.slice();if(o.length!==0){for(let c=0;c<o.length;c+=1){const{from:x,to:h}=o[c];s.insertText(t,x,h);const i=ne(t,c,u,o);i&&(u=i[0],o=i[1])}n(s)}}const W=Y.Extension.create({name:"searchAndReplace",addOptions(){var t;return{...(t=this.parent)==null?void 0:t.call(this),searchTerm:"",replaceTerm:"",results:[],searchResultClass:"search-result",searchResultCurrentClass:"search-result-current",caseSensitive:!1,disableRegex:!0,onChange:()=>{},button:({editor:e,t:s})=>({componentProps:{action:()=>{},icon:"SearchAndReplace",tooltip:s("editor.searchAndReplace.tooltip"),isActive:()=>!0,editor:e}})}},addStorage(){return{searchTerm:"",replaceTerm:"",results:[],lastSearchTerm:"",caseSensitive:!1,lastCaseSensitive:!1,resultIndex:0,lastResultIndex:0}},addCommands(){return{setSearchTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.searchTerm=t,C(s,n),!1),setReplaceTerm:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.replaceTerm=t,C(s,n),!1),setCaseSensitive:t=>({editor:e,state:s,dispatch:n})=>(e.storage.searchAndReplace.caseSensitive=t,C(s,n),!1),resetIndex:()=>({editor:t,state:e,dispatch:s})=>(t.storage.searchAndReplace.resultIndex=0,C(e,s),!1),nextSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s+1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=0,!1},previousSearchResult:()=>({editor:t})=>{const{results:e,resultIndex:s}=t.storage.searchAndReplace,n=s-1;return e[n]?t.storage.searchAndReplace.resultIndex=n:t.storage.searchAndReplace.resultIndex=e.length-1,!1},replace:()=>({editor:t,state:e,dispatch:s})=>{const{replaceTerm:n,results:u,resultIndex:o}=t.storage.searchAndReplace,c=u[o];return c?(K(n,[c],{state:e,dispatch:s}),t.storage.searchAndReplace.results.splice(o,1)):(K(n,u,{state:e,dispatch:s}),t.storage.searchAndReplace.results.shift()),C(e,s),!1},replaceAll:()=>({editor:t,tr:e,state:s,dispatch:n})=>{const{replaceTerm:u,results:o}=t.storage.searchAndReplace;return ce(u,o,{tr:e,dispatch:n}),t.storage.searchAndReplace.resultIndex=0,t.storage.searchAndReplace.results=[],C(s,n),!1}}},addProseMirrorPlugins(){const t=this.editor,{searchResultClass:e,disableRegex:s}=this.options,n=c=>t.storage.searchAndReplace.lastSearchTerm=c,u=c=>t.storage.searchAndReplace.lastCaseSensitive=c,o=c=>t.storage.searchAndReplace.lastResultIndex=c;return[new F.Plugin({key:new F.PluginKey(`richtextCustomPlugin${this.name}`),state:{init:()=>b.DecorationSet.empty,apply({doc:c,docChanged:x},h){const{searchTerm:i,lastSearchTerm:g,caseSensitive:d,lastCaseSensitive:p,resultIndex:A,lastResultIndex:T}=t.storage.searchAndReplace;if(!x&&g===i&&p===d&&T===A)return h;if(n(i),u(d),o(A),!i)return t.storage.searchAndReplace.results=[],b.DecorationSet.empty;const{decorationsToReturn:N,results:I}=re(c,se(i,s,d),e,A);return t.storage.searchAndReplace.results=I,N}},props:{decorations(c){return this.getState(c)}}})]}});exports.RichTextSearchAndReplace=te;exports.SearchAndReplace=W;
@@ -1,17 +1,17 @@
1
- import { E as Q } from "./index-CbIQPoF6.js";
1
+ import { E as Q } from "./index-sVScpCFG.js";
2
2
  import { Plugin as X, PluginKey as Y } from "@tiptap/pm/state";
3
3
  import { DecorationSet as $, Decoration as Z } from "@tiptap/pm/view";
4
4
  import { jsx as u, Fragment as _, jsxs as T } from "react/jsx-runtime";
5
5
  import { useState as b, useEffect as k } from "react";
6
- import { A as ee } from "./index-4pRt5Vqu.js";
7
- import { c as te, u as se, b as re } from "./useButtonProps-DTngjZge.js";
6
+ import { A as ee } from "./index-C3zg3DPB.js";
7
+ import { c as te, u as se, b as re } from "./useButtonProps-cMoicZgd.js";
8
8
  import { u as ne } from "./index-0OnGZkVF.js";
9
- import { P as ce, a as ae, b as le } from "./popover-CPY5lMCj.js";
10
- import { L as B } from "./label-BEUVs-IA.js";
11
- import { I as V } from "./input-C5zU49Q1.js";
12
- import { B as N } from "./button-D8SI-g7p.js";
13
- import { I as q } from "./Icon-C_buGjWy.js";
14
- import { C as oe } from "./checkbox-xrY2c5yo.js";
9
+ import { P as ce, a as ae, b as le } from "./popover-B7ec5-u2.js";
10
+ import { L as B } from "./label-DsOYPjAo.js";
11
+ import { I as V } from "./input-CvyMYMZG.js";
12
+ import { B as N } from "./button-RnHbJfd-.js";
13
+ import { I as q } from "./Icon-DRuJhcHK.js";
14
+ import { C as oe } from "./checkbox-CLSoR1Qj.js";
15
15
  function ye() {
16
16
  const { t } = ne(), e = te(), s = se(pe.name), {
17
17
  icon: n = void 0,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("./index-BBNITgNi.cjs"),j=require("@tiptap/pm/state"),w=require("./updatePosition-u2mTh3mG.cjs"),l=require("react/jsx-runtime"),m=require("react"),D=require("./index-DvvMf6Wu.cjs"),P=require("./store-BSCjQxMK.cjs"),v=require("./events.constant-DQYeJpu5.cjs"),p=require("./index-FSRjMsxW.cjs"),$=require("./label-C8BonzOY.cjs"),A=require("./Icon-b6HQAURz.cjs"),B={setOpen:(t,n)=>{v.dispatchEvent(v.EVENTS.UPLOAD_VIDEO(t),n)}};function R({t}){const n=[{name:"format",title:t("editor.slash.format"),commands:[]},{name:"insert",title:t("editor.slash.insert"),commands:[]}];return[1,2,3,4,5,6].forEach(e=>{n[0].commands.push({name:`heading${e}`,label:t(`editor.heading.h${e}.tooltip`),aliases:[`h${e}`,"bt",`bt${e}`],iconName:`Heading${e}`,action:({editor:i,range:d})=>{i.chain().focus().deleteRange(d).setHeading({level:e}).run()}})}),n[0].commands.push({name:"bulletList",label:t("editor.bulletlist.tooltip"),aliases:["ul","yxlb"],iconName:"List",action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).toggleBulletList().run()}}),n[0].commands.push({name:"numberedList",label:t("editor.orderedlist.tooltip"),aliases:["ol","yxlb"],iconName:"ListOrdered",action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).toggleOrderedList().run()}}),n[0].commands.push({name:"taskList",label:t("editor.tasklist.tooltip"),iconName:"ListTodo",description:"Task list with todo items",aliases:["todo"],action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).toggleTaskList().run()}}),n[0].commands.push({name:"blockquote",label:t("editor.blockquote.tooltip"),description:"插入引入格式",aliases:["yr"],iconName:"TextQuote",action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).setBlockquote().run()}}),n[0].commands.push({name:"codeBlock",label:t("editor.codeblock.tooltip"),iconName:"Code2",description:"Code block with syntax highlighting",shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).setCodeBlock().run()}}),n[1].commands.push({name:"image",label:t("editor.image.tooltip"),iconName:"ImageUp",description:"Insert a image",aliases:["image","tp","tupian"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).run(),P.actionDialogImage.setOpen(e.id,!0)}}),n[1].commands.push({name:"video",label:t("editor.video.tooltip"),iconName:"Video",description:"Insert a video",aliases:["video","sp","shipin"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).run(),B.setOpen(e.id,!0)}}),n[1].commands.push({name:"table",label:t("editor.table.tooltip"),iconName:"Table",description:"Insert a table",aliases:["table","bg","biaoge","biao"],shouldBeHidden:e=>e.isActive("columns"),action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).insertTable({rows:3,cols:3,withHeaderRow:!1}).run()}}),n[1].commands.push({name:"horizontalRule",label:t("editor.horizontalrule.tooltip"),iconName:"Minus",description:"Insert a horizontal divider",aliases:["hr","fgx","fg"],action:({editor:e,range:i})=>{e.chain().focus().deleteRange(i).setHorizontalRule().run()}}),n[1].commands.push({name:"columns",label:t("editor.columns.tooltip"),iconName:"Columns2",description:"Add two column content",action:({editor:e})=>{e.chain().focus().insertColumns({cols:2}).run()}}),n}function y(t,n){return t.map(d=>({...d,commands:d.commands.filter(c=>{const h=c.label.toLowerCase().trim(),u=n.toLowerCase().trim();if(c.aliases){const b=c.aliases.map(x=>x.toLowerCase().trim()),a=h.match(u),f=b.some(x=>x.match(u));return a||f}return h.match(u)})})).filter(d=>d.commands.length>0)}const O=p.d([]);function L(){const[t,n]=p.x(O);return[t,n]}function T(t,n){const[e]=L(),[i,d]=m.useState(0),[c,h]=m.useState(0),u=m.useRef(null),{t:b}=p.useLocale(),a=y(e,t.query),f=m.useRef([]);m.useImperativeHandle(n,()=>({onKeyDown:x})),m.useEffect(()=>{if(!u.current)return;const r=c*1e3+i,o=f.current[r];o&&o.scrollIntoView({behavior:"smooth",block:"nearest"})},[i,c]);function x({event:r}){return r.key==="ArrowUp"?(I(),!0):r.key==="ArrowDown"?(S(),!0):r.key==="Enter"?(k(),!0):!1}function I(){var s;if(a.length===0)return!1;let r=i-1,o=c;r<0&&(o=c-1,r=((s=a[o])==null?void 0:s.commands.length)-1||0),o<0&&(o=a.length-1,r=a[o].commands.length-1),d(r),h(o)}function S(){if(a.length===0)return!1;const r=a[c].commands;let o=i+1,s=c;r.length-1<o&&(o=0,s=c+1),a.length-1<s&&(s=0),d(o),h(s)}function k(){if(a.length===0||c===-1||i===-1)return!1;C(c,i)}function C(r,o){const s=a[r].commands[o];t==null||t.command(s)}function q(r,o){C(r,o)}function E(r,o,s){f.current[r*1e3+o]=s}return l.jsx("div",{className:"richtext-max-h-[min(80vh,24rem)] richtext-flex-wrap richtext-overflow-y-auto richtext-overflow-x-hidden richtext-rounded-md !richtext-border !richtext-border-solid !richtext-border-border richtext-bg-popover richtext-p-1 richtext-text-popover-foreground richtext-shadow-md richtext-outline-none","data-richtext-portal":!0,ref:u,children:a!=null&&a.length?l.jsx("div",{className:"richtext-grid richtext-min-w-48 richtext-grid-cols-1 richtext-gap-0.5",children:a==null?void 0:a.map((r,o)=>l.jsxs(m.Fragment,{children:[l.jsx($.Label,{className:"richtext-mx-[4px] richtext-mb-[4px] richtext-mt-[8px] !richtext-text-[0.65rem] richtext-uppercase ",children:r.title}),r.commands.map((s,g)=>l.jsxs("button",{onClick:()=>q(o,g),ref:H=>E(o,g,H),className:D.cn("richtext-flex richtext-items-center richtext-gap-3 richtext-px-2 richtext-py-1.5 richtext-text-sm richtext-text-foreground richtext-text-left richtext-w-full richtext-rounded-sm !richtext-outline-none !richtext-border-none richtext-transition-colors !richtext-bg-transparent hover:!richtext-bg-accent ",{"bg-item-active":c===o&&i===g}),children:[s.iconUrl&&l.jsx("img",{alt:"",className:"richtext-size-6",src:s.iconUrl}),s.iconName&&l.jsx(A.IconComponent,{className:"!richtext-mr-1 !richtext-text-lg",name:s.iconName}),s.label]},`command-${g}`))]},`slash-${r.title}`))}):l.jsx("div",{className:"richtext-p-3",children:l.jsx("span",{className:"richtext-text-xs richtext-text-foreground",children:b("editor.slash.empty")})})})}const V=m.forwardRef(T);function z({commandList:t}){const[,n]=L(),{t:e}=p.useLocale();return m.useEffect(()=>{if(!(t!=null&&t.length)){const i=R({t:e});n(i);return}n(t)},[e,t]),l.jsx(l.Fragment,{})}const F=N.Extension.create({name:"richtextSlashCommand",priority:200,addProseMirrorPlugins(){return[w.Suggestion({pluginKey:new j.PluginKey("richtextSlashCommandPlugin"),editor:this.editor,char:"/",command:({editor:t,range:n,props:e})=>{const{view:i}=t;e.action({editor:t,range:n}),i.focus()},render:()=>{let t;return{onStart:n=>{n.clientRect&&(t=new N.ReactRenderer(V,{props:n,editor:n.editor}),t.element.style.position="absolute",document.body.appendChild(t.element),w.updatePosition(n.editor,t.element))},onUpdate(n){t.updateProps(n),n.clientRect&&w.updatePosition(n.editor,t.element)},onKeyDown(n){var e;return n.event.key==="Escape"?(t.destroy(),t.element.remove(),!0):(e=t.ref)==null?void 0:e.onKeyDown(n)},onExit(){t&&(t.destroy(),t.element.remove())}}}})]}});exports.SlashCommand=F;exports.SlashCommandList=z;exports.renderCommandListDefault=R;exports.useFilterCommandList=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index-BBNITgNi.cjs"),u=require("@tiptap/pm/state"),d=require("./index-Cv9Z6dyV.cjs"),r=require("./SlashCommandNodeView-Bl_gwZJB.cjs"),a=require("./updatePosition-M2IyqkI1.cjs"),s=require("react/jsx-runtime"),l=require("./index-FSRjMsxW.cjs"),m=require("react");function c({commandList:e}){const[,t]=r.useSignalCommandList(),{t:n}=l.useLocale();return m.useEffect(()=>{if(!(e!=null&&e.length)){const i=r.renderCommandListDefault({t:n});t(i);return}t(e)},[n,e]),s.jsx(s.Fragment,{})}const C=o.Extension.create({name:"richtextSlashCommand",priority:200,addProseMirrorPlugins(){return[d.Suggestion({pluginKey:new u.PluginKey("richtextSlashCommandPlugin"),editor:this.editor,char:"/",command:({editor:e,range:t,props:n})=>{const{view:i}=e;n.action({editor:e,range:t}),i.focus()},render:()=>{let e;return{onStart:t=>{t.clientRect&&(e=new o.ReactRenderer(r.SlashCommandNodeView,{props:t,editor:t.editor}),e.element.style.position="absolute",document.body.appendChild(e.element),a.updatePosition(t.editor,e.element))},onUpdate(t){e.updateProps(t),t.clientRect&&a.updatePosition(t.editor,e.element)},onKeyDown(t){var n;return t.event.key==="Escape"?(e.destroy(),e.element.remove(),!0):(n=e.ref)==null?void 0:n.onKeyDown(t)},onExit(){e&&(e.destroy(),e.element.remove())}}}})]}});exports.renderCommandListDefault=r.renderCommandListDefault;exports.useFilterCommandList=r.useFilterCommandList;exports.SlashCommand=C;exports.SlashCommandList=c;